[Intel-gfx] [PATCH] drm/i915: Replace some PAGE_SHIFTs with I915_GTT_PAGE_SIZE

Chris Wilson chris at chris-wilson.co.uk
Tue Sep 18 10:57:39 UTC 2018


Quoting Ville Syrjala (2018-09-17 18:14:14)
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Clean up some cases where we're dealing with GTT pages instead of
> system pages to use I915_GTT_PAGE_SIZE instead of PAGE_SHIT. So
> just replace the the shifts with mul/div as appropriate. These
> are the easy ones, the rest probably need some actual thought.
> 
> No real changes in the generated asm. Only gen8_ppgtt_insert_4lvl()
> was affected as gcc decided to do the following change:
> -     be9:       89 d9                   mov    %ebx,%ecx
> -     beb:       c1 e1 0c                shl    $0xc,%ecx
> -     bee:       48 63 c9                movslq %ecx,%rcx
> +     be9:       48 63 cb                movslq %ebx,%rcx
> +     bec:       48 c1 e1 0c             shl    $0xc,%rcx
> and that then shifted a bunch of the offset by one byte. I presume
> the sign extensions in the asm are due to integer promotions from
> u16 etc. Hopefully someone has confirmed that those don't end up
> doing the wrong thing for us.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris


More information about the Intel-gfx mailing list