linux/drivers/gpu/drm/amd/amdgpu
Mario Kleiner 7b19bba58f drm/amd/display: Use vrr friendly pageflip throttling in DC.
In VRR mode, keep track of the vblank count of the last
completed pageflip in amdgpu_crtc->last_flip_vblank, as
recorded in the pageflip completion handler after each
completed flip.

Use that count to prevent mmio programming a new pageflip
within the same vblank in which the last pageflip completed,
iow. to throttle pageflips to at most one flip per video
frame, while at the same time allowing to request a flip
not only before start of vblank, but also anywhere within
vblank.

The old logic did the same, and made sense for regular fixed
refresh rate flipping, but in vrr mode it prevents requesting
a flip anywhere inside the possibly huge vblank, thereby
reducing framerate in vrr mode instead of improving it, by
delaying a slightly delayed flip requests up to a maximum
vblank duration + 1 scanout duration. This would limit VRR
usefulness to only help applications with a very high GPU
demand, which can submit the flip request before start of
vblank, but then have to wait long for fences to complete.

With this method a flip can be both requested and - after
fences have completed - executed, ie. it doesn't matter if
the request (amdgpu_dm_do_flip()) gets delayed until deep
into the extended vblank due to cpu execution delays. This
also allows clients which want to regulate framerate within
the vrr range a much more fine-grained control of flip timing,
a feature that might be useful for video playback, and is
very useful for neuroscience/vision research applications.

In regular non-VRR mode, retain the old flip submission
behavior. This to keep flip scheduling for fullscreen X11/GLX
OpenGL clients intact, if they use the GLX_OML_sync_control
extensions glXSwapBufferMscOML(, ..., target_msc,...) function
with a specific target_msc target vblank count.

glXSwapBuffersMscOML() or DRI3/Present PresentPixmap() will
not flip at the proper target_msc for a non-zero target_msc
if VRR mode is active with this patch. They'd often flip one
frame too early. However, this limitation should not matter
much in VRR mode, as scheduling based on vblank counts is
pretty futile/unusable under variable refresh duration
anyway, so no real extra harm is done.

According to some testing already done with this patch by
Nicholas on top of my tests, IGT tests didn't report any
problems. If fixes stuttering and flickering when flipping
at rates below the minimum vrr refresh rate.

