Re: [PATCH 0/2] x86: per-device dma_mapping_ops

From: Alexis Bruemmer
Date: Wed May 14 2008 - 22:04:09 EST


On Thu, 2008-05-15 at 10:12 +0900, FUJITA Tomonori wrote:
> On Wed, 14 May 2008 08:49:24 +0300
> Muli Ben-Yehuda <muli@xxxxxxxxxx> wrote:
>
> > On Tue, May 13, 2008 at 03:04:50PM +0900, FUJITA Tomonori wrote:
<snip>
> > Awesome! Much needed, thank you for doing this.
>
> No problem. Well, as you know, it's just a base. We need more work to
> solve the problems on the top of this.
Yes thank you!
>
> I'd like to have a mechanism to register a hook called when a new pci
> (or dma capable) device is created. It enables IOMMUs to set up an
> appropriate dma_mapping_ops per device. It could also enables us to
> simplify the IOMMUs code to initilize devices at startup (for exmple,
> intel-iommu checks all the pci devices and creates a domain per device
> if necessary).
ïI wanted to try and create a test version of this, at least for the
calgary side, but ran into an error with this patch set:

Fusion MPT SAS Host driver 3.04.06
ACPI: PCI Interrupt 0000:34:00.0[A] -> GSI 142 (level, low) -> IRQ 142
mptbase: ioc0: Initiating bringup
ioc0: LSISAS1078 C1: Capabilities={Initiator}
mptbase: ioc0: PCI-MSI enabled
Calgary: DMA error on CalIOC2 PHB 0x33
Calgary: 0x02000000@CSR 0x00000000@PLSSR 0xb0008000@CSMR 0x00000000@MCK
Calgary: 0x00000000@0x810 0xfee0c000@0x820 0x00000000@0x830
0x00000000@0x840 0x03804a00@0x850 0x00000000@0x860 0x00000000@0x870
Calgary: 0x00000000@0xcb0
mptbase: ioc0: Initiating recovery
mptbase: ioc0: WARNING - Unexpected doorbell active!
mptbase: ioc0: WARNING - NOT READY!
mptbase: ioc0: WARNING - Cannot recover rc = -1!
mptbase: ioc0: WARNING - Firmware Reload FAILED!
Clocksource tsc unstable (delta = 48333779773 ns)

Not sure what is causing this error, but will keep digging. Any ideas?

--Alexis

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/