On 01/06/2012 04:51 PM, James Simmons wrote: > >>>> You can achieve what you want by either adding a new domain so you would >>>> have >>>> system, vram, agp, pcidma and object can be bound to one and only one. Or >>>> you >>>> can hack your own agp ttm backend that could bind bo to agp or pci or >>>> both at the same time depending on what you want to achieve. >>>> >>> The question is how does one know which domain you want in tt_create. >>> Currenty drivers are using there dev_priv but if you have have more than >>> one option available how does one choose? Would you be okay with passing >>> in a domain flag? >>> >>> >> Well i agree that something would be usefull there so the driver know >> which bind/unbind function it should use. Thomas i would prefer >> passing the bo to the tt_create callback but a flag is the minimum we >> need. >> > We can discuss this after the merge widow. Jerome your patch does fix a > regression whereas my proposal is a enhancement. >
..Back from parental leave. I'm not 100% sure I understand the problem correctly, but I assume the problem is that you receive a "bind" request for pages allocated out of the wrong DMA pool? Is that correct? In that case we need to make both the following happen: 1) The backend should be required to supply a fallback that can bind anyway by allocating the correct page type and copy. 2) I'm OK with providing a hint to tt_create. IIRC we're passing bo::mem to tt_bind. Would it be ok to pass the same to tt_create? /Thomas