On 03/07/2016 07:16 AM, Shuah Khan wrote: > On 03/05/2016 03:00 AM, Mauro Carvalho Chehab wrote: >> Em Wed, 2 Mar 2016 09:50:31 -0700 >> Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> escreveu: >> >>> 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> >>> Acked-by: Takashi Iwai <tiwai@xxxxxxx> >> >> Shuah, by looking at the produced graphs: >> https://mchehab.fedorapeople.org/mc-next-gen/au0828_test/ >> >> I'm noticing the lack of ALSA I/O entities in the diagram >> (MEDIA_ENT_F_AUDIO_CAPTURE). The mixer there is not connected. >> >> Could you please check what's happening? > > Mauro, > > Did you pull in this patch that fixes the graph problem: > > https://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg95047.html > > If you haven't, could you please pull this in. > You do have the above patch in the latest linux_media git. I couldn't reproduce the problem you are seeing. Here is what I did. - Blacklisted au0828 and forcing snd_usb_audio probe first. Then I generated a graph that shows just the audio nodes. - And then did a modprobe and generated full graph. https://drive.google.com/folderview?id=0B0NIL0BQg-AlejFpR19Cb1RGYVk&usp=drive_web I see that in you graph, mixer gets connected to decoder, but the rest of the audio nodes are missing from the graph. MEDIA_ENT_F_AUDIO_CAPTURE gets created from snd_usb_pcm_open() and gets deleted from free_substream(). Is it possible, for some reason, either snd_usb_pcm_open() fails or free_substream() is called? thanks, -- Shuah -- Shuah Khan Sr. Linux Kernel Developer Open Source Innovation Group Samsung Research America (Silicon Valley) shuahkh@xxxxxxxxxxxxxxx | (970) 217-8978 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html