• Chris Wilson's avatar
    drm/i915: Leave the aliasing-ppgtt size alone · 3cac1958
    Chris Wilson authored
    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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Fixes: 1eda701e ("drm/i915/gtt: Recursive cleanup for gen8")
    References: c082afac ("drm/i915: Move aliasing_ppgtt underneath its i915_ggtt")
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191106221223.7437-1-chris@chris-wilson.co.uk
    (cherry picked from commit 2b0a4fc2)
    Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
    3cac1958
i915_gem_gtt.c 99.9 KB