public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* virtual memmap and page_address
@ 2004-12-15 17:53 Jesse Barnes
  2004-12-15 18:07 ` Luck, Tony
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jesse Barnes @ 2004-12-15 17:53 UTC (permalink / raw)
  To: linux-ia64

I've been messing around with some of the drm drivers lately, and in some 
cases they'll call pci_map_single on an address returned from page_address().  
When virtual memmaps are enabled, page_address will return a region 5 
pointer.  It looks like all of the ia64 iommu code (swiotlb, sba_iommu and 
sn2's pci_dma) assume that the address passed in is an identity mapped 
address since they use __pa to get the physical address.  This is fast, but 
also incorrect when the routines are handed a region 5 address.  So we either 
have to fix our iommu mapping routines or change some other assumptions 
(either about what page_address should return or what __va in general means 
for example).  Turning on WANT_PAGE_VIRTUAL and populating page->virtual with 
an identity mapped address is another option, probably less expensive than 
switching to ia64_tpa in the mapping routines.

Comments?

Thanks,
Jesse

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-12-15 18:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-15 17:53 virtual memmap and page_address Jesse Barnes
2004-12-15 18:07 ` Luck, Tony
2004-12-15 18:09 ` David Mosberger
2004-12-15 18:11 ` Jesse Barnes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox