James Zhu
0c0dab86d9
drm/amdgpu/vcn2.5: implement indirect DPG SRAM mode
...
Implement indirect DPG SRAM mode for vcn2.5
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-01-16 13:37:47 -05:00
James Zhu
8484df9601
drm/amdgpu/vcn2.5: add dpg pause mode
...
Add dpg pause mode support for vcn2.5
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-01-16 13:37:41 -05:00
James Zhu
d2a2c64f53
drm/amdgpu/vcn2.5: add DPG mode start and stop
...
Add DPG mode start and stop functions for vcn2.5
v2: Correct firmware ucode index in vcn_v2_5_mc_resume_dpg_mode
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-01-16 13:37:34 -05:00
Leo Liu
2d6605911d
drm/amdgpu/vcn2.5: fix PSP FW loading for the second instance
...
ucodes for instances are from different location
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-01-14 10:18:08 -05:00
Jane Jian
ab5999dea0
drm/amdgpu: enable VCN0 and VCN1 sriov instances support for Arcturus
...
v1: compared to bare-metal: sriov support psp loading VCN firmware; only one
encoding ring would be used in each instance.
v2: keep unchange for bare-metal VCN2.5 hw_init, just add a flag with sriov
and also remove multiple lines.
v3: squash in warning fix
Signed-off-by: Jane Jian <Jane.Jian@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-12-19 10:10:05 -05:00
Jane Jian
b40953c2ba
drm/amdgpu: skip VCN2.5 power gating and clock gating for sriov Arcturus
...
v1: skip gating in serveral called functions by power gating and clock gating
v2: from suggestion, skip setting gate in both set function, which is where
it being called.
Signed-off-by: Jane Jian <Jane.Jian@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-12-18 16:33:26 -05:00
Jane Jian
7daaebfea5
drm/amdgpu: add VCN2.5 sriov start for Arctrus
...
Use MMSCH V1 to finish Memory Controller
programming as well as start MMSCH to do
VCN2.5 initialization.
Signed-off-by: Jane Jian <Jane.Jian@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-12-18 16:33:26 -05:00
Jane Jian
95f1b55b67
drm/amdgpu: add VCN2.5 MMSCH start for Arcturus
...
Use MMSCH to do the initialization since MMSCH
manages VCN2.5 instances and its world switch.
Signed-off-by: Jane Jian <Jane.Jian@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-12-18 16:33:26 -05:00
Leo Liu
21a174f5ad
drm/amdgpu: fix VCN2.x number of irq types
...
The JPEG irq type has been moved to its own structure
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-12-11 15:22:08 -05:00
Leo Liu
4effa8dbc1
drm/amdgpu/vcn2.5: fix the enc loop with hw fini
...
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-11-19 10:12:51 -05:00
Leo Liu
14f43e8f88
drm/amdgpu: move JPEG2.5 out from VCN2.5
...
And clean up the duplicated stuff
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-11-19 10:12:50 -05:00
James Zhu
8047266443
drm/amdgpu/vcn: Enable VCN2.5 encoding
...
After VCN2.5 firmware (Version ENC: 1.1 Revision: 11),
VCN2.5 encoding can work properly.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-25 16:50:10 -04:00
Evan Quan
5bcc92407c
drm/amd/powerplay: enable Arcturus runtime VCN dpm on/off
...
Enable runtime VCN DPM on/off on Arcturus.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-15 15:50:43 -04:00
Leo Liu
d0312d0dca
drm/amdgpu: add code comment in vcn_v2_5_hw_init
...
Add a comment to VCN 2.5 encode ring
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Christian König <christian.koenig@amd.com >
Cc: David (ChunMing) Zhou <David1.Zhou@amd.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: amd-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org
Cc: Gustavo A. R. Silva <gustavo@embeddedor.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-04 08:53:08 -05:00
Leo Liu
fd287c8cd2
drm/amdgpu/vcn: use amdgpu_ring_test_helper
...
Instead of amdgpu_ring_test_ring, so the helper function determines
whether the ring is ready
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Acked-by: Gustavo A. R. Silva <gustavo@embeddedor.com >
Cc: Gustavo A. R. Silva <gustavo@embeddedor.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-04 08:52:53 -05:00
yu kuai
d0580c09c6
drm/amdgpu: remove excess function parameter description
...
Fixes gcc warning:
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c:431: warning: Excess function
parameter 'sw' description in 'vcn_v2_5_disable_clock_gating'
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c:550: warning: Excess function
parameter 'sw' description in 'vcn_v2_5_enable_clock_gating'
Fixes: cbead2bdfc ("drm/amdgpu: add VCN2.5 VCPU start and stop")
Signed-off-by: yu kuai <yukuai3@huawei.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-03 09:11:00 -05:00
Hawking Zhang
bebc076285
drm/amdgpu: switch to new amdgpu_nbio structure
...
no functional change, just switch to new structures
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-09-13 17:11:03 -05:00
Alex Deucher
fa1884f9d8
drm/amdgpu: drop drmP.h from vcn_v2_5.c
...
Unused.
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-31 14:33:41 -05:00
James Zhu
6913848087
drm/amdgpu: use VCN firmware offset for cache window
...
Since we are using the signed FW now, and also using PSP firmware loading,
but it's still potential to break driver when loading FW directly
instead of PSP, so we should add offset.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-30 23:19:28 -05:00
James Zhu
cd1fd7b381
drm/amdgpu: add harvest support for Arcturus
...
Add VCN harvest support for Arcturus
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
James Zhu
fa739f4b06
drm/amdgpu: add multiple instances support for Arcturus
...
Arcturus has dual-VCN. Need add multiple instances support for Arcturus.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
James Zhu
c01b6a1d38
drm/amdgpu: modify amdgpu_vcn to support multiple instances
...
Arcturus has dual-VCN. Need Restruct amdgpu_device::vcn to support
multiple vcns. There are no any logical changes here
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
James Zhu
989b6a0549
drm/amdgpu: add vcn nbio doorbell range setting for 2nd vcn instance
...
add vcn nbio doorbell range setting for 2nd vcn instance
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Leo Liu
530e30fc32
drm/amdgpu: enable the Doorbell support for VCN2.5
...
Including decode, encode, and JPEG decode rings
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Leo Liu
39a5053fb2
drm/amdgpu: add vcn doorbell range function to nbio7.4 (v2)
...
To setup the aperture for VCN2.5
v2: setup vcn doorbells in vcn2.5 hw_init (Alex)
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Leo Liu
8001073708
drm/amdgpu/VCN2.5: set JPEG decode ring functions
...
Also reuse most of the JPEG2.0 decode ring functions
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Leo Liu
e87d5a7a23
drm/amdgpu: add JPEG2.5 HW start and stop
...
JPEG engine initialization and suspend sequences
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Leo Liu
a4767886e5
drm/amdgpu/VCN2.5: set encode ring functions
...
Also reuse most of the VCN2.0 encode ring functions
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
Leo Liu
185a579700
drm/amdgpu/VCN2.5: set decode ring functions
...
Also reuse most of the VCN2.0 decode ring functions
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
Leo Liu
cbead2bdfc
drm/amdgpu: add VCN2.5 VCPU start and stop
...
HW engine initialization and suspend sequences.
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
Leo Liu
28c17d7207
drm/amdgpu: add VCN2.5 basic supports
...
i.e. basic VCN IP SW structures
VCN is the video codec block on the GPU.
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00