linux-xiaomi-chiron/drivers/gpu/drm/i915/display
Ville Syrjälä 5feba0e905 drm/i915: Fix overlay frontbuffer tracking
We don't have a persistent fb holding a reference to the frontbuffer
object, so every time we do the get+put we throw the frontbuffer object
immediately away. And so the next time around we get a pristine
frontbuffer object with bits==0 even for the old vma. This confuses
the frontbuffer tracking code which understandably expects the old
frontbuffer to have the overlay's bit set.

Fix this by hanging on to the frontbuffer reference until the next
flip. And just to make this a bit more clear let's track the frontbuffer
explicitly instead of just grabbing it via the old vma.

Cc: stable@vger.kernel.org
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1136
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210209021918.16234-2-ville.syrjala@linux.intel.com
Fixes: 8e7cb1799b ("drm/i915: Extract intel_frontbuffer active tracking")
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit 553c23bdb4)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2021-02-10 11:03:56 +02:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
icl_dsi.c drm/i915/icl: Fix initing the DSI DSC power refcount during HW readout 2021-01-11 19:16:53 +02:00
intel_acpi.c
intel_acpi.h
intel_atomic.c drm/i915/dp: Add from_crtc_state to copy color blobs 2020-11-15 18:30:05 -08:00
intel_atomic.h drm/i915/dp: Add from_crtc_state to copy color blobs 2020-11-15 18:30:05 -08:00
intel_atomic_plane.c drm/i915: Add bigjoiner aware plane clipping checks 2020-11-18 11:42:04 -08:00
intel_atomic_plane.h drm/i915: Add bigjoiner aware plane clipping checks 2020-11-18 11:42:04 -08:00
intel_audio.c drm/i915: Nuke force_min_cdclk_changed 2020-09-17 20:10:21 +03:00
intel_audio.h
intel_bios.c drm/i915: Use AUX_CH_USBCn for the RKL VBT AUX CH setup 2020-10-30 14:47:52 +02:00
intel_bios.h
intel_bw.c drm/i915: Fix wrong CDCLK adjustment changes 2020-06-04 11:11:56 -07:00
intel_bw.h drm/i915: Fix includes and local vars order 2020-05-22 14:40:35 +01:00
intel_cdclk.c drm/i915/rkl: Add new cdclk table 2020-10-16 08:47:08 -07:00
intel_cdclk.h drm/i915: Nuke force_min_cdclk_changed 2020-09-17 20:10:21 +03:00
intel_color.c drm/i915: Replace some gamma_mode ifs with switches 2020-09-28 18:09:52 +03:00
intel_color.h
intel_combo_phy.c drm/i915/jsl: Split EHL/JSL platform info and PCI ids 2020-10-14 09:31:34 +02:00
intel_combo_phy.h
intel_connector.c drm/i915: Add connector dbgfs for all connectors 2020-04-17 13:12:10 +05:30
intel_connector.h
intel_crt.c drm/i915: Reduce INTEL_DISPLAY_ENABLED to just treat outputs as disconnected 2020-09-15 15:28:21 +03:00
intel_crt.h
intel_csr.c drm/i915/dg1: Load DMC 2020-10-15 14:14:33 -07:00
intel_csr.h
intel_ddi.c drm/i915: Power up combo PHY lanes for for HDMI as well 2021-02-02 09:12:04 +02:00
intel_ddi.h drm/i915: Eliminate intel_dp.regs.dp_tp_{ctl,status} 2020-10-01 16:45:57 +03:00
intel_de.h
intel_display.c drm/i915/gem: Drop lru bumping on display unpinning 2021-02-02 13:39:02 +02:00
intel_display.h drm/i915/dp: Allow big joiner modes in intel_dp_mode_valid(), v3. 2020-11-18 11:41:10 -08:00
intel_display_debugfs.c drm/i915: Add debugfs dumping for bigjoiner, v3. 2020-11-18 11:42:12 -08:00
intel_display_debugfs.h
intel_display_power.c drm/i915: Tweaked Wa_14010685332 for PCHs used on gen11 platforms 2020-11-17 07:58:03 -08:00
intel_display_power.h drm/i915/dg1: Add DG1 power wells 2020-10-15 14:14:29 -07:00
intel_display_types.h drm/i915/dp: Track pm_qos per connector 2021-01-05 10:25:03 +02:00
intel_dp.c drm/i915/dp: Fix LTTPR vswing/pre-emp setting in non-transparent mode 2021-02-02 17:31:37 +02:00
intel_dp.h drm/i915/dp: Move intel_dp_set_signal_levels() to intel_dp_link_training.c 2021-02-02 17:31:37 +02:00
intel_dp_aux_backlight.c drm/i915/dp: Tweak initial dpcd backlight.enabled value 2020-10-19 13:29:42 -04:00
intel_dp_aux_backlight.h
intel_dp_hdcp.c drm/i915: Add HDCP 1.4 support for MST connectors 2020-09-01 13:03:05 +05:30
intel_dp_link_training.c drm/i915/dp: Fix LTTPR vswing/pre-emp setting in non-transparent mode 2021-02-02 17:31:37 +02:00
intel_dp_link_training.h drm/i915/dp: Fix LTTPR vswing/pre-emp setting in non-transparent mode 2021-02-02 17:31:37 +02:00
intel_dp_mst.c drm/i915: Fix the MST PBN divider calculation 2021-02-02 17:31:37 +02:00
intel_dp_mst.h drm/i915/display: prefer dig_port to reference intel_digital_port 2020-07-02 11:26:37 -07:00
intel_dpio_phy.c drm/i915: Plumb crtc_state to link training 2020-10-01 16:45:57 +03:00
intel_dpio_phy.h drm/i915: Plumb crtc_state to link training 2020-10-01 16:45:57 +03:00
intel_dpll_mgr.c Merge tag 'drm-intel-next-queued-2020-11-27' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-12-03 13:01:44 +10:00
intel_dpll_mgr.h drm/i915: Use actual readout results for .get_freq() 2020-11-16 21:42:55 +02:00
intel_dsb.c drm/i915/display: fix missing null check on allocated dsb object 2020-06-30 14:26:51 +03:00
intel_dsb.h drm/i915/dsb: Pre allocate and late cleanup of cmd buffer 2020-05-23 15:42:28 +05:30
intel_dsi.c drm/i915/dp: Allow big joiner modes in intel_dp_mode_valid(), v3. 2020-11-18 11:41:10 -08:00
intel_dsi.h drm/i915/dsi: Initiate frame request in cmd mode 2020-09-28 20:02:14 +03:00
intel_dsi_dcs_backlight.c
intel_dsi_dcs_backlight.h
intel_dsi_vbt.c drm/i915: drop a bunch of superfluous inlines 2020-04-21 09:31:37 +03:00
intel_dvo.c drm/i915: Reduce INTEL_DISPLAY_ENABLED to just treat outputs as disconnected 2020-09-15 15:28:21 +03:00
intel_dvo.h
intel_dvo_dev.h
intel_fbc.c drm/i915/display/fbc: Implement WA 22010751166 2020-10-19 17:25:55 -07:00
intel_fbc.h
intel_fbdev.c drm/i915: Reduce INTEL_DISPLAY_ENABLED to just removing the outputs 2020-09-15 14:57:13 +03:00
intel_fbdev.h
intel_fifo_underrun.c
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915: Add a couple of missing i915_active_fini() 2020-08-17 16:16:34 -04:00
intel_frontbuffer.h
intel_global_state.c drm/i915: Fix global state use-after-frees with a refcount 2020-06-02 16:35:24 +03:00
intel_global_state.h drm/i915: Fix global state use-after-frees with a refcount 2020-06-02 16:35:24 +03:00
intel_gmbus.c drm/i915/dg1: gmbus pin mapping 2020-10-07 13:51:21 -07:00
intel_gmbus.h
intel_hdcp.c drm/i915/hdcp: Get conn while content_type changed 2021-01-18 10:14:06 +02:00
intel_hdcp.h drm/i915: Plumb port through hdcp init 2020-09-01 13:02:33 +05:30
intel_hdmi.c drm/i915/dp: Allow big joiner modes in intel_dp_mode_valid(), v3. 2020-11-18 11:41:10 -08:00
intel_hdmi.h drm/i915: Do YCbCr 444->420 conversion via DP protocol converters 2020-09-17 18:43:09 +03:00
intel_hotplug.c drm/i915: Refactor .hpd_irq_setup() calls a bit 2020-10-20 20:18:53 +03:00
intel_hotplug.h drm/i915: Reorder hpd init vs. display resume 2020-10-20 20:18:32 +03:00
intel_lpe_audio.c drm/i915/lpe_audio: Remove pointless irq_to_desc() usage 2020-12-15 16:19:32 +01:00
intel_lpe_audio.h
intel_lspcon.c drm/i915: Nuke lspcon_ycbcr420_config() 2020-10-16 19:44:45 +03:00
intel_lspcon.h drm/i915: Nuke lspcon_ycbcr420_config() 2020-10-16 19:44:45 +03:00
intel_lvds.c drm/i915: Wait for LVDS panel power cycle delay on reboot 2020-10-09 21:12:13 +03:00
intel_lvds.h
intel_opregion.c drm/i915/display: remove debug message from error path 2020-10-28 00:33:46 -07:00
intel_opregion.h
intel_overlay.c drm/i915: Fix overlay frontbuffer tracking 2021-02-10 11:03:56 +02:00
intel_overlay.h
intel_panel.c drm/i915/backlight: fix CPU mode backlight takeover on LPT 2021-01-11 12:10:34 +02:00
intel_panel.h drm/i915: Reduce INTEL_DISPLAY_ENABLED to just treat outputs as disconnected 2020-09-15 15:28:21 +03:00
intel_pipe_crc.c
intel_pipe_crc.h
intel_psr.c drm/i915/display: Use initial_fastset_check() to compute and apply the initial PSR state 2020-11-05 05:38:51 -08:00
intel_psr.h drm/i915/display: Use initial_fastset_check() to compute and apply the initial PSR state 2020-11-05 05:38:51 -08:00
intel_quirks.c
intel_quirks.h
intel_sdvo.c drm/i915: Reduce INTEL_DISPLAY_ENABLED to just treat outputs as disconnected 2020-09-15 15:28:21 +03:00
intel_sdvo.h
intel_sdvo_regs.h drm/i915/sdvo: Fix SDVO colorimetry bit defines 2020-07-09 16:14:47 +03:00
intel_sprite.c drm/i915/display: Prevent double YUV range correction on HDR planes 2021-02-02 12:40:47 +02:00
intel_sprite.h drm/i915/rkl: Limit number of universal planes to 5 2020-05-20 08:35:22 -07:00
intel_tc.c drm/i915/tgl+: Make sure TypeC FIA is powered up when initializing it 2021-02-09 20:27:31 +02:00
intel_tc.h drm/i915: Turn intel_digital_port_connected() in a vfunc 2020-05-11 16:25:15 +03:00
intel_tv.c drm/i915: Reduce INTEL_DISPLAY_ENABLED to just treat outputs as disconnected 2020-09-15 15:28:21 +03:00
intel_tv.h
intel_vbt_defs.h drm/i915/vbt: Add VRR VBT toggle 2020-10-09 14:09:54 -07:00
intel_vdsc.c drm/i915/dp: Modify VDSC helpers to configure DSC for Bigjoiner slave 2020-11-18 11:41:10 -08:00
intel_vdsc.h drm/i915/dp: Modify VDSC helpers to configure DSC for Bigjoiner slave 2020-11-18 11:41:10 -08:00
intel_vga.c
intel_vga.h
vlv_dsi.c drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence 2021-01-11 12:10:34 +02:00
vlv_dsi_pll.c drm/i915/vlv_dsi_pll: fix spelling mistake "Cant" -> "Can't" 2020-08-27 16:28:21 +03:00