1. 05 8月, 2020 2 次提交
  2. 31 7月, 2020 5 次提交
  3. 28 7月, 2020 4 次提交
    • M
      drm/amd/display: create plane rotation property for Bonaire and later · f784112f
      Mauro Rossi 提交于
      [Why]
      DCE6 chipsets do not support HW rotation
      
      [How]
      rotation property is created for Bonaire and later
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NMauro Rossi <issor.oruam@gmail.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      f784112f
    • M
      drm/amd/display: amdgpu_dm: add SI support (v4) · 55e56389
      Mauro Rossi 提交于
      [Why]
      amdgpu_dm.c requires changes for SI chipsets init and irq handlers registration
      
      [How]
      SI support: load_dmcu_fw(), amdgpu_dm_initialize_drm_device(), dm_early_init()
      Add DCE6 specific dce60_register_irq_handlers() function
      
      (v1) NOTE: As per Kaveri and older amdgpu.dc=1 kernel cmdline is required
      
      (v2) fix for bc011f9 ("drm/amdgpu: Change SI/CI gfx/sdma/smu init sequence")
           remove CHIP_HAINAN support since it does not have physical DCE6 module
      
      (v3) fix vblank irq support for DCE6 using ad hoc dce60_register_irq_handlers()
           replicating for vblank irq the behavior of dce110_register_irq_handlers()
           as per commit b57de80a ("drm/amd/display: Register on VLBLANK ISR.")
      
      (v4) updated due to following kernel 5.2 commit:
           b2fddb13 ("drm/amd/display: Drop underlay plane support")
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NMauro Rossi <issor.oruam@gmail.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      55e56389
    • B
      drm/amd/display: Use seperate dmcub firmware for navy_flounder · 94bc373b
      Bhawanpreet Lakha 提交于
      [Why]
      Currently navy_flounder is using sienna_cichlid_dmcub.bin.
      
      [How]
      Create a seperate define so navy_flounder will use its own firmware.
      Signed-off-by: NBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      94bc373b
    • D
      drm/amdgpu: fix system hang issue during GPU reset · df9c8d1a
      Dennis Li 提交于
      when GPU hang, driver has multi-paths to enter amdgpu_device_gpu_recover,
      the atomic adev->in_gpu_reset and hive->in_reset are used to avoid
      re-entering GPU recovery.
      
      During GPU reset and resume, it is unsafe that other threads access GPU,
      which maybe cause GPU reset failed. Therefore the new rw_semaphore
      adev->reset_sem is introduced, which protect GPU from being accessed by
      external threads during recovery.
      
      v2:
      1. add rwlock for some ioctls, debugfs and file-close function.
      2. change to use dqm->is_resetting and dqm_lock for protection in kfd
      driver.
      3. remove try_lock and change adev->in_gpu_reset as atomic, to avoid
      re-enter GPU recovery for the same GPU hang.
      
      v3:
      1. change back to use adev->reset_sem to protect kfd callback
      functions, because dqm_lock couldn't protect all codes, for example:
      free_mqd must be called outside of dqm_lock;
      
      [ 1230.176199] Hardware name: Supermicro SYS-7049GP-TRT/X11DPG-QT, BIOS 3.1 05/23/2019
      [ 1230.177221] Call Trace:
      [ 1230.178249]  dump_stack+0x98/0xd5
      [ 1230.179443]  amdgpu_virt_kiq_reg_write_reg_wait+0x181/0x190 [amdgpu]
      [ 1230.180673]  gmc_v9_0_flush_gpu_tlb+0xcc/0x310 [amdgpu]
      [ 1230.181882]  amdgpu_gart_unbind+0xa9/0xe0 [amdgpu]
      [ 1230.183098]  amdgpu_ttm_backend_unbind+0x46/0x180 [amdgpu]
      [ 1230.184239]  ? ttm_bo_put+0x171/0x5f0 [ttm]
      [ 1230.185394]  ttm_tt_unbind+0x21/0x40 [ttm]
      [ 1230.186558]  ttm_tt_destroy.part.12+0x12/0x60 [ttm]
      [ 1230.187707]  ttm_tt_destroy+0x13/0x20 [ttm]
      [ 1230.188832]  ttm_bo_cleanup_memtype_use+0x36/0x80 [ttm]
      [ 1230.189979]  ttm_bo_put+0x1be/0x5f0 [ttm]
      [ 1230.191230]  amdgpu_bo_unref+0x1e/0x30 [amdgpu]
      [ 1230.192522]  amdgpu_amdkfd_free_gtt_mem+0xaf/0x140 [amdgpu]
      [ 1230.193833]  free_mqd+0x25/0x40 [amdgpu]
      [ 1230.195143]  destroy_queue_cpsch+0x1a7/0x270 [amdgpu]
      [ 1230.196475]  pqm_destroy_queue+0x105/0x260 [amdgpu]
      [ 1230.197819]  kfd_ioctl_destroy_queue+0x37/0x70 [amdgpu]
      [ 1230.199154]  kfd_ioctl+0x277/0x500 [amdgpu]
      [ 1230.200458]  ? kfd_ioctl_get_clock_counters+0x60/0x60 [amdgpu]
      [ 1230.201656]  ? tomoyo_file_ioctl+0x19/0x20
      [ 1230.202831]  ksys_ioctl+0x98/0xb0
      [ 1230.204004]  __x64_sys_ioctl+0x1a/0x20
      [ 1230.205174]  do_syscall_64+0x5f/0x250
      [ 1230.206339]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      
      2. remove try_lock and introduce atomic hive->in_reset, to avoid
      re-enter GPU recovery.
      
      v4:
      1. remove an unnecessary whitespace change in kfd_chardev.c
      2. remove comment codes in amdgpu_device.c
      3. add more detailed comment in commit message
      4. define a wrap function amdgpu_in_reset
      
      v5:
      1. Fix some style issues.
      Reviewed-by: NHawking Zhang <Hawking.Zhang@amd.com>
      Suggested-by: NAndrey Grodzovsky <andrey.grodzovsky@amd.com>
      Suggested-by: NChristian König <christian.koenig@amd.com>
      Suggested-by: NFelix Kuehling <Felix.Kuehling@amd.com>
      Suggested-by: NLijo Lazar <Lijo.Lazar@amd.com>
      Suggested-by: NLuben Tukov <luben.tuikov@amd.com>
      Signed-off-by: NDennis Li <Dennis.Li@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      df9c8d1a
  4. 23 7月, 2020 1 次提交
  5. 22 7月, 2020 4 次提交
  6. 16 7月, 2020 1 次提交
  7. 15 7月, 2020 2 次提交
    • N
      drm/amd/display: Allow for vblank enabled with no active planes · 8fe684e9
      Nicholas Kazlauskas 提交于
      [Why]
      CRC capture doesn't work when the active plane count is 0 since we
      currently tie both vblank and pageflip interrupts to active_plane_count
      greater than 0.
      
      [How]
      The frontend is what generates the vblank interrupts while the backend
      is what generates pageflip interrupts. Both have a requirement for
      the CRTC to be active, so control the overall interrupt state based
      on that instead.
      
      Pageflip interrupts need to be enabled based on active plane count, but
      we actually rely on power gating to take care of disabling the interrupt
      for us on pipes that can be power gated.
      
      For pipes that can't be power gated it's still fine to leave it enabled
      since the interrupt only triggers after the address has been written
      to that particular pipe - which we won't be doing without an active
      plane.
      
      The issue we had before with this setup was that we couldn't force
      the state back on. We were essentially manipulating the refcount
      to enable or disable as needed in a two pass approach.
      
      However, there is a function that solves this problem more elegantly:
      amdgpu_irq_update() will unconditionally call the set based on what it
      thinks the current enablement state is.
      
      This leaves two future TODO items for our IRQ handling:
      - Disabling IRQs in commit tail instead of atomic commit
      - Mapping the pageflip interrupt to VUPDATE or something that's tied to
        the frontend instead of the backend since the mapping to CRTC is not
        correct
      Signed-off-by: NNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
      Reviewed-by: NBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      8fe684e9
    • H
      drm/amd/display: OLED panel backlight adjust not work with external display connected · ec11fe37
      hersen wu 提交于
      [Why]
      amdgpu_dm->backlight_caps is for single eDP only. the caps are upddated
      for very connector. Real eDP caps will be overwritten by other external
      display. For OLED panel, caps->aux_support is set to 1 for OLED pnael.
      after external connected, caps+.aux_support is set to 0. This causes
      OLED backlight adjustment not work.
      
      [How]
      within update_conector_ext_caps, backlight caps will be updated only for
      eDP connector.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: Nhersen wu <hersenxs.wu@amd.com>
      Reviewed-by: NNicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
      Acked-by: NRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      ec11fe37
  8. 11 7月, 2020 1 次提交
  9. 08 7月, 2020 1 次提交
  10. 03 7月, 2020 1 次提交
  11. 01 7月, 2020 8 次提交
  12. 30 5月, 2020 1 次提交
  13. 29 5月, 2020 2 次提交
  14. 28 5月, 2020 2 次提交
  15. 23 5月, 2020 1 次提交
  16. 22 5月, 2020 4 次提交