mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 11:01:06 -04:00
drm/i915: Handle CCS CC planes separately from CCS AUX planes
CCS CC planes are quite different from CCS AUX planes, even though we regard the CC planes as a linear buffer having a 64 byte stride. Thus it's clearer to check for either CCS plane types explicitly when we need to handle them; add the required CCS CC planes check here, while the next patch will change all is_ccs_plane()/is_gen12_ccs_plane() checks to consider only the CCS AUX planes. Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20211020195138.1841242-9-imre.deak@intel.com
This commit is contained in:
@@ -409,7 +409,8 @@ static bool is_semiplanar_uv_plane(const struct drm_framebuffer *fb, int color_p
|
||||
bool is_surface_linear(const struct drm_framebuffer *fb, int color_plane)
|
||||
{
|
||||
return fb->modifier == DRM_FORMAT_MOD_LINEAR ||
|
||||
is_gen12_ccs_plane(fb, color_plane);
|
||||
is_gen12_ccs_plane(fb, color_plane) ||
|
||||
is_gen12_ccs_cc_plane(fb, color_plane);
|
||||
}
|
||||
|
||||
int main_to_ccs_plane(const struct drm_framebuffer *fb, int main_plane)
|
||||
@@ -502,7 +503,8 @@ intel_tile_width_bytes(const struct drm_framebuffer *fb, int color_plane)
|
||||
case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS:
|
||||
case I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC:
|
||||
case I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS:
|
||||
if (is_ccs_plane(fb, color_plane))
|
||||
if (is_ccs_plane(fb, color_plane) ||
|
||||
is_gen12_ccs_cc_plane(fb, color_plane))
|
||||
return 64;
|
||||
fallthrough;
|
||||
case I915_FORMAT_MOD_Y_TILED:
|
||||
|
||||
Reference in New Issue
Block a user