Fixes: bb47de7366 ("drm/amdgpu: Set FreeSync state using drm VRR
properties")
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: <stable@vger.kernel.org>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Michel Dänzer <michel@daenzer.net>
Tested-by: Bruno Filipe <bmilreu@gmail.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2019-03-05 15:09:32 -05:00
..
amdgpu.h drm/amdgpu: Check if fd really is an amdgpu fd. 2019-02-15 11:15:37 -05:00
amdgpu_acp.c drm/amdgpu: Fix null point error 2018-10-24 20:04:03 -05:00
amdgpu_acp.h
amdgpu_acpi.c drm/amdgpu/acpi: NULL check before some freeing functions is not needed 2018-12-05 17:50:26 -05:00
amdgpu_afmt.c
amdgpu_amdkfd.c drm/amdkfd: Optimize out sdma doorbell array in kgd2kfd_shared_resources 2019-02-18 18:00:50 -05:00
amdgpu_amdkfd.h drm/amdgpu: Remove kgd2kfd function pointers 2019-01-14 15:04:29 -05:00
amdgpu_amdkfd_fence.c drm/amdgpu: Simplify kgd2kfd interface 2019-01-14 15:04:29 -05:00
amdgpu_amdkfd_gfx_v7.c drm/amdgpu: Workaround build failure due to trace conflict 2018-12-07 17:53:47 -05:00
amdgpu_amdkfd_gfx_v8.c drm/amdgpu: Workaround build failure due to trace conflict 2018-12-07 17:53:47 -05:00
amdgpu_amdkfd_gfx_v9.c drm/amdgpu: Workaround build failure due to trace conflict 2018-12-07 17:53:47 -05:00
amdgpu_amdkfd_gpuvm.c drm/amdgpu: Simplify eviction fence handling 2019-02-13 17:50:54 -05:00
amdgpu_atombios.c
amdgpu_atombios.h
amdgpu_atomfirmware.c drm/amdgpu: fix unknown vram mem type for vega20 2018-09-19 12:37:39 -05:00
amdgpu_atomfirmware.h
amdgpu_atpx_handler.c drm/amdgpu: Add APTX quirk for Lenovo laptop 2019-01-25 16:15:35 -05:00
amdgpu_benchmark.c
amdgpu_bios.c
amdgpu_bo_list.c drm/amdgpu: fix using shared fence for exported BOs v2 2018-12-07 17:53:44 -05:00
amdgpu_bo_list.h drm/amdgpu: remove amdgpu_bo_list_entry.robj (v2) 2018-09-13 15:14:12 -05:00
amdgpu_cgs.c drm/amdgpu: update SMC firmware image for polaris10 variants 2018-12-10 15:28:04 -05:00
amdgpu_connectors.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
amdgpu_connectors.h
amdgpu_cs.c drm/amdgpu: Add AMDGPU_CHUNK_ID_SCHEDULED_DEPENDENCIES 2019-02-05 21:15:46 -05:00
amdgpu_csa.c drm/amdgpu: sriov restrict max_pfn below AMDGPU_GMC_HOLE 2019-01-29 15:16:18 -05:00
amdgpu_csa.h drm/amdgpu: Change AMDGPU_CSA_SIZE to 128K 2018-11-05 14:21:50 -05:00
amdgpu_ctx.c drm/amdgpu: Only add rqs for initialized rings. 2019-02-15 11:15:30 -05:00
amdgpu_ctx.h
amdgpu_debugfs.c drm/amdgpu: don't clamp debugfs register access to the BAR size 2019-02-13 17:51:41 -05:00
amdgpu_debugfs.h
amdgpu_device.c Merge branch 'drm-next-5.1' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-02-11 14:04:20 +10:00
amdgpu_display.c Revert "drm/amdgpu: validate user pitch alignment" 2019-01-15 11:14:25 -05:00
amdgpu_display.h
amdgpu_doorbell.h Revert "drm/amdgpu: Delete user queue doorbell variables" 2019-02-19 15:58:26 -05:00
amdgpu_dpm.c drm/amdgpu: remove some old unused dpm helpers 2019-02-15 11:15:50 -05:00
amdgpu_dpm.h drm/amdgpu: remove some old unused dpm helpers 2019-02-15 11:15:50 -05:00
amdgpu_drv.c drm/amdgpu: Bump amdgpu version for context priority override. 2019-02-21 15:52:56 -05:00
amdgpu_drv.h
amdgpu_encoders.c
amdgpu_fb.c
amdgpu_fence.c drm/amdgpu: drop the remaining uses of ring idx in messages 2018-11-05 14:21:31 -05:00
amdgpu_gart.c drm/amdgpu: Added a few comments for gart 2018-11-05 14:21:16 -05:00
amdgpu_gart.h drm/amdgpu: Added a few comments for gart 2018-11-05 14:21:16 -05:00
amdgpu_gds.h drm/amdgpu: add a workaround for GDS ordered append hangs with compute queues 2019-02-05 21:15:46 -05:00
amdgpu_gem.c drm/amdgpu: clean up memory/GDS/GWS/OA alignment code 2019-02-01 00:33:00 -05:00
amdgpu_gem.h drm/amdkfd: Add DMABuf import functionality 2018-12-07 18:13:54 -05:00
amdgpu_gfx.c drm/amdgpu: Use asic specific doorbell index instead of macro definition 2018-11-28 15:55:33 -05:00
amdgpu_gfx.h drm/amdgpu: separate amdgpu_rlc into a single file 2018-11-09 16:29:02 -05:00
amdgpu_gmc.c drm/amdgpu: Limit the max mc address to hole start 2018-10-10 14:48:02 -05:00
amdgpu_gmc.h drm/amdgpu: add a xgmi supported flag 2018-12-03 11:14:39 -05:00
amdgpu_gtt_mgr.c drm/amdgpu: revert "stop using gart_start as offset for the GTT domain" 2018-09-14 10:05:42 -05:00
amdgpu_i2c.c
amdgpu_i2c.h
amdgpu_ib.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
amdgpu_ids.c drm/amdgpu: Fix typo in amdgpu_vmid_mgr_init 2018-10-16 15:08:08 -05:00
amdgpu_ids.h
amdgpu_ih.c drm/amdgpu: cleanup amdgpu_ih_process a bit more 2019-02-13 17:47:11 -05:00
amdgpu_ih.h drm/amdgpu: cleanup amdgpu_ih_process a bit more 2019-02-13 17:47:11 -05:00
amdgpu_ioc32.c
amdgpu_irq.c drm/amdgpu: cleanup amdgpu_ih_process a bit more 2019-02-13 17:47:11 -05:00
amdgpu_irq.h drm/amdgpu: cleanup amdgpu_ih_process a bit more 2019-02-13 17:47:11 -05:00
amdgpu_job.c drm/amdgpu: print process info when job timeout 2018-12-20 12:12:20 -05:00
amdgpu_job.h drm/amdgpu: Modify the argument of emit_ib interface 2018-11-05 14:21:50 -05:00
amdgpu_kms.c drm/amdgpu: fix several indentation issues 2019-02-13 17:51:37 -05:00
amdgpu_mn.c mm/mmu_notifier: use structure for invalidate_range_start/end callback 2018-12-28 12:11:50 -08:00
amdgpu_mn.h
amdgpu_mode.h drm/amd/display: Use vrr friendly pageflip throttling in DC. 2019-03-05 15:09:32 -05:00
amdgpu_object.c drm/amdgpu: Add helper to wait for BO fences using a sync object 2019-02-13 17:50:32 -05:00
amdgpu_object.h drm/amdgpu: Add helper to wait for BO fences using a sync object 2019-02-13 17:50:32 -05:00
amdgpu_pll.c
amdgpu_pll.h
amdgpu_pm.c drm/amdgpu: Add missing power attribute to APU check 2019-01-29 10:57:02 -05:00
amdgpu_pm.h
amdgpu_prime.c drm/amdgpu: Transfer fences to dmabuf importer 2019-01-30 12:52:44 -05:00
amdgpu_psp.c Linux 5.0-rc7 2019-02-18 13:27:15 +10:00
amdgpu_psp.h drm/amdgpu/psp: make get_fw_type and prep_cmd_buf to be common interfaces 2019-01-14 15:04:51 -05:00
amdgpu_ring.c drm/amdgpu: Skip ring soft recovery when fence was NULL 2018-12-07 17:53:47 -05:00
amdgpu_ring.h drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
amdgpu_rlc.c drm/amdgpu: abstract the function of enter/exit safe mode for RLC 2018-11-09 16:29:12 -05:00
amdgpu_rlc.h drm/amdgpu: abstract the function of enter/exit safe mode for RLC 2018-11-09 16:29:12 -05:00
amdgpu_sa.c dma-buf: make fence sequence numbers 64 bit v2 2018-12-07 12:44:16 +01:00
amdgpu_sched.c drm/amdgpu: Add command to override the context priority. 2019-02-15 11:15:43 -05:00
amdgpu_sched.h
amdgpu_sdma.c drm/amdgpu: Add helper function to get sdma index 2018-11-05 15:49:38 -05:00
amdgpu_sdma.h drm/amdgpu: Add helper function to get sdma index 2018-11-05 15:49:38 -05:00
amdgpu_sync.c
amdgpu_sync.h
amdgpu_test.c
amdgpu_trace.h drm/amdgpu: add the IH to the IV trace 2019-01-14 15:04:48 -05:00
amdgpu_trace_points.c drm/amdgpu: correct SPDX identifier in amdgpu_trace_points.c 2018-10-15 16:16:06 -05:00
amdgpu_ttm.c drm/amdgpu: clean up memory/GDS/GWS/OA alignment code 2019-02-01 00:33:00 -05:00
amdgpu_ttm.h drm/ttm: initialize globals during device init (v2) 2018-11-05 14:21:21 -05:00
amdgpu_ucode.c drm/amdgpu: remove set but not used variable 'header' 2018-10-10 14:49:43 -05:00
amdgpu_ucode.h drm/amdgpu/psp: init/de-init xgmi ta microcode 2018-11-06 14:02:40 -05:00
amdgpu_uvd.c drm/amd:Enable/Disable NBPSTATE on On/OFF of UVD 2018-11-26 15:47:34 -05:00
amdgpu_uvd.h drm/amd:Enable/Disable NBPSTATE on On/OFF of UVD 2018-11-26 15:47:34 -05:00
amdgpu_vce.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
amdgpu_vce.h drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
amdgpu_vcn.c drm/amdgpu/vcn:Remove bit 31 for scratch2 to indicate the WA is active 2018-12-18 17:38:56 -05:00
amdgpu_vcn.h drm/amdgpu/vcn:Correct VCN cache window definition 2018-10-09 17:07:39 -05:00
amdgpu_vf_error.c
amdgpu_vf_error.h
amdgpu_virt.c drm/amd/amdgpu/sriov: Aligned the definition with libgv 2018-11-19 15:27:42 -05:00
amdgpu_virt.h drm/amd/amdgpu/sriov: Aligned the definition with libgv 2018-11-19 15:27:42 -05:00
amdgpu_vm.c drm/amdgpu: clear PDs/PTs only after initializing them 2019-02-27 22:24:12 -05:00
amdgpu_vm.h drm/amdgpu: set bulk_moveable to false when lru changed v2 2019-01-25 16:15:34 -05:00
amdgpu_vram_mgr.c drm/amdgpu: try allocating VRAM as power of two 2018-09-12 16:28:28 -05:00
amdgpu_xgmi.c drm/amd/amdgpu: fix spelling mistake "matech" -> "match" 2019-02-05 21:15:32 -05:00
amdgpu_xgmi.h drm/amd/amdgpu: add missing mutex lock to amdgpu_get_xgmi_hive() (v3) 2019-01-14 15:04:53 -05:00
atom.c drm: move drm_can_sleep() to drm_util.h 2019-01-14 10:58:37 +01:00
atom.h
atombios_crtc.c
atombios_crtc.h
atombios_dp.c
atombios_dp.h
atombios_encoders.c
atombios_encoders.h
atombios_i2c.c
atombios_i2c.h
cik.c drm/amdgpu: remove old CI DPM implementation 2019-01-25 16:15:36 -05:00
cik.h drm/amdgpu: Doorbell index initialization for ASICs before vega10 2018-11-28 15:55:32 -05:00
cik_dpm.h drm/amdgpu: remove old CI DPM implementation 2019-01-25 16:15:36 -05:00
cik_ih.c drm/amdgpu: simplify IH programming 2019-01-14 15:04:47 -05:00
cik_ih.h
cik_sdma.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
cik_sdma.h
cikd.h
clearstate_ci.h
clearstate_defs.h
clearstate_gfx9.h
clearstate_si.h
clearstate_vi.h
cz_ih.c drm/amdgpu: simplify IH programming 2019-01-14 15:04:47 -05:00
cz_ih.h
dce_v6_0.c drm/amdgpu: fix several indentation issues 2019-02-13 17:51:37 -05:00
dce_v6_0.h
dce_v8_0.c drm/edid: Pass connector to AVI infoframe functions 2019-01-10 19:01:06 +02:00
dce_v8_0.h
dce_v10_0.c drm/edid: Pass connector to AVI infoframe functions 2019-01-10 19:01:06 +02:00
dce_v10_0.h
dce_v11_0.c drm/edid: Pass connector to AVI infoframe functions 2019-01-10 19:01:06 +02:00
dce_v11_0.h
dce_virtual.c drm/amdgpu/virtual_dce: No need to pin the fb's bo 2019-01-14 15:04:22 -05:00
dce_virtual.h
df_v1_7.c
df_v1_7.h
df_v3_6.c
df_v3_6.h
emu_soc.c
gfx_v6_0.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
gfx_v6_0.h
gfx_v7_0.c drm/amdgpu: add a workaround for GDS ordered append hangs with compute queues 2019-02-05 21:15:46 -05:00
gfx_v7_0.h
gfx_v8_0.c Revert "drm/amdgpu: Fix bugs in setting CP RB/MEC DOORBELL_RANGE registers" 2019-02-19 15:58:26 -05:00
gfx_v8_0.h
gfx_v9_0.c Revert "drm/amdgpu: Fix bugs in setting CP RB/MEC DOORBELL_RANGE registers" 2019-02-19 15:58:26 -05:00
gfx_v9_0.h
gfxhub_v1_0.c Merge branch 'drm-next-4.21' of git://people.freedesktop.org/~agd5f/linux into drm-next 2018-11-19 11:07:52 +10:00
gfxhub_v1_0.h drm/amdgpu/amdkfd: clean up mmhub and gfxhub includes 2018-11-05 14:21:24 -05:00
gfxhub_v1_1.c drm/amdgpu/gmc9: Adjust GART and AGP location with xgmi offset (v2) 2018-09-10 22:47:34 -05:00
gfxhub_v1_1.h drm/amdgpu/gmc9: add a new gfxhub 1.1 helper for xgmi 2018-09-10 22:46:22 -05:00
gmc_v6_0.c Linux 4.20-rc4 2018-11-29 10:34:03 +10:00
gmc_v6_0.h
gmc_v7_0.c drm/amdgpu: Reorganize amdgpu_gmc_flush_gpu_tlb() for kfd to use 2018-11-05 14:21:15 -05:00
gmc_v7_0.h
gmc_v8_0.c drm/amdgpu/gmc: fix compiler errors [-Werror,-Wmissing-braces] (V2) 2019-01-14 15:04:46 -05:00
gmc_v8_0.h
gmc_v9_0.c drm/amdgpu: sriov restrict max_pfn below AMDGPU_GMC_HOLE 2019-01-29 15:16:18 -05:00
gmc_v9_0.h drm/amdgpu: update the vm invalidation engine layout V2 2018-12-14 15:54:53 -05:00
iceland_ih.c drm/amdgpu: simplify IH programming 2019-01-14 15:04:47 -05:00
iceland_ih.h
iceland_sdma_pkt_open.h
Kconfig
kv_dpm.c drm/amdgpu: abstract the function of enter/exit safe mode for RLC 2018-11-09 16:29:12 -05:00
kv_dpm.h
kv_smc.c
Makefile drm/amdgpu: remove old CI DPM implementation 2019-01-25 16:15:36 -05:00
mmhub_v1_0.c Merge branch 'drm-next-4.21' of git://people.freedesktop.org/~agd5f/linux into drm-next 2018-11-19 11:07:52 +10:00
mmhub_v1_0.h drm/amdgpu/amdkfd: clean up mmhub and gfxhub includes 2018-11-05 14:21:24 -05:00
mmsch_v1_0.h
mxgpu_ai.c drm/amdgpu: tighten gpu_recover in mailbox_flr to avoid duplicate recover in sriov 2019-02-13 17:50:13 -05:00
mxgpu_ai.h
mxgpu_vi.c drm/amd/amdgpu: Remove duplicate header 2018-11-21 15:32:19 -05:00
mxgpu_vi.h
nbio_v6_1.c drm/amdgpu: Fix sdma doorbell range setting 2019-01-25 16:15:34 -05:00
nbio_v6_1.h
nbio_v7_0.c drm/amdgpu: Fix sdma doorbell range setting 2019-01-25 16:15:34 -05:00
nbio_v7_0.h
nbio_v7_4.c Merge branch 'drm-next-5.1' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-02-22 15:56:42 +10:00
nbio_v7_4.h
ObjectID.h
ppsmc.h
psp_gfx_if.h drm/amdgpu/psp: update the naming of GFX_FW_TYPE_RLC_RESTORE_LIST_CNTL 2019-01-14 15:04:51 -05:00
psp_v3_1.c drm/amdgpu: use REG32_PCIE wrapper instead for psp 2019-02-27 22:18:59 -05:00
psp_v3_1.h
psp_v10_0.c drm/amdgpu/psp: make get_fw_type and prep_cmd_buf to be common interfaces 2019-01-14 15:04:51 -05:00
psp_v10_0.h
psp_v11_0.c Linux 5.0-rc7 2019-02-18 13:27:15 +10:00
psp_v11_0.h
r600_dpm.h
sdma_v2_4.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
sdma_v2_4.h
sdma_v3_0.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
sdma_v3_0.h
sdma_v4_0.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
sdma_v4_0.h
si.c drm/amdgpu: fix several indentation issues 2019-02-13 17:51:37 -05:00
si.h
si_dma.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
si_dma.h
si_dpm.c drm/amdgpu/si_dpm: Mark expected switch fall-throughs 2019-02-18 18:01:15 -05:00
si_dpm.h
si_enums.h
si_ih.c drm/amdgpu: simplify IH programming 2019-01-14 15:04:47 -05:00
si_ih.h
si_smc.c
sid.h
sislands_smc.h
soc15.c Revert "drm/amdgpu: use BACO reset on vega20 if platform support" 2019-02-27 22:22:30 -05:00
soc15.h drm/amdgpu: Doorbell layout for vega20 and future asic 2018-11-28 15:55:32 -05:00
soc15_common.h drm/amdgpu:Improves robustness of SOC15_WAIT_ON_RREG 2018-12-18 17:39:03 -05:00
soc15d.h
ta_xgmi_if.h drm/amdgpu/psp: add xgmi ta header 2018-11-06 14:02:41 -05:00
tonga_ih.c drm/amdgpu: simplify IH programming 2019-01-14 15:04:47 -05:00
tonga_ih.h
tonga_sdma_pkt_open.h
uvd_v4_2.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
uvd_v4_2.h
uvd_v5_0.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
uvd_v5_0.h
uvd_v6_0.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
uvd_v6_0.h
uvd_v7_0.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
uvd_v7_0.h
vce_v2_0.c drm/amdgpu: Retire amdgpu_ring.ready flag v4 2018-11-05 14:21:23 -05:00
vce_v2_0.h
vce_v3_0.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
vce_v3_0.h
vce_v4_0.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
vce_v4_0.h
vcn_v1_0.c drm/amdgpu: add flags to emit_ib interface v2 2019-01-25 16:15:35 -05:00
vcn_v1_0.h
vega10_ih.c drm/amdgpu: add support for self irq on Vega10 v2 2019-01-25 16:15:35 -05:00
vega10_ih.h
vega10_reg_init.c Revert "drm/amdgpu: Delete user queue doorbell variables" 2019-02-19 15:58:26 -05:00
vega10_sdma_pkt_open.h
vega20_reg_init.c Revert "drm/amdgpu: Delete user queue doorbell variables" 2019-02-19 15:58:26 -05:00
vi.c drm/amdgpu/vi: add need_reset_on_init asic callback for VI (v2) 2019-01-14 15:04:56 -05:00
vi.h drm/amdgpu: Doorbell index initialization for ASICs before vega10 2018-11-28 15:55:32 -05:00
vi_dpm.h
vid.h