[alsa-devel] [PATCH v2 0/6] media token resource framework

Shuah Khan shuahkh at osg.samsung.com
Wed Oct 15 22:21:34 CEST 2014


On 10/15/2014 10:48 AM, Takashi Iwai wrote:
> At Tue, 14 Oct 2014 08:58:36 -0600,
> Shuah Khan wrote:
>>
>> Add media token device resource framework to allow sharing
>> resources such as tuner, dma, audio etc. across media drivers
>> and non-media sound drivers that control media hardware. The
>> Media token resource is created at the main struct device that
>> is common to all drivers that claim various pieces of the main
>> media device, which allows them to find the resource using the
>> main struct device. As an example, digital, analog, and
>> snd-usb-audio drivers can use the media token resource API
>> using the main struct device for the interface the media device
>> is attached to.
>>
>> This patch series consists of media token resource framework
>> and changes to use it in dvb-core, v4l2-core, au0828 driver,
>> and snd-usb-audio driver.
>>
>> With these changes dvb and v4l2 can share the tuner without
>> disrupting each other. Used tvtime, xawtv, kaffeine, and vlc,
>> vlc audio capture option, arecord/aplay during development to
>> identify v4l2 vb2 and vb1 ioctls and file operations that
>> disrupt the digital stream and would require changes to check
>> tuner ownership prior to changing the tuner configuration.
>> vb2 changes are made in the v4l2-core and vb1 changes are made
>> in the au0828 driver to encourage porting drivers to vb2 to
>> advantage of the new media token resource framework with changes
>> in the core.
>>
>> In this patch v2 series, fixed problems identified in the
>> patch v1 series. Important ones are changing snd-usb-audio
>> to use media tokens, holding tuner lock in VIDIOC_ENUMINPUT,
>> and VIDIOC_QUERYSTD.
> 
> Just took a quick glance over the patches, and my first concern is why
> this has to be lib/*.  This means it's always built-in as long as this
> config is enabled (and will be so on distro kernel) even if it's not
> used at all.
> 

Right this module gets built when CONFIG_MEDIA_SUPPORT is enabled
and stubs are in place when it is not enabled. The intent is for
this feature to be enabled by default when media support is enabled.
When a driver doesn't create the resource, it will simply not find it
and for drivers like snd-usb-audio that aren't tried to media support,
the stubs are in place and feature is essentially disabled.

I picked lib so this module can be included in non-media drivers
e.g: snd-usb-audio.

Does this help explain the design? I didn't want to introduce a new
config for this feature. If lib isn't right place, could you recommend
another one that makes this modules available to non-media drivers?
moving isn't a problem.

thanks,
-- Shuah


-- 
Shuah Khan
Sr. Linux Kernel Developer
Samsung Research America (Silicon Valley)
shuahkh at osg.samsung.com | (970) 217-8978


More information about the Alsa-devel mailing list