Skip to content
  1. Apr 07, 2022
    • Alex Deucher's avatar
      drm/amdgpu: don't use BACO for reset in S3 · ebc002e3
      Alex Deucher authored
      Seems to cause a reboots or hangs on some systems.
      
      Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1924
      Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1953
      Fixes: daf8de08
      
       ("drm/amdgpu: always reset the asic in suspend (v2)")
      Reviewed-by: default avatarLijo Lazar <lijo.lazar@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      ebc002e3
    • CHANDAN VURDIGERE NATARAJ's avatar
      drm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw · ca119884
      CHANDAN VURDIGERE NATARAJ authored
      
      
      [Why]
      Below general protection fault observed when WebGL Aquarium is run for
      longer duration. If drm debug logs are enabled and set to 0x1f then the
      issue is observed within 10 minutes of run.
      
      [  100.717056] general protection fault, probably for non-canonical address 0x2d33302d32323032: 0000 [#1] PREEMPT SMP NOPTI
      [  100.727921] CPU: 3 PID: 1906 Comm: DrmThread Tainted: G        W         5.15.30 #12 d726c6a2d6ebe5cf9223931cbca6892f916fe18b
      [  100.754419] RIP: 0010:CalculateSwathWidth+0x1f7/0x44f
      [  100.767109] Code: 00 00 00 f2 42 0f 11 04 f0 48 8b 85 88 00 00 00 f2 42 0f 10 04 f0 48 8b 85 98 00 00 00 f2 42 0f 11 04 f0 48 8b 45 10 0f 57 c0 <f3> 42 0f 2a 04 b0 0f 57 c9 f3 43 0f 2a 0c b4 e8 8c e2 f3 ff 48 8b
      [  100.781269] RSP: 0018:ffffa9230079eeb0 EFLAGS: 00010246
      [  100.812528] RAX: 2d33302d32323032 RBX: 0000000000000500 RCX: 0000000000000000
      [  100.819656] RDX: 0000000000000001 RSI: ffff99deb712c49c RDI: 0000000000000000
      [  100.826781] RBP: ffffa9230079ef50 R08: ffff99deb712460c R09: ffff99deb712462c
      [  100.833907] R10: ffff99deb7124940 R11: ffff99deb7124d70 R12: ffff99deb712ae44
      [  100.841033] R13: 0000000000000001 R14: 0000000000000000 R15: ffffa9230079f0a0
      [  100.848159] FS:  00007af121212640(0000) GS:ffff99deba780000(0000) knlGS:0000000000000000
      [  100.856240] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  100.861980] CR2: 0000209000fe1000 CR3: 000000011b18c000 CR4: 0000000000350ee0
      [  100.869106] Call Trace:
      [  100.871555]  <TASK>
      [  100.873655]  ? asm_sysvec_reschedule_ipi+0x12/0x20
      [  100.878449]  CalculateSwathAndDETConfiguration+0x1a3/0x6dd
      [  100.883937]  dml31_ModeSupportAndSystemConfigurationFull+0x2ce4/0x76da
      [  100.890467]  ? kallsyms_lookup_buildid+0xc8/0x163
      [  100.895173]  ? kallsyms_lookup_buildid+0xc8/0x163
      [  100.899874]  ? __sprint_symbol+0x80/0x135
      [  100.903883]  ? dm_update_plane_state+0x3f9/0x4d2
      [  100.908500]  ? symbol_string+0xb7/0xde
      [  100.912250]  ? number+0x145/0x29b
      [  100.915566]  ? vsnprintf+0x341/0x5ff
      [  100.919141]  ? desc_read_finalized_seq+0x39/0x87
      [  100.923755]  ? update_load_avg+0x1b9/0x607
      [  100.927849]  ? compute_mst_dsc_configs_for_state+0x7d/0xd5b
      [  100.933416]  ? fetch_pipe_params+0xa4d/0xd0c
      [  100.937686]  ? dc_fpu_end+0x3d/0xa8
      [  100.941175]  dml_get_voltage_level+0x16b/0x180
      [  100.945619]  dcn30_internal_validate_bw+0x10e/0x89b
      [  100.950495]  ? dcn31_validate_bandwidth+0x68/0x1fc
      [  100.955285]  ? resource_build_scaling_params+0x98b/0xb8c
      [  100.960595]  ? dcn31_validate_bandwidth+0x68/0x1fc
      [  100.965384]  dcn31_validate_bandwidth+0x9a/0x1fc
      [  100.970001]  dc_validate_global_state+0x238/0x295
      [  100.974703]  amdgpu_dm_atomic_check+0x9c1/0xbce
      [  100.979235]  ? _printk+0x59/0x73
      [  100.982467]  drm_atomic_check_only+0x403/0x78b
      [  100.986912]  drm_mode_atomic_ioctl+0x49b/0x546
      [  100.991358]  ? drm_ioctl+0x1c1/0x3b3
      [  100.994936]  ? drm_atomic_set_property+0x92a/0x92a
      [  100.999725]  drm_ioctl_kernel+0xdc/0x149
      [  101.003648]  drm_ioctl+0x27f/0x3b3
      [  101.007051]  ? drm_atomic_set_property+0x92a/0x92a
      [  101.011842]  amdgpu_drm_ioctl+0x49/0x7d
      [  101.015679]  __se_sys_ioctl+0x7c/0xb8
      [  101.015685]  do_syscall_64+0x5f/0xb8
      [  101.015690]  ? __irq_exit_rcu+0x34/0x96
      
      [How]
      It calles populate_dml_pipes which uses doubles to initialize.
      Adding FPU protection avoids context switch and probable loss of vba context
      as there is potential contention while drm debug logs are enabled.
      
      Signed-off-by: default avatarCHANDAN VURDIGERE NATARAJ <chandan.vurdigerenataraj@amd.com>
      Reviewed-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      ca119884
    • Lee Jones's avatar
      drm/amdkfd: Create file descriptor after client is added to smi_clients list · e79a2398
      Lee Jones authored
      
      
      This ensures userspace cannot prematurely clean-up the client before
      it is fully initialised which has been proven to cause issues in the
      past.
      
      Cc: Felix Kuehling <Felix.Kuehling@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: amd-gfx@lists.freedesktop.org
      Cc: dri-devel@lists.freedesktop.org
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
      Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      e79a2398
    • Ma Jun's avatar
      drm/amdgpu: Sync up header and implementation to use the same parameter names · ef1a0808
      Ma Jun authored
      
      
      Sync up header and implementation to use the same parameter names
      in function amdgpu_ring_init.
      ring_size -> max_dw, prio -> hw_prio
      
      Reviewed-by: default avatarGuchun Chen <guchun.chen@amd.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarMa Jun <Jun.Ma2@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      ef1a0808
    • Ruili Ji's avatar
      drm/amdgpu: fix incorrect GCR_GENERAL_CNTL address · 96f2b7a3
      Ruili Ji authored
      
      
      gfx10.3.3/gfx10.3.6/gfx10.3.7 shall use 0x1580 address for GCR_GENERAL_CNTL
      
      Acked-by: default avatarPrike Liang <Prike.Liang@amd.com>
      Acked-by: default avatarYifan Zhang <yifan1.zhang@amd.com>
      Reviewed-by: default avatarAaron Liu <aaron.liu@amd.com>
      Signed-off-by: default avatarRuili Ji <ruiliji2@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      96f2b7a3
    • Shirish S's avatar
      amd/display: set backlight only if required · 4052287a
      Shirish S authored
      
      
      [Why]
      comparing pwm bl values (coverted) with user brightness(converted)
      levels in commit_tail leads to continuous setting of backlight via dmub
      as they don't to match.
      This leads overdrive in queuing of commands to DMCU that sometimes lead
      to depending on load on DMCU fw:
      
      "[drm:dc_dmub_srv_wait_idle] *ERROR* Error waiting for DMUB idle: status=3"
      
      [How]
      Store last successfully set backlight value and compare with it instead
      of pwm reads which is not what we should compare with.
      
      Signed-off-by: default avatarShirish S <shirish.s@amd.com>
      Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      4052287a
  2. Apr 06, 2022
  3. Mar 26, 2022