8411f7dc5f
drm/amdgpu/vcn:Always check all vcn ring status during dpg mode stop
...
Always check all vcn ring status during dpg mode stop, it will help
identify which vcn ring may cause the issue.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-12-18 17:38:43 -05:00
e0d460a4d2
drm/amdgpu/vcn:Update ring point to JPEG before init JPEG wptr
...
It is a bug fix.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-12-18 17:38:37 -05:00
5d65cab6c6
drm/amdgpu/vcn:Always gate vcn block during hw finishing
...
Under Dynamic Power Gate mode, UVD_STATUS needn't be checked.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-12-18 17:38:24 -05:00
f9872f100a
drm/amdgpu/vcn: Update vcn.cur_state during suspend
...
Replace vcn_v1_0_stop with vcn_v1_0_set_powergating_state during suspend,
to keep adev->vcn.cur_state update. It will fix VCN S3 hung issue.
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 >
2018-12-18 17:38:24 -05:00
34955e038a
drm/amdgpu: Modify the argument of emit_ib interface
...
use the point of struct amdgpu_job as the function
argument instand of vmid, so the other members of
struct amdgpu_job can be visit in emit_ib function.
v2: add a wrapper for getting the VMID
add the job before the ib on the parameter list.
v3: refine the wrapper name
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:50 -05:00
c66ed765a0
drm/amdgpu: Retire amdgpu_ring.ready flag v4
...
Start using drm_gpu_scheduler.ready isntead.
v3:
Add helper function to run ring test and set
sched.ready flag status accordingly, clean explicit
sched.ready sets from the IP specific files.
v4: Add kerneldoc and rebase.
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:23 -05:00
8e16695b4e
drm/amdgpu/vcn:Fix uninitialized symbol error
...
ret_code should be initialized with 0. The check of read/write
ptr should be activate when UVD_POWER_STATUS_TILES is off.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-17 16:13:07 -05:00
9fc9c9b83a
drm/amdgpu/vcn:Update SPG mode UVD status clear
...
Update Static Power Gate mode UVD status clear
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:55:59 -05:00
10b66b2c65
drm/amdgpu/vcn:Set VCPU busy after gate power during vcn SPG start
...
Set VCPU busy after gate power during vcn Static Power Gate start
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:55:52 -05:00
3d904ee4c3
drm/amdgpu/vcn:Apply new UMC enable for VNC DPG mode
...
Apply new UMC enable for VNC Dynamic Power Gate mode
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:55:44 -05:00
ad7187bfe1
drm/amdgpu/vcn:Remove SPG mode unused steps during vcn start
...
Remove Sitatic Power Gate mode unused steps during vcn start
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:55:37 -05:00
3d022a01fe
drm/amdgpu/vcn:Add SPG mode Register XX check
...
Add Static Power Gate mode Register XX check
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:55:30 -05:00
a1584957ff
drm/amdgpu/vcn:Move SPG mode mc resume after MPC control
...
Move Static Power Gate mode mc resume after MPC control
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:55:23 -05:00
92bbdaeb91
drm/amdgpu/vcn:Update SPG mode VCN global tiling
...
Update Static Power Gate mode VCN global tiling
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:55:16 -05:00
298dc39a3a
drm/amdgpu/vcn:Update SPG mode VCN memory control
...
Update Static Power Gate mode VCN memory control
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:55:09 -05:00
f5c5451fef
drm/amdgpu/vcn:Apply new UMC enable for VNC DPG mode start
...
Apply new UMC enable for VNC Dynamic Power Gate mode start
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:55:01 -05:00
fe146873f5
drm/amdgpu/vcn:Remove DPG mode unused steps during vcn start
...
Remove Dynamic Power Gate mode unused steps during VCN start
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:54:55 -05:00
368d0dd81a
drm/amdgpu/vcn:Add DPG mode Register XX check
...
Add Dynamic Power Gate mode Register XX check
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:54:47 -05:00
abd2d47c51
drm/amdgpu/vcn:Update DPG mode VCN global tiling registers
...
Update Dynamic Power Gate mode VCN global tiling registers
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:54:40 -05:00
6747c2021c
drm/amdgpu/vcn:Update DPG mode VCN memory control
...
Update Dynamic Power Gate mode VCN memory control
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:54:33 -05:00
cce9d55585
drm/amdgpu/vcn:Reduce unnecessary local variable
...
Reduce unnecessary local variable.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:54:25 -05:00
15296db706
drm/amdgpu/vcn:Add ring W/R PTR check for VCN DPG mode stop
...
Add ring write/read pointer check for VCN dynamic power gate mode
stop,to make sure that no job is left in ring before turn off DPG mode.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:54:17 -05:00
5866fb929c
drm/amdgpu/vcn:Update latest spg mode stop for VCN
...
Update latest static power gate mode stop function for VCN
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:54:09 -05:00
5327f025dc
drm/amdgpu/vcn:Update latest UVD_MPC register for VCN
...
Update latest UVD_MPC register for VCN. Use defined
macro to replace value for readability.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-12 12:54:02 -05:00
825da4d925
drm/amdgpu/vcn:Correct VCN cache window definition
...
Correct VCN cache window definition. The old one
is reused from UVD, and it is not fully correct.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-09 17:07:39 -05:00
b17c524922
drm/amdgpu/vcn:Replace value with defined macro
...
Replace value with defined macro to make
code more readable
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-09 17:07:33 -05:00
2dc4aa523b
drm/amdgpu/vcn:fix dpg pause mode hang issue
...
Use mmUVD_SCRATCH2 tracking decode write point.
It will help avoid dpg pause mode hang issue.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-09 17:07:26 -05:00
9332ddc915
drm/amdgpu/vcn:Remove unused code
...
The following WREG32_SOC15_DPG_MODE will overwrite register
mmUVD_CGC_CTRL. This code can be removed.
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 >
2018-10-09 17:07:19 -05:00
63e9bb1d98
drm/amdgpu:Add DPG mode support for vcn 1.0
...
Add DPG mode start/stop/mc_resume/clock_gating to
support vcn 1.0 DPG mode.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-09-26 21:09:24 -05:00
c95f75f4e8
drm/amdgpu:No action when VCN PG state is unchanged
...
When VCN PG state is unchanged, it is unnecessary to reset power
gate state
Signed-off-by: James Zhu <James.Zhu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-09-26 21:09:12 -05:00
7ea34ea3e8
drm/amdgpu: fix emit frame size and comments for jpeg
...
Fix vcn jpeg ring emit fence size in dword, and fix the naming in comments.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Leo Liu <leo.liu at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-08-27 11:10:11 -05:00
36a12bd0b4
drm/amdgpu: add emit trap for vcn jpeg
...
Add emit trap command in jpeg emit fence call.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Leo Liu <leo.liu at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-08-27 11:10:11 -05:00
7f31077cad
drm/amdgpu: enable system interrupt for jrbc
...
Enable system interrupt for jrbc during engine starting time.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Acked-by: Leo Liu <leo.liu at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-08-27 11:10:10 -05:00
eb4f699920
drm/amdgpu: add emit reg write reg wait for vcn jpeg
...
The emit_reg_write_reg_wait function was not assigned for vcn jpeg.
This patch adds it back.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Leo Liu <leo.liu at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-08-27 11:10:09 -05:00
4d77c0f676
drm/amdgpu:add VCN booting with firmware loaded by PSP
...
Setup psp firmware loading for VCN, and make VCN block
booting from tmr mac address.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Likun Gao <Likun.Gao@amd.com >
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2018-08-13 17:19:46 -05:00
44a99b65fc
drm/amd: Use newly added interrupt source defs for SOC15.
...
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-07-13 14:45:43 -05:00
d02f16058e
drm/amdgpu: move cache window setup after power and clock resume
...
To make register read/write reliable
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-07-10 14:18:47 -05:00
6173040f16
drm/amdgpu: add vcn jpeg ib test
...
Add an ib test for vcn jpeg.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:38 -05:00
b1d3760645
drm/amdgpu: add vcn jpeg ring test
...
Add a ring test for vcn jpeg.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:38 -05:00
b7fe681e35
drm/amdgpu: add patch to jpeg ring
...
Add patch commands to jepg ring by calling set patch ring function.
v2: remove modifications on max_dw, buf_mask and ptr_mask, since we are
now using extra_dw for jpeg ring.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:37 -05:00
c8c1a1d2ef
drm/amdgpu: define and add extra dword for jpeg ring
...
Define extra dword for jpeg ring. Jpeg ring will allocate extra dword to store
the patch commands for fixing the known issue.
v2: dropping extra_dw for rings other than jpeg.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:37 -05:00
8a998052f2
drm/amdgpu: implement patch for fixing a known bug
...
Implement a patch to maunally reset read pointer
v2: using ring assignment instead of amdgpu_ring_write. adding comments
for each steps in the patch function.
v3: fixing a typo bug.
v4: fixing a bug in v3.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:36 -05:00
d2314b48d6
drm/amdgpu: initialize vcn jpeg ring
...
Add implementations for vcn jpeg ring initialization
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:36 -05:00
59dd2b883f
drm/amdgpu: add vcn jpeg irq support
...
Add vcn jpeg irq support.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:36 -05:00
e612bcc3ab
drm/amdgpu: set jpeg ring functions
...
Set all vcn jpeg ring function pointers.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:35 -05:00
221f36c460
drm/amdgpu: implement jpeg ring functions
...
Implement all ring functions needed for jpeg ring
v2: remove unnecessary mem read function.
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:35 -05:00
adea72c504
drm/amdgpu: vcn_v1_0_is_idle() can be static
...
Fixes: 9b4c412a654c ("drm/amdgpu: Add static CG control for VCN on RV")
Signed-off-by: kbuild test robot <fengguang.wu@intel.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-05-25 11:02:04 -05:00
22cc6c5e19
drm/amdgpu: Add runtime VCN PG support
...
Enable support for dynamically powering up/down VCN on demand.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-05-24 10:07:52 -05:00
d58c5d9a42
drm/amdgpu: Add VCN static PG support on RV
...
Implement static powergating suport on VCN.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-05-24 10:07:51 -05:00
c9dc5abb66
drm/amdgpu: Add static CG control for VCN on RV
...
Implement proper static clockgating support for VCN.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-05-24 10:07:40 -05:00