mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 20:32:04 +09:00
drm/i915: Reject YCbCr output with degamma+gamma on pre-icl
Since the pipe CSC sits between the degamma and gamma LUTs there is no way to make us it for RGB->YCbCr conversion when both LUTs are also active. Simply reject such combos. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20221026113906.10551-10-ville.syrjala@linux.intel.com Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
This commit is contained in:
@@ -1556,7 +1556,14 @@ static int ivb_color_check(struct intel_crtc_state *crtc_state)
|
||||
if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB &&
|
||||
crtc_state->hw.ctm) {
|
||||
drm_dbg_kms(&i915->drm,
|
||||
"YCBCR and CTM together are not possible\n");
|
||||
"YCbCr and CTM together are not possible\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB &&
|
||||
crtc_state->hw.degamma_lut && crtc_state->hw.gamma_lut) {
|
||||
drm_dbg_kms(&i915->drm,
|
||||
"YCbCr and degamma+gamma together are not possible\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -1622,7 +1629,14 @@ static int glk_color_check(struct intel_crtc_state *crtc_state)
|
||||
if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB &&
|
||||
crtc_state->hw.ctm) {
|
||||
drm_dbg_kms(&i915->drm,
|
||||
"YCBCR and CTM together are not possible\n");
|
||||
"YCbCr and CTM together are not possible\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB &&
|
||||
crtc_state->hw.degamma_lut && crtc_state->hw.gamma_lut) {
|
||||
drm_dbg_kms(&i915->drm,
|
||||
"YCbCr and degamma+gamma together are not possible\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user