Skip to content
  1. Aug 20, 2022
    • Zhenneng Li's avatar
      drm/radeon: add a force flush to delay work when radeon · f461950f
      Zhenneng Li authored
      
      
      Although radeon card fence and wait for gpu to finish processing current batch rings,
      there is still a corner case that radeon lockup work queue may not be fully flushed,
      and meanwhile the radeon_suspend_kms() function has called pci_set_power_state() to
      put device in D3hot state.
      Per PCI spec rev 4.0 on 5.3.1.4.1 D3hot State.
      > Configuration and Message requests are the only TLPs accepted by a Function in
      > the D3hot state. All other received Requests must be handled as Unsupported Requests,
      > and all received Completions may optionally be handled as Unexpected Completions.
      This issue will happen in following logs:
      Unable to handle kernel paging request at virtual address 00008800e0008010
      CPU 0 kworker/0:3(131): Oops 0
      pc = [<ffffffff811bea5c>]  ra = [<ffffffff81240844>]  ps = 0000 Tainted: G        W
      pc is at si_gpu_check_soft_reset+0x3c/0x240
      ra is at si_dma_is_lockup+0x34/0xd0
      v0 = 0000000000000000  t0 = fff08800e0008010  t1 = 0000000000010000
      t2 = 0000000000008010  t3 = fff00007e3c00000  t4 = fff00007e3c00258
      t5 = 000000000000ffff  t6 = 0000000000000001  t7 = fff00007ef078000
      s0 = fff00007e3c016e8  s1 = fff00007e3c00000  s2 = fff00007e3c00018
      s3 = fff00007e3c00000  s4 = fff00007fff59d80  s5 = 0000000000000000
      s6 = fff00007ef07bd98
      a0 = fff00007e3c00000  a1 = fff00007e3c016e8  a2 = 0000000000000008
      a3 = 0000000000000001  a4 = 8f5c28f5c28f5c29  a5 = ffffffff810f4338
      t8 = 0000000000000275  t9 = ffffffff809b66f8  t10 = ff6769c5d964b800
      t11= 000000000000b886  pv = ffffffff811bea20  at = 0000000000000000
      gp = ffffffff81d89690  sp = 00000000aa814126
      Disabling lock debugging due to kernel taint
      Trace:
      [<ffffffff81240844>] si_dma_is_lockup+0x34/0xd0
      [<ffffffff81119610>] radeon_fence_check_lockup+0xd0/0x290
      [<ffffffff80977010>] process_one_work+0x280/0x550
      [<ffffffff80977350>] worker_thread+0x70/0x7c0
      [<ffffffff80977410>] worker_thread+0x130/0x7c0
      [<ffffffff80982040>] kthread+0x200/0x210
      [<ffffffff809772e0>] worker_thread+0x0/0x7c0
      [<ffffffff80981f8c>] kthread+0x14c/0x210
      [<ffffffff80911658>] ret_from_kernel_thread+0x18/0x20
      [<ffffffff80981e40>] kthread+0x0/0x210
       Code: ad3e0008  43f0074a  ad7e0018  ad9e0020  8c3001e8  40230101
       <88210000> 4821ed21
      So force lockup work queue flush to fix this problem.
      
      Acked-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarZhenneng Li <lizhenneng@kylinos.cn>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      f461950f
    • Maíra Canal's avatar
      drm/amd/display: Include missing header · 2035590f
      Maíra Canal authored
      The file amdgpu_dm_plane.c missed the header amdgpu_dm_plane.h, which
      resulted on the following warning:
      
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c:1046:5:
      warning: no previous prototype for 'fill_dc_scaling_info'
      [-Wmissing-prototypes]
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c:1222:6:
      warning: no previous prototype for 'handle_cursor_update'
      [-Wmissing-prototypes]
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c:152:6:
      warning: no previous prototype for 'modifier_has_dcc'
      [-Wmissing-prototypes]
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c:1576:5:
      warning: no previous prototype for 'amdgpu_dm_plane_init'
      [-Wmissing-prototypes]
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c:157:10:
      warning: no previous prototype for 'modifier_gfx9_swizzle_mode'
      [-Wmissing-prototypes]
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c:752:5:
      warning: no previous prototype for 'fill_plane_buffer_attributes'
      [-Wmissing-prototypes]
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c:83:31:
      warning: no previous prototype for 'amd_get_format_info'
      [-Wmissing-prototypes]
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c:88:6:
      warning: no previous prototype for 'fill_blending_from_plane_state'
      [-Wmissing-prototypes]
      drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c:992:5:
      warning: no previous prototype for 'dm_plane_helper_check_state'
      [-Wmissing-prototypes]
      
      Therefore, include the missing header on the file and turn global functions
      that are not used outside of the file into static functions.
      
      Fixes: 5d945cbc
      
       ("drm/amd/display: Create a file dedicated to planes")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarMaíra Canal <mairacanal@riseup.net>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      2035590f
    • shaoyunl's avatar
      drm/amdgpu: Remove the additional kfd pre reset call for sriov · 06671734
      shaoyunl authored
      
      
      The additional call is caused by merge conflict
      
      Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
      Signed-off-by: default avatarshaoyunl <shaoyun.liu@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      06671734
    • Candice Li's avatar
      drm/amdgpu: Check num_gfx_rings for gfx v9_0 rb setup. · c3519383
      Candice Li authored
      
      
      No need to set up rb when no gfx rings.
      
      Signed-off-by: default avatarCandice Li <candice.li@amd.com>
      Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      c3519383
    • YiPeng Chai's avatar
      drm/amdgpu: fix hive reference leak when adding xgmi device · f5994da7
      YiPeng Chai authored
      
      
      Only amdgpu_get_xgmi_hive but no amdgpu_put_xgmi_hive
      which will leak the hive reference.
      
      Signed-off-by: default avatarYiPeng Chai <YiPeng.Chai@amd.com>
      Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      f5994da7
    • YiPeng Chai's avatar
      drm/amdgpu: Move psp_xgmi_terminate call from amdgpu_xgmi_remove_device to psp_hw_fini · 9d705d77
      YiPeng Chai authored
      
      
      V1:
      The amdgpu_xgmi_remove_device function will send unload command
      to psp through psp ring to terminate xgmi, but psp ring has been
      destroyed in psp_hw_fini.
      
      V2:
      1. Change the commit title.
      2. Restore amdgpu_xgmi_remove_device to its original calling location.
         Move psp_xgmi_terminate call from amdgpu_xgmi_remove_device to
         psp_hw_fini.
      
      Signed-off-by: default avatarYiPeng Chai <YiPeng.Chai@amd.com>
      Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      9d705d77
    • Tim Huang's avatar
      drm/amdgpu: enable GFXOFF allow control for GC IP v11.0.1 · 43ef9db4
      Tim Huang authored
      
      
      Enable GFXOFF allow control when set the GFX power gating.
      
      Signed-off-by: default avatarTim Huang <tim.huang@amd.com>
      Reviewed-by: default avatarYifan Zhang <yifan1.zhang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      43ef9db4
  2. Aug 19, 2022
  3. Aug 18, 2022
  4. Aug 17, 2022