mirror-linux/drivers/gpu/drm
Ville Syrjälä 324b70e997 drm/i915: Fix ADL+ tiled plane stride when the POT stride is smaller than the original
plane_view_scanout_stride() currently assumes that we had to pad the
mapping stride with dummy pages in order to align it. But that is not
the case if the original fb stride exceeds the aligned stride used
to populate the remapped view, which is calculated from the user
specified framebuffer width rather than the user specified framebuffer
stride.

Ignore the original fb stride in this case and just stick to the POT
aligned stride. Getting this wrong will cause the plane to fetch the
wrong data, and can lead to fault errors if the page tables at the
bogus location aren't even populated.

TODO: figure out if this is OK for CCS, or if we should instead increase
the width of the view to cover the entire user specified fb stride
instead...

Cc: Imre Deak <imre.deak@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231204202443.31247-1-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
(cherry picked from commit 01a39f1c4f)
Cc: stable@vger.kernel.org
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2023-12-11 13:15:01 +02:00
..
amd drm/amdgpu: fix buffer funcs setting order on suspend 2023-12-06 16:05:32 -05:00
arm Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
armada drm/armada: Call drm_atomic_helper_shutdown() at shutdown time 2023-09-21 10:38:11 -07:00
aspeed drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
ast drm/ast: Disconnect BMC if physical connector is connected 2023-11-21 09:40:08 +01:00
atmel-hlcdc drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
bridge drm/bridge: tc358768: select CONFIG_VIDEOMODE_HELPERS 2023-12-05 09:32:15 +01:00
ci drm/ci: make github dependabot happy again 2023-11-13 08:52:24 -08:00
display Merge tag 'drm-misc-fixes-2023-11-08' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-11-10 16:57:49 +01:00
etnaviv drm/sched: Convert the GPU scheduler to variable number of run-queues 2023-10-26 12:03:47 -04:00
exynos drm/exynos: fix a wrong error checking 2023-12-07 11:51:43 +09:00
fsl-dcu drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
gma500 drm/gma500: refactor deprecated strncpy 2023-09-27 12:38:54 +02:00
gud drm/gud: Use size_add() in call to struct_size() 2023-09-29 14:48:32 -07:00
hisilicon drm/hisilicon/kirin: Call drm_atomic_helper_shutdown() at shutdown/unbind time 2023-09-21 10:54:20 -07:00
hyperv TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
i2c
i915 drm/i915: Fix ADL+ tiled plane stride when the POT stride is smaller than the original 2023-12-11 13:15:01 +02:00
imx Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
ingenic drm/ingenic: Call drm_atomic_helper_shutdown() at shutdown time 2023-09-13 11:12:20 -07:00
kmb
lib
lima drm/sched: Convert the GPU scheduler to variable number of run-queues 2023-10-26 12:03:47 -04:00
logicvc Merge tag 'drm-misc-fixes-2023-11-08' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-11-10 16:57:49 +01:00
loongson drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
mcde drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
mediatek Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
meson drm/meson: fix memory leak on ->hpd_notify callback 2023-09-20 15:44:31 +02:00
mgag200 drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
msm Merge tag 'drm-msm-fixes-2023-11-21' of https://gitlab.freedesktop.org/drm/msm into drm-fixes 2023-11-24 10:37:47 +10:00
mxsfb
nouveau drm/atomic-helpers: Invoke end_fb_access while owning plane state 2023-12-06 10:51:27 +01:00
omapdrm drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
panel drm/panel: nt36523: fix return value check in nt36523_probe() 2023-11-29 16:54:23 +01:00
panfrost drm/panfrost: Fix incorrect updating of current device frequency 2023-11-30 10:53:42 +00:00
pl111 drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
qxl drm fixes for 6.7-rc1 2023-11-10 14:59:30 -08:00
radeon drm next and fixes for 6.7-rc1 2023-11-07 17:10:02 -08:00
renesas drm: renesas: shmobile: Add DT support 2023-10-16 11:47:48 +02:00
rockchip drm/rockchip: vop: Fix color for RGB888/BGR888 format on VOP full 2023-11-20 17:06:06 +01:00
scheduler Merge tag 'drm-misc-next-2023-10-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-10-31 10:47:50 +10:00
solomon drm/ssd130x: Fix possible uninitialized usage of crtc_state variable 2023-10-30 11:00:27 +01:00
sprd
sti drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers 2023-09-21 10:41:04 -07:00
stm drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
sun4i Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
tegra drm/tegra: gem: Do not return NULL in tegra_bo_mmap() 2023-10-11 22:52:44 +02:00
tests Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
tidss
tilcdc drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
tiny Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
ttm Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
tve200 drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
udl
v3d drm/sched: Convert the GPU scheduler to variable number of run-queues 2023-10-26 12:03:47 -04:00
vboxvideo drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers 2023-09-21 10:51:55 -07:00
vc4 Merge tag 'drm-misc-fixes-2023-11-08' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-11-10 16:57:49 +01:00
vgem
virtio pci-v6.7-changes 2023-11-02 14:05:18 -10:00
vkms Revert "drm/vkms: Fix race-condition between the hrtimer and the atomic commit" 2023-09-14 07:48:19 -03:00
vmwgfx vmemdup-user-array API and changes with it. 2023-10-24 11:13:29 +10:00
xen
xlnx
Kconfig Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
Makefile drm/gpuvm: allow building as module 2023-09-26 01:58:28 +02:00
drm_agpsupport.c
drm_aperture.c
drm_atomic.c Merge tag 'drm-misc-next-2023-09-11-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-22 16:28:36 +10:00
drm_atomic_helper.c drm/atomic-helpers: Invoke end_fb_access while owning plane state 2023-12-06 10:51:27 +01:00
drm_atomic_state_helper.c
drm_atomic_uapi.c
drm_auth.c drm: Update file owner during use 2023-09-20 15:27:44 +02:00
drm_blend.c
drm_bridge.c drm/debugfs: rework debugfs directory creation v5 2023-09-01 08:51:18 +02:00
drm_bridge_connector.c drm/bridge_connector: implement oob_hotplug_event 2023-10-11 13:20:22 +03:00
drm_buddy.c Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
drm_bufs.c
drm_cache.c
drm_client.c drm/client: Convert drm_client_buffer_addfb() to drm_mode_addfb2() 2023-10-24 12:21:01 -04:00
drm_client_modeset.c
drm_color_mgmt.c
drm_connector.c drm: Add HPD state to drm_connector_oob_hotplug_event() 2023-10-11 13:20:22 +03:00
drm_context.c
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h drm/debugfs: rework debugfs directory creation v5 2023-09-01 08:51:18 +02:00
drm_damage_helper.c
drm_debugfs.c drm/gpuvm: rename struct drm_gpuva_manager to struct drm_gpuvm 2023-09-26 01:51:28 +02:00
drm_debugfs_crc.c
drm_displayid.c
drm_dma.c
drm_drv.c drm/debugfs: rework drm_debugfs_create_files implementation v2 2023-09-01 08:54:12 +02:00
drm_dumb_buffers.c
drm_edid.c Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_exec.c drm/drm_exec: Work around a WW mutex lockdep oddity 2023-09-07 10:30:12 +02:00
drm_fb_dma_helper.c
drm_fb_helper.c
drm_fbdev_dma.c
drm_fbdev_generic.c
drm_file.c drm/drm_file: Add DRM obj's RSS reporting function for fdinfo 2023-10-04 13:04:15 +02:00
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c drm/fourcc: Add NV20 and NV30 YUV formats 2023-10-24 21:34:35 +02:00
drm_framebuffer.c drm: Replace drm_framebuffer plane size functions with its equivalents 2023-10-12 09:51:29 +02:00
drm_gem.c drm: Do not overrun array in drm_gem_get_pages() 2023-10-12 10:44:06 +02:00
drm_gem_atomic_helper.c
drm_gem_dma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_gpuvm.c drm/gpuvm: Fix deprecated license identifier 2023-11-28 11:19:26 +01:00
drm_hashtab.c
drm_internal.h Merge drm/drm-next into drm-intel-next 2023-10-04 18:06:27 +03:00
drm_ioc32.c arch: Remove Itanium (IA-64) architecture 2023-09-11 08:13:17 +00:00
drm_ioctl.c drm: Update file owner during use 2023-09-20 15:27:44 +02:00
drm_irq.c
drm_kms_helper_common.c
drm_lease.c drm_lease.c: copy user-array safely 2023-10-09 16:59:49 +10:00
drm_legacy.h
drm_legacy_misc.c
drm_lock.c
drm_managed.c
drm_memory.c
drm_mipi_dbi.c
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c drm/debugfs: remove dev->debugfs_list and debugfs_mutex v2 2023-09-01 08:53:05 +02:00
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for Lenovo Legion Go 2023-11-15 16:57:08 +01:00
drm_pci.c
drm_plane.c
drm_plane_helper.c
drm_prime.c Revert "drm/prime: Unexport helpers for fd/handle conversion" 2023-11-30 14:46:04 -05:00
drm_print.c
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE 2023-10-26 21:20:25 +02:00
drm_sysfs.c drm/sysfs: Register "ddc" symlink later 2023-09-15 14:46:42 +03:00
drm_trace.h
drm_trace_points.c
drm_vblank.c
drm_vblank_work.c drm/vblank: Warn when silently cancelling vblank works 2023-10-03 16:01:03 +03:00
drm_vm.c
drm_vma_manager.c
drm_writeback.c