[RFC PATCH v2] Utilize the PCI API in the TTM framework.

Michel Dänzer michel at daenzer.net
Tue Mar 22 08:10:22 PDT 2011


On Die, 2011-03-22 at 10:54 -0400, Konrad Rzeszutek Wilk wrote: 
> On Tue, Mar 22, 2011 at 02:13:19PM +0100, Michel Dänzer wrote:
> > On Mon, 2011-03-21 at 19:18 -0400, Konrad Rzeszutek Wilk wrote: 
> > > On Mon, Mar 21, 2011 at 02:11:07PM +0100, Michel Dänzer wrote:
> > > > On Fre, 2011-01-07 at 12:11 -0500, Konrad Rzeszutek Wilk wrote: 
> > > > > 
> > > > > 1) The 'NULL' when doing dma_alloc_coherent is unsightly. I was toying
> > > > > with modifying the TTM API to pass in 'struct device' or 'struct pci_device'
> > > > > but figured it would make first sense to get your guys input before heading that route.
> > > > 
> > > > It's worse than unsightly: It breaks TTM on PPC. See
> > > > arch/powerpc/include/asm/dma-mapping.h: get_dma_ops() returns NULL if
> > > > NULL is passed in for the device, and most of its callers BUG in that
> > > > case. The exception being dma_supported(), so a possible solution might
> > > > be to use that for checking if dma_alloc_coherent can be used.
> > > > 
> > > > Dave, please prevent this change from entering mainline before there's a
> > > > solution for this.
> > > 
> > > We do have a fix for it: 
> > > 
> > > git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git devel/ttm.pci-api.v5
> > > 
> > > Can you tell me if that works for you?
> > 
> > Yeah,
> > http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=commitdiff;h=02bbfbab7dd6a107ea2f5d6e882631cd31c72eda and http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=commitdiff;h=733301920082553b52ce4453493fe6abf6aa7d1a fix the problem.
> 
> Wheew. Good! What kind of hardware do you have that triggered this?
> When I implemented this patchset I hadn't thought about PPC b/c..well
> I didn't have the hardware nor did I think there were any ATI/Nvidia
> cards that worked with it. Can you give me an idea of type of hardware
> this is and where I could purchase it?

It's an Apple PowerBook with a Mobility Radeon 9700, to buy one new
you'd have to go back in time a couple of years first. ;) You should be
able to use more recent GPUs in a second-hand Apple G5 or YDL
PowerStation, which also have reasonably fast CPUs.


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the dri-devel mailing list