linux_dsm_epyc7002/drivers/gpu/drm
Rob Herring 62f1089f3c drm/panfrost: Flush and disable address space when freeing page tables
Currently, page tables are freed without disabling the address space first.
This probably is fine as we'll switch to new page tables when the address
space is allocated again and runtime PM suspend will reset the GPU
clearing the registers. However, it's better to clean up after ourselves.
There is also a problem that we could be accessing the h/w in
tlb_inv_context() when suspended.

Rework the disable code to make sure we flush caches/TLBs and disable the
address space before freeing the page tables if we are not suspended. As
the tlb_inv_context() hook is only called when freeing the page tables and
we do a flush before disabling the AS, lets remove the flush from
tlb_inv_context and avoid any runtime PM issues.

Fixes: 7282f7645d ("drm/panfrost: Implement per FD address spaces")
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190826223317.28509-8-robh@kernel.org
2019-08-30 09:53:41 -05:00
..
amd Merge tag 'drm-next-5.4-2019-08-23' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-08-27 17:22:15 +10:00
arc
arm drm/komeda: Add support for 'memory-region' DT node property 2019-08-20 11:22:23 +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 Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
bochs drm/bochs: Use dev_get_drvdata 2019-08-06 09:20:58 +02:00
bridge drm-misc-next for 5.4: 2019-08-27 17:21:04 +10:00
cirrus
etnaviv Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next 2019-08-22 13:21:16 +10:00
exynos drm-misc-next for 5.4: 2019-08-09 16:04:31 +10:00
fsl-dcu drm/fsl-dcu: fix opencoded use of drm_panel_* 2019-08-10 15:41:48 +02:00
gma500
hisilicon drm-misc-next for 5.4: 2019-08-27 17:21:04 +10:00
i2c drm/i2c/tda998x: drop use of drmP.h 2019-08-14 18:30:52 +02:00
i810 drm/i810: drop use of drmP.h 2019-07-17 12:52:55 +02:00
i915 drm-misc-next for 5.4: 2019-08-27 17:21:04 +10:00
imx drm/imx: IPUv3 image converter fixes and improvements 2019-08-27 16:52:12 +10:00
ingenic
lib
lima dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
mcde
mediatek dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
meson drm: meson: use match data to detect vpu compatibility 2019-08-22 17:54:05 +02:00
mga
mgag200 drm/mgag200: Provide ddc symlink in connector sysfs directory 2019-07-31 16:33:09 +02:00
msm drm-misc-next for 5.4: 2019-08-21 16:44:41 +10:00
mxsfb dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
nouveau drm-misc-next for 5.4: 2019-08-27 17:21:04 +10:00
omapdrm omapdrm: no need to check return value of debugfs_create functions 2019-08-23 10:21:03 +03:00
panel drm/panel: tpo-td043mtea1: remove redundant assignment 2019-08-17 16:53:55 +02:00
panfrost drm/panfrost: Flush and disable address space when freeing page tables 2019-08-30 09:53:41 -05:00
pl111 drm/pl111: Support grayscale 2019-08-09 09:15:05 +02:00
qxl dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
r128 drm/r128: drop use of drmP.h 2019-07-17 12:52:55 +02:00
radeon Merge tag 'drm-next-5.4-2019-08-23' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-08-27 17:22:15 +10:00
rcar-du drm: rcar-du: lvds: Fix bridge_to_rcar_lvds 2019-08-16 15:50:27 +03:00
rockchip drm/rockchip: fix VOP_WIN_GET macro 2019-08-08 00:23:15 +02:00
savage
scheduler drm/scheduler: use job count instead of peek 2019-08-15 10:52:10 -05:00
selftests Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
shmobile drm/shmobile: drop use of drmP.h 2019-07-15 18:11:31 +02:00
sis
sti drm/sti: fix opencoded use of drm_panel_* 2019-08-07 13:54:17 +02:00
stm drm/stm: attach gem fence to atomic state 2019-07-25 12:00:09 +02:00
sun4i drm: sun4i: Add support for enabling DDC I2C bus to sun8i_dw_hdmi glue 2019-08-12 10:07:04 +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/tilcdc: Remove obsolete crtc_mode_valid() hack 2019-08-02 16:00:42 +03:00
tiny drm: gm12u320: Add -ENODEV to list of errors to ignore 2019-08-12 21:30:21 +02:00
ttm drm-misc-next for 5.4: 2019-08-21 16:44:41 +10:00
tve200 drm/tve200: drop use of drmP.h 2019-07-15 18:11:30 +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 dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +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 dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
vkms drm/vkms: drop use of drmP.h 2019-07-15 18:11:30 +02:00
vmwgfx drm-misc-next for 5.4: 2019-08-21 16:44:41 +10: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_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_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: Don't apply cmdline's rotation if it wasn't specified 2019-07-16 10:34:38 +02:00
drm_client.c drm/fb-helper: Map DRM client buffer only when required 2019-08-01 15:01:29 +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: Remove bridge support from legacy helpers 2019-08-16 15:50:27 +03: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_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.c drm/mst: Fix sphinx warnings in drm_dp_msg_connector register functions 2019-07-26 14:48:03 -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_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: Instanciate shadow FB if configured in device's mode_config 2019-08-01 15:01:35 +02:00
drm_file.c
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c drm: silence variable 'conn' set but not used 2019-07-22 16:04:53 -04:00
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-28 10:02:39 -05:00
drm_gem_vram_helper.c drm/ttm: use gem vma_node 2019-08-06 08:21:54 +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/tinydrm: Move mipi-dbi 2019-07-25 10:45:07 +02:00
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c drm-misc-next for 5.4: 2019-08-09 16:04:31 +10: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.c drm/panel: drop return code from drm_panel_detach() 2019-08-10 15:41:48 +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_probe_helper.c
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_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_vblank.c drm/vblank: drop use of DRM_WAIT_ON() 2019-08-03 16:07:39 +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-misc-next for 5.4: 2019-08-09 16:04:31 +10:00
Makefile drm/gm12u320: Move driver to drm/tiny 2019-07-31 15:17:03 +02:00