[alsa-devel] How the dma interrupt handlers have been registered in ALSA?
Hi
I am referring omap-alsa-dma.c and the related codec files. We usually register the IRQ handler by calling request_irq() function but in this mentioned files the IRQ handler etc is defined but it is not registered anywhere i.e. request_irq is not used anywhere. Is there any other way of registering irq handlers? The irq handlers address is passed to omap_request_dma, but there also it is not registered. I am missing the entire thing?
At Mon, 28 May 2007 21:41:59 +0530, Pharaoh . wrote:
Hi
I am referring omap-alsa-dma.c and the related codec files. We usually register the IRQ handler by calling request_irq() function but in this mentioned files the IRQ handler etc is defined but it is not registered anywhere i.e. request_irq is not used anywhere. Is there any other way of registering irq handlers? The irq handlers address is passed to omap_request_dma, but there also it is not registered. I am missing the entire thing?
There is nothing but request_irq(). So, it implies that your code flow isn't somehow correct. Missing probe hooks?
Takashi
On 5/29/07, Takashi Iwai tiwai@suse.de wrote:
At Mon, 28 May 2007 21:41:59 +0530, Pharaoh . wrote:
Hi
I am referring omap-alsa-dma.c and the related codec files. We usually register the IRQ handler by calling request_irq() function but in this mentioned files the IRQ handler etc is defined but it is not registered anywhere i.e. request_irq is not used anywhere. Is there any other way of registering irq handlers? The irq handlers address is passed to omap_request_dma, but there also it is not registered. I am missing the entire thing?
There is nothing but request_irq(). So, it implies that your code flow isn't somehow correct. Missing probe hooks?
Takashi
Apologies if this sounds novice, but after referring the omap specific alsa drivers, I wasn't able to locate any request_irq function getting called, I have traced the omap_request_dma function but it also doesn't explicaitly call request_irq, but in the file arch/arm/plat-omap/dma.c there is call arch_initcall(omap_init_dma), which calls request_irq. As per my humble knowledge this is part of board specific init and is done at boot time, so does this mean that it is done only once at boot time and any driver specific callback is called from this function? Can anyone throw more light on this, or answer my basic question why there is no request_irq in any of the omap specific files? I am using 2.6.19 kernel.
At Wed, 30 May 2007 18:06:12 +0530, Pharaoh . wrote:
On 5/29/07, Takashi Iwai tiwai@suse.de wrote:
At Mon, 28 May 2007 21:41:59 +0530, Pharaoh . wrote:
Hi
I am referring omap-alsa-dma.c and the related codec files. We usually register the IRQ handler by calling request_irq() function but in this mentioned files the IRQ handler etc is defined but it is not registered anywhere i.e. request_irq is not used anywhere. Is there any other way of registering irq handlers? The irq handlers address is passed to omap_request_dma, but there also it is not registered. I am missing the entire thing?
There is nothing but request_irq(). So, it implies that your code flow isn't somehow correct. Missing probe hooks?
Takashi
Apologies if this sounds novice, but after referring the omap specific alsa drivers, I wasn't able to locate any request_irq function getting called, I have traced the omap_request_dma function but it also doesn't explicaitly call request_irq, but in the file arch/arm/plat-omap/dma.c there is call arch_initcall(omap_init_dma), which calls request_irq. As per my humble knowledge this is part of board specific init and is done at boot time, so does this mean that it is done only once at boot time and any driver specific callback is called from this function? Can anyone throw more light on this, or answer my basic question why there is no request_irq in any of the omap specific files? I am using 2.6.19 kernel.
Ah, I see it's OMAP specific thing. Then omap_request_dma() should register its own handler. Call it appropriately.
Takashi
participants (2)
-
Pharaoh .
-
Takashi Iwai