summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/iommu.c
Commit message (Collapse)AuthorAgeFilesLines
* [SPARC64]: Temporarily remove IOMMU merging code.David S. Miller2008-02-061-116/+26
| | | | | | | | | | | | | | Changeset fde6a3c82d67f592eb587be4d12222b0ae6d4321 ("iommu sg merging: sparc64: make iommu respect the segment size limits") broke sparc64 because whilst it added the segment limiting code to the first pass of SG mapping (in prepare_sg()) it did not add matching code to the second pass handling (in fill_sg()) As a result the two passes disagree where the segment boundaries should be, resulting in OOPSes, DMA corruption, and corrupted superblocks. Signed-off-by: David S. Miller <davem@davemloft.net>
* iommu sg merging: sparc64: make iommu respect the segment size limitsFUJITA Tomonori2008-02-051-1/+1
| | | | | | | | | | | | | This patch makes iommu respect segment size limits when merging sg lists. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Jeff Garzik <jeff@garzik.org> Cc: James Bottomley <James.Bottomley@steeleye.com> Acked-by: Jens Axboe <jens.axboe@oracle.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Update arch/ to use sg helpersJens Axboe2007-10-221-5/+2
| | | | Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* Fix loop terminating conditions in fill_sg().David S. Miller2007-10-171-5/+7
| | | | | Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* SPARC64: fix iommu sg chainingFUJITA Tomonori2007-10-171-1/+0
| | | | | | | | Commit 2c941a204070ab32d92d40318a3196a7fb994c00 looks incomplete. The helper functions like prepare_sg() need to support sg chaining too. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* SPARC64: sg chaining supportJens Axboe2007-10-161-15/+24
| | | | | | | | | | This updates the sparc64 iommu/pci dma mappers to sg chaining. Acked-by: David S. Miller <davem@davemloft.net> Later updated to newer kernel with unified sparc64 iommu sg handling. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling.David S. Miller2007-07-301-0/+809
Fully unify all of the DMA ops so that subordinate bus types to the DMA operation providers (such as ebus, isa, of_device) can work transparently. Basically, we just make sure that for every system device we create, the dev->archdata 'iommu' and 'stc' fields are filled in. Then we have two platform variants of the DMA ops, one for SUN4U which actually programs the real hardware, and one for SUN4V which makes hypervisor calls. This also fixes the crashes in parport_pc on sparc64, reported by Meelis Roos. Signed-off-by: David S. Miller <davem@davemloft.net>