Idea: Make drivers/char/agp/*.c use the PCI API.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Konrad Rzeszutek Wilk
Date: Tuesday, November 30, 2010 - 10:43 am

Hey guys,

I am working on getting Linux Xen PV guests to be able to use graphics card.
The crux of the problem I am running into is that any of the 'page_to_phys'
or 'virt_to_phys' macros under Xen return a PFN which is actually not the 
_real_ PFN (called Machine Frame Number, MFN in Xen terminology). So when
we program the GATT bus address, the PFN of the GATT != MFN. Hence the bridge
ends up looking for the GATT somewhere completely different than what we expected.

In the past I've inserted some nasty skanky lookup code to in drivers/char/agp/*.c
so that the GATT bus address, and the bus addresses of the pages that are to be
mapped to the GATT get the MFN - but that was a band-aid solution.

I was wondering what you guys thought if I reworked the drivers/char/agp to use
the PCI API, similarly to what drivers/char/agp/intel-gtt.c is doing right now.
Perhaps even go further and squash the intel-gtt.c scatter-list usage into the
generic.c. Other ideas?

I've some of the old hardware laying around so I can definitly test some subset
of the hardware. Are there some particular ones I should look for that had
trouble?

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Idea: Make drivers/char/agp/*.c use the PCI API., Konrad Rzeszutek Wilk, (Tue Nov 30, 10:43 am)