bianbu-linux-6.6/drivers/gpu/drm/i915/display
Ville Syrjälä cae154fcae drm/i915: Never set limited_color_range=true for YCbCr output
crtc_state->limited_color_range only applies to RGB output but
we're currently setting it even for YCbCr output. That will
lead to conflicting MSA and PIPECONF settings which can mess
up the image. Let's make sure limited_color_range stays unset
with YCbCr output.

Also WARN if we end up with such a bogus combination when
programming the MSA MISC bits as it's impossible to even
indicate quantization rangle for YCbCr via MSA MISC. YCbCr
output is simply assumed to be limited range always. Note
that VSC SDP does provide a mechanism for full range YCbCr,
so in the future we may want to rethink how we compute/store
this state.

And for good measure we add the same WARN to the HDMI path.

v2: s/==/!=/ in the HDMI WARN

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190718164523.11738-1-ville.syrjala@linux.intel.com
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
2019-09-20 21:45:51 +03:00
..
dvo_ch7xxx.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_ch7017.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_ivch.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_ns2501.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_sil164.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_tfp410.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
icl_dsi.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_acpi.c
intel_acpi.h
intel_atomic.c drm/i915: Remove pointless planes_changed=true assignment 2019-09-11 17:04:27 +03:00
intel_atomic.h
intel_atomic_plane.c drm/i915: Replace is_planar_yuv_format() with drm_format_info_is_yuv_semiplanar() 2019-09-16 14:44:03 +03:00
intel_atomic_plane.h drm/i915: Pass intel state to plane functions as well 2019-07-01 10:32:45 +02:00
intel_audio.c drm/i915: Prefer encoder->name over port_name() 2019-09-02 18:43:28 +03:00
intel_audio.h
intel_bios.c drm/i915: introduce INTEL_DISPLAY_ENABLED() 2019-09-16 10:20:05 +03:00
intel_bios.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_bw.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_bw.h drm/i915/bw: make intel_atomic_get_bw_state() static 2019-08-07 12:01:46 +03:00
intel_cdclk.c drm/i915: Extract intel_modeset_calc_cdclk() 2019-09-16 14:51:09 +03:00
intel_cdclk.h drm/i915: Extract intel_modeset_calc_cdclk() 2019-09-16 14:51:09 +03:00
intel_color.c drm/i915/display: Extract chv_read_luts() 2019-09-10 13:23:26 +03:00
intel_color.h drm/i915/display: Add func to compare hw/sw gamma lut 2019-09-04 11:55:30 +03:00
intel_combo_phy.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_combo_phy.h drm/i915/gen11: Convert combo PHY logic to use new 'enum phy' namespace 2019-07-10 18:22:34 -07:00
intel_connector.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_connector.h
intel_crt.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_crt.h
intel_ddi.c drm/i915: Never set limited_color_range=true for YCbCr output 2019-09-20 21:45:51 +03:00
intel_ddi.h
intel_display.c drm/i915: Don't advertise modes that exceed the max plane size 2019-09-19 20:28:57 +03:00
intel_display.h drm/i915: Don't advertise modes that exceed the max plane size 2019-09-19 20:28:57 +03:00
intel_display_power.c drm/i915: Align power domain names with port names 2019-08-28 19:33:42 +03:00
intel_display_power.h drm/i915: Align power domain names with port names 2019-08-28 19:33:42 +03:00
intel_display_types.h drm/i915/tgl: move DP_TP_* to transcoder 2019-09-04 17:07:57 -07:00
intel_dp.c drm/i915: Never set limited_color_range=true for YCbCr output 2019-09-20 21:45:51 +03:00
intel_dp.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_dp_aux_backlight.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dp_aux_backlight.h
intel_dp_link_training.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dp_link_training.h
intel_dp_mst.c drm/i915/mst: Do not hardcoded the crtcs that encoder can connect 2019-09-05 10:13:53 -07:00
intel_dp_mst.h drm/i915/mst: un-inline intel_dp_mst_encoder_active_links() 2019-08-07 12:01:51 +03:00
intel_dpio_phy.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_dpio_phy.h
intel_dpll_mgr.c drm/i915: Prefer encoder->name over port_name() 2019-09-02 18:43:28 +03:00
intel_dpll_mgr.h drm/i915/tgl: Add new pll ids 2019-07-11 16:31:12 -07:00
intel_dsi.c drm/i915: Don't advertise modes that exceed the max plane size 2019-09-19 20:28:57 +03:00
intel_dsi.h drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dsi_dcs_backlight.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dsi_dcs_backlight.h
intel_dsi_vbt.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dvo.c drm/i915: Use enum pipe consistently 2019-08-23 21:36:01 +03:00
intel_dvo.h
intel_dvo_dev.h
intel_fbc.c drm/i915: Disable FBC if BIOS reserved memory (stolen) is unavailable 2019-09-12 11:43:48 +01:00
intel_fbc.h
intel_fbdev.c drm/i915: introduce INTEL_DISPLAY_ENABLED() 2019-09-16 10:20:05 +03:00
intel_fbdev.h
intel_fifo_underrun.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915: Replace obj->pin_global with obj->frontbuffer 2019-09-03 05:39:37 +01:00
intel_frontbuffer.h drm/i915: Extract intel_frontbuffer active tracking 2019-08-16 09:51:11 +01:00
intel_gmbus.c drm/i915: introduce INTEL_DISPLAY_ENABLED() 2019-09-16 10:20:05 +03:00
intel_gmbus.h drm/i915: Move gmbus definitions out of i915_reg.h 2019-08-16 21:52:49 +01:00
intel_hdcp.c drm/i915/hdcp: Enable HDCP 1.4 and 2.2 on Gen12+ 2019-08-30 14:08:32 +05:30
intel_hdcp.h drm/i915/hdcp: update current transcoder into intel_hdcp 2019-08-30 14:08:30 +05:30
intel_hdmi.c drm/i915: Never set limited_color_range=true for YCbCr output 2019-09-20 21:45:51 +03:00
intel_hdmi.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_hotplug.c drm/i915: Prefer encoder->name over port_name() 2019-09-02 18:43:28 +03:00
intel_hotplug.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_lpe_audio.c drm/i915: add INTEL_NUM_PIPES() and use it 2019-09-11 22:33:20 +03:00
intel_lpe_audio.h
intel_lspcon.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_lspcon.h
intel_lvds.c drm/i915: Use enum pipe consistently 2019-08-23 21:36:01 +03:00
intel_lvds.h
intel_opregion.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_opregion.h
intel_overlay.c drm/i915: Mark i915_request.timeline as a volatile, rcu pointer 2019-09-20 10:24:09 +01:00
intel_overlay.h
intel_panel.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_panel.h
intel_pipe_crc.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_pipe_crc.h
intel_psr.c drm/i915/tgl: Access the right register when handling PSR interruptions 2019-09-04 17:03:35 -07:00
intel_psr.h drm/i915: Do not unmask PSR interruption in IRQ postinstall 2019-08-22 13:09:24 -07:00
intel_quirks.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_quirks.h
intel_sdvo.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_sdvo.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_sdvo_regs.h
intel_sprite.c drm/i915: Replace is_planar_yuv_format() with drm_format_info_is_yuv_semiplanar() 2019-09-16 14:44:03 +03:00
intel_sprite.h drm/i915: Replace is_planar_yuv_format() with drm_format_info_is_yuv_semiplanar() 2019-09-16 14:44:03 +03:00
intel_tc.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_tc.h drm/i915/tc: un-inline intel_tc_port_ref_held() 2019-08-07 12:02:02 +03:00
intel_tv.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_tv.h
intel_vbt_defs.h drm/i915/gen11: Allow usage of all GPIO pins 2019-08-19 07:51:12 -07:00
intel_vdsc.c drm/i915/dp: Fix DSC enable code to use cpu_transcoder instead of encoder->type 2019-08-22 14:15:47 -07:00
intel_vdsc.h
Makefile drm/i915: use upstream version of header tests 2019-07-30 12:11:57 +03:00
vlv_dsi.c drm/i915: Use enum pipe consistently 2019-08-23 21:36:01 +03:00
vlv_dsi_pll.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00