Charlene Liu
8434f81802
drm/amd/display: update dccg based on HW delta
...
[why]
update hw dccg based on HW delta, and reuse common src code
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com >
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com >
Acked-by: Wayne Lin <wayne.lin@amd.com >
Signed-off-by: Charlene Liu <Charlene.Liu@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-09-19 15:16:49 -04:00
Aurabindo Pillai
d3dfceb58d
drm/amd/display: Add dependant changes for DCN32/321
...
[Why&How]
This patch adds necessary changes needed in DC files outside DCN32/321
specific tree
v2: squash in updates (Alex)
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-06-03 16:43:38 -04:00
David Galiffi
05d6aea36a
drm/amd/display: Disable physym clock
...
[How & Why]
Disable physym clock when it's not in use.
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Reviewed-by: Eric Yang <Eric.Yang2@amd.com >
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Signed-off-by: David Galiffi <David.Galiffi@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-01-25 18:00:35 -05:00
David Galiffi
0015cce5cf
drm/amd/display: Fix disabling dccg clocks
...
[How & Why]
Updated procedure to match hardware programming guide.
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Reviewed-by: Eric Yang <Eric.Yang2@amd.com >
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Signed-off-by: David Galiffi <David.Galiffi@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-01-25 18:00:35 -05:00
Jake Wang
e7414a1a18
drm/amd/display: Disable hdmistream and hdmichar clocks
...
[Why & How]
Disable hdmistream and hdmichar root clocks when not being used.
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com >
Acked-by: Agustin Gutierrez Sanchez <agustin.gutierrez@amd.com >
Signed-off-by: Jake Wang <haonan.wang2@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-10-19 17:20:28 -04:00
Jake Wang
bda2446257
drm/amd/display: Disable dpstreamclk, symclk32_se, and symclk32_le
...
[Why & How]
Disable dpstreamclk, symclk32_se, and symclk32_le when not in use.
Reviewed-by: Ariel Bernstein <eric.yang2@amd.com >
Acked-by: Agustin Gutierrez Sanchez <agustin.gutierrez@amd.com >
Signed-off-by: Jake Wang <haonan.wang2@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-10-19 17:20:02 -04:00
Jake Wang
e22ad7e338
drm/amd/display: Disable dsc root clock when not being used
...
[Why & How]
Disable root clock for dsc when not being used.
Reviewed-by: Nikola Cornij <Nikola.Cornij@amd.com >
Acked-by: Agustin Gutierrez Sanchez <agustin.gutierrez@amd.com >
Signed-off-by: Jake Wang <haonan.wang2@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-10-19 17:19:24 -04:00
Alex Deucher
8fe44c080a
drm/amdgpu/display: fold DRM_AMD_DC_DCN3_1 into DRM_AMD_DC_DCN
...
No need for a separate flag now that DCN3.1 is not in bring up.
Fold into DRM_AMD_DC_DCN like previous DCN IPs.
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-06-22 16:51:45 -04:00
Wesley Chalmers
39a1355fef
drm/amd/display: Add interface for ADD & DROP PIXEL Registers
...
[WHY]
HW has handed down a new sequence that requires access to these
registers.
v2: squash in DCN3.1 fixes (Alex)
Signed-off-by: Wesley Chalmers <Wesley.Chalmers@amd.com >
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com >
Acked-by: Stylon Wang <stylon.wang@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-06-08 12:22:42 -04:00
Wesley Chalmers
b4d56e0c50
drm/amd/display: Add Interface to set FIFO ERRDET SW Override
...
[WHY]
HW has handed down a new sequence which requires access to the FIFO
ERRDET SW Override register.
Signed-off-by: Wesley Chalmers <Wesley.Chalmers@amd.com >
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com >
Acked-by: Stylon Wang <stylon.wang@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-06-08 12:20:57 -04:00
Nicholas Kazlauskas
d8a2b4f3a9
drm/amd/display: Add DCN3.1 DCCG
...
Add programming of the DCCG (Display Controller Clock Generator) block:
HW Blocks:
+--------+
| DCCG |
+--------+
Acked-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2021-06-04 16:03:26 -04:00
Alex Deucher
20f2ffe504
drm/amdgpu: fold CONFIG_DRM_AMD_DC_DCN3* into CONFIG_DRM_AMD_DC_DCN (v3)
...
Avoids confusion in configurations.
v2: fix build when CONFIG_DRM_AMD_DC_DCN is disabled
v3: rebase on latest code
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com > (v1)
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-11-04 17:11:37 -05:00
Bhawanpreet Lakha
2a3a0d5d79
drm/amd/display: Add DCN3 DCCG
...
Add programming of the DCCG (Display Controller Clock Generator)
block:
HW Blocks:
+--------+ +--------+
| DIO | | DCCG |
+--------+ +--------+
Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-07-01 01:59:14 -04:00
Wesley Chalmers
799c5b9cb9
drm/amd/display: Revert fixup DPP programming sequence
...
[WHY]
This change was made because DTO programming was double-buffered, which
is itself an issue. After deactivating the DTO double buffer, this
change becomes unnecessary.
Signed-off-by: Wesley Chalmers <Wesley.Chalmers@amd.com >
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com >
Acked-by: Anthony Koo <Anthony.Koo@amd.com >
Acked-by: Leo Li <sunpeng.li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-03 09:10:51 -05:00
Jun Lei
f7f38ffef5
drm/amd/display: fixup DPP programming sequence
...
[why]
DC does not correct account for the fact that DPP DTO is double buffered while DPP ref is not.
This means that when DPP ref clock is lowered when it's "safe to lower", the DPP blocks that need
an increased divider will temporarily have actual DPP clock drop below minimum while DTO
double buffering takes effect. This results in temporary underflow.
[how]
To fix this, DPP clock cannot be programmed atomically, but rather be broken up into the DTO and the
ref. Each has a separate "safe to lower" logic. When doing "prepare" the ref and dividers may only increase.
When doing "optimize", both may decrease. It is guaranteed that we won't exceed max DPP clock because
we do not use dividers larger than 1.
Signed-off-by: Jun Lei <Jun.Lei@amd.com >
Reviewed-by: Eric Yang <eric.yang2@amd.com >
Acked-by: Leo Li <sunpeng.li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-08-15 10:53:43 -05:00
Harry Wentland
fcee01b9f8
drm/amd/display: Add DCN2 clk mgr
...
Adds support for handling of clocking relevant to the DCN2 block,
including programming of the DCCG (Display Controller Clock Generator)
block:
HW Blocks:
+--------+ +--------+
| DIO | | DCCG |
+--------+ +--------+
Signed-off-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-06-21 18:59:34 -05:00