2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/gpu/drm
Arunpravin Paneer Selvam a68c7eaa7a drm/amdgpu: Enable clear page functionality
Add clear page support in vram memory region.

v1(Christian):
  - Dont handle clear page as TTM flag since when moving the BO back
    in from GTT again we don't need that.
  - Make a specialized version of amdgpu_fill_buffer() which only
    clears the VRAM areas which are not already cleared
  - Drop the TTM_PL_FLAG_WIPE_ON_RELEASE check in
    amdgpu_object.c

v2:
  - Modify the function name amdgpu_ttm_* (Alex)
  - Drop the delayed parameter (Christian)
  - handle amdgpu_res_cleared(&cursor) just above the size
    calculation (Christian)
  - Use AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE for clearing the buffers
    in the free path to properly wait for fences etc.. (Christian)

v3(Christian):
  - Remove buffer clear code in VRAM manager instead change the
    AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE handling to set
    the DRM_BUDDY_CLEARED flag.
  - Remove ! from amdgpu_res_cleared(&cursor) check.

v4(Christian):
  - vres flag setting move to vram manager file
  - use dma_fence_get_stub in amdgpu_ttm_clear_buffer function
  - make fence a mandatory parameter and drop the if and the get/put dance

Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Suggested-by: Christian König <christian.koenig@amd.com>
Acked-by: Felix Kuehling <felix.kuehling@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240419063538.11957-2-Arunpravin.PaneerSelvam@amd.com
Signed-off-by: Christian König <christian.koenig@amd.com>
2024-04-22 19:44:16 +02:00
..
amd drm/amdgpu: Enable clear page functionality 2024-04-22 19:44:16 +02:00
arm drm/arm/malidp: fix a possible null pointer dereference 2024-04-12 12:57:59 +01:00
armada drm: Use device_get_match_data() 2023-11-27 13:56:32 -06:00
aspeed drm: Use device_get_match_data() 2023-11-27 13:56:32 -06:00
ast drm/ast: Add drm_panic support 2024-04-15 16:14:16 +02:00
atmel-hlcdc
bridge drm/bridge: anx7625: Update audio status while detecting 2024-04-16 15:38:06 +02:00
ci drm/ci: update device type for volteer devices 2024-03-07 11:15:44 -03:00
display drm/display: Select DRM_KMS_HELPER for DP helpers 2024-04-05 15:08:23 +02:00
etnaviv - various code cleanups 2024-03-08 12:36:55 +10:00
exynos drm: fix DRM_DISPLAY_DP_HELPER dependencies 2024-04-04 16:20:57 +02:00
fsl-dcu
gma500 drm/gma500: Remove unused intel-mid.h 2024-03-11 10:12:23 +01:00
gud Merge drm/drm-next into drm-misc-next 2023-11-15 10:56:44 +01:00
hisilicon drm-misc-next for v6.9: 2024-02-05 13:50:15 +10:00
hyperv drm/hyperv: Remove firmware framebuffers with aperture helper 2024-01-12 12:38:37 +01:00
i2c
i915 drm/buddy: Implement tracking clear page feature 2024-04-22 19:44:16 +02:00
imagination drm/imagination: avoid -Woverflow warning 2024-03-25 10:29:03 +00:00
imx drm/imx: Add drm_panic support 2024-04-15 16:14:07 +02:00
ingenic drm: Make drivers depends on DRM_DW_HDMI 2024-03-28 11:26:49 +01:00
kmb drm/kmb: Convert to platform remove callback returning void 2023-11-21 09:18:52 +01:00
lib
lima drm/lima: fix void pointer to enum lima_gpu_id cast warning 2024-04-15 09:06:27 +08: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/gem: Acquire reservation lock in drm_gem_{pin/unpin}() 2024-03-11 13:33:50 +01:00
mcde drm: Clean-up superfluously selecting VT_HW_CONSOLE_BINDING 2024-01-12 13:58:20 +01:00
mediatek drm: Switch DRM_DISPLAY_DP_HELPER to depends on 2024-03-28 11:26:51 +01:00
meson drm/meson: gate px_clk when setting rate 2024-04-22 18:54:24 +02:00
mgag200 drm/mgag200: Add drm_panic support 2024-04-15 16:13:50 +02:00
msm Merge drm/drm-next into drm-misc-next 2024-04-02 09:51:30 +02:00
mxsfb drm/lcdif: Do not disable clocks on already suspended hardware 2024-03-20 04:32:55 +01:00
nouveau drm/nouveau: Use drm_crtc_vblank_crtc() 2024-04-18 13:29:05 +03:00
omapdrm drm/omap: dmm_tiler: drop driver owner assignment 2024-04-10 14:14:58 +03:00
panel drm/panel: Add driver for EDO RM69380 OLED panel 2024-04-22 10:14:44 +02:00
panfrost drm/panfrost: Only display fdinfo's engine and cycle tags when profiling is on 2024-03-25 15:54:50 +00:00
panthor drm/panthor: clean up some types in panthor_sched_suspend() 2024-04-22 09:39:40 +02:00
pl111 drm: Clean-up superfluously selecting VT_HW_CONSOLE_BINDING 2024-01-12 13:58:20 +01:00
qxl Merge drm/drm-next into drm-misc-next 2024-04-02 09:51:30 +02:00
radeon drm: Switch DRM_DISPLAY_DP_HELPER to depends on 2024-03-28 11:26:51 +01:00
renesas drm: Make drivers depends on DRM_DW_HDMI 2024-03-28 11:26:49 +01:00
rockchip drm/rockchip: cdn-dp: drop driver owner assignment 2024-04-19 13:07:44 +02:00
scheduler Merge drm/drm-fixes into drm-misc-fixes 2024-03-25 21:11:58 +01:00
solomon drm-misc-next for v6.9: 2024-02-05 13:50:15 +10:00
sprd drm/sprd: Convert to platform remove callback returning void 2023-11-21 09:18:53 +01:00
sti
stm
sun4i Merge drm/drm-next into drm-misc-next 2024-04-02 09:51:30 +02:00
tegra Merge drm/drm-next into drm-misc-next 2024-04-02 09:51:30 +02:00
tests drm/buddy: Implement tracking clear page feature 2024-04-22 19:44:16 +02:00
tidss drm/tidss: Use dev_err_probe() over dev_dbg() when failing to probe the port 2024-03-05 12:13:57 +01:00
tilcdc drm: tilcdc: don't use devm_pinctrl_get_select_default() in probe 2024-04-10 14:27:00 +03:00
tiny drm/simpledrm: Add drm_panic support 2024-04-15 16:13:39 +02:00
ttm drm/ttm: remove unused paramter 2024-04-11 11:44:22 +02:00
tve200 drm: Clean-up superfluously selecting VT_HW_CONSOLE_BINDING 2024-01-12 13:58:20 +01:00
udl Revert "drm/udl: Add ARGB8888 as a format" 2024-03-06 07:08:24 -08:00
v3d drm/v3d: Enable V3D to use different PAGE_SIZE 2024-02-23 16:37:20 -03:00
vboxvideo drm/vboxvideo: Use the hotspot properties from cursor planes 2023-11-24 11:58:00 +01:00
vc4 drm: vc4: Fix possible null pointer dereference 2024-04-15 09:13:10 +02:00
vgem
virtio drm-misc-next for v6.9: 2024-02-05 13:50:15 +10:00
vkms drm/vkms: Use drm_crtc_vblank_crtc() 2024-04-18 13:29:15 +03:00
vmwgfx drm/vmwgfx: Implement virtual crc generation 2024-04-15 13:32:45 -04:00
xe drm/buddy: Implement tracking clear page feature 2024-04-22 19:44:16 +02:00
xen
xlnx drm: xlnx: db: fix a memory leak in probe 2024-04-10 14:13:04 +03:00
drm_aperture.c
drm_atomic_helper.c drm/panic: Add drm panic locking 2024-04-15 16:11:26 +02:00
drm_atomic_state_helper.c drm/drm_plane: track color mgmt changes per plane 2023-12-13 15:09:53 -05:00
drm_atomic_uapi.c drm: prefer DRM_MODE_FMT/ARG over drm_mode_debug_printmodeline() 2024-04-15 16:22:50 +03:00
drm_atomic.c drm/drm_plane: track color mgmt changes per plane 2023-12-13 15:09:53 -05:00
drm_auth.c drm-next for 6.8: 2024-01-12 11:32:19 -08:00
drm_blend.c Revert "drm: Introduce pixel_source DRM plane property" 2023-12-04 21:33:10 +02:00
drm_bridge_connector.c drm/bridge: switch to drm_bridge_edid_read() 2024-02-08 17:10:44 +02:00
drm_bridge.c drm/bridge: Document bridge init order with pre_enable_prev_first 2024-03-05 15:43:23 +01:00
drm_buddy.c drm/buddy: Implement tracking clear page feature 2024-04-22 19:44:16 +02:00
drm_cache.c
drm_client_modeset.c drm/client: switch to drm device based logging, and more 2024-04-15 16:22:18 +03:00
drm_client.c drm/client: Pin vmap'ed GEM buffers 2024-03-11 13:33:50 +01:00
drm_color_mgmt.c
drm_connector.c
drm_crtc_helper_internal.h drm: avoid includes in drm_crtc_helper_internal.h 2024-03-11 11:47:07 +02:00
drm_crtc_helper.c drm: prefer DRM_MODE_FMT/ARG over drm_mode_debug_printmodeline() 2024-04-15 16:22:50 +03:00
drm_crtc_internal.h drm/edid: rename drm_find_edid_extension() to drm_edid_find_extension() 2024-04-17 16:11:28 +03:00
drm_crtc.c drm: prefer DRM_MODE_FMT/ARG over drm_mode_debug_printmodeline() 2024-04-15 16:22:50 +03:00
drm_damage_helper.c drm: Allow drivers to indicate the damage helpers to ignore damage clips 2023-11-24 15:15:25 +01:00
drm_debugfs_crc.c
drm_debugfs.c drm/debugfs: drop unneeded DEBUG_FS guard 2024-01-02 15:50:13 +02:00
drm_displayid_internal.h drm/edid: Parse topology block for all DispID structure v1.x 2024-04-22 11:38:11 +03:00
drm_displayid.c drm/edid: rename drm_find_edid_extension() to drm_edid_find_extension() 2024-04-17 16:11:28 +03:00
drm_drv.c drm/panic: Add a drm panic handler 2024-04-15 16:12:49 +02:00
drm_dumb_buffers.c
drm_edid_load.c drm/edid/firmware: Remove built-in EDIDs 2024-02-26 14:05:18 +01:00
drm_edid.c drm/edid: Parse topology block for all DispID structure v1.x 2024-04-22 11:38:11 +03:00
drm_eld.c drm/edid: move all internal declarations to drm_crtc_internal.h 2024-04-17 16:11:17 +03:00
drm_encoder_slave.c
drm_encoder.c drm/encoder: register per-encoder debugfs dir 2023-12-04 16:07:29 +02:00
drm_exec.c Merge drm/drm-next into drm-misc-next 2024-01-29 14:20:23 +01:00
drm_fb_dma_helper.c drm/fb_dma: Fix parameter name in htmldocs 2024-04-16 16:59:30 +02:00
drm_fb_helper.c
drm_fbdev_dma.c
drm_fbdev_generic.c drm/fbdev-generic: Fix locking with drm_client_buffer_vmap_local() 2024-03-11 13:33:50 +01:00
drm_file.c drm: update drm_show_memory_stats() for dma-bufs 2024-02-16 12:52:50 +01:00
drm_flip_work.c drm: Remove struct drm_flip_task from DRM interfaces 2023-11-14 10:23:11 +01:00
drm_format_helper.c drm/format-helper: Pass format-conversion state to helpers 2023-11-14 10:16:53 +01:00
drm_fourcc.c
drm_framebuffer.c drm: Warn when freeing a framebuffer that's still on a list 2023-12-23 07:31:29 +02:00
drm_gem_atomic_helper.c drm/atomic-helper: Add format-conversion state to shadow-plane state 2023-11-14 10:01:14 +01:00
drm_gem_dma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm/shmem-helper: Remove duplicate include 2024-03-12 16:43:19 +01:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c Merge drm/drm-next into drm-misc-next 2024-04-02 09:51:30 +02:00
drm_gem.c drm/fbdev-generic: Fix locking with drm_client_buffer_vmap_local() 2024-03-11 13:33:50 +01:00
drm_gpuvm.c Merge tag 'drm-msm-next-2023-12-15' of https://gitlab.freedesktop.org/drm/msm into drm-next 2023-12-20 07:54:03 +10:00
drm_internal.h drm/edid: move all internal declarations to drm_crtc_internal.h 2024-04-17 16:11:17 +03:00
drm_ioc32.c drm/ioc32: replace __attribute__((packed)) with __packed 2023-12-14 12:16:58 +02:00
drm_ioctl.c drm: Remove locking for legacy ioctls and DRM_UNLOCKED 2023-12-06 10:08:32 +01:00
drm_kms_helper_common.c drm/edid/firmware: drop drm_kms_helper.edid_firmware backward compat 2023-11-21 12:22:48 +02:00
drm_lease.c
drm_managed.c drm/managed: Add drmm_release_action 2024-01-17 10:38:39 +01:00
drm_mipi_dbi.c drm/format-helper: Pass format-conversion state to helpers 2023-11-14 10:16:53 +01:00
drm_mipi_dsi.c drm/mipi-dsi: add mipi_dsi_compression_mode_ext() 2024-04-19 04:27:29 +03:00
drm_mm.c
drm_mode_config.c drm: Introduce plane SIZE_HINTS property 2024-04-11 18:28:58 +03:00
drm_mode_object.c drm: Refuse to async flip with atomic prop changes 2023-11-23 17:12:38 +01:00
drm_modes.c drm: prefer DRM_MODE_FMT/ARG over drm_mode_debug_printmodeline() 2024-04-15 16:22:50 +03:00
drm_modeset_helper.c drm: Check output polling initialized before disabling 2024-02-28 15:07:15 +01:00
drm_modeset_lock.c drm: remove drm_debug_printer in favor of drm_dbg_printer 2024-02-09 11:52:43 +02:00
drm_of.c
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for GPD Win Mini 2024-01-19 09:25:22 +01:00
drm_panel.c drm/panel: do not return negative error codes from drm_panel_get_modes() 2024-03-13 10:44:14 +02:00
drm_panic.c drm/panic: Add debugfs entry to test without triggering panic. 2024-04-15 16:13:15 +02:00
drm_pci.c drm: Remove source code for non-KMS drivers 2023-12-06 10:08:37 +01:00
drm_plane_helper.c drm/plane-helper: Move drm_plane_helper_atomic_check() into udl 2023-12-06 10:35:49 +01:00
drm_plane.c drm: Fix plane SIZE_HINTS property docs 2024-04-22 11:42:32 +03:00
drm_prime.c drm/prime: Support page array >= 4GB 2024-02-13 16:36:04 +01:00
drm_print.c drm: remove drm_debug_printer in favor of drm_dbg_printer 2024-02-09 11:52:43 +02:00
drm_privacy_screen_x86.c
drm_privacy_screen.c
drm_probe_helper.c drm: prefer DRM_MODE_FMT/ARG over drm_mode_debug_printmodeline() 2024-04-15 16:22:50 +03:00
drm_property.c drm/drm_property: make replace_property_blob_from_id a DRM helper 2023-12-13 15:09:53 -05:00
drm_rect.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c Linux 6.8-rc6 2024-02-26 11:41:07 +01:00
drm_sysfs.c drm/sysfs: switch to drm device based logging 2024-04-15 16:22:05 +03:00
drm_trace_points.c
drm_trace.h
drm_vblank_work.c drm/vblank: Introduce drm_crtc_vblank_crtc() 2024-04-18 13:27:56 +03:00
drm_vblank.c drm/vblank: Introduce drm_crtc_vblank_crtc() 2024-04-18 13:27:56 +03:00
drm_vma_manager.c
drm_writeback.c
Kconfig drm/panic: Add debugfs entry to test without triggering panic. 2024-04-15 16:13:15 +02:00
Makefile drm/panic: Add a drm panic handler 2024-04-15 16:12:49 +02:00