1. 17 8月, 2022 25 次提交
  2. 11 8月, 2022 15 次提交
    • S
      drm/amdgpu: double free error and freeing uninitialized null pointer · ad2feebd
      Sebin Sebastian 提交于
      Fix a double free and an uninitialized pointer read error. Both tmp and
      new are pointing at same address and both are freed which leads to
      double free. Adding a check to verify if new and tmp are free in the
      error_free label fixes the double free issue. new is not initialized to
      null which also leads to a free on an uninitialized pointer.
      Reviewed-by: NAndré Almeida <andrealmeid@igalia.com>
      Suggested by: S. Amaranath <Amaranath.Somalapuram@amd.com>
      Signed-off-by: NSebin Sebastian <mailmesebin00@gmail.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      ad2feebd
    • A
      drm/amdgpu: Only disable prefer_shadow on hawaii · a6250bdb
      Alex Deucher 提交于
      We changed it for all asics due to a hibernation regression
      on hawaii, but the workaround breaks suspend on a polaris12.
      Just disable it for hawaii.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=216119
      Fixes: 3a4b1cc2 ("drm/amdgpu/display: disable prefer_shadow for generic fb helpers")
      Reviewed-and-tested-by: NMario Limonciello <mario.limonciello@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      a6250bdb
    • M
      drm/amd/display: set panel orientation before drm_dev_register · acc96ae0
      Melissa Wen 提交于
      To set the panel orientation property with quirk, we need the mode size
      provided by EDID. This info is available after EDID is read by dc_link_detect()
      and updated by amdgpu_dm_update_connector_after_detect(). The detection
      happens at driver load in amdgpu_dm_initialize_drm_device() and,
      therefore, we can get modes and set panel orientation before
      drm_dev_register() to avoid DRM warns on creating the connector property
      after device registration:
      
      [    2.563969] ------------[ cut here ]------------
      [    2.563971] WARNING: CPU: 6 PID: 325 at drivers/gpu/drm/drm_mode_object.c:45 drm_mode_object_add+0x72/0x80 [drm]
      [    2.563997] Modules linked in: btusb btrtl btbcm btintel btmtk bluetooth rfkill ecdh_generic ecc usbhid crc16 amdgpu(+) drm_ttm_helper ttm agpgart gpu_sched i2c_algo_bit drm_display_helper drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm serio_raw sdhci_pci atkbd libps2 cqhci vivaldi_fmap ccp sdhci i8042 crct10dif_pclmul crc32_pclmul hid_multitouch ghash_clmulni_intel aesni_intel crypto_simd cryptd wdat_wdt mmc_core cec xhci_pci sp5100_tco rng_core xhci_pci_renesas serio 8250_dw i2c_hid_acpi i2c_hid btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq dm_mirror dm_region_hash dm_log dm_mod pkcs8_key_parser crypto_user
      [    2.564032] CPU: 6 PID: 325 Comm: systemd-udevd Not tainted 5.18.0-amd-staging-drm-next+ #67
      [    2.564034] Hardware name: Valve Jupiter/Jupiter, BIOS F7A0105 03/21/2022
      [    2.564036] RIP: 0010:drm_mode_object_add+0x72/0x80 [drm]
      [    2.564053] Code: f0 89 c3 85 c0 78 07 89 45 00 44 89 65 04 4c 89 ef e8 e2 99 04 f1 31 c0 85 db 0f 4e c3 5b 5d 41 5c 41 5d c3 80 7f 50 00 74 ac <0f> 0b eb a8 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 41 54 4c
      [    2.564055] RSP: 0018:ffffb2e880413860 EFLAGS: 00010202
      [    2.564056] RAX: ffffffffc0ba1440 RBX: ffff99508a860010 RCX: 0000000000000001
      [    2.564057] RDX: 00000000b0b0b0b0 RSI: ffff99508c050110 RDI: ffff99508a860010
      [    2.564058] RBP: ffff99508c050110 R08: 0000000000000020 R09: ffff99508c292c20
      [    2.564059] R10: 0000000000000000 R11: ffff99508c0507d8 R12: 00000000b0b0b0b0
      [    2.564060] R13: 0000000000000004 R14: ffffffffc068a4b6 R15: ffffffffc068a47f
      [    2.564061] FS:  00007fc69b5f1a40(0000) GS:ffff9953aff80000(0000) knlGS:0000000000000000
      [    2.564063] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [    2.564063] CR2: 00007f9506804000 CR3: 0000000107f92000 CR4: 0000000000350ee0
      [    2.564065] Call Trace:
      [    2.564068]  <TASK>
      [    2.564070]  drm_property_create+0xc9/0x170 [drm]
      [    2.564088]  drm_property_create_enum+0x1f/0x70 [drm]
      [    2.564105]  drm_connector_set_panel_orientation_with_quirk+0x96/0xc0 [drm]
      [    2.564123]  get_modes+0x4fb/0x530 [amdgpu]
      [    2.564378]  drm_helper_probe_single_connector_modes+0x1ad/0x850 [drm_kms_helper]
      [    2.564390]  drm_client_modeset_probe+0x229/0x1400 [drm]
      [    2.564411]  ? xas_store+0x52/0x5e0
      [    2.564416]  ? kmem_cache_alloc_trace+0x177/0x2c0
      [    2.564420]  __drm_fb_helper_initial_config_and_unlock+0x44/0x4e0 [drm_kms_helper]
      [    2.564430]  drm_fbdev_client_hotplug+0x173/0x210 [drm_kms_helper]
      [    2.564438]  drm_fbdev_generic_setup+0xa5/0x166 [drm_kms_helper]
      [    2.564446]  amdgpu_pci_probe+0x35e/0x370 [amdgpu]
      [    2.564621]  local_pci_probe+0x45/0x80
      [    2.564625]  ? pci_match_device+0xd7/0x130
      [    2.564627]  pci_device_probe+0xbf/0x220
      [    2.564629]  ? sysfs_do_create_link_sd+0x69/0xd0
      [    2.564633]  really_probe+0x19c/0x380
      [    2.564637]  __driver_probe_device+0xfe/0x180
      [    2.564639]  driver_probe_device+0x1e/0x90
      [    2.564641]  __driver_attach+0xc0/0x1c0
      [    2.564643]  ? __device_attach_driver+0xe0/0xe0
      [    2.564644]  ? __device_attach_driver+0xe0/0xe0
      [    2.564646]  bus_for_each_dev+0x78/0xc0
      [    2.564648]  bus_add_driver+0x149/0x1e0
      [    2.564650]  driver_register+0x8f/0xe0
      [    2.564652]  ? 0xffffffffc1023000
      [    2.564654]  do_one_initcall+0x44/0x200
      [    2.564657]  ? kmem_cache_alloc_trace+0x177/0x2c0
      [    2.564659]  do_init_module+0x4c/0x250
      [    2.564663]  __do_sys_init_module+0x12e/0x1b0
      [    2.564666]  do_syscall_64+0x3b/0x90
      [    2.564670]  entry_SYSCALL_64_after_hwframe+0x44/0xae
      [    2.564673] RIP: 0033:0x7fc69bff232e
      [    2.564674] Code: 48 8b 0d 45 0b 0c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 af 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 12 0b 0c 00 f7 d8 64 89 01 48
      [    2.564676] RSP: 002b:00007ffe872ba3e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000af
      [    2.564677] RAX: ffffffffffffffda RBX: 000055873f797820 RCX: 00007fc69bff232e
      [    2.564678] RDX: 000055873f7bf390 RSI: 0000000001155e81 RDI: 00007fc699e4d010
      [    2.564679] RBP: 00007fc699e4d010 R08: 000055873f7bfe20 R09: 0000000001155e90
      [    2.564680] R10: 000000055873f7bf R11: 0000000000000246 R12: 000055873f7bf390
      [    2.564681] R13: 000000000000000d R14: 000055873f7c4cb0 R15: 000055873f797820
      [    2.564683]  </TASK>
      [    2.564683] ---[ end trace 0000000000000000 ]---
      [    2.564696] ------------[ cut here ]------------
      [    2.564696] WARNING: CPU: 6 PID: 325 at drivers/gpu/drm/drm_mode_object.c:242 drm_object_attach_property+0x52/0x80 [drm]
      [    2.564717] Modules linked in: btusb btrtl btbcm btintel btmtk bluetooth rfkill ecdh_generic ecc usbhid crc16 amdgpu(+) drm_ttm_helper ttm agpgart gpu_sched i2c_algo_bit drm_display_helper drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm serio_raw sdhci_pci atkbd libps2 cqhci vivaldi_fmap ccp sdhci i8042 crct10dif_pclmul crc32_pclmul hid_multitouch ghash_clmulni_intel aesni_intel crypto_simd cryptd wdat_wdt mmc_core cec xhci_pci sp5100_tco rng_core xhci_pci_renesas serio 8250_dw i2c_hid_acpi i2c_hid btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq dm_mirror dm_region_hash dm_log dm_mod pkcs8_key_parser crypto_user
      [    2.564738] CPU: 6 PID: 325 Comm: systemd-udevd Tainted: G        W         5.18.0-amd-staging-drm-next+ #67
      [    2.564740] Hardware name: Valve Jupiter/Jupiter, BIOS F7A0105 03/21/2022
      [    2.564741] RIP: 0010:drm_object_attach_property+0x52/0x80 [drm]
      [    2.564759] Code: 2d 83 f8 18 74 33 48 89 74 c1 08 48 8b 4f 08 48 89 94 c1 c8 00 00 00 48 8b 47 08 83 00 01 c3 4d 85 d2 75 dd 83 7f 58 01 75 d7 <0f> 0b eb d3 41 80 78 50 00 74 cc 0f 0b eb c8 44 89 ce 48 c7 c7 28
      [    2.564760] RSP: 0018:ffffb2e8804138d8 EFLAGS: 00010246
      [    2.564761] RAX: 0000000000000010 RBX: ffff99508c1a2000 RCX: ffff99508c1a2180
      [    2.564762] RDX: 0000000000000003 RSI: ffff99508c050100 RDI: ffff99508c1a2040
      [    2.564763] RBP: 00000000ffffffff R08: ffff99508a860010 R09: 00000000c0c0c0c0
      [    2.564763] R10: 0000000000000000 R11: 0000000000000020 R12: ffff99508a860010
      [    2.564764] R13: ffff995088733008 R14: ffff99508c1a2000 R15: ffffffffc068a47f
      [    2.564765] FS:  00007fc69b5f1a40(0000) GS:ffff9953aff80000(0000) knlGS:0000000000000000
      [    2.564766] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [    2.564767] CR2: 00007f9506804000 CR3: 0000000107f92000 CR4: 0000000000350ee0
      [    2.564768] Call Trace:
      [    2.564769]  <TASK>
      [    2.564770]  drm_connector_set_panel_orientation_with_quirk+0x4a/0xc0 [drm]
      [    2.564789]  get_modes+0x4fb/0x530 [amdgpu]
      [    2.565024]  drm_helper_probe_single_connector_modes+0x1ad/0x850 [drm_kms_helper]
      [    2.565036]  drm_client_modeset_probe+0x229/0x1400 [drm]
      [    2.565056]  ? xas_store+0x52/0x5e0
      [    2.565060]  ? kmem_cache_alloc_trace+0x177/0x2c0
      [    2.565062]  __drm_fb_helper_initial_config_and_unlock+0x44/0x4e0 [drm_kms_helper]
      [    2.565072]  drm_fbdev_client_hotplug+0x173/0x210 [drm_kms_helper]
      [    2.565080]  drm_fbdev_generic_setup+0xa5/0x166 [drm_kms_helper]
      [    2.565088]  amdgpu_pci_probe+0x35e/0x370 [amdgpu]
      [    2.565261]  local_pci_probe+0x45/0x80
      [    2.565263]  ? pci_match_device+0xd7/0x130
      [    2.565265]  pci_device_probe+0xbf/0x220
      [    2.565267]  ? sysfs_do_create_link_sd+0x69/0xd0
      [    2.565268]  really_probe+0x19c/0x380
      [    2.565270]  __driver_probe_device+0xfe/0x180
      [    2.565272]  driver_probe_device+0x1e/0x90
      [    2.565274]  __driver_attach+0xc0/0x1c0
      [    2.565276]  ? __device_attach_driver+0xe0/0xe0
      [    2.565278]  ? __device_attach_driver+0xe0/0xe0
      [    2.565279]  bus_for_each_dev+0x78/0xc0
      [    2.565281]  bus_add_driver+0x149/0x1e0
      [    2.565283]  driver_register+0x8f/0xe0
      [    2.565285]  ? 0xffffffffc1023000
      [    2.565286]  do_one_initcall+0x44/0x200
      [    2.565288]  ? kmem_cache_alloc_trace+0x177/0x2c0
      [    2.565290]  do_init_module+0x4c/0x250
      [    2.565291]  __do_sys_init_module+0x12e/0x1b0
      [    2.565294]  do_syscall_64+0x3b/0x90
      [    2.565296]  entry_SYSCALL_64_after_hwframe+0x44/0xae
      [    2.565297] RIP: 0033:0x7fc69bff232e
      [    2.565298] Code: 48 8b 0d 45 0b 0c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 af 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 12 0b 0c 00 f7 d8 64 89 01 48
      [    2.565299] RSP: 002b:00007ffe872ba3e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000af
      [    2.565301] RAX: ffffffffffffffda RBX: 000055873f797820 RCX: 00007fc69bff232e
      [    2.565302] RDX: 000055873f7bf390 RSI: 0000000001155e81 RDI: 00007fc699e4d010
      [    2.565303] RBP: 00007fc699e4d010 R08: 000055873f7bfe20 R09: 0000000001155e90
      [    2.565303] R10: 000000055873f7bf R11: 0000000000000246 R12: 000055873f7bf390
      [    2.565304] R13: 000000000000000d R14: 000055873f7c4cb0 R15: 000055873f797820
      [    2.565306]  </TASK>
      [    2.565307] ---[ end trace 0000000000000000 ]---
      
      --
      
      v2:
      - call amdgpu_dm_connector_get_modes() instead of ddc_get_modes() (Harry)
      
      Fixes: d77de788 ("amd/display: enable panel orientation quirks")
      Acked-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMelissa Wen <mwen@igalia.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      acc96ae0
    • Nickthink's avatar
      drm/amd/pm: Fix a potential gpu_metrics_table memory leak · 541d54e4
      Nickthink 提交于
      Memory is allocated for gpu_metrics_table in
      smu_v13_0_5_init_smc_tables(), but not freed in
      smu_v13_0_5_fini_smc_tables(). This may cause memory leaks, fix it.
      Reviewed-by: NEvan Quan <evan.quan@amd.com>
      Signed-off-by: Nickthink's avatarZhen Ni <nizhen@uniontech.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      541d54e4
    • Nickthink's avatar
      drm/amd/pm: Fix a potential gpu_metrics_table memory leak · 5afb7652
      Nickthink 提交于
      Memory is allocated for gpu_metrics_table in
      smu_v13_0_4_init_smc_tables(), but not freed in
      smu_v13_0_4_fini_smc_tables(). This may cause memory leaks, fix it.
      Reviewed-by: NEvan Quan <evan.quan@amd.com>
      Signed-off-by: Nickthink's avatarZhen Ni <nizhen@uniontech.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      5afb7652
    • T
      drm/amdgpu: add GFX Power Gating support for GC IP v11.0.1 · dc0a096b
      Tim Huang 提交于
      Add AMD_PG_SUPPORT_GFX_PG support.
      Signed-off-by: NTim Huang <tim.huang@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      dc0a096b
    • T
      drm/amdgpu: enable GFX Power Gating for GC IP v11.0.1 · cb9c7ab1
      Tim Huang 提交于
      Enable GFX Power Gating control for GC IP v11.0.1.
      Signed-off-by: NTim Huang <tim.huang@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      cb9c7ab1
    • F
      drm/amdkfd: Handle restart of kfd_ioctl_wait_events · bea9a56a
      Felix Kuehling 提交于
      When kfd_ioctl_wait_events needs to restart due to a signal, we need to
      update the timeout to account for the time already elapsed. We also need
      to undo auto_reset of events that have signaled already, so that the
      restarted ioctl will be able to count those signals again.
      
      This fixes infinite hangs when kfd_ioctl_wait_events is interrupted by a
      signal.
      Signed-off-by: NFelix Kuehling <Felix.Kuehling@amd.com>
      Reviewed-and-tested-by: NXiaogang Chen <Xiaogang.Chen@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      bea9a56a
    • R
      drm/amdgpu: Avoid direct cast to amdgpu_ttm_tt · c4c10a68
      Rajneesh Bhardwaj 提交于
      For typesafety, use container_of() instead of implicit cast from struct
      ttm_tt to struct amdgpu_ttm_tt.
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NFelix Kuehling <Felix.Kuehling@amd.com>
      Signed-off-by: NRajneesh Bhardwaj <rajneesh.bhardwaj@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      c4c10a68
    • K
      drm/amd/pm: skip pptable override for smu_v13_0_7 · 4e64b529
      Kenneth Feng 提交于
      skip pptable override for smu_v13_0_7 secure boards only.
      Signed-off-by: NKenneth Feng <kenneth.feng@amd.com>
      Reviewed-by: NFeifei Xu <Feifei.Xu@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      4e64b529
    • E
      drm/amd/pm: add 3715 softpptable support for SMU13.0.0 · b7ffeb4a
      Evan Quan 提交于
      Add support for 3715 softpptable.
      Signed-off-by: NEvan Quan <evan.quan@amd.com>
      Reviewed-by: NHawking Zhang <Hawking.Zhang@amd.com>
      Reviewed-by: NFeifei Xu <Feifei.Xu@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      b7ffeb4a
    • J
      drm/amdgpu: Enable translate_further to extend UTCL2 reach · 352e683b
      Joseph Greathouse 提交于
      Enable translate_further on Arcturus and Aldebaran server chips
      in order to increase the UTCL2 reach from 8 GiB to 64 GiB,
      which is more in line with the amount of framebuffer DRAM in
      the devices.
      Signed-off-by: NJoseph Greathouse <Joseph.Greathouse@amd.com>
      Acked-by: NFelix Kuehling <Felix.Kuehling@amd.com>
      Acked-by: NKent Russell <kent.russell@amd.com>
      Acked-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      352e683b
    • A
      drm/amd/display: 3.2.197 · 8da536d5
      Aric Cyr 提交于
      This version brings along following fixes:
      
      - Move fpu file to dml folder
      - Fix CAB allocation for multiple displays
      - Add a variable to update FCLK
      - Fix TMDS 4K@60Hz YCbCr420 corruption issue
      - Fix MPC tree infinite loop in some case
      - Fix HDMI VSIF V3 blank screen issue
      - Add some documentation to the code
      - Allow alternate prefetch modes in DML for DCN32
      - Fix VPG instancing for dcn314 HPO
      - Check correct bounds for stream encoder instances for DCN303
      - Enable SubVP by default on DCN32 & DCN321
      - Fix DTBCLK not correct for dcn314
      - Fix Compile-time warning
      - Fix the stereo mode hang issue
      - Fix display light up issue
      Acked-by: NTom Chung <chiahsuan.chung@amd.com>
      Signed-off-by: NAric Cyr <aric.cyr@amd.com>
      Tested-by: NDaniel Wheeler <daniel.wheeler@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      8da536d5
    • A
      drm/amd/display: Add 16 lines margin for SubVP · 9f5171ce
      Alvin Lee 提交于
      [Description]
      SUBVP_START_LINE must be aligned to 2 swaths, so add
      16 lines of margin so the start line can be adjusted by
      up to 16 lines for alignment purposes in FW.
      Reviewed-by: NJun Lei <Jun.Lei@amd.com>
      Acked-by: NTom Chung <chiahsuan.chung@amd.com>
      Signed-off-by: NAlvin Lee <alvin.lee2@amd.com>
      Tested-by: NDaniel Wheeler <daniel.wheeler@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      9f5171ce
    • M
      drm/amd/display: Fix TDR eDP and USB4 display light up issue · 30456ffa
      Meenakshikumar Somasundaram 提交于
      [Why]
      After TDR recovery, eDP and USB4 display does not light up. Because
      dmub outbox notifications are not enabled after dmub reload and link
      encoder assignments for the streams are not cleared before dc state
      reset.
      
      [How]
      - Dmub outbox notification is enabled after tdr recovery by issuing
        inbox command to dmub.
      - Link encoders for the streams are unassigned before dc state reset.
      Reviewed-by: NJimmy Kizito <Jimmy.Kizito@amd.com>
      Reviewed-by: NJun Lei <Jun.Lei@amd.com>
      Acked-by: NTom Chung <chiahsuan.chung@amd.com>
      Signed-off-by: NMeenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
      Tested-by: NDaniel Wheeler <daniel.wheeler@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      30456ffa