This series fixes issues faced when an HDMI2.1 sink that does not support DSC is connected via HDMI2.1PCON. It also includes other minor HDMI2.1 PCON fixes/refactoring. Patch 1-2 Have minor fixes/cleanups. Patch 3-6 Pull the decision making to use DFP conversion capabilities for every mode during compute config, instead of having that decision during DP initializing phase. Patch 7-8 Calculate the max BPC that can be sufficient with either RGB or YCbcr420 format for the maximum FRL rate supported. Rev2: Split the refactoring of DFP RG->YCBCR conversion into smaller patches, as suggested by Jani N. Also dropped the unnecessary helper for DSC1.2 support for HDMI2.1 DFP. Rev3: As suggested by Ville, added new member sink_format to store the final format that the sink will be using, which might be different than the output format, and thus might need color/format conversion performed by the PCON. Rev4: Fix typo in switch case as, reported by kernel test bot. Rev5: Corrected order of setting sink_format and output_format. (Ville) Avoided the flag ycbcr420_output and used the sink_format to facilitate 4:2:2 support at a later stage. (Ville) Rev6: Added missing changes for sdvo. (Ville) Added check for scaler and DSC constraints with YCbCr420. Rev7: Split change to add scaler constraint in separate patch, and rebased. Rev8: Rebased. Fixed check for mode rate with dsc in modevalid. Fixed scaler constraint as per display version. Rev9: Rebased. Rev10: Addressed review comments from Ville. Dropped patch to check for mode rate with dsc during modevalid, as the compressed bpp is already selected with bandwidth considerations. Rev11: Fixed the policy to use output format as RGB first if possible, followed by YCbCr444, atlast YCbCr420. Also removed the scaler-constraints with YCbCr420, as these are handled in scaler code. (Ville) Ankit Nautiyal (11): drm/i915/display: Add new member to configure PCON color conversion drm/i915/display: Add new member in intel_dp to store ycbcr420 passthrough cap drm/i915/dp: Replace intel_dp.dfp members with the new crtc_state sink_format drm/i915/display: Use sink_format instead of ycbcr420_output flag drm/i915/dp: Rearrange check for illegal mode and comments in mode_valid drm/i915/dp: Consider output_format while computing dsc bpp for mode_valid drm/i915/display: Add helper function to check if sink_format is 420 drm/i915/dp: Avoid DSC with output_format YCBCR420 drm/i915/dp: Handle BPP where HDMI2.1 DFP doesn't support DSC drm/i915/dp: Fix FRL BW check for HDMI2.1 DFP drm/i915/dp: Add a wrapper to check frl/tmds downstream constraints drivers/gpu/drm/i915/display/icl_dsi.c | 1 + drivers/gpu/drm/i915/display/intel_crt.c | 1 + .../drm/i915/display/intel_crtc_state_dump.c | 5 +- drivers/gpu/drm/i915/display/intel_display.c | 5 + .../drm/i915/display/intel_display_types.h | 18 +- drivers/gpu/drm/i915/display/intel_dp.c | 420 +++++++++++++----- drivers/gpu/drm/i915/display/intel_dp.h | 4 +- drivers/gpu/drm/i915/display/intel_dp_mst.c | 3 +- drivers/gpu/drm/i915/display/intel_dvo.c | 1 + drivers/gpu/drm/i915/display/intel_hdmi.c | 73 +-- drivers/gpu/drm/i915/display/intel_hdmi.h | 5 +- drivers/gpu/drm/i915/display/intel_lvds.c | 1 + drivers/gpu/drm/i915/display/intel_sdvo.c | 1 + drivers/gpu/drm/i915/display/intel_tv.c | 1 + drivers/gpu/drm/i915/display/vlv_dsi.c | 1 + 15 files changed, 380 insertions(+), 160 deletions(-) -- 2.25.1