Beagleboard XM IVA2.2 support in kernel 3.11


I am trying to enable IVA2.2 device in DM3730 on Beagleboard XM. I have patched 3.11.4 kernel in order to define CONFIG_OMAP_IOMMU_IVA2 in file omap_hwmod_3xxx_data.c. When I boot the kernel I am getting following message:

[ 1.000732] genirq: Flags mismatch irq 28. 00000080 (omap-iommu.1) vs. 00000020 (DMA)
[ 1.000793] omap-iommu: probe of omap-iommu.1 failed with error -16

What am I doing wrong? Help appreciated.




I’ve found out what was the problem. It turns out that OMAP_INTC_START offset was missing in the structure below.

static struct omap_hwmod_irq_info omap3xxx_mmu_iva_irqs[] = {
{ .irq = 28 + OMAP_INTC_START, },
{ .irq = -1 }


Dne sreda, 30. oktober 2013 19:20:21 UTC+1 je oseba napisala:

Did you get the IVA2.2 working? I’m assuming your using dsplink? I added your fix but now I’m getting the following error message when using dsplink:
genirq: Flags mismatch irq 28. 00000000 (DSPLINK) vs. 00000020 (DMA)


Hi, as Im using yocto to construct the dsplink, there is already a fix for this mismatch, there is a patch made by Enric Balletbo in the meta-ti layer which modify the irq for newer kernels.

Index: dsplink_linux_1_65_00_03/dsplink/gpp/src/osal/Linux/2.6.18/isr.c