drm/i915: Support for extra alignment for tiled surfaces
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 15 Feb 2016 20:54:42 +0000 (22:54 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 1 Mar 2016 10:48:09 +0000 (12:48 +0200)
commit29cf9491590119b9ebf1bf211bdd7a3cea4e040c
treef1203cf81eeb54517636451850827f5cdff35ee4
parent8d0deca8c6e0b25c409c6f4b2dc081596d7dffd9
drm/i915: Support for extra alignment for tiled surfaces

SKL+ needs >4K alignment for tiled surfaces, so make
intel_compute_page_offset() handle it.

The way we do it is first we compute the closest tile boundary
as before, and then figure out how many tiles we need to go
to reach the desired alignment. The difference in the offset
is then added into the x/y offsets.

v2: Be less confusing wrt. units (pixels vs. bytes) (Daniel)
v3: Use u32 for offsets
    Have intel_adjust_tile_offset() return the new offset (will be
    useful later)
    Add an offset_aligned variable (Daniel)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1455569699-27905-5-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c