OpenCloudOS-Kernel/drivers/gpu/drm
Thomas Zimmermann b43e2ec03b drm/vkms: Let shadow-plane helpers prepare the plane's FB
Replace vkms' prepare_fb and cleanup_fb functions with the generic
code for shadow-buffered planes. No functional changes.

This change also fixes a problem where IGT kms_flip tests would
create a segmentation fault within vkms. The driver's prepare_fb
function did not report an error if a BO's vmap operation failed.
The kernel later tried to operate on the non-mapped memory areas.
The shared shadow-plane helpers handle errors correctly, so that
the driver now avoids the segmantation fault.

v2:
	* include paragraph about IGT tests in commit message (Melissa)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Melissa Wen <melissa.srw@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210705074633.9425-4-tzimmermann@suse.de
2021-07-13 13:31:08 +02:00
..
amd drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
arm drm/arm/komeda: Don't include drm_irq.h 2021-07-08 14:10:47 +02:00
armada drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
aspeed drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
ast drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
atmel-hlcdc drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
bridge drm: bridge: nwl-dsi: Drop unused nwl_dsi_plat_clk_config 2021-07-10 09:10:09 +02:00
etnaviv drm/sched: Allow using a dedicated workqueue for the timeout/fault tdr 2021-07-01 08:53:25 +02:00
exynos drm/exynos: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
fsl-dcu drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
gma500 drm/gma500: Add the missed drm_gem_object_put() in psb_user_framebuffer_create() 2021-07-09 21:32:04 +02:00
gud drm/gud: Add async_flush module parameter 2021-07-08 14:34:28 +02:00
hisilicon drm/hisilicon/hibmc: Convert to Linux IRQ interfaces 2021-07-08 14:12:43 +02:00
hyperv drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
i2c
i810 drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
i915 drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
imx drm/imx/dcss: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
ingenic drm/<driver>: drm_gem_plane_helper_prepare_fb is now the default 2021-06-24 15:35:24 +02:00
kmb drm: fix semicolon.cocci warnings 2021-05-12 11:31:28 +02:00
lib
lima drm/sched: Allow using a dedicated workqueue for the timeout/fault tdr 2021-07-01 08:53:25 +02:00
mcde drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
mediatek drm/mediatek: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
meson drm/meson: Convert to Linux IRQ interfaces 2021-07-08 14:09:34 +02:00
mga drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
mgag200 drm/mgag200: Constify LUT for programming bpp 2021-07-05 08:55:47 +02:00
msm drm/msm: always wait for the exclusive fence 2021-07-09 12:30:37 +02:00
mxsfb drm/<driver>: drm_gem_plane_helper_prepare_fb is now the default 2021-06-24 15:35:24 +02:00
nouveau drm/nouveau: always wait for the exclusive fence 2021-07-08 14:59:08 +02:00
omapdrm drm/omapdrm: Track IRQ state in local device state 2021-06-29 11:08:43 +02:00
panel drm/panel: simple: Add support for EDT ETM0350G0DH6 panel 2021-07-09 22:51:06 +02:00
panfrost drm/panfrost:fix the exception name always "UNKNOWN" 2021-07-12 11:13:44 +01:00
pl111 drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
qxl drm/qxl: Remove empty qxl_gem_prime_mmap() 2021-07-08 14:06:56 +02:00
r128 drm: fix leaked dma handles after removing drm_pci_free 2021-05-26 21:18:13 +02:00
radeon drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
rcar-du drm/rcar-du: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
rockchip drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
savage drm/savage: Remove references to struct drm_device.pdev 2021-05-03 19:48:30 +02:00
scheduler drm/sched: Allow using a dedicated workqueue for the timeout/fault tdr 2021-07-01 08:53:25 +02:00
selftests
shmobile
sis drm/sis: Remove references to struct drm_device.pdev 2021-05-03 19:48:33 +02:00
sti drm/sti: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
stm drm/stm: Don't set struct drm_device.irq_enabled 2021-06-29 15:40:45 +02:00
sun4i drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
tdfx drm: Constify drm_driver in drivers that don't modify it 2021-01-05 07:20:36 +02:00
tegra drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
tidss drm/tidss: Don't use struct drm_device.irq_enabled 2021-06-29 15:40:52 +02:00
tilcdc drm/tilcdc: fix pixel clock setting warning message 2021-03-24 12:05:28 +02:00
tiny drm/bochs: Use managed initialization for GEM VRAM helpers 2021-07-05 08:55:02 +02:00
ttm drm/ttm: add TTM_PL_FLAG_TEMPORARY flag v3 2021-06-23 14:59:39 -04:00
tve200 drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
udl drm-misc-next for 5.13: 2021-03-16 17:08:46 +10:00
v3d drm/sched: Allow using a dedicated workqueue for the timeout/fault tdr 2021-07-01 08:53:25 +02:00
vboxvideo drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
vc4 drm: vc4: Fix pixel-wrap issue with DVP teardown 2021-07-06 11:24:56 +02:00
vgem Revert "drm/vgem: Implement mmap as GEM object function" 2021-07-13 13:15:52 +02:00
via drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
virtio drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
vkms drm/vkms: Let shadow-plane helpers prepare the plane's FB 2021-07-13 13:31:08 +02:00
vmwgfx drm/vmwgfx: Convert to Linux IRQ interfaces 2021-07-08 14:11:43 +02:00
xen drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
xlnx drm/xlnx: Don't set struct drm_device.irq_enabled 2021-06-29 15:40:53 +02:00
zte drm/zte: Don't set struct drm_device.irq_enabled 2021-06-29 15:40:53 +02:00
Kconfig drm/bochs: Move to tiny/ 2021-07-05 08:54:44 +02:00
Makefile drm/bochs: Move to tiny/ 2021-07-05 08:54:44 +02:00
drm_agpsupport.c drm: Include <asm/agp.h> iff CONFIG_AGP is set 2021-05-11 14:13:33 +02:00
drm_aperture.c drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
drm_atomic.c Merge drm/drm-next into drm-misc-next 2021-04-26 14:03:09 +02:00
drm_atomic_helper.c drm/atomic-helper: make drm_gem_plane_helper_prepare_fb the default 2021-06-24 15:35:13 +02:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm: drm_atomic_uapi.c: Use tabs for code indents 2021-04-22 10:46:00 +02:00
drm_auth.c drm: drm_auth.c: Adjust end of block comment 2021-04-22 10:26:35 +02:00
drm_blend.c drm: drm_blend.c: Use tabs for code indents 2021-04-22 10:46:35 +02:00
drm_bridge.c drm/bridge: Fix the stop condition of drm_bridge_chain_pre_enable() 2021-04-20 08:56:44 -07:00
drm_bridge_connector.c
drm_bufs.c drm: fix leaked dma handles after removing drm_pci_free 2021-05-26 21:18:13 +02:00
drm_cache.c drm: Add a prefetching memcpy_from_wc 2021-06-07 16:07:08 +02:00
drm_client.c
drm_client_modeset.c drm: replace drm_modeset_lock_all() in drm_client_modeset_dpms_legacy() 2021-02-09 17:16:57 +01:00
drm_color_mgmt.c
drm_connector.c drm/connector: Add a helper to attach the colorspace property 2021-05-07 17:14:59 +02:00
drm_context.c drm: correct function name drm_legacy_ctxbitmap_flush() 2021-05-16 22:01:14 +02:00
drm_crtc.c drm: Switch to %p4cc format modifier 2021-02-17 12:52:59 +01:00
drm_crtc_helper.c
drm_crtc_helper_internal.h drm: remove drm_fb_helper_modinit 2021-02-08 12:20:38 +01:00
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c drm/doc: document how userspace should find out CRTC index 2021-06-10 19:14:47 +02:00
drm_displayid.c drm/displayid: rename displayid_hdr to displayid_header 2021-03-31 15:42:39 +03:00
drm_dma.c drm: remove usage of drm_pci_alloc/free 2021-04-26 18:19:15 +02:00
drm_dp_aux_bus.c drm: Introduce the DP AUX bus 2021-06-11 12:30:39 -07:00
drm_dp_aux_dev.c drm/dp: Add backpointer to drm_device in drm_dp_aux 2021-04-27 18:43:42 -04:00
drm_dp_cec.c
drm_dp_dual_mode_helper.c drm/dp_dual_mode: Convert drm_dp_dual_mode_helper.c to using drm_err/drm_dbg_kms() 2021-04-27 18:43:45 -04:00
drm_dp_helper.c drm/dp: Extract i915's eDP backlight code into DRM helpers 2021-06-09 13:35:22 -04:00
drm_dp_mst_topology.c drm/dp_mst: Use kHz as link rate units when settig source max link caps at init 2021-05-27 15:30:59 -04:00
drm_dp_mst_topology_internal.h
drm_drv.c drm: Add a prefetching memcpy_from_wc 2021-06-07 16:07:08 +02:00
drm_dsc.c
drm_dumb_buffers.c drm: Don't export the drm_gem_dumb_destroy() function 2021-01-05 07:20:25 +02:00
drm_edid.c drm/edid: use the new displayid iterator for tile info 2021-03-31 15:42:02 +03:00
drm_edid_load.c
drm_encoder.c drm: add drmm_encoder_alloc() 2021-01-04 12:59:33 +01:00
drm_encoder_slave.c
drm_fb_cma_helper.c drm: Add and export function drm_fb_cma_sync_non_coherent 2021-05-25 11:42:09 +01:00
drm_fb_helper.c drm/fb-helper: improve DRM fbdev emulation device names 2021-05-26 21:22:38 +02:00
drm_file.c drm/drm_file.c: Define drm_send_event_helper() as 'static' 2021-04-27 14:23:12 +02:00
drm_flip_work.c
drm_format_helper.c drm/format-helper: Add blitter functions 2021-05-01 12:45:03 +02:00
drm_fourcc.c Merge tag 'amd-drm-next-5.14-2021-06-02' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2021-06-04 06:13:57 +10:00
drm_framebuffer.c drm: Switch to %p4cc format modifier 2021-02-17 12:52:59 +01:00
drm_gem.c drm/gem: Tiny kernel clarification for drm_gem_fence_array_add 2021-06-24 14:53:42 +02:00
drm_gem_atomic_helper.c drm/gem: Export implementation of shadow-plane helpers 2021-07-13 13:30:58 +02:00
drm_gem_cma_helper.c drm: Fix misleading documentation of drm_gem_cma_create() 2021-06-01 17:27:20 +01:00
drm_gem_framebuffer_helper.c drm: log errors in drm_gem_fb_init_with_funcs 2021-05-18 19:48:18 +02:00
drm_gem_shmem_helper.c drm/shmem-helpers: vunmap: Don't put pages for dma-buf 2021-03-11 11:11:33 +01:00
drm_gem_ttm_helper.c drm/ttm: rename bo->mem and make it a pointer 2021-06-02 11:07:25 +02:00
drm_gem_vram_helper.c drm/vram-helper: Unexport drm_vram_helper_{alloc,release}_mm() 2021-07-05 08:55:11 +02:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h drm: Mark IRQ_BUSID ioctl as legacy 2021-05-17 21:19:48 +02:00
drm_ioc32.c drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
drm_ioctl.c drm: Mark IRQ_BUSID ioctl as legacy 2021-05-17 21:19:48 +02:00
drm_irq.c drm: Don't test for IRQ support in VBLANK ioctls 2021-06-29 11:03:39 +02:00
drm_kms_helper_common.c drm: remove drm_fb_helper_modinit 2021-02-08 12:20:38 +01:00
drm_lease.c drm: Don't include drm_legacy.h in drm_lease.c 2021-05-17 21:19:22 +02:00
drm_legacy.h drm: Mark IRQ_BUSID ioctl as legacy 2021-05-17 21:19:48 +02:00
drm_legacy_misc.c drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
drm_lock.c
drm_managed.c
drm_memory.c drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
drm_mipi_dbi.c drm/dbi: Support DBI typec1 read operations 2021-06-14 22:20:35 +02:00
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c drm-misc-next for v5.12: 2021-01-07 13:40:20 +01:00
drm_mode_object.c
drm_modes.c Merge drm/drm-next into drm-misc-next 2021-05-11 15:59:18 +02:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm/of: free the right object 2021-07-12 16:25:53 +02:00
drm_panel.c drm/panel: add basic DP AUX backlight support 2021-07-09 06:47:11 -07:00
drm_panel_orientation_quirks.c drm: Added orientation quirk for OneGX1 Pro 2021-01-20 22:33:01 +01:00
drm_pci.c drm: Mark IRQ_BUSID ioctl as legacy 2021-05-17 21:19:48 +02:00
drm_plane.c drm/modifiers: Enforce consistency between the cap an IN_FORMATS 2021-05-12 11:31:29 +02:00
drm_plane_helper.c
drm_prime.c drm: Set vm_ops to GEM object's values during mmap 2021-01-18 10:37:26 +01:00
drm_print.c
drm_probe_helper.c drm/probe-helper: Check epoch counter in output_poll_execute() 2021-03-16 12:45:52 +01:00
drm_property.c drm: Few typo fixes 2021-03-18 14:22:50 +01:00
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm/simple-helper: drm_gem_simple_display_pipe_prepare_fb as default 2021-06-24 15:39:46 +02:00
drm_syncobj.c dma-buf: add dma_fence_chain_alloc/free v3 2021-06-14 19:38:34 +02:00
drm_sysfs.c drm/sysfs: Convert sysfs sprintf/snprintf family to sysfs_emit 2021-03-23 07:41:39 -04:00
drm_trace.h
drm_trace_points.c
drm_vblank.c drm: Don't test for IRQ support in VBLANK ioctls 2021-06-29 11:03:39 +02:00
drm_vblank_work.c
drm_vm.c drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
drm_vma_manager.c
drm_writeback.c