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