1. 02 Feb, 2021 2 commits
    • Huang Rui's avatar
      drm/amdkfd: fix null pointer panic while free buffer in kfd · b99a8c8f
      Huang Rui authored
      In drm_gem_object_free, it will call funcs of drm buffer obj. So
      kfd_alloc should use amdgpu_gem_object_create instead of
      amdgpu_bo_create to initialize the funcs as amdgpu_gem_object_funcs.
      
      [  396.231390] amdgpu: Release VA 0x7f76b4ada000 - 0x7f76b4add000
      [  396.231394] amdgpu:   remove VA 0x7f76b4ada000 - 0x7f76b4add000 in entry 0000000085c24a47
      [  396.231408] BUG: kernel NULL pointer dereference, address: 0000000000000000
      [  396.231445] #PF: supervisor read access in kernel mode
      [  396.231466] #PF: error_code(0x0000) - not-present page
      [  396.231484] PGD 0 P4D 0
      [  396.231495] Oops: 0000 [#1] SMP NOPTI
      [  396.231509] CPU: 7 PID: 1352 Comm: clinfo Tainted: G           OE     5.11.0-rc2-custom #1
      [  396.231537] Hardware name: AMD Celadon-RN/Celadon-RN, BIOS WCD0401N_Weekly_20_04_0 04/01/2020
      [  396.231563] RIP: 0010:drm_gem_object_free+0xc/0x22 [drm]
      [  396.231606] Code: eb ec 48 89 c3 eb e7 0f 1f 44 00 00 55 48 89 e5 48 8b bf 00 06 00 00 e8 72 0d 01 00 5d c3 0f 1f 44 00 00 48 8b 87 40 01 00 00 <48> 8b 00 48 85 c0 74 0b 55 48 89 e5 e8 54 37 7c db 5d c3 0f 0b c3
      [  396.231666] RSP: 0018:ffffb4704177fcf8 EFLAGS: 00010246
      [  396.231686] RAX: 0000000000000000 RBX: ffff993a0d0cc400 RCX: 0000000000003113
      [  396.231711] RDX: 0000000000000001 RSI: e9cda7a5d0791c6d RDI: ffff993a333a9058
      [  396.231736] RBP: ffffb4704177fdd0 R08: ffff993a03855858 R09: 0000000000000000
      [  396.231761] R10: ffff993a0d1f7158 R11: 0000000000000001 R12: 0000000000000000
      [  396.231785] R13: ffff993a0d0cc428 R14: 0000000000003000 R15: ffffb4704177fde0
      [  396.231811] FS:  00007f76b5730740(0000) GS:ffff993b275c0000(0000) knlGS:0000000000000000
      [  396.231840] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  396.231860] CR2: 0000000000000000 CR3: 000000016d2e2000 CR4: 0000000000350ee0
      [  396.231885] Call Trace:
      [  396.231897]  ? amdgpu_amdkfd_gpuvm_free_memory_of_gpu+0x24c/0x25f [amdgpu]
      [  396.232056]  ? __dynamic_dev_dbg+0xcd/0x100
      [  396.232076]  kfd_ioctl_free_memory_of_gpu+0x91/0x102 [amdgpu]
      [  396.232214]  kfd_ioctl+0x211/0x35b [amdgpu]
      [  396.232341]  ? kfd_ioctl_get_queue_wave_state+0x52/0x52 [amdgpu]
      
      Fixes: 246cb7e4 ("drm/amdgpu: Introduce GEM object functions")
      Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
      Tested-by: default avatarChangfeng <changzhu@amd.com>
      Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      b99a8c8f
    • Huang Rui's avatar
      drm/amdgpu: fix the issue that retry constantly once the buffer is oversize · 89fa15ec
      Huang Rui authored
      We cannot modify initial_domain every time while the retry starts. That
      will cause the busy waiting that unable to switch to GTT while the vram
      is not enough.
      
      Fixes: f8aab604 ("drm/amdgpu: Initialise drm_gem_object_funcs for imported BOs")
      Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      89fa15ec
  2. 29 Jan, 2021 9 commits
  3. 28 Jan, 2021 2 commits
  4. 26 Jan, 2021 6 commits
  5. 25 Jan, 2021 3 commits
    • Dom Cobley's avatar
      drm/vc4: Correct POS1_SCL for hvs5 · f6b57101
      Dom Cobley authored
      Fixes failure with 4096x1080 resolutions
      
      [  284.315379] WARNING: CPU: 1 PID: 901 at drivers/gpu/drm/vc4/vc4_plane.c:981 vc4_plane_mode_set+0x1374/0x13c4
      [  284.315385] Modules linked in: ir_rc5_decoder rpivid_hevc(C) bcm2835_codec(C) bcm2835_isp(C) bcm2835_mmal_vchiq(C) bcm2835_gpiomem v4l2_mem2mem videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mc cdc_acm xpad ir_rc6_decoder rc_rc6_mce gpio_ir_recv fuse
      [  284.315509] CPU: 1 PID: 901 Comm: kodi.bin Tainted: G         C        5.10.7 #1
      [  284.315514] Hardware name: BCM2711
      [  284.315518] Backtrace:
      [  284.315533] [<c0cc5ca0>] (dump_backtrace) from [<c0cc6014>] (show_stack+0x20/0x24)
      [  284.315540]  r7:ffffffff r6:00000000 r5:68000013 r4:c18ecf1c
      [  284.315549] [<c0cc5ff4>] (show_stack) from [<c0cca638>] (dump_stack+0xc4/0xf0)
      [  284.315558] [<c0cca574>] (dump_stack) from [<c022314c>] (__warn+0xfc/0x158)
      [  284.315564]  r9:00000000 r8:00000009 r7:000003d5 r6:00000009 r5:c08cc7dc r4:c0fd09b8
      [  284.315572] [<c0223050>] (__warn) from [<c0cc67ec>] (warn_slowpath_fmt+0x74/0xe4)
      [  284.315577]  r7:c08cc7dc r6:000003d5 r5:c0fd09b8 r4:00000000
      [  284.315584] [<c0cc677c>] (warn_slowpath_fmt) from [<c08cc7dc>] (vc4_plane_mode_set+0x1374/0x13c4)
      [  284.315589]  r8:00000000 r7:00000000 r6:00001000 r5:c404c600 r4:c2e34600
      [  284.315596] [<c08cb468>] (vc4_plane_mode_set) from [<c08cc984>] (vc4_plane_atomic_check+0x40/0x1c0)
      [  284.315601]  r10:00000001 r9:c2e34600 r8:c0e67068 r7:c0fc44e0 r6:c2ce3640 r5:c3d636c0
      [  284.315605]  r4:c2e34600
      [  284.315614] [<c08cc944>] (vc4_plane_atomic_check) from [<c0860504>] (drm_atomic_helper_check_planes+0xec/0x1ec)
      [  284.315620]  r9:c2e34600 r8:c0e67068 r7:c0fc44e0 r6:c2ce3640 r5:c3d636c0 r4:00000006
      [  284.315627] [<c0860418>] (drm_atomic_helper_check_planes) from [<c0860658>] (drm_atomic_helper_check+0x54/0x9c)
      [  284.315633]  r9:c2e35400 r8:00000006 r7:00000000 r6:c2ba7800 r5:c3d636c0 r4:00000000
      [  284.315641] [<c0860604>] (drm_atomic_helper_check) from [<c08b7ca8>] (vc4_atomic_check+0x25c/0x454)
      [  284.315645]  r7:00000000 r6:c2ba7800 r5:00000001 r4:c3d636c0
      [  284.315652] [<c08b7a4c>] (vc4_atomic_check) from [<c0881278>] (drm_atomic_check_only+0x5cc/0x7e0)
      [  284.315658]  r10:c404c6c8 r9:ffffffff r8:c472c480 r7:00000003 r6:c3d636c0 r5:00000000
      [  284.315662]  r4:0000003c r3:c08b7a4c
      [  284.315670] [<c0880cac>] (drm_atomic_check_only) from [<c089ba60>] (drm_mode_atomic_ioctl+0x758/0xa7c)
      [  284.315675]  r10:c3d46000 r9:c3d636c0 r8:c2ce8a70 r7:027e3a54 r6:00000043 r5:c1fbb800
      [  284.315679]  r4:0281a858
      [  284.315688] [<c089b308>] (drm_mode_atomic_ioctl) from [<c086e9f8>] (drm_ioctl_kernel+0xc4/0x108)
      [  284.315693]  r10:c03864bc r9:c1fbb800 r8:c3d47e64 r7:c089b308 r6:00000002 r5:c2ba7800
      [  284.315697]  r4:00000000
      [  284.315705] [<c086e934>] (drm_ioctl_kernel) from [<c086ee28>] (drm_ioctl+0x1e8/0x3a0)
      [  284.315711]  r9:c1fbb800 r8:000000bc r7:c3d47e64 r6:00000038 r5:c0e59570 r4:00000038
      [  284.315719] [<c086ec40>] (drm_ioctl) from [<c041f354>] (sys_ioctl+0x35c/0x914)
      [  284.315724]  r10:c2d08200 r9:00000000 r8:c36fa300 r7:befdd870 r6:c03864bc r5:c36fa301
      [  284.315728]  r4:c03864bc
      [  284.315735] [<c041eff8>] (sys_ioctl) from [<c0200040>] (ret_fast_syscall+0x0/0x28)
      [  284.315739] Exception stack(0xc3d47fa8 to 0xc3d47ff0)
      [  284.315745] 7fa0:                   027eb750 befdd870 00000000 c03864bc befdd870 00000000
      [  284.315750] 7fc0: 027eb750 befdd870 c03864bc 00000036 027e3948 0281a640 0281a850 027e3a50
      [  284.315756] 7fe0: b4b64100 befdd844 b4b5ba2c b49c994c
      [  284.315762]  r10:00000036 r9:c3d46000 r8:c0200204 r7:00000036 r6:c03864bc r5:befdd870
      [  284.315765]  r4:027eb750
      
      Fixes: c54619b0 ("drm/vc4: Add support for the BCM2711 HVS5")
      Signed-off-by: default avatarDom Cobley <popcornmix@gmail.com>
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      Reviewed-by: default avatarDave Stevenson <dave.stevenson@raspberrypi.com>
      Tested-By: default avatarLucas Nussbaum <lucas@debian.org>
      Tested-By: default avatarRyutaroh Matsumoto <ryutaroh@ict.e.titech.ac.jp>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210121105759.1262699-2-maxime@cerno.tech
      f6b57101
    • Dom Cobley's avatar
      drm/vc4: Correct lbm size and calculation · 78e53303
      Dom Cobley authored
      LBM base address is measured in units of pixels per cycle.
      That is 4 for 2711 (hvs5) and 2 for 2708.
      
      We are wasting 75% of lbm by indexing without the scaling.
      But we were also using too high a size for the lbm resulting
      in partial corruption (right hand side) of vertically
      scaled images, usually at 4K or lower resolutions with more layers.
      
      The physical RAM of LBM on 2711 is 8 * 1920 * 16 * 12-bit
      (pixels are stored 12-bits per component regardless of format).
      
      The LBM address indexes work in units of pixels per clock,
      so for 4 pixels per clock that means we have 32 * 1920 = 60K
      
      Fixes: c54619b0 ("drm/vc4: Add support for the BCM2711 HVS5")
      Signed-off-by: default avatarDom Cobley <popcornmix@gmail.com>
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      Reviewed-by: default avatarDave Stevenson <dave.stevenson@raspberrypi.com>
      Tested-By: default avatarLucas Nussbaum <lucas@debian.org>
      Tested-By: default avatarRyutaroh Matsumoto <ryutaroh@ict.e.titech.ac.jp>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210121105759.1262699-1-maxime@cerno.tech
      78e53303
    • Linus Torvalds's avatar
      Linux 5.11-rc5 · 6ee1d745
      Linus Torvalds authored
      6ee1d745
  6. 24 Jan, 2021 18 commits