drm/i915/adlp: Require DPT FB CCS color planes to be 2MB aligned
authorImre Deak <imre.deak@intel.com>
Mon, 24 May 2021 17:27:01 +0000 (20:27 +0300)
committerImre Deak <imre.deak@intel.com>
Tue, 25 May 2021 10:06:07 +0000 (13:06 +0300)
commitb3de1d0789197935da054e47952694adc8219203
tree1060c5eb165fbda94da250c7b22c2f25cbc097db
parent6f20785b760119dfc9e5ad569110a9b0e6b3fe35
drm/i915/adlp: Require DPT FB CCS color planes to be 2MB aligned

All DPT FB color plane surface base addresses must be 2MB aligned. On
ADL_P this means that the offsets in CCS FB object must be also 2MB
aligned. Adjusting unaligned offsets for these FBs during commit time
(compensating with the x/y offsets) doesn't work, since the big
alignment would most probably lead to an x/y offset mismatch error
between the main and CCS planes.

We can overcome this limitation by remapping CCS FBs, so that each color
plane is at an aligned offset, leaving x/y for each plane unadjusted
during commit and so not causing an x/y mismatch error. However
remapping for CCS FBs will be done as a follow-up, so for now require
that user space allocates the FB obj with properly aligned planes.

v2: s/SZ_2M/512*4k/ for clarity. (Ville)

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210524172703.2113058-1-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_fb.c