[RFC] ttm merge ttm_backend & ttm_tt

Konrad Rzeszutek Wilk konrad.wilk at oracle.com
Tue Nov 1 21:24:17 PDT 2011


On Tue, Nov 01, 2011 at 11:05:49PM -0400, Jerome Glisse wrote:
> On Tue, Nov 1, 2011 at 9:29 PM, Konrad Rzeszutek Wilk
> <konrad.wilk at oracle.com> wrote:
> > On Tue, Nov 01, 2011 at 09:11:37PM -0400, Jerome Glisse wrote:
> >> Hi,
> >>
> >> So attached is patch serie (sorry for that i am away of my normal mail
> >> config) which ultimately merge ttm_backend & ttm_tt it allows to get
> >> rid of data duplication btw the two, especialy btw ttm_tt and driver
> >> specific backend. So net result is less 300lines of code accross ttm
> >> and driver.
> >>
> >> Konrad given some of the upstream nouveau change, your patchserie
> >> conflict and would lead to revert some nouveau fixes. I believe the
> >> intention is to get the ttm-dma code into 3.3 (3.2 seems late but
> >> dunno). If 3.3 is the aim than i will rebase your patch on top of this
> >
> > Yup. 3.3.
> 
> So basicly the issue is that nouveau now abuse the ttm dma_address
> array to store the result of the pci map page, issue is then to either
> code your ttm page code or pci unmap when unmapping. This can be

Right. The crux is that you can't do pci unmap on coherent pages, so there
has to be some bool to figure out if your are doing ttm page code or
pci map/unmap.

> worked around, i have half a rebase patch already. But i believe if
> ttm_backend & ttm_tt are merge and with proper page callback helper,
> nouveau could be more easily adapted.

Ok.
> 
> Anyway both approach can be taken either you patch on top or bottom.

I would recommend ttm page code at the bottom as I do not think there
is going to be much change to that code - but your code is still fresh
and you might want to redo it some way or another way, fix bugs, etc - which
could mean extra merge conflict issues if the ttm page code is on top.

Thought you could also ditch some of the patches (the ones that deal
with the drivers):
0003-ttm-radeon-nouveau-Check-the-DMA-address-from-TTM-ag.patch

That should make the amount of changes to nouveau|radeon smaller..

These could also be expunged:
0004-ttm-Wrap-ttm_-put-get-_pages-and-extract-GFP_-and-ca.patch
0005-ttm-Get-rid-of-temporary-scaffolding.patch

?
> As it's somewhat different issue.

Right, git rebase/merge conflict resolution work - or hopefully no work :-)


More information about the dri-devel mailing list