On Wed, Aug 10, 2016 at 12:23:17PM +0300, ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Minimize the resulting X coordinate after intel_adjust_tile_offset() is > done with it's offset adjustment. This allows calling > intel_adjust_tile_offset() multiple times in case we need to adjust > the offset several times. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index f4b45625703e..40c809593ae9 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -2330,6 +2330,7 @@ static u32 intel_adjust_tile_offset(int *x, int *y, > u32 old_offset, > u32 new_offset) > { > + unsigned int pitch_pixels = pitch_tiles * tile_width; > unsigned int tiles; > > WARN_ON(old_offset & (tile_size - 1)); > @@ -2341,6 +2342,10 @@ static u32 intel_adjust_tile_offset(int *x, int *y, > *y += tiles / pitch_tiles * tile_height; > *x += tiles % pitch_tiles * tile_width; > > + /* minimize x in case it got needlessly big */ > + *y += *x / pitch_pixels * tile_height; > + *x %= pitch_pixels; Multiples of pitch_pixels (entire tile rows) are converted from an X offset to a Y offset (in tile steps). Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx