linux/drivers/gpu/drm/amd/amdgpu
Andrey Grodzovsky 964d0fbf63 drm/amdgpu: Allow to create BO lists in CS ioctl v3
This change is to support MESA performace optimization.
Modify CS IOCTL to allow its input as command buffer and an array of
buffer handles to create a temporay bo list and then destroy it
when IOCTL completes.
This saves on calling for BO_LIST create and destry IOCTLs in MESA
and by this improves performance.

v2: Avoid inserting the temp list into idr struct.

v3:
Remove idr alloation from amdgpu_bo_list_create.
Remove useless argument from amdgpu_cs_parser_fini
Minor cosmetic stuff.

v4: Revert amdgpu_bo_list_destroy back to static

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2018-07-16 15:29:47 -05:00
..
amdgpu.h drm/amdgpu: Allow to create BO lists in CS ioctl v3 2018-07-16 15:29:47 -05:00
amdgpu_acp.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
amdgpu_acp.h
amdgpu_acpi.c drm/amdgpu: Dynamically probe for ATIF handle (v2) 2018-07-05 16:38:58 -05:00
amdgpu_afmt.c
amdgpu_amdkfd.c drm/amdgpu: allocate gart memory when it's required (v3) 2018-07-10 14:15:58 -05:00
amdgpu_amdkfd.h
amdgpu_amdkfd_fence.c drm/amdgpu: Remove unecessary dma_fence_ops 2018-07-03 13:13:08 +02:00
amdgpu_amdkfd_gfx_v7.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
amdgpu_amdkfd_gfx_v8.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
amdgpu_amdkfd_gfx_v9.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
amdgpu_amdkfd_gpuvm.c drm/amdgpu: separate gpu address from bo pin 2018-07-10 14:15:39 -05:00
amdgpu_atombios.c
amdgpu_atombios.h
amdgpu_atomfirmware.c
amdgpu_atomfirmware.h
amdgpu_atpx_handler.c drm/amdgpu: Add amdgpu_atpx_get_dhandle() 2018-07-05 16:38:58 -05:00
amdgpu_benchmark.c drm/amdgpu: allocate gart memory when it's required (v3) 2018-07-10 14:15:58 -05:00
amdgpu_bios.c
amdgpu_bo_list.c drm/amdgpu: Allow to create BO lists in CS ioctl v3 2018-07-16 15:29:47 -05:00
amdgpu_cgs.c drm/amdgpu: switch firmware path for CIK parts (v2) 2018-07-05 16:39:58 -05:00
amdgpu_connectors.c
amdgpu_connectors.h
amdgpu_cs.c drm/amdgpu: Allow to create BO lists in CS ioctl v3 2018-07-16 15:29:47 -05:00
amdgpu_ctx.c drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
amdgpu_debugfs.c
amdgpu_debugfs.h
amdgpu_device.c drm/amdgpu: separate gpu address from bo pin 2018-07-10 14:15:39 -05:00
amdgpu_display.c drm/amdgpu: allocate gart memory when it's required (v3) 2018-07-10 14:15:58 -05:00
amdgpu_display.h
amdgpu_dpm.c drm/amdgpu: use pcie functions for link width and speed 2018-07-05 16:39:59 -05:00
amdgpu_dpm.h drm/amd/pp: Unify powergate_uvd/vce/mmhub to set_powergating_by_smu 2018-07-05 16:38:48 -05:00
amdgpu_drv.c drm/amdgpu: Allow to create BO lists in CS ioctl v3 2018-07-16 15:29:47 -05:00
amdgpu_drv.h
amdgpu_encoders.c
amdgpu_fb.c drm/amdgpu: allocate gart memory when it's required (v3) 2018-07-10 14:15:58 -05:00
amdgpu_fence.c drm-misc-next for 4.19: 2018-07-06 10:01:56 +10:00
amdgpu_gart.c drm/amdgpu: separate gpu address from bo pin 2018-07-10 14:15:39 -05:00
amdgpu_gart.h drm/amdgpu: Add AMDGPU_GPU_PAGES_IN_CPU_PAGE define 2018-07-05 16:39:49 -05:00
amdgpu_gds.h
amdgpu_gem.c drm/amdgpu: fix the wrong type of gem object creation 2018-07-05 16:39:54 -05:00
amdgpu_gfx.c
amdgpu_gfx.h
amdgpu_gmc.h drm/amdgpu: Consolidate visible vs. real vram check v2. 2018-06-15 12:20:44 -05:00
amdgpu_gtt_mgr.c
amdgpu_i2c.c
amdgpu_i2c.h
amdgpu_ib.c drm/amdgpu: fix user fence write race condition 2018-07-05 16:39:57 -05:00
amdgpu_ids.c drm/amdgpu: remove duplicated codes 2018-07-05 16:38:46 -05:00
amdgpu_ids.h
amdgpu_ih.c
amdgpu_ih.h
amdgpu_ioc32.c
amdgpu_irq.c drm/amdgpu: update documentation for amdgpu_irq.c v3 2018-06-15 12:20:44 -05:00
amdgpu_irq.h
amdgpu_job.c
amdgpu_kms.c drm/amdgpu: Make pin_size values atomic 2018-07-13 14:46:21 -05:00
amdgpu_mn.c drm/amd: Remove errors from sphinx documentation 2018-07-05 16:40:03 -05:00
amdgpu_mn.h
amdgpu_mode.h
amdgpu_object.c drm/amdgpu: Warn and update pin_size values when destroying a pinned BO 2018-07-13 14:46:28 -05:00
amdgpu_object.h drm/amdgpu: separate gpu address from bo pin 2018-07-10 14:15:39 -05:00
amdgpu_pll.c
amdgpu_pll.h
amdgpu_pm.c drm/amdgpu/pm: fix display count in non-DC path 2018-07-05 16:39:50 -05:00
amdgpu_pm.h
amdgpu_prime.c drm/amdgpu: separate gpu address from bo pin 2018-07-10 14:15:39 -05:00
amdgpu_psp.c
amdgpu_psp.h
amdgpu_queue_mgr.c drm/amdgpu: add AMDGPU_HW_IP_VCN_JPEG to queue mgr 2018-06-15 12:20:40 -05:00
amdgpu_ring.c drm/amdgpu: define and add extra dword for jpeg ring 2018-06-15 12:20:37 -05:00
amdgpu_ring.h drm/amdgpu: define and add extra dword for jpeg ring 2018-06-15 12:20:37 -05:00
amdgpu_sa.c
amdgpu_sched.c
amdgpu_sched.h
amdgpu_sync.c
amdgpu_sync.h
amdgpu_test.c drm/amdgpu: allocate gart memory when it's required (v3) 2018-07-10 14:15:58 -05:00
amdgpu_trace.h
amdgpu_trace_points.c
amdgpu_ttm.c drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
amdgpu_ttm.h drm/amdgpu: Keep track of amount of pinned CPU visible VRAM 2018-07-13 14:46:11 -05:00
amdgpu_ucode.c
amdgpu_ucode.h
amdgpu_uvd.c drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
amdgpu_uvd.h drm/amdgpu:All UVD instances share one idle_work handle 2018-06-19 13:34:27 -05:00
amdgpu_vce.c drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
amdgpu_vce.h
amdgpu_vcn.c drm/amdgpu: get VCN start to process in the dpm disabled case 2018-07-10 14:18:55 -05:00
amdgpu_vcn.h drm/amdgpu: add vcn jpeg ib test 2018-06-15 12:20:38 -05:00
amdgpu_vf_error.c
amdgpu_vf_error.h
amdgpu_virt.c
amdgpu_virt.h
amdgpu_vm.c drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
amdgpu_vm.h drm/amdgpu: Add support for logging process info in amdgpu_vm. 2018-07-10 14:17:29 -05:00
amdgpu_vram_mgr.c drm/amdgpu: Keep track of amount of pinned CPU visible VRAM 2018-07-13 14:46:11 -05:00
atom.c Revert "drm/amdgpu: avoid sleep while executing atombios table (V2)" 2018-07-05 16:38:27 -05: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
ci_dpm.c drm/amdgpu: use pcie functions for link width and speed 2018-07-05 16:39:59 -05:00
ci_dpm.h
ci_smc.c
cik.c drm/amdgpu/pp: switch the default dpm implementation for CI 2018-06-15 12:20:30 -05:00
cik.h
cik_dpm.h
cik_ih.c
cik_ih.h
cik_sdma.c drm/amdgpu: switch firmware path for CIK parts (v2) 2018-07-05 16:39:58 -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
cz_ih.h
dce_v6_0.c drm/amdgpu: separate gpu address from bo pin 2018-07-10 14:15:39 -05:00
dce_v6_0.h
dce_v8_0.c drm/amdgpu: separate gpu address from bo pin 2018-07-10 14:15:39 -05:00
dce_v8_0.h
dce_v10_0.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
dce_v10_0.h
dce_v11_0.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
dce_v11_0.h
dce_virtual.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
dce_virtual.h
df_v1_7.c
df_v1_7.h
df_v3_6.c drm/amdgpu/df: fix potential array out-of-bounds read 2018-06-01 09:45:05 -05:00
df_v3_6.h
emu_soc.c
gfx_v6_0.c drm/amdgpu: switch firmware path for SI parts 2018-07-05 16:39:58 -05:00
gfx_v6_0.h
gfx_v7_0.c drm/amdgpu: switch firmware path for CIK parts (v2) 2018-07-05 16:39:58 -05:00
gfx_v7_0.h
gfx_v8_0.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
gfx_v8_0.h
gfx_v9_0.c drm/amd: Use newly added interrupt source defs for SOC15. 2018-07-13 14:45:43 -05:00
gfx_v9_0.h
gfxhub_v1_0.c
gfxhub_v1_0.h
gmc_v6_0.c drm/amdgpu: switch firmware path for SI parts 2018-07-05 16:39:58 -05:00
gmc_v6_0.h
gmc_v7_0.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
gmc_v7_0.h
gmc_v8_0.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
gmc_v8_0.h
gmc_v9_0.c drm/amd: Use newly added interrupt source defs for SOC15. 2018-07-13 14:45:43 -05:00
gmc_v9_0.h
iceland_ih.c
iceland_ih.h
iceland_sdma_pkt_open.h
Kconfig
kv_dpm.c drm/amd/pp: Unify powergate_uvd/vce/mmhub to set_powergating_by_smu 2018-07-05 16:38:48 -05:00
kv_dpm.h
kv_smc.c
Makefile
mmhub_v1_0.c drm/amd/pp: Unify powergate_uvd/vce/mmhub to set_powergating_by_smu 2018-07-05 16:38:48 -05:00
mmhub_v1_0.h
mmsch_v1_0.h
mxgpu_ai.c
mxgpu_ai.h
mxgpu_vi.c
mxgpu_vi.h
nbio_v6_1.c
nbio_v6_1.h
nbio_v7_0.c
nbio_v7_0.h
ObjectID.h drm/amdgpu: Add BRACKET_LAYOUT_ENUMs to ObjectID.h 2018-06-15 12:20:42 -05:00
ppsmc.h
psp_gfx_if.h
psp_v3_1.c drm/amdgpu: add checking for sos version 2018-06-13 13:45:20 -05:00
psp_v3_1.h
psp_v10_0.c
psp_v10_0.h
r600_dpm.h
sdma_v2_4.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
sdma_v2_4.h
sdma_v3_0.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
sdma_v3_0.h
sdma_v4_0.c drm/amd: Use newly added interrupt source defs for SOC15. 2018-07-13 14:45:43 -05:00
sdma_v4_0.h
si.c
si.h
si_dma.c
si_dma.h
si_dpm.c drm/amdgpu: use pcie functions for link width and speed 2018-07-05 16:39:59 -05:00
si_dpm.h
si_enums.h
si_ih.c
si_ih.h
si_smc.c
sid.h
sislands_smc.h
soc15.c
soc15.h
soc15_common.h
soc15d.h drm/amdgpu: add jpeg packet defines to soc15d.h 2018-06-15 12:20:34 -05:00
tonga_ih.c
tonga_ih.h
tonga_sdma_pkt_open.h
uvd_v4_2.c
uvd_v4_2.h
uvd_v5_0.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
uvd_v5_0.h
uvd_v6_0.c drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
uvd_v6_0.h
uvd_v7_0.c drm/scheduler: modify args of drm_sched_entity_init 2018-07-13 14:46:05 -05:00
uvd_v7_0.h
vce_v2_0.c drm/amdgpu/vce: simplify vce instance setup 2018-07-05 16:39:53 -05:00
vce_v2_0.h
vce_v3_0.c drm/amd: Use newly added interrupt source defs for VI v3. 2018-07-13 14:45:30 -05:00
vce_v3_0.h
vce_v4_0.c drm/amd: Use newly added interrupt source defs for SOC15. 2018-07-13 14:45:43 -05:00
vce_v4_0.h
vcn_v1_0.c drm/amd: Use newly added interrupt source defs for SOC15. 2018-07-13 14:45:43 -05:00
vcn_v1_0.h
vega10_ih.c
vega10_ih.h
vega10_reg_init.c drm/amdgpu: Add CLK IP base offset 2018-07-10 14:16:39 -05:00
vega10_sdma_pkt_open.h
vega20_reg_init.c
vi.c drm/amdgpu/vi: fix mixed up state in smu clockgating setup 2018-07-13 14:52:41 -05:00
vi.h
vi_dpm.h
vid.h