linux_dsm_epyc7002/drivers/gpu/drm
Thomas Zimmermann 37a48adfba drm/vram: Add kmap ref-counting to GEM VRAM objects
The kmap and kunmap operations of GEM VRAM buffers can now be called
in interleaving pairs. The first call to drm_gem_vram_kmap() maps the
buffer's memory to kernel address space and the final call to
drm_gem_vram_kunmap() unmaps the memory. Intermediate calls to these
functions increment or decrement a reference counter.

This change allows for keeping buffer memory mapped for longer and
minimizes the amount of changes to TLB, page tables, etc.

v4:
	* lock in kmap()/kunmap() with ttm_bo_reserve()

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reported-and-tested-by: Davidlohr Bueso <dbueso@suse.de>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20190906122056.32018-2-tzimmermann@suse.de
2019-09-09 12:51:31 +02:00
..
amd drm_dp_cec: add connector info support. 2019-08-27 12:52:59 +02:00
arc drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
arm drm/komeda: Add ACLK rate to sysfs 2019-09-03 14:12:59 +01:00
armada drm/armada: drop use of drmP.h 2019-08-14 18:31:10 +02:00
aspeed drm/aspeed: gfc_crtc: Make structure aspeed_gfx_funcs constant 2019-08-14 19:27:26 +02:00
ast drm/vram: use embedded gem object 2019-08-06 08:21:53 +02:00
atmel-hlcdc drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
bochs drm: drop resource_id parameter from drm_fb_helper_remove_conflicting_pci_framebuffers 2019-08-23 10:48:31 +02:00
bridge drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
cirrus drm: drop resource_id parameter from drm_fb_helper_remove_conflicting_pci_framebuffers 2019-08-23 10:48:31 +02:00
etnaviv dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
exynos drm: exynos: exynos_hdmi: use cec_notifier_conn_(un)register 2019-09-09 11:57:01 +02:00
fsl-dcu drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
gma500
hisilicon drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
i2c tda9950: use cec_notifier_cec_adap_(un)register 2019-09-09 12:05:25 +02:00
i810 drm/i810: drop use of drmP.h 2019-07-17 12:52:55 +02:00
i915 drm/i915/intel_hdmi: use cec_notifier_conn_(un)register 2019-08-27 12:53:01 +02:00
imx drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
ingenic drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
lib
lima dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
mcde drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
mediatek drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
meson drm/meson: add resume/suspend hooks 2019-08-28 11:17:59 +02:00
mga drm/mga: drop use of drmP.h 2019-06-30 09:48:05 +02:00
mgag200 drm: drop resource_id parameter from drm_fb_helper_remove_conflicting_pci_framebuffers 2019-08-23 10:48:31 +02:00
msm drm/msm: Use drm_attach_bridge() to attach a bridge to an encoder 2019-08-28 22:22:49 +02:00
mxsfb dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
nouveau drm_dp_cec: add connector info support. 2019-08-27 12:52:59 +02:00
omapdrm drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
panel drm/panel: panel-simple: Set OSD070T1718 panel type 2019-09-08 19:04:23 +02:00
panfrost drm/panfrost: Add errata descriptions from kbase 2019-08-23 12:16:27 -05:00
pl111 drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
qxl drm: drop resource_id parameter from drm_fb_helper_remove_conflicting_pci_framebuffers 2019-08-23 10:48:31 +02:00
r128 drm/r128: drop use of drmP.h 2019-07-17 12:52:55 +02:00
radeon drm: drop resource_id parameter from drm_fb_helper_remove_conflicting_pci_framebuffers 2019-08-23 10:48:31 +02:00
rcar-du drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
rockchip drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
savage
scheduler drm/scheduler: drop use of drmP.h 2019-07-15 18:11:31 +02:00
selftests drm/dp_mst: Add sideband down request tracing + selftests 2019-09-03 19:30:06 -04:00
shmobile drm/shmobile: drop use of drmP.h 2019-07-15 18:11:31 +02:00
sis
sti drm/sti: Include the right header 2019-09-02 15:10:02 +02:00
stm drm/stm: ltdc: add pinctrl for DPI encoder mode 2019-09-09 11:30:54 +02:00
sun4i drm/sun4i/sun4i_hdmi_enc: call cec_s_conn_info() 2019-09-09 11:57:01 +02:00
tdfx drm/tdfx: drop use of drmP.h 2019-07-17 12:52:55 +02:00
tegra drm/tegra: drop use of drmP.h 2019-08-14 18:31:04 +02:00
tilcdc drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
tiny drm: gm12u320: Add -ENODEV to list of errors to ignore 2019-08-12 21:30:21 +02:00
ttm dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
tve200 drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
udl drm/udl: drop use of drmP.h 2019-07-17 12:52:55 +02:00
v3d dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
vboxvideo drm/vboxvideo: Make structure vbox_fb_helper_funcs constant 2019-08-18 12:52:52 +02:00
vc4 drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
vgem dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
via drm/via: drop use of drmP.h 2019-07-25 17:35:20 +02:00
virtio drm/virtio: fix command submission with objects but without fence. 2019-09-06 07:23:37 +02:00
vkms drm/vkms: Reduce critical section in vblank_simulate 2019-09-03 17:16:53 +02:00
vmwgfx dma-fence: Store the timestamp in the same union as the cb_list 2019-08-17 18:46:33 +01:00
xen drm/xen-front: Make structure fb_funcs constant 2019-08-19 08:32:52 +03:00
zte Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
ati_pcigart.c drm/ati_pcigart: drop dependency on drm_os_linux.h 2019-07-19 23:24:16 +02:00
drm_agpsupport.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_atomic_helper.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
drm_atomic_state_helper.c
drm_atomic_uapi.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_atomic.c
drm_auth.c
drm_blend.c drm/blend: Define the direction of Z position values 2019-09-06 20:23:21 +02:00
drm_bridge.c
drm_bufs.c drm main pull request for v5.3-rc1 (sans mm changes) 2019-07-15 19:04:27 -07:00
drm_cache.c
drm_client_modeset.c drm/modes: Skip invalid cmdline mode 2019-07-10 12:11:18 +02:00
drm_client.c drm/client: remove the exporting of drm_client_close 2019-07-09 11:34:39 +02:00
drm_color_mgmt.c
drm_connector.c drm: Fix kerneldoc warns in connector-related docs 2019-08-12 10:16:39 -04:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
drm_crtc_internal.h
drm_crtc.c
drm_damage_helper.c
drm_debugfs_crc.c drm/crc-debugfs: Add notes about CRC<->commit interactions 2019-08-06 18:27:53 +01:00
drm_debugfs.c
drm_dma.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_dp_aux_dev.c drm/dp_mst: Enable registration of AUX devices for MST ports 2019-07-25 16:39:35 -04:00
drm_dp_cec.c drm_dp_cec: add connector info support. 2019-08-27 12:52:59 +02:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm: Make the bw/link rate calculations more forgiving 2019-07-17 12:45:30 -04:00
drm_dp_mst_topology_internal.h drm/dp_mst: Add sideband down request tracing + selftests 2019-09-03 19:30:06 -04:00
drm_dp_mst_topology.c drm/dp_mst: Cleanup drm_dp_send_link_address() a bit 2019-09-03 19:37:00 -04:00
drm_drv.c drm/drv: Use // for comments in example code 2019-08-19 19:21:49 +02:00
drm_dsc.c
drm_dumb_buffers.c Revert "drm/gem: Rename drm_gem_dumb_map_offset() to drm_gem_map_offset()" 2019-08-07 11:56:48 -04:00
drm_edid_load.c
drm_edid.c drm: Use EOPNOTSUPP, not ENOTSUPP 2019-09-06 11:56:48 +02:00
drm_encoder_slave.c
drm_encoder.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: Instanciate shadow FB if configured in device's mode_config 2019-07-09 10:25:02 +02:00
drm_file.c
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_gem_shmem_helper.c drm/shmem: Use mutex_trylock in drm_gem_shmem_purge 2019-08-23 11:54:45 -05:00
drm_gem_vram_helper.c drm/vram: Add kmap ref-counting to GEM VRAM objects 2019-09-09 12:51:31 +02:00
drm_gem.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_hashtab.c
drm_hdcp.c drm/hdcp: reference for srm file format 2019-08-06 13:18:42 +05:30
drm_internal.h
drm_ioc32.c Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
drm_ioctl.c Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
drm_irq.c
drm_kms_helper_common.c drm: fix module name in edid_firmware log message 2019-08-22 10:41:06 +03:00
drm_lease.c
drm_legacy_misc.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_legacy.h
drm_lock.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_memory.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_mipi_dbi.c drm: Use EOPNOTSUPP, not ENOTSUPP 2019-09-06 11:56:48 +02:00
drm_mipi_dsi.c bus_find_device: Unify the match callback with class_find_device 2019-06-24 05:22:31 +02:00
drm_mm.c drm: Allow range of 0 for drm_mm_insert_node_in_range() 2019-06-26 21:13:12 +01:00
drm_mode_config.c
drm_mode_object.c drm/kms: Catch mode_object lifetime errors 2019-07-10 17:17:14 +02:00
drm_modes.c Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
drm_modeset_helper.c
drm_modeset_lock.c docs conversion for v5.3-rc1 2019-07-16 12:21:41 -07:00
drm_of.c
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add extra quirk table entry for GPD MicroPC 2019-07-01 16:58:09 +02:00
drm_panel.c drm/panel: Add and fill drm_panel type field 2019-09-08 19:04:01 +02:00
drm_pci.c
drm_plane_helper.c
drm_plane.c
drm_prime.c drm/prime: Ditch gem_prime_res_obj hook 2019-07-31 10:19:23 +02:00
drm_print.c drm/print: Add drm_err_printer() 2019-09-03 19:29:02 -04:00
drm_probe_helper.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
drm_property.c
drm_rect.c
drm_scatter.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
drm_syncobj.c drm/syncobj: Add better overview documentation for syncobj (v2) 2019-08-12 16:58:52 +02:00
drm_sysfs.c drm: uevent for connector status change 2019-08-06 13:16:54 +05:30
drm_trace_points.c
drm_trace.h drm: Add high-precision time to vblank trace event 2019-09-03 09:46:18 +02:00
drm_vblank.c drm/vblank: Document and fix vblank count barrier semantics 2019-09-03 17:16:53 +02:00
drm_vm.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_vma_manager.c
drm_vram_helper_common.c
drm_vram_mm_helper.c
drm_writeback.c
Kconfig drm/gm12u320: Move driver to drm/tiny 2019-07-31 15:17:03 +02:00
Makefile drm/gm12u320: Move driver to drm/tiny 2019-07-31 15:17:03 +02:00