![]() | |||||||||||||
Messages in this thread |
On Wed, 2 Jul 2008 12:43:39 +0900 FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote: > My initial patch has some bugs (wasn't tested because I don't have > Calgary hardware) but Alexis fixed the problems and submitted new one > (he successfully tested it). I had one minor comment about it then he > submitted another one. > > http://marc.info/?l=linux-kernel&m=121329005131176&w=2 > > I think that it can get into mainline with the dma-mapping-per-device > patchset. > > As we discussed, we could do better but it takes some time. I think > that it's better to fix Calgary problems now. Then I'll try to improve > dma-mapping-per-device stuff. > > Here's a repost of Alexis's latest patch. > > Thanks, > > = > From: Alexis Bruemmer <alexisb@us.ibm.com> > Subject: [PATCH] x86 calgary: fix handling of devces that aren't behind the Calgary > > The calgary code can give drivers addresses above 4GB which is very > bad for hardware that is only 32bit DMA addressable. > > With this patch, the calgary code sets the global dma_ops to swiotlb > or nommu properly, and the dma_ops of devices behind the > Calgary/CalIOC2 to calgary_dma_ops. So the calgary code can handle > devices safely that aren't behind the Calgary/CalIOC2. > OK.. Looks like this needs to be folded into dma-mapping-x86-per-device-dma_mapping_ops-support prior to merging to keep everything bisect-happy. > + if(translation_enabled(tbl)) checkpatch? btw, x86_64 allmodconfig says: arch/x86/kernel/pci-calgary_64.c: In function 'build_detail_arrays': arch/x86/kernel/pci-calgary_64.c:1263: warning: comparison is always false due t which is if (rio_table_hdr->num_scal_dev > MAX_NUMNODES){ so I'll cancel that order for a 512-node Calgary machine ;) | ||||||||||||
| Last update: 2008-07-02 06:13 [from the cache] ©2003-2008 | |||||||||||||