search for: sub_rem

Displaying 5 results from an estimated 5 matches for "sub_rem".

2013 Aug 11
2
Fixing nouveau for >4k PAGE_SIZE
...s = shift - 12; + u32 num = length >> shift; + u32 pde = (offset >> vmm->pgt_bits) - vm->fpde; + u32 pte = (offset & ((1 << vmm->pgt_bits) - 1)) >> bits; + u32 max = 1 << (vmm->pgt_bits - bits); + u32 sub_cnt = 1 << (PAGE_SHIFT - shift); + u32 sub_rem = 0; + u64 phys = 0; + + + /* XXX This will not work for a big mapping ! */ + WARN_ON_ONCE(big); + + while (num) { + struct nouveau_gpuobj *pgt = vm->pgt[pde].obj[big]; + + if (sub_rem == 0) { + phys = *(list++); + sub_rem = sub_cnt; + } + vmm->map_sg(vma, pgt, mem, pte, 1, &phys)...
2013 Aug 11
0
Fixing nouveau for >4k PAGE_SIZE
...= length >> shift; > + u32 pde = (offset >> vmm->pgt_bits) - vm->fpde; > + u32 pte = (offset & ((1 << vmm->pgt_bits) - 1)) >> bits; > + u32 max = 1 << (vmm->pgt_bits - bits); > + u32 sub_cnt = 1 << (PAGE_SHIFT - shift); > + u32 sub_rem = 0; > + u64 phys = 0; > + > + > + /* XXX This will not work for a big mapping ! */ > + WARN_ON_ONCE(big); > + > + while (num) { > + struct nouveau_gpuobj *pgt = vm->pgt[pde].obj[big]; > + > + if (sub_rem == 0) { > + phys = *(list++); > + sub_rem = sub_c...
2013 Aug 29
0
Fixing nouveau for >4k PAGE_SIZE
...(offset >> vmm->pgt_bits) - vm->fpde; >> > + u32 pte = (offset & ((1 << vmm->pgt_bits) - 1)) >> bits; >> > + u32 max = 1 << (vmm->pgt_bits - bits); >> > + u32 sub_cnt = 1 << (PAGE_SHIFT - shift); >> > + u32 sub_rem = 0; >> > + u64 phys = 0; >> > + >> > + >> > + /* XXX This will not work for a big mapping ! */ >> > + WARN_ON_ONCE(big); >> > + >> > + while (num) { >> > + struct nouveau_gpuobj *pgt = vm->pgt[pde].obj[big...
2013 Aug 11
2
Fixing nouveau for >4k PAGE_SIZE
...; > > + u32 pde = (offset >> vmm->pgt_bits) - vm->fpde; > > + u32 pte = (offset & ((1 << vmm->pgt_bits) - 1)) >> bits; > > + u32 max = 1 << (vmm->pgt_bits - bits); > > + u32 sub_cnt = 1 << (PAGE_SHIFT - shift); > > + u32 sub_rem = 0; > > + u64 phys = 0; > > + > > + > > + /* XXX This will not work for a big mapping ! */ > > + WARN_ON_ONCE(big); > > + > > + while (num) { > > + struct nouveau_gpuobj *pgt = vm->pgt[pde].obj[big]; > > + > > + if (sub_rem == 0) { &...
2013 Aug 11
2
Fixing nouveau for >4k PAGE_SIZE
Op 11-08-13 07:36, Benjamin Herrenschmidt schreef: > On Sun, 2013-08-11 at 10:41 +1000, Benjamin Herrenschmidt wrote: >> Now, to do that, I need a better understanding of the various things >> in there since I'm not familiar with nouveau at all. What I think I've >> figured out is with a few questions, it would be awesome if you could >> answer them so I can have