linux_dsm_epyc7002/drivers/gpu/drm
Chris Wilson 2b0a4fc25a drm/i915: Leave the aliasing-ppgtt size alone
The hidden aliasing-ppgtt's size is never revealed, as we only inspect
the front GTT when engaged. However, we were "fixing" the hidden ppgtt
to match, with the net result that we ended up leaking the unused
portion on Braswell were we preallocated the entire set of top level
PDP, see gen8_preallocate_top_level_pdp().

[   26.025364] DMA-API: pci 0000:00:02.0: device driver has pending DMA allocations while released from device [count=2]
[   26.025364] One of leaked entries details: [device address=0x0000000230778000] [size=4096 bytes] [mapped with DMA_BIDIRECTIONAL] [mapped as single]
[   26.025683] WARNING: CPU: 0 PID: 415 at kernel/dma/debug.c:894 dma_debug_device_change+0x1a4/0x1f0
[   26.025905] Modules linked in: i915(E-) intel_powerclamp(E) nls_ascii(E) nls_cp437(E) crct10dif_pclmul(E) crc32_pclmul(E) vfat(E) crc32c_intel(E) fat(E) ghash_clmulni_intel(E) prime_numbers(E) intel_gtt(E) i2c_algo_bit(E) efi_pstore(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) evdev(E) drm(E) aesni_intel(E) glue_helper(E) crypto_simd(E) cryptd(E) intel_cstate(E) sg(E) efivars(E) pcspkr(E) video(E) button(E) efivarfs(E) ip_tables(E) x_tables(E) autofs4(E) sd_mod(E) lpc_ich(E) ahci(E) mfd_core(E) i2c_i801(E) libahci(E) i2c_designware_pci(E) i2c_designware_core(E)
[   26.026613] CPU: 0 PID: 415 Comm: rmmod Tainted: G            E     5.4.0-rc6+ #25
[   26.026837] Hardware name:  /, BIOS PYBSWCEL.86A.0027.2015.0507.1758 05/07/2015
[   26.027080] RIP: 0010:dma_debug_device_change+0x1a4/0x1f0
[   26.027319] Code: 89 54 24 08 e8 ad 60 62 00 48 8b 54 24 08 48 89 c6 41 57 4d 89 e9 49 89 d8 44 89 f1 41 54 48 c7 c7 e0 61 06 82 e8 c1 aa f5 ff <0f> 0b 5a 59 48 83 3c 24 00 0f 85 97 26 00 00 8b 05 77 47 92 01 85
[   26.027600] RSP: 0018:ffff888228d2fcc8 EFLAGS: 00010282
[   26.027831] RAX: 0000000000000000 RBX: 0000000230778000 RCX: 0000000000000000
[   26.028053] RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffffed10451a5f8f
[   26.028279] RBP: ffff88823480c0b0 R08: 0000000000000001 R09: ffffed1046e83eb1
[   26.028500] R10: ffffed1046e83eb0 R11: ffff88823741f587 R12: ffffffff82067340
[   26.028725] R13: 0000000000001000 R14: 0000000000000002 R15: ffffffff82067480
[   26.028952] FS:  00007fdf3ed174c0(0000) GS:ffff888237400000(0000) knlGS:0000000000000000
[   26.029185] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   26.029405] CR2: 000055e211109030 CR3: 0000000230139000 CR4: 00000000001006f0
[   26.029622] Call Trace:
[   26.029846]  notifier_call_chain+0x67/0xa0
[   26.030076]  blocking_notifier_call_chain+0x5a/0x80
[   26.030305]  device_release_driver_internal+0x20d/0x260
[   26.030535]  driver_detach+0x7b/0xe1
[   26.030761]  bus_remove_driver+0x8c/0x153
[   26.030993]  pci_unregister_driver+0x2d/0xf0
[   26.032603]  i915_exit+0x16/0x1c [i915]

Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Fixes: 1eda701eac ("drm/i915/gtt: Recursive cleanup for gen8")
References: c082afac86 ("drm/i915: Move aliasing_ppgtt underneath its i915_ggtt")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191106221223.7437-1-chris@chris-wilson.co.uk
2019-11-07 10:52:14 +00:00
..
amd drm-misc-next for 5.5: 2019-10-11 09:30:53 +10:00
arc drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
arm drm-misc-next for 5.5: 2019-10-11 09:30:53 +10:00
armada
aspeed
ast drm/ast: Allocate cursor BOs at high end of video memory 2019-10-04 10:00:21 +02:00
atmel-hlcdc drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
bochs drm/vram: Have VRAM MM call GEM VRAM functions directly 2019-09-12 19:54:42 +02:00
bridge drm/bridge: dw-hdmi: Refuse DDC/CI transfers on the internal I2C controller 2019-10-07 14:27:48 +02:00
cirrus
etnaviv Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
exynos Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
fsl-dcu drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
gma500
hisilicon Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
i2c cec: add cec_adapter to cec_notifier_cec_adap_unregister() 2019-10-07 12:47:43 +02:00
i810 drm/i810: Prevent underflow in ioctl 2019-10-04 17:04:05 +01:00
i915 drm/i915: Leave the aliasing-ppgtt size alone 2019-11-07 10:52:14 +00:00
imx Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
ingenic drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
lib
lima drm/lima: Add support for multiple reset lines 2019-10-05 17:51:16 +08:00
mcde Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
mediatek Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
meson drm/meson: vclk: use the correct G12A frac max value 2019-09-30 15:22:09 +02:00
mga
mgag200 drm/mgag200: Allocate cursor BOs at high end of video memory 2019-10-04 10:01:12 +02:00
msm Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
mxsfb
nouveau Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
omapdrm drm-misc-next for 5.5: 2019-10-11 09:30:53 +10:00
panel drm: panel-lvds: Potential Oops in probe error handling 2019-09-21 20:48:09 +02:00
panfrost Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
pl111 drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
qxl Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
r128
radeon Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
rcar-du drm-misc-next for 5.5: 2019-10-11 09:30:53 +10:00
rockchip Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
savage
scheduler
selftests drm/mm: Use helpers for drm_mm_node booleans 2019-10-04 13:42:33 +01:00
shmobile
sis
sti drm: sti: fix W=1 warnings 2019-09-16 15:14:43 +02:00
stm drm/stm: dsi: higher pll out only in video burst mode 2019-09-16 15:14:10 +02:00
sun4i drm/sun4i: dsi: Fix video start delay computation 2019-10-08 07:56:41 +02:00
tdfx
tegra drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
tilcdc drm-misc-next for 5.5: 2019-10-11 09:30:53 +10:00
tiny drm/tiny: Kconfig: Remove always-y THERMAL dep. from TINYDRM_REPAPER 2019-10-01 12:51:18 +02:00
ttm Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
tve200 drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
udl drm/connector: Share with non-atomic drivers the function to get the single encoder 2019-09-16 15:13:02 -07:00
v3d drm/v3d: clean caches at the end of render jobs on request from user space 2019-09-19 12:57:44 -07:00
vboxvideo drm/vram: Have VRAM MM call GEM VRAM functions directly 2019-09-12 19:54:42 +02:00
vc4 drm-misc-next for 5.5: 2019-10-11 09:30:53 +10:00
vgem
via drivers/gpu/drm/via: convert put_page() to put_user_page*() 2019-09-24 15:54:08 -07:00
virtio drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
vkms drm/vkms: Reduce critical section in vblank_simulate 2019-09-03 17:16:53 +02:00
vmwgfx Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
xen
zte
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_atomic_state_helper.c drm/atomic: Rename crtc_state->pageflip_flags to async_flip 2019-09-18 18:43:36 +02:00
drm_atomic_uapi.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_atomic.c drm: Free the writeback_job when it with an empty fb 2019-09-23 15:31:53 +08:00
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_cache.c
drm_client_modeset.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_client.c
drm_color_mgmt.c
drm_connector.c drm: Add DisplayPort colorspace property creation function 2019-09-20 18:46:18 +03:00
drm_context.c
drm_crtc_helper_internal.h drm/connector: Share with non-atomic drivers the function to get the single encoder 2019-09-16 15:13:02 -07:00
drm_crtc_helper.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_crtc_internal.h
drm_crtc.c
drm_damage_helper.c drm: damage_helper: Fix race checking plane->state->fb 2019-10-08 09:41:06 -04:00
drm_debugfs_crc.c drm: Fix return type of crc .poll() 2019-09-30 20:17:31 +03:00
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c
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/doc: Improve docs around connector (un)registration 2019-09-18 12:41:08 +02: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/print: add drm_debug_enabled() 2019-10-02 16:28:55 +03:00
drm_drv.c Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
drm_dsc.c drm/dsc: Fix bogus cpu_to_be16() usage 2019-09-30 20:15:53 +03:00
drm_dumb_buffers.c
drm_edid_load.c drm/print: add drm_debug_enabled() 2019-10-02 16:28:55 +03:00
drm_edid.c drm/print: add drm_debug_enabled() 2019-10-02 16:28:55 +03: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: Include prototype for drm_fb_helper_modinit() 2019-09-30 20:15:07 +03: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
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_ttm_helper.c drm: tweak drm_print_bits() 2019-09-24 09:57:21 +02:00
drm_gem_vram_helper.c drm/vram: Support top-down placement flag 2019-09-27 09:48:53 +02:00
drm_gem.c
drm_hashtab.c
drm_hdcp.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c drm/atomic: Take the atomic toys away from X 2019-09-18 18:42:21 +02:00
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_memory.c drm: Include prototype for drm_need_swiotlb() 2019-09-30 20:16:28 +03:00
drm_mipi_dbi.c drm/print: add drm_debug_enabled() 2019-10-02 16:28:55 +03:00
drm_mipi_dsi.c
drm_mm.c drm/mm: Use clear_bit_unlock() for releasing the drm_mm_node() 2019-10-04 13:43:43 +01:00
drm_mode_config.c
drm_mode_object.c drm/kms: Duct-tape for mode object lifetime checks 2019-09-18 11:27:18 +02:00
drm_modes.c drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm: Remove redundant of_device_is_available check 2019-09-20 15:03:42 -04:00
drm_panel_orientation_quirks.c
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_print.c drm/print: add drm_debug_enabled() 2019-10-02 16:28:55 +03:00
drm_probe_helper.c drm/connector: Allow max possible encoders to attach to a connector 2019-09-16 15:13:53 -07:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c drm: Measure Self Refresh Entry/Exit times to avoid thrashing 2019-09-19 10:03:32 -04:00
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: Include the prototype for drm_timeout_abs_to_jiffies() 2019-09-30 20:17:00 +03:00
drm_sysfs.c
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/print: add drm_debug_enabled() 2019-10-02 16:28:55 +03:00
drm_vm.c
drm_vma_manager.c
drm_vram_helper_common.c drm/vram: Have VRAM MM call GEM VRAM functions directly 2019-09-12 19:54:42 +02:00
drm_writeback.c drm: Clear the fence pointer when writeback job signaled 2019-09-23 15:32:53 +08:00
Kconfig Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00
Makefile Merge drm/drm-next into drm-misc-next 2019-10-03 16:38:50 +02:00