[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1210658692-960-1-git-send-email-fujita.tomonori@lab.ntt.co.jp>
Date: Tue, 13 May 2008 15:04:50 +0900
From: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>
To: linux-kernel@...r.kernel.org
Cc: akpm@...ux-foundation.org, muli@...ibm.com, alexisb@...ibm.com,
fujita.tomonori@....ntt.co.jp
Subject: [PATCH 0/2] x86: per-device dma_mapping_ops
This patchset adds per-device dma_mapping_ops support for
CONFIG_X86_64 like POWER architecture does. This change enables us to
cleanly fix the Calgary IOMMU issue that some devices are not behind
the IOMMU [1]. It also would be helpful to handle KVM PCI passthrough.
A pointer to dma_mapping_ops to struct dev_archdata is added. If the
pointer is non NULL, DMA operations in asm/dma-mapping.h use it. If
it's NULL, the system-wide dma_ops pointer is used as before.
The major obstacle is that dma_mapping_error doesn't take a pointer to
the device unlike other DMA operations. So x86 can't have
dma_mapping_ops per device. Note all the POWER IOMMUs use the same
dma_mapping_error function so this is not a problem for POWER but x86
IOMMUs use different dma_mapping_error functions.
The first patch adds the device argument to dma_mapping_error. The
patch is trivial but large since it touches lots of drivers and
dma-mapping.h in all the architecture.
[1] http://lkml.org/lkml/2008/5/8/423
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists