[alsa-devel] [PATCH v15 0/6] Media Device Allocator API

shuah shuah at kernel.org
Tue Apr 2 16:38:56 CEST 2019


On 4/2/19 1:38 AM, Hans Verkuil wrote:
> On 4/2/19 2:40 AM, Shuah Khan wrote:
>> Media Device Allocator API to allows multiple drivers share a media device.
>> This API solves a very common use-case for media devices where one physical
>> device (an USB stick) provides both audio and video. When such media device
>> exposes a standard USB Audio class, a proprietary Video class, two or more
>> independent drivers will share a single physical USB bridge. In such cases,
>> it is necessary to coordinate access to the shared resource.
>>
>> Using this API, drivers can allocate a media device with the shared struct
>> device as the key. Once the media device is allocated by a driver, other
>> drivers can get a reference to it. The media device is released when all
>> the references are released.
>>
>> The primary focus for testing The patch series is making sure media
>> device is released when both drivers release the media device with
>> a series of unbind/binds on both drivers.
>>
>> - both au0828 and snd-usb-aduio as built-in
>> - both au0828 and snd-usb-aduio as modules
>> - au0828 as module and snd-usb-aduio as built-in
>> - au0828 as built-in and snd-usb-aduio as module
>>
>> Test results can be found at:
>>
>> https://docs.google.com/document/d/1RMF8Rwj7xHJEoOx6_K2f-REgZJ63BMeAVEf-CV-0HsM/edit?usp=sharing
> 
> Phew, after posting v2 of my patch "au0828: stop video streaming only when last
> user stops" everything now works as it should, including the issue with two VBI
> streams you found.
> 

Awesome. Thanks for taking care of this. Looks good. I tested the
patch and sent Tested-by for it.

> Should I take the selftest patch or will you take that yourself?

Please take this through your pull request. Bundling the test with the
feature will help promote use of this test :)

Please pick up the null pointer dereference fix in bind path when unbind
happens while bind is in progress.

> 
> Let me know so I can make the pull request for this. It's been a long journey
> since the first post on April 9th, 2014: "[RFC PATCH 0/2] managed token devres
> interfaces".
>

Please send the pull request.

> Almost exactly five years of work!
> 
Amazing. We ended up with a far better solution than the the first patch
series ! Thanks to everybody that helped me with reviews and testing.

thanks,
-- Shuah



More information about the Alsa-devel mailing list