1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/i915/display
Jouni Högander 804f468853 drm/i915/psr: Set "SF Partial Frame Enable" also on full update
Currently we are observing occasional screen flickering when
PSR2 selective fetch is enabled. More specifically glitch seems
to happen on full frame update when cursor moves to coords
x = -1 or y = -1.

According to Bspec SF Single full frame should not be set if
SF Partial Frame Enable is not set. This happened to be true for
ADLP as PSR2_MAN_TRK_CTL_ENABLE is always set and for ADL_P it's
actually "SF Partial Frame Enable" (Bit 31).

Setting "SF Partial Frame Enable" bit also on full update seems to
fix screen flickering.

Also make code more clear by setting PSR2_MAN_TRK_CTL_ENABLE
only if not on ADL_P. Bit 31 has different meaning in ADL_P.

Bspec: 49274

v2: Fix Mihai Harpau email address
v3: Modify commit message and remove unnecessary comment

Tested-by: Lyude Paul <lyude@redhat.com>
Fixes: 7f6002e580 ("drm/i915/display: Enable PSR2 selective fetch by default")
Reported-by: Lyude Paul <lyude@redhat.com>
Cc: Mihai Harpau <mharpau@gmail.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Bugzilla: https://gitlab.freedesktop.org/drm/intel/-/issues/5077
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220225070228.855138-1-jouni.hogander@intel.com
(cherry picked from commit 8d5516d18b)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2022-03-07 14:45:31 +00:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
g4x_dp.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
g4x_dp.h drm/i915: Give g4x_{dp,hdmi}.c g4x_ namespace 2021-03-19 18:31:49 +02:00
g4x_hdmi.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
g4x_hdmi.h drm/i915: Give g4x_{dp,hdmi}.c g4x_ namespace 2021-03-19 18:31:49 +02:00
i9xx_plane.c drm/i915/fbc: Allocate intel_fbc dynamically 2021-12-03 13:13:21 +02:00
i9xx_plane.h drm/i915: migrate i9xx plane get config 2021-02-08 12:09:28 +02:00
icl_dsi.c drm/i915/dsi: split out icl_dsi.h 2021-11-23 13:11:42 +02:00
icl_dsi.h drm/i915/dsi: split out icl_dsi.h 2021-11-23 13:11:42 +02:00
intel_acpi.c drm/i915: Free the returned object of acpi_evaluate_dsm() 2021-10-13 13:41:16 +03:00
intel_acpi.h drm/i915: Associate ACPI connector nodes with connector entries (v2) 2021-09-09 12:59:07 +02:00
intel_atomic.c drm/i915: Add privacy-screen support (v3) 2021-12-09 16:09:46 +01:00
intel_atomic.h drm/i915/adl_p: MBUS programming 2021-05-19 23:59:23 -07:00
intel_atomic_plane.c Merge tag 'drm-intel-gt-next-2021-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-12-24 06:14:51 +10:00
intel_atomic_plane.h drm/i915: Split update_plane() into update_noarm() + update_arm() 2021-11-04 17:59:24 +02:00
intel_audio.c drm/i915: s/intel_get_first_crtc/intel_first_crtc/ 2021-12-09 16:18:30 +02:00
intel_audio.h drm/i915/audio: rename intel_init_audio_hooks to intel_audio_hooks_init 2021-11-05 13:05:14 +02:00
intel_backlight.c drm/i915/backlight: mass rename functions to have intel_backlight_ prefix 2021-08-26 10:40:41 +03:00
intel_backlight.h drm/i915/backlight: mass rename functions to have intel_backlight_ prefix 2021-08-26 10:40:41 +03:00
intel_bios.c drm/i915/adl_p: Add ddc pin mapping 2021-12-03 10:21:36 -08:00
intel_bios.h drm/i915/bios: add intel_bios_encoder_data to encoder, use for iboost 2021-03-18 14:44:16 +02:00
intel_bw.c drm/i915: Fix bw atomic check when switching between SAGV vs. no SAGV 2022-02-21 09:37:19 +00:00
intel_bw.h drm/i915: Widen the QGV point mask 2022-02-21 09:37:19 +00:00
intel_cdclk.c drm/i915/cdclk: hide struct intel_cdclk_vals 2021-12-13 12:28:04 +02:00
intel_cdclk.h drm/i915/cdclk: hide struct intel_cdclk_vals 2021-12-13 12:28:04 +02:00
intel_color.c drm/i915/xelpd: Enable Pipe Degamma 2021-12-07 12:50:31 +05:30
intel_color.h
intel_combo_phy.c drm/i915: Fix icl+ combo phy static lane power down setup 2021-10-28 21:20:00 +03:00
intel_combo_phy.h
intel_connector.c drm/i915/debugfs: pass intel_connector to intel_connector_debugfs_add() 2021-10-01 13:45:37 +03:00
intel_connector.h drm/i915: Split intel_attach_colorspace_property() into HDMI vs. DP variants 2020-12-02 01:29:31 +05:30
intel_crt.c drm/i915/display: remove intel_wait_for_vblank() 2021-12-02 13:45:29 +02:00
intel_crt.h drm/i915: Remove repeated declaration 2021-03-29 12:39:35 -07:00
intel_crtc.c drm/i915: s/intel_get_first_crtc/intel_first_crtc/ 2021-12-09 16:18:30 +02:00
intel_crtc.h drm/i915: s/intel_get_first_crtc/intel_first_crtc/ 2021-12-09 16:18:30 +02:00
intel_cursor.c drm/i915: Split update_plane() into update_noarm() + update_arm() 2021-11-04 17:59:24 +02:00
intel_cursor.h drm/i915: refactor cursor code out of i915_display.c 2020-12-22 10:09:05 +02:00
intel_ddi.c drm/i915/display/adlp: Implement new step in the TC voltage swing prog sequence 2022-01-17 10:19:41 +00:00
intel_ddi.h drm/i915: drop intel_display.h include from intel_ddi.h 2021-11-19 15:11:34 +02:00
intel_ddi_buf_trans.c drm/i915/display/ehl: Update voltage swing table 2022-01-17 10:19:36 +00:00
intel_ddi_buf_trans.h drm/i915: Shrink {icl_mg,tgl_dkl}_phy_ddi_buf_trans 2021-10-14 18:45:59 +03:00
intel_de.h drm/i915: Include intel_de_{read,write}_fw() in i915_reg_rw traces 2021-05-05 21:05:58 +03:00
intel_display.c drm/i915: Workaround broken BIOS DBUF configuration on TGL/RKL 2022-02-07 12:56:50 +00:00
intel_display.h drm/i915: Fix implicit use of struct pci_dev 2021-12-14 10:38:29 +02:00
intel_display_debugfs.c drm/i915/fbc: Move FBC debugfs stuff into intel_fbc.c 2021-12-03 13:12:47 +02:00
intel_display_debugfs.h drm/i915/debugfs: pass intel_connector to intel_connector_debugfs_add() 2021-10-01 13:45:37 +03:00
intel_display_power.c drm/i915: Move pipe/transcoder/abox masks under intel_device_info.display 2021-12-13 14:58:28 +02:00
intel_display_power.h drm/i915: drop intel_display.h include from intel_display_power.h 2021-11-19 15:12:14 +02:00
intel_display_trace.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_display_trace.h drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_display_types.h Linux 5.16-rc5 2021-12-14 10:24:28 +01:00
intel_dmc.c drm/i915/display: Fix an unsigned subtraction which can never be negative. 2021-12-12 20:55:37 -08:00
intel_dmc.h i915/display/dmc: Add Support for PipeC and PipeD DMC 2021-11-01 14:10:12 +02:00
intel_dp.c Linux 5.16-rc5 2021-12-14 10:24:28 +01:00
intel_dp.h drm/i915/dp: Perform 30ms delay after source OUI write 2021-12-01 09:17:08 -05:00
intel_dp_aux.c drm/i915/tc: Add/use helpers to retrieve TypeC port properties 2021-09-29 23:57:37 +03:00
intel_dp_aux.h drm/i915/dp: split out aux functionality to intel_dp_aux.c 2021-01-21 13:27:42 +02:00
intel_dp_aux_backlight.c Linux 5.16-rc5 2021-12-14 10:24:28 +01:00
intel_dp_aux_backlight.h
intel_dp_hdcp.c drm/i915/hdcp: reuse rx_info for mst stream type1 capability check 2021-09-09 13:10:40 +05:30
intel_dp_hdcp.h drm/i915/hdcp: add intel_dp_hdcp.h and rename init accordingly 2021-04-28 11:07:01 +03:00
intel_dp_link_training.c drm/i915/display: stop including i915_drv.h from intel_display_types.h 2021-12-03 11:46:33 +02:00
intel_dp_link_training.h drm/i915: Show LTTPR in the TPS debug print 2021-10-06 22:12:48 +03:00
intel_dp_mst.c Merge drm/drm-next into drm-intel-next 2021-10-29 13:40:45 +03:00
intel_dp_mst.h drm/i915/mst: abstract intel_dp_mst_source_support() 2021-10-08 13:14:25 +03:00
intel_dpio_phy.c drm/i915: split out vlv sideband to a separate file 2021-10-14 12:22:55 +03:00
intel_dpio_phy.h drm/i915: De-wrapper bxt_ddi_phy_set_signal_levels() 2021-10-04 12:43:01 +03:00
intel_dpll.c drm/i915/crtc: rename intel_get_crtc_for_pipe() to intel_crtc_for_pipe() 2021-12-02 12:53:50 +02:00
intel_dpll.h drm/i915/dpll: move dpll modeset asserts to intel_dpll.c 2021-10-01 10:48:59 +03:00
intel_dpll_mgr.c drm/i915/display: Rename POWER_DOMAIN_DPLL_DC_OFF to POWER_DOMAIN_DC_OFF 2021-10-20 13:30:21 -07:00
intel_dpll_mgr.h drm/i915: drop intel_display.h include from intel_dpll_mgr.h 2021-11-19 15:12:02 +02:00
intel_dpt.c Merge tag 'drm-intel-gt-next-2021-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-12-24 06:14:51 +10:00
intel_dpt.h drm/i915: Restore memory mapping for DPT FBs across system suspend/resume 2021-11-03 11:07:24 +02:00
intel_drrs.c drm/i915: Disable DRRS on IVB/HSW port != A 2022-02-07 12:56:49 +00:00
intel_drrs.h drm/i915/display: Prepare DRRS for frontbuffer rendering drop 2021-09-07 15:39:43 -07:00
intel_dsb.c drm/i915: Use unlocked register accesses for LUT loads 2021-11-10 00:38:06 +02:00
intel_dsb.h
intel_dsi.c drm/i915/display: stop including i915_drv.h from intel_display_types.h 2021-12-03 11:46:33 +02:00
intel_dsi.h drm/i915/dsi: split out icl_dsi.h 2021-11-23 13:11:42 +02:00
intel_dsi_dcs_backlight.c drm/i915/dsi: transmit brightness command in HS state 2021-11-11 11:51:58 +02:00
intel_dsi_dcs_backlight.h
intel_dsi_vbt.c drm/i915/dsi: split out vlv_dsi.h 2021-11-23 13:11:39 +02:00
intel_dsi_vbt.h drm/i915/dsi: split out intel_dsi_vbt.h 2021-11-23 13:11:13 +02:00
intel_dvo.c drm/i915: Introduce intel_panel_compute_config() 2021-09-30 11:20:13 +03:00
intel_dvo.h
intel_dvo_dev.h
intel_fb.c drm/i915/display: stop including i915_drv.h from intel_display_types.h 2021-12-03 11:46:33 +02:00
intel_fb.h drm/i915/fb: move intel_fb_uses_dpt to intel_fb.c and un-inline 2021-12-03 11:23:15 +02:00
intel_fb_pin.c drm/i915/display: stop including i915_drv.h from intel_display_types.h 2021-12-03 11:46:33 +02:00
intel_fb_pin.h drm/i915/display: move pin/unpin fb/plane code to a new file. 2021-10-12 12:58:40 +03:00
intel_fbc.c drm/i915/fbc: Fix the plane end Y offset check 2022-02-14 09:52:56 +00:00
intel_fbc.h drm/i915/fbc: avoid intel_frontbuffer.h include with declaration 2021-12-13 12:04:56 +02:00
intel_fbdev.c drm/i915/display: move pin/unpin fb/plane code to a new file. 2021-10-12 12:58:40 +03:00
intel_fbdev.h
intel_fdi.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_fdi.h drm/i915: Move intel_ddi_fdi_post_disable() to fdi code 2021-10-19 09:40:13 +03:00
intel_fifo_underrun.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_frontbuffer.h drm/i915/fb: reduce include dependencies 2021-12-13 12:04:59 +02:00
intel_global_state.c
intel_global_state.h
intel_gmbus.c drm/i915: Don't request GMBUS to generate irqs when called while irqs are off 2021-11-01 14:15:18 +02:00
intel_gmbus.h
intel_hdcp.c drm/i915: split out intel_pcode.[ch] to separate file 2021-10-14 18:04:17 +03:00
intel_hdcp.h drm/i915/hdcp: Pass dig_port to intel_hdcp_init 2021-01-13 08:29:32 +05:30
intel_hdmi.c drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() 2021-11-09 10:02:41 -05:00
intel_hdmi.h drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() 2021-11-09 10:02:41 -05:00
intel_hotplug.c drm/i915: Fix oops on platforms w/o hpd support 2021-10-14 23:23:55 +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/audio: name the audio sub-struct in drm_i915_private 2021-11-05 13:04:48 +02:00
intel_lpe_audio.h
intel_lspcon.c Core Changes: 2021-05-21 08:55:23 +10:00
intel_lspcon.h drm/i915/display: Implement DRM infoframe read for LSPCON 2020-12-02 01:29:52 +05:30
intel_lvds.c drm/i915/dpll: move dpll modeset asserts to intel_dpll.c 2021-10-01 10:48:59 +03:00
intel_lvds.h
intel_opregion.c drm/i915/opregion: check port number bounds for SWSCI display power state 2022-02-14 09:52:56 +00:00
intel_opregion.h
intel_overlay.c drm/i915/overlay: Prevent divide by zero bugs in scaling 2022-01-31 09:35:01 +00:00
intel_overlay.h
intel_panel.c drm/i915: Reject user modes that don't match fixed mode's refresh rate 2021-09-30 11:20:40 +03:00
intel_panel.h drm/i915: Introduce intel_panel_compute_config() 2021-09-30 11:20:13 +03:00
intel_pch_display.c drm/i915: Introduce lpt_pch_disable() 2021-10-19 09:41:05 +03:00
intel_pch_display.h drm/i915: Introduce lpt_pch_disable() 2021-10-19 09:41:05 +03:00
intel_pch_refclk.c drm/i915: Move PCH refclock stuff into its own file 2021-10-19 09:36:22 +03:00
intel_pch_refclk.h drm/i915: Move PCH refclock stuff into its own file 2021-10-19 09:36:22 +03:00
intel_pipe_crc.c drm/i915: Don't include intel_de.h from intel_display_types.h 2021-05-05 21:04:42 +03:00
intel_pipe_crc.h
intel_plane_initial.c drm/i915/display: stop including i915_drv.h from intel_display_types.h 2021-12-03 11:46:33 +02:00
intel_plane_initial.h drm/i915/display: refactor initial plane config to a separate file 2021-10-12 12:58:33 +03:00
intel_pps.c drm/i915/pps: move pps (panel) modeset asserts to intel_pps.c 2021-10-01 10:48:59 +03:00
intel_pps.h drm/i915/pps: move pps (panel) modeset asserts to intel_pps.c 2021-10-01 10:48:59 +03:00
intel_psr.c drm/i915/psr: Set "SF Partial Frame Enable" also on full update 2022-03-07 14:45:31 +00:00
intel_psr.h drm/i915/psr: avoid intel_frontbuffer.h include with declaration 2021-12-13 12:04:54 +02:00
intel_qp_tables.c drm/i915/xelpd: Add rc_qp_table for rcparams calculation 2021-05-19 23:59:12 -07:00
intel_qp_tables.h drm/i915/xelpd: Add rc_qp_table for rcparams calculation 2021-05-19 23:59:12 -07:00
intel_quirks.c drm/i915/display: stop including i915_drv.h from intel_display_types.h 2021-12-03 11:46:33 +02:00
intel_quirks.h
intel_sdvo.c drm/i915/display: add intel_crtc_wait_for_next_vblank() and use it 2021-12-02 11:39:50 +02: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_snps_phy.c drm/i915/dg2: Print PHY name properly on calibration error 2022-02-21 09:43:11 +00:00
intel_snps_phy.h drm/i915: Nuke useless .set_signal_levels() wrappers 2021-10-04 12:42:55 +03:00
intel_sprite.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_sprite.h drm/i915: Move function prototypes to the correct header 2021-10-21 22:22:58 +03:00
intel_tc.c drm/i915: Disconnect PHYs left connected by BIOS on disabled ports 2022-02-21 09:37:19 +00:00
intel_tc.h drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P 2021-09-29 23:58:04 +03:00
intel_tv.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_tv.h
intel_vbt_defs.h drm/i915/adl_p: Add ddc pin mapping 2021-12-03 10:21:36 -08:00
intel_vdsc.c drm/i915: Nuke {pipe,plane}_to_crtc_mapping[] 2021-12-09 16:18:30 +02:00
intel_vdsc.h drm/i915: Split PPS write from DSC enable 2021-10-27 14:00:47 +03:00
intel_vga.c drm-misc-next for v5.15-rc1: 2021-07-23 11:32:43 +10:00
intel_vga.h
intel_vrr.c drm/i915: Fix framestart_delay commens in VRR code 2021-11-18 22:31:15 +02:00
intel_vrr.h drm/i915: Do vblank evasion correctly if vrr push has already been sent 2021-11-18 22:31:15 +02:00
skl_scaler.c drm/i915: Add a table with a descriptor for all i915 modifiers 2021-10-21 21:44:17 +03:00
skl_scaler.h drm/i915: refactor skylake scaler code into new file. 2021-02-08 12:12:41 +02:00
skl_universal_plane.c Merge tag 'drm-intel-gt-next-2021-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-12-24 06:14:51 +10:00
skl_universal_plane.h drm/i915/intel_fb: Pull FB plane functions from skl_universal_plane.c 2021-03-29 22:54:50 +03:00
vlv_dsi.c drm/i915/dsi: split out vlv_dsi.h 2021-11-23 13:11:39 +02:00
vlv_dsi.h drm/i915/dsi: split out vlv_dsi.h 2021-11-23 13:11:39 +02:00
vlv_dsi_pll.c drm/i915/dsi: split out vlv_dsi_pll.h 2021-11-23 13:11:36 +02:00
vlv_dsi_pll.h drm/i915/dsi: split out vlv_dsi_pll.h 2021-11-23 13:11:36 +02:00