1. 05 Apr, 2022 7 commits
    • Philip Yang's avatar
      drm/amdgpu: Flush TLB after mapping for VG20+XGMI · 0f12a22f
      Philip Yang authored
      For VG20 + XGMI bridge, all mappings PTEs cache in TC, this may have
      stall invalid PTEs in TC because one cache line has 8 pages. Need always
      flush_tlb after updating mapping.
      Signed-off-by: default avatarPhilip Yang <Philip.Yang@amd.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      0f12a22f
    • Alex Deucher's avatar
      drm/amdgpu: don't use BACO for reset in S3 · 34452ac3
      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>
      34452ac3
    • Haowen Bai's avatar
      drm/amdgpu/vcn: Remove unneeded semicolon · 7e97de3e
      Haowen Bai authored
      report by coccicheck:
      drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c:1951:2-3: Unneeded semicolon
      
      Fixes: c543dcbe ("drm/amdgpu/vcn: Add VCN ras error query support")
      Signed-off-by: default avatarHaowen Bai <baihaowen@meizu.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      7e97de3e
    • Aashish Sharma's avatar
      drm/amd/display: Fix unused-but-set-variable warning · 7da7b02e
      Aashish Sharma authored
      Fix the kernel test robot warning below:
      
      drivers/gpu/drm/amd/amdgpu/../display/dmub/inc/dmub_cmd.h:2893:12:
      warning: variable 'temp' set but not used [-Wunused-but-set-variable]
      
      Replaced the assignment to the unused temp variable with READ_ONCE()
      macro to flush the writes. READ_ONCE() helps avoid the use of
      volatile and makes it obvious from the code that the read here is
      intentional. Also verified on x86 that the generated code is exactly the
      same as before.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarAashish Sharma <shraash@google.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      7da7b02e
    • Marko Zekovic's avatar
      amdgpu/pm: Enable sysfs nodes for vclk and dclk for NAVI12 · a68bec2c
      Marko Zekovic authored
      SMI clock measure API is failing on NAVI12, because
      sysfs node for pp_dpm_vclk is not existing. Enable
      sysfs node for pp_dpm_vclk for NAVI12.
      
      v2: Also enable sysfs node for pp_dpm_dclk.
      Reviewed-by: default avatarLijo Lazar <lijo.lazar@amd.com>
      Signed-off-by: default avatarMarko Zekovic <Marko.Zekovic@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      a68bec2c
    • Christian König's avatar
      drm/amdgpu: fix TLB flushing during eviction · 30671b44
      Christian König authored
      Testing the valid bit is not enough to figure out if we
      need to invalidate the TLB or not.
      
      During eviction it is quite likely that we move a BO from VRAM to GTT and
      update the page tables immediately to the new GTT address.
      
      Rework the whole function to get all the necessary parameters directly as
      value.
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Reviewed-by: default avatarPhilip Yang <Philip.Yang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      30671b44
    • CHANDAN VURDIGERE NATARAJ's avatar
      drm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw · 50e6cb3f
      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>
      50e6cb3f
  2. 01 Apr, 2022 33 commits