[alsa-devel] writing an alsa driver
Michele Curti
michele.curti at gmail.com
Mon Jun 8 10:26:54 CEST 2015
On Fri, Jun 05, 2015 at 10:00:50AM +0300, Jarkko Nikula wrote:
> Hi
>
> On 06/04/2015 10:39 PM, Michele Curti wrote:
> >
> >So, 6 possible IRQs for the LPE core, from 0x18 to 0x1D?
> >
> 2 for DMA, 3 for SSP ports and 1 for host IPC. I don't know does
> Windows use those others as BIOS is exposing them but Linux needs
> only the host IPC irq 0x1d and Linux DSP FW is managing itself the
> rest.
>
> >Changed the code and tried all six
> >
> >diff --git a/sound/soc/intel/common/sst-acpi.c b/sound/soc/intel/common/sst-acpi.c
> >index bb28e84..a306502 100644
> >--- a/sound/soc/intel/common/sst-acpi.c
> >+++ b/sound/soc/intel/common/sst-acpi.c
> >@@ -149,8 +149,12 @@ static int sst_acpi_probe(struct platform_device *pdev)
> > sst_pdata->dma_size = desc->dma_size;
> > }
> >
> >- if (desc->irqindex_host_ipc >= 0)
> >- sst_pdata->irq = platform_get_irq(pdev, desc->irqindex_host_ipc);
> >+ if (desc->irqindex_host_ipc >= 0) {
> >+ sst_pdata->irq = 0x1D; /* acpi-dump, from 0x18 to 0x1D */
> >+ pr_info("audio dsp: IRQ # was %d, force to %d\n",
> >+ platform_get_irq(pdev, desc->irqindex_host_ipc),
> >+ sst_pdata->irq);
> >+ }
> >
> > if (desc->resindex_lpe_base >= 0) {
> > mmio = platform_get_resource(pdev, IORESOURCE_MEM,
> >
> >without success, I get always the "dsp boot timeout".
> >
> Above probably won't work as it doesn't set the trigger flags as
> platform_get_irq() does and the Linux irq number is not necessarily
> the same than the HW irq number through the IOAPIC routing.
Good to know, thanks!
>
> Your earlier irqindex_host_ipc change should get the right interrupt
> for Linux on your machine.
>
> - .irqindex_host_ipc = 5,
> + .irqindex_host_ipc = 0,
>
> Unfortunately this index is machine specific and when I looked a few
> DSDT tables earlier I didn't figure out a clean way at which index
> the interrupt should be used in runtime. Probably having quirks for
> index 5 needs least amount of quirks as index 0 seems to be
> constantly used on newer machines.
>
Oh, understood.. Well, so for my tests I can restore this change
thanks :)
Michele
More information about the Alsa-devel
mailing list