linux_dsm_epyc7002/drivers/gpu/drm/i915/display
Ville Syrjälä 9eb0463cfe drm/i915/fbc: Fix fence_y_offset handling
The current fence_y_offset calculation is broken. I think it more or
less used to do the right thing, but then I changed the plane code
to put the final x/y source offsets back into the src rectangle so
now it's just subtraacting the same value from itself. The code would
never have worked if we allowed the framebuffer to have a non-zero
offset.

Let's do this in a better way by just calculating the fence_y_offset
from the final plane surface offset. Note that we don't align the
plane surface address to fence rows so with horizontal panning there's
often a horizontal offset from the fence start to the surface address
as well. We have no way to tell the hardware about that so we just
ignore it. Based on some quick tests the invlidation still happens
correctly. I presume due to the invalidation nuking at least the full
line (or a segment of multiple lines).

Fixes: 54d4d719fa ("drm/i915: Overcome display engine stride limits via GTT remapping")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200429101034.8208-4-ville.syrjala@linux.intel.com
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
(cherry picked from commit 5331889b5f)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2020-07-06 17:15:57 -07:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
icl_dsi.c drm/i915: Have pfit calculations return an error code 2020-04-24 17:37:22 +03:00
intel_acpi.c drm/i915/acpi: Move the code to populate ACPI device ID into intel_acpi 2020-01-24 12:58:39 +02:00
intel_acpi.h drm/i915/acpi: Move the code to populate ACPI device ID into intel_acpi 2020-01-24 12:58:39 +02:00
intel_atomic_plane.c drm/i915/display/atomic_plane: Prefer drm_WARN_ON over WARN_ON 2020-04-21 09:49:30 +03:00
intel_atomic_plane.h drm/i915: Fix crtc nv12 etc. plane bitmasks for DPMS off 2020-03-20 15:12:11 +02:00
intel_atomic.c drm/i915/atomic: conversion to drm_device based logging macros. 2020-02-11 15:11:50 +02:00
intel_atomic.h drm/i915: Introduce better global state handling 2020-01-31 17:00:44 +02:00
intel_audio.c drm/i915: Streamline the artihmetic 2020-05-04 18:44:53 +03:00
intel_audio.h
intel_bios.c drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
intel_bios.h drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
intel_bw.c drm/i915: Restrict qgv points which don't have enough bandwidth. 2020-05-14 19:08:30 +03:00
intel_bw.h drm/i915: Restrict qgv points which don't have enough bandwidth. 2020-05-14 19:08:30 +03:00
intel_cdclk.c drm/i915: Lock gmbus/aux mutexes while changing cdclk 2020-03-09 22:28:33 +02:00
intel_cdclk.h drm/i915: Read rawclk_freq earlier 2020-02-19 14:09:18 +00:00
intel_color.c drm/i915/color: Extract icl_read_luts() 2020-03-18 14:38:35 +02:00
intel_color.h
intel_combo_phy.c drm/i915/combo_phy: convert to struct drm_device logging macros. 2020-02-11 15:23:33 +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: Pass encoder all the way to intel_ddi_transcoder_func_reg_val_get() 2020-04-20 21:21:10 +03:00
intel_crt.h
intel_csr.c drm/i915/dmc: Use firmware v2.06 for TGL 2020-03-03 11:28:12 +02:00
intel_csr.h drm/i915: move intel_csr.[ch] under display/ 2020-02-14 08:48:12 +02:00
intel_ddi.c drm/i915/display: Fix the encoder type check 2020-06-16 11:34:24 +03:00
intel_ddi.h drm/i915: Pass encoder all the way to intel_ddi_transcoder_func_reg_val_get() 2020-04-20 21:21:10 +03:00
intel_de.h drm/i915: add display engine uncore helpers 2020-01-23 11:07:00 +02:00
intel_display_debugfs.c Merge tag 'drm-intel-next-2020-04-30' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-05-14 11:33:10 +10:00
intel_display_debugfs.h drm/i915: have *_debugfs_init() functions return void. 2020-03-18 16:27:22 +01:00
intel_display_power.c drm/i915/icl: Fix timeout handling during TypeC AUX power well enabling 2020-04-23 14:26:13 +03:00
intel_display_power.h drm/i915/tc/tgl: Implement TC cold sequences 2020-04-17 15:01:34 -07:00
intel_display_types.h Merge tag 'drm-intel-next-2020-05-15' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-05-20 13:36:45 +10:00
intel_display.c drm/i915/fbc: Fix fence_y_offset handling 2020-07-06 17:15:57 -07:00
intel_display.h drm/i915/fbc: Fix fence_y_offset handling 2020-07-06 17:15:57 -07:00
intel_dp_aux_backlight.c drm/i915/dpcd_bl: Unbreak enable_dpcd_backlight modparam 2020-04-20 11:18:26 +03:00
intel_dp_aux_backlight.h
intel_dp_link_training.c drm/i915/dp: Made intel_dp_adjust_train() non-static 2020-04-08 14:40:48 +02:00
intel_dp_link_training.h drm/i915/dp: Made intel_dp_adjust_train() non-static 2020-04-08 14:40:48 +02:00
intel_dp_mst.c drm/i915/icl: Disable DIP on MST ports with the transcoder clock still on 2020-06-16 11:34:24 +03:00
intel_dp_mst.h
intel_dp.c drm/i915/display: Only query DP state of a DDI encoder 2020-06-09 14:47:05 +03:00
intel_dp.h drm/i915/dp: Add compute routine for DP PSR VSC SDP 2020-05-14 13:54:15 +03:00
intel_dpio_phy.c drm/i915/dpio_phy: convert to drm_device based logging macros. 2020-02-11 15:28:52 +02:00
intel_dpio_phy.h
intel_dpll_mgr.c drm/i915/display/dpll_mgr: Prefer drm_WARN_ON over WARN_ON 2020-04-21 10:53:53 +03:00
intel_dpll_mgr.h drm/i915: Fix documentation for intel_dpll_get_freq() 2020-03-09 12:37:23 +02:00
intel_dsb.c drm/i915: drop a bunch of superfluous inlines 2020-04-21 09:31:37 +03:00
intel_dsb.h
intel_dsi_dcs_backlight.c drm/i915/display: Make WARN* drm specific where drm_device ptr is available 2020-02-04 11:00:04 +02:00
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_dsi.c drm/i915/dsi: use struct drm_device based logging 2020-03-25 19:45:49 +02:00
intel_dsi.h
intel_dvo_dev.h
intel_dvo.c drm/i915: Pass atomic state to encoder hooks 2020-04-03 19:49:57 +03:00
intel_dvo.h
intel_fbc.c drm/i915/fbc: Fix fence_y_offset handling 2020-07-06 17:15:57 -07:00
intel_fbc.h
intel_fbdev.c Merge drm/drm-next into drm-intel-next-queued 2020-04-16 14:35:16 +03:00
intel_fbdev.h
intel_fifo_underrun.c drm/i915/fifo_underrun: convert to drm_device based logging. 2020-03-11 12:20:43 +02:00
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915/display/frontbuffer: Prefer drm_WARN_ON over WARN_ON 2020-04-21 10:54:22 +03: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: drop a bunch of superfluous inlines 2020-04-21 09:31:37 +03:00
intel_gmbus.h
intel_hdcp.c drm/i915: drop a bunch of superfluous inlines 2020-04-21 09:31:37 +03:00
intel_hdcp.h drm/i915: Pass atomic state to encoder hooks 2020-04-03 19:49:57 +03:00
intel_hdmi.c drm/i915: Have pfit calculations return an error code 2020-04-24 17:37:22 +03:00
intel_hdmi.h drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
intel_hotplug.c drm/i915: Add a retry counter for hotplug detect retries 2020-04-06 17:53:51 +03:00
intel_hotplug.h drm/i915: Add a retry counter for hotplug detect retries 2020-04-06 17:53:51 +03:00
intel_lpe_audio.c drm/i915/lpe_audio: convert to drm_device based logging macros. 2020-03-11 12:20:43 +02:00
intel_lpe_audio.h
intel_lspcon.c drm/i915: Fix enabled infoframe states of lspcon 2020-05-14 13:54:08 +03:00
intel_lspcon.h
intel_lvds.c drm/i915: Have pfit calculations return an error code 2020-04-24 17:37:22 +03:00
intel_lvds.h
intel_opregion.c drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
intel_opregion.h
intel_overlay.c drm/i915/display/overlay: Prefer drm_WARN_ON over WARN_ON 2020-04-21 10:54:41 +03:00
intel_overlay.h
intel_panel.c drm/i915: avoid unused scale_user_to_hw() warning 2020-05-19 17:53:58 +03:00
intel_panel.h drm/i915: Have pfit calculations return an error code 2020-04-24 17:37:22 +03:00
intel_pipe_crc.c drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc 2020-03-02 12:58:26 +02:00
intel_pipe_crc.h drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc 2020-03-02 12:58:26 +02:00
intel_psr.c drm/i915/psr: Use new DP VSC SDP compute routine on PSR 2020-05-14 13:54:17 +03:00
intel_psr.h drm/i915/psr: Use new DP VSC SDP compute routine on PSR 2020-05-14 13:54:17 +03:00
intel_quirks.c drm/i915: Add invert-brightness quirk for Thundersoft TST178 tablet 2020-03-04 16:54:36 +01:00
intel_quirks.h
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Add a retry counter for hotplug detect retries 2020-04-06 17:53:51 +03:00
intel_sdvo.h drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
intel_sprite.c drm/i915: Add YUV444 packed format support for skl+ 2020-04-16 11:53:47 +03:00
intel_sprite.h
intel_tc.c drm/i915: Use stashed away hpd isr bits in intel_digital_port_connected() 2020-05-11 16:32:12 +03: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: Pass atomic state to encoder hooks 2020-04-03 19:49:57 +03:00
intel_tv.h
intel_vbt_defs.h drm/i915: Replace zero-length array with flexible-array 2020-05-09 12:59:23 +01:00
intel_vdsc.c drm/i915: significantly reduce the use of <drm/i915_drm.h> 2020-02-27 08:35:09 +02:00
intel_vdsc.h
intel_vga.c drm/i915/vga: conversion to drm_device based logging macros. 2020-02-04 11:13:20 +02:00
intel_vga.h
vlv_dsi_pll.c drm/i915/vlv_dsi_pll: conversion to struct drm_device logging macros. 2020-02-04 11:13:15 +02:00
vlv_dsi.c drm/i915: Have pfit calculations return an error code 2020-04-24 17:37:22 +03:00