aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/sysdev/dart_iommu.c
AgeCommit message (Collapse)AuthorFilesLines
2006-09-13[POWERPC] Fix G5 DART (IOMMU) race causing occasional data corruptionBenjamin Herrenschmidt1-1/+6
It seems that the occasional data corruption observed with the tg3 driver wasn't due to missing barriers after all, but rather seems to be due to the DART (= IOMMU) in the U4 northbridge reading stale IOMMU table entries from memory due to a race. This fixes it by making the CPU read the entry back from memory before using it. Signed-off-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-06-30Remove obsolete #include <linux/config.h>Jörn Engel1-1/+0
Signed-off-by: Jörn Engel <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2006-06-29[POWERPC] U4 DART improvementsOlof Johansson1-6/+43
Better late than never... Respin based on previous comment. Only remaining issue last time was an extra mb() that I've taken out. Signed-off-by: Paul Mackerras <[email protected]>
2006-06-15[POWERPC] node local IOMMU tablesAnton Blanchard1-1/+1
Allocate IOMMU tables local to the relevant node. Signed-off-by: Anton Blanchard <[email protected]> Acked-by: Olof Johansson <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-04-21[PATCH] powerpc: Lower threshold for DART enablement to 1GBOlof Johansson1-2/+10
Turn on the DART already at 1GB. This is needed because of crippled devices in some systems, i.e. Airport Extreme cards, only supporting 30-bit DMA addresses. Otherwise, users with between 1 and 2GB of memory will need to manually enable it with iommu=force, and that's no good. Some simple performance tests show that there's a slight impact of enabling DART, but it's in the 1-3% range (kernel build with disk I/O as well as over NFS). iommu=off can still be used for those who don't want to deal with the overhead (and don't need it for any devices). Signed-off-by: Olof Johansson <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-02-10Merge ../powerpc-mergePaul Mackerras1-1/+1
2006-02-08[PATCH] fix iomem annotations in dart_iommuAl Viro1-1/+1
it's int __iomem *, not int * __iomem... Signed-off-by: Al Viro <[email protected]>
2006-02-07[PATCH] powerpc: Always panic if lmb_alloc() failsMichael Ellerman1-2/+0
Currently most callers of lmb_alloc() don't check if it worked or not, if it ever does weird bad things will probably happen. The few callers who do check just panic or BUG_ON. So make lmb_alloc() panic internally, to catch bugs at the source. The few callers who did check the result no longer need to. The only caller that did anything interesting with the return result was careful_allocation(). For it we create __lmb_alloc_base() which _doesn't_ panic automatically, a little messy, but passable. Signed-off-by: Michael Ellerman <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-01-12[PATCH] powerpc: minor dart driver cleanupOlof Johansson1-1/+0
Rpn is assigned every time in the loop, no need to increase it too. Signed-off-by: Olof Johansson <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-01-09[PATCH] powerpc: Fix g5 DART initBenjamin Herrenschmidt1-2/+2
The patch enabling the new G5's with U4 broke initialization of the DART driver, causing it to trigger a BUG_ON for a case that is actually valid. This patch fixes it: Signed-off-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-01-09[PATCH] powerpc: Experimental support for new G5 Macs (#2)Benjamin Herrenschmidt1-0/+350
This adds some very basic support for the new machines, including the Quad G5 (tested), and other new dual core based machines and iMac G5 iSight (untested). This is still experimental ! There is no thermal control yet, there is no proper handing of MSIs, etc.. but it boots, I have all 4 cores up on my machine. Compared to the previous version of this patch, this one adds DART IOMMU support for the U4 chipset and thus should work fine on setups with more than 2Gb of RAM. Signed-off-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>