Re: [PATCH v6 3/3] sound/usb: Use Media Controller API to share media resources

From: Sakari Ailus
Date: Wed Dec 07 2016 - 17:28:05 EST


Hi Shuah,

On Wed, Dec 07, 2016 at 01:03:59PM -0700, Shuah Khan wrote:
> Hi Sakari,
>
> On 12/07/2016 03:52 AM, Sakari Ailus wrote:
> > Hi Shuah,
> >
> > On Mon, Dec 05, 2016 at 05:38:23PM -0700, Shuah Khan wrote:
> >> On 12/05/2016 04:21 PM, Laurent Pinchart wrote:
> >>> Hi Shuah,
> >>>
> >>> On Monday 05 Dec 2016 15:44:30 Shuah Khan wrote:
> >>>> On 11/30/2016 03:01 PM, Shuah Khan wrote:
> >>>>> Change ALSA driver to use Media Controller API to share media resources
> >>>>> with DVB, and V4L2 drivers on a AU0828 media device.
> >>>>>
> >>>>> Media Controller specific initialization is done after sound card is
> >>>>> registered. ALSA creates Media interface and entity function graph
> >>>>> nodes for Control, Mixer, PCM Playback, and PCM Capture devices.
> >>>>>
> >>>>> snd_usb_hw_params() will call Media Controller enable source handler
> >>>>> interface to request the media resource. If resource request is granted,
> >>>>> it will release it from snd_usb_hw_free(). If resource is busy, -EBUSY is
> >>>>> returned.
> >>>>>
> >>>>> Media specific cleanup is done in usb_audio_disconnect().
> >>>>>
> >>>>> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
> >>>>
> >>>> Hi Takashi,
> >>>>
> >>>> If you are good with this patch, could you please Ack it, so Mauro
> >>>> can pull it into media tree with the other two patches in this series,
> >>>> when he is ready to do so.
> >>>
> >>> I *really* want to address the concerns raised by Sakari before pulling more
> >>> code that makes fixing the race conditions more difficult. Please, let's all
> >>> work on fixing the core code to build a stable base on which we can build
> >>> additional features. V4L2 and MC need teamwork, it's time to give the
> >>> subsystem the love it deserves.
> >>>
> >>
> >> Hi Laurent,
> >>
> >> The issue Sakari brought up is specific to using devm for video_device in
> >> omap3 and vsp1. I tried reproducing the problem on two different drivers
> >> and couldn't on Linux 4.9-rc7.
> >>
> >> After sharing that with Sakari, I suggested to Sakari to pull up his patch
> >> that removes the devm usage and see if he still needs all the patches in his
> >> patch series. He didn't back to me on that. I also requested him to rebase on
> >
> > Just to see what remains, I made a small hack to test this with omap3isp by
> > just replacing the devm_() functions by their plain counterparts. The memory
> > is thus never released, for there is no really a proper moment to release it
> > --- something which the patchset resolves. The result is here:
> >
> > <URL:http://www.retiisi.org.uk/v4l2/tmp/media-ref-dmesg.txt>
>
> Did you test this on 4.9-rc7 without any of your other patches? If you
> haven't could you please run this test with just the removing devm usage
> from omap3isp?
>
> It would be good to get a baseline on the current with just the not using
> devm first and then see what needs fixing.
>
> Also, could you please send me the complete dmesg.

Updated from v4.9-rc6 to rc7 and with increased CONFIG_LOG_BUF_SHIFT. The
diff and dmesg are here:

<URL:http://www.retiisi.org.uk/v4l2/tmp/media-ref-diff2.txt>
<URL:http://www.retiisi.org.uk/v4l2/tmp/media-ref-dmesg2.txt>

--
Regards,

Sakari Ailus
e-mail: sakari.ailus@xxxxxx XMPP: sailus@xxxxxxxxxxxxxx