1. 02 12月, 2022 1 次提交
    • J
      drm/amdgpu: MCBP based on DRM scheduler (v9) · 3f4c175d
      Jiadong.Zhu 提交于
      Trigger Mid-Command Buffer Preemption according to the priority of the software
      rings and the hw fence signalling condition.
      
      The muxer saves the locations of the indirect buffer frames from the software
      ring together with the fence sequence number in its fifo queue, and pops out
      those records when the fences are signalled. The locations are used to resubmit
      packages in preemption scenarios by coping the chunks from the software ring.
      
      v2: Update comment style.
      v3: Fix conflict caused by previous modifications.
      v4: Remove unnecessary prints.
      v5: Fix corner cases for resubmission cases.
      v6: Refactor functions for resubmission, calling fence_process in irq handler.
      v7: Solve conflict for removing amdgpu_sw_ring.c.
      v8: Add time threshold to judge if preemption request is needed.
      v9: Correct comment spelling. Set fence emit timestamp before rsu assignment.
      
      Cc: Christian Koenig <Christian.Koenig@amd.com>
      Cc: Luben Tuikov <Luben.Tuikov@amd.com>
      Cc: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
      Cc: Michel Dänzer <michel@daenzer.net>
      Signed-off-by: NJiadong.Zhu <Jiadong.Zhu@amd.com>
      Acked-by: NLuben Tuikov <luben.tuikov@amd.com>
      Acked-by: NHuang Rui <ray.huang@amd.com>
      Acked-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      3f4c175d
  2. 19 10月, 2022 1 次提交
  3. 18 10月, 2022 1 次提交
  4. 17 8月, 2022 1 次提交
  5. 08 6月, 2022 1 次提交
  6. 07 6月, 2022 1 次提交
    • A
      drm/amd/amdgpu: Enable high priority gfx queue · b07d1d73
      Arunpravin Paneer Selvam 提交于
      Starting from SIENNA CICHLID asic supports two gfx pipes, enabling
      two graphics queues, 1 on each pipe, pipe0 queue0 would be the normal
      piority queue and pipe1 queue0 would be the high priority queue
      
      Only one queue per pipe is visble to SPI, SPI looks at the priority
      value assigned to CP_GFX_HQD_QUEUE_PRIORITY from each of the queue's
      HQD/MQD.
      
      Create contexts applying AMDGPU_CTX_PRIORITY_HIGH which submits job
      to the high priority queue on GFX pipe1. There would be starvation
      of LP workload if HP workload is always available.
      
      v2:
        - remove unnecessary check(Nirmoy)
        - make pipe1 hardware support a separate patch(Nirmoy)
        - remove duplicate code(Shashank)
        - add CSA support for second gfx pipe(Alex)
      
      v3(Christian):
        - fix incorrect indentation
        - merge COMPUTE and GFX switch cases as both calls the same function.
      
      v4:
        - rebase w/ latest code base
      Signed-off-by: NArunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
      Acked-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      b07d1d73
  7. 04 5月, 2022 2 次提交
  8. 05 3月, 2022 1 次提交
  9. 10 2月, 2022 1 次提交
  10. 15 9月, 2021 3 次提交
  11. 21 4月, 2021 1 次提交
  12. 10 4月, 2021 1 次提交
  13. 10 2月, 2021 1 次提交
  14. 14 11月, 2020 1 次提交
    • L
      drm/amd/amdgpu/amdgpu_ring: Fix misnaming of param 'max_dw' · 80854e83
      Lee Jones 提交于
      Fixes the following W=1 kernel build warning(s):
      
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:168: warning: Function parameter or member 'max_dw' not described in 'amdgpu_ring_init'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:168: warning: Excess function parameter 'max_ndw' description in 'amdgpu_ring_init'
      
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: amd-gfx@lists.freedesktop.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: linux-media@vger.kernel.org
      Cc: linaro-mm-sig@lists.linaro.org
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      80854e83
  15. 13 11月, 2020 1 次提交
    • L
      drm/amd/amdgpu/amdgpu_ring: Fix a bunch of function misdocumentation · 35c7fad9
      Lee Jones 提交于
      Fixes the following W=1 kernel build warning(s):
      
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:63: warning: Excess function parameter 'adev' description in 'amdgpu_ring_alloc'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:122: warning: Excess function parameter 'adev' description in 'amdgpu_ring_commit'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:167: warning: Function parameter or member 'max_dw' not described in 'amdgpu_ring_init'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:167: warning: Function parameter or member 'irq_src' not described in 'amdgpu_ring_init'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:167: warning: Function parameter or member 'irq_type' not described in 'amdgpu_ring_init'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:167: warning: Function parameter or member 'hw_prio' not described in 'amdgpu_ring_init'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:167: warning: Excess function parameter 'max_ndw' description in 'amdgpu_ring_init'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:167: warning: Excess function parameter 'nop' description in 'amdgpu_ring_init'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:285: warning: Excess function parameter 'adev' description in 'amdgpu_ring_fini'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:325: warning: Function parameter or member 'ring' not described in 'amdgpu_ring_emit_reg_write_reg_wait_helper'
       drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c:325: warning: Excess function parameter 'adev' description in 'amdgpu_ring_emit_reg_write_reg_wait_helper'
      
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: amd-gfx@lists.freedesktop.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: linux-media@vger.kernel.org
      Cc: linaro-mm-sig@lists.linaro.org
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      35c7fad9
  16. 03 11月, 2020 1 次提交
  17. 25 8月, 2020 1 次提交
  18. 19 8月, 2020 1 次提交
  19. 14 4月, 2020 2 次提交
  20. 09 4月, 2020 1 次提交
    • N
      drm/amdgpu: rework sched_list generation · 1c6d567b
      Nirmoy Das 提交于
      Generate HW IP's sched_list in amdgpu_ring_init() instead of
      amdgpu_ctx.c. This makes amdgpu_ctx_init_compute_sched(),
      ring.has_high_prio and amdgpu_ctx_init_sched() unnecessary.
      This patch also stores sched_list for all HW IPs in one big
      array in struct amdgpu_device which makes amdgpu_ctx_init_entity()
      much more leaner.
      
      v2:
      fix a coding style issue
      do not use drm hw_ip const to populate amdgpu_ring_type enum
      
      v3:
      remove ctx reference and move sched array and num_sched to a struct
      use num_scheds to detect uninitialized scheduler list
      
      v4:
      use array_index_nospec for user space controlled variables
      fix possible checkpatch.pl warnings
      Signed-off-by: NNirmoy Das <nirmoy.das@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      1c6d567b
  21. 10 3月, 2020 1 次提交
  22. 29 2月, 2020 1 次提交
    • Y
      drm/amdgpu: no need to clean debugfs at amdgpu · d2790e10
      Yintian Tao 提交于
      drm_minor_unregister will invoke drm_debugfs_cleanup
      to clean all the child node under primary minor node.
      We don't need to invoke amdgpu_debugfs_fini and
      amdgpu_debugfs_regs_cleanup to clean agian.
      Otherwise, it will raise the NULL pointer like below.
      [   45.046029] BUG: unable to handle kernel NULL pointer dereference at 00000000000000a8
      [   45.047256] PGD 0 P4D 0
      [   45.047713] Oops: 0002 [#1] SMP PTI
      [   45.048198] CPU: 0 PID: 2796 Comm: modprobe Tainted: G        W  OE     4.18.0-15-generic #16~18.04.1-Ubuntu
      [   45.049538] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
      [   45.050651] RIP: 0010:down_write+0x1f/0x40
      [   45.051194] Code: 90 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 53 48 89 fb e8 ce d9 ff ff 48 ba 01 00 00 00 ff ff ff ff 48 89 d8 <f0> 48 0f c1 10 85 d2 74 05 e8 53 1c ff ff 65 48 8b 04 25 00 5c 01
      [   45.053702] RSP: 0018:ffffad8f4133fd40 EFLAGS: 00010246
      [   45.054384] RAX: 00000000000000a8 RBX: 00000000000000a8 RCX: ffffa011327dd814
      [   45.055349] RDX: ffffffff00000001 RSI: 0000000000000001 RDI: 00000000000000a8
      [   45.056346] RBP: ffffad8f4133fd48 R08: 0000000000000000 R09: ffffffffc0690a00
      [   45.057326] R10: ffffad8f4133fd58 R11: 0000000000000001 R12: ffffa0113cff0300
      [   45.058266] R13: ffffa0113c0a0000 R14: ffffffffc0c02a10 R15: ffffa0113e5c7860
      [   45.059221] FS:  00007f60d46f9540(0000) GS:ffffa0113fc00000(0000) knlGS:0000000000000000
      [   45.060809] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   45.061826] CR2: 00000000000000a8 CR3: 0000000136250004 CR4: 00000000003606f0
      [   45.062913] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [   45.064404] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [   45.065897] Call Trace:
      [   45.066426]  debugfs_remove+0x36/0xa0
      [   45.067131]  amdgpu_debugfs_ring_fini+0x15/0x20 [amdgpu]
      [   45.068019]  amdgpu_debugfs_fini+0x2c/0x50 [amdgpu]
      [   45.068756]  amdgpu_pci_remove+0x49/0x70 [amdgpu]
      [   45.069439]  pci_device_remove+0x3e/0xc0
      [   45.070037]  device_release_driver_internal+0x18a/0x260
      [   45.070842]  driver_detach+0x3f/0x80
      [   45.071325]  bus_remove_driver+0x59/0xd0
      [   45.071850]  driver_unregister+0x2c/0x40
      [   45.072377]  pci_unregister_driver+0x22/0xa0
      [   45.073043]  amdgpu_exit+0x15/0x57c [amdgpu]
      [   45.073683]  __x64_sys_delete_module+0x146/0x280
      [   45.074369]  do_syscall_64+0x5a/0x120
      [   45.074916]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      v2: remove all debugfs cleanup/fini code at amdgpu
      v3: squash in unused variable removal
      Signed-off-by: NYintian Tao <yttao@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      d2790e10
  23. 27 2月, 2020 2 次提交
  24. 21 6月, 2019 1 次提交
  25. 12 6月, 2019 1 次提交
  26. 11 6月, 2019 1 次提交
  27. 21 3月, 2019 1 次提交
  28. 08 12月, 2018 1 次提交
  29. 06 11月, 2018 2 次提交
  30. 28 8月, 2018 2 次提交
  31. 19 7月, 2018 1 次提交
  32. 16 6月, 2018 1 次提交
  33. 19 5月, 2018 1 次提交