Alex Deucher
f3e4a07fb7
drm/amdgpu: fix handling of irq domains on soc15 and newer GPUs
...
We need to take into account the client id otherwise we'll end
up sending generic events for any src id that is registered.
We only support irq domains on pre-soc15 parts so client is
always legacy.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:07:30 -05:00
Hawking Zhang
4a0a0d6dd1
drm/amdgpu: de-initialize software ih ring
...
tear down software ih ring and its state.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:07:24 -05:00
Hawking Zhang
7f03b148d5
drm/amdgpu: set ih soft ring enabled flag for vega and navi
...
software ih ring is enabled in vega10 and navi
ih block by default.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:07:18 -05:00
Hawking Zhang
f44a6c76f1
drm/amdgpu: enable software ih ring for vega20 ih block
...
software ih ring will be used as a workaround
in case hardware ih ring 1 and ring 2 don't work
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:07:12 -05:00
Evan Quan
a2b6df4fd6
drm/amd/pm: support overdrive vddgfx offset setting(V2)
...
This is supported by Sienna Cichlid, Navy Flounder and Dimgrey
Cavefish. For these ASICs, the target voltage calculation can be
illustrated by "voltage = voltage calculated from v/f curve +
overdrive vddgfx offset".
V2: limit the smu_version check for Sienna Cichlid only
Here are some sample usages about this new OD setting:
1. Check current vddgfx offset setting by
cat /sys/class/drm/card0/device/pp_od_clk_voltage
...
...
OD_VDDGFX_OFFSET:
0mV
...
...
2. Set new vddgfx offset by
echo "vo 10" > /sys/class/drm/card0/device/pp_od_clk_voltage
cat /sys/class/drm/card0/device/pp_od_clk_voltage
...
...
OD_VDDGFX_OFFSET:
10mV
...
...
3. Commit the new setting by
echo "c" > /sys/class/drm/card0/device/pp_od_clk_voltage
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:07:03 -05:00
Evan Quan
37a58f6915
drm/amd/pm: enable Sienna Cichlid overdrive support
...
Enable Sienna Cichlid gfxclk/uclk overdrive support.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:06:57 -05:00
Evan Quan
aa75fa34e0
drm/amd/pm: populate Sienna Cichlid default overdrive table settings
...
Populate the bootup overdrive table settings.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:06:50 -05:00
Jinzhou Su
eefdf04710
drm/amd/pm: Add interface for request WGPs
...
When user specifies a reduced WGP(CU) config via disalbe_cu module
parameter, this does not disable the clocks which uses additional
power. This interface send active WGP number to SMU and SMU will
cooperate with RLC to power off relative WGPs.
v2: Add request active WGPs in Vangogh smu post init.
Signed-off-by: Jinzhou.Su <Jinzhou.Su@amd.com >
Reviewed-by: Jiansong Chen <Jiansong.Chen@amd.com >
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:06:42 -05:00
Ryan Taylor
d8a0b8dd69
drm/amd/pm: add pptable_funcs documentation (v3)
...
Documents the hooks in struct pptable_funcs.
v2: Improved documentation accuracy.
v3: Improved set_default_od_settings() definition.
Signed-off-by: Ryan Taylor <Ryan.Taylor@amd.com >
Reviewed-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:06:32 -05:00
Hawking Zhang
9f18985dda
drm/amdgpu: don't create ih ring 1 and ring 2 for APU
...
APUs don't support ih ring 1 and ring 2.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:06:22 -05:00
Hawking Zhang
26f2daa420
drm/amdgpu: drop ih reroute function from psp v11
...
For all the ASICs that integrate psp v11, vega20
doesn't support ih reroute. arcturus and later will
allow kernel driver to program ih_cfg_index/data
through mmio directly. navi1x and onwards will only
support grb_ih_set command in sriov configuration.
psp_v11_0_reroute_ih is not needed any more.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:06:15 -05:00
Hawking Zhang
95c0c25764
drm/amdgpu: drop IH_CHICKEN programming from vega10 ih block
...
except for RENOIR, it is not correct to have
IH_CHICKEN programming in vega10 ih block.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:06:08 -05:00
Hawking Zhang
05bd7e74ec
drm/amdgpu: correct ih_chicken programming for vega10/vega20 ih blocks
...
IH_CHICKEN.MC_SPACE_FBPA_ENABLE field is only
valid when IH_RB_CNTL.MC_SPACE is programed to 0x3,
frame buffer physical address. For both bus address
and gpu virtual address, don't program MC_SPACE_FBPA_ENABLE
field
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:06:01 -05:00
Hawking Zhang
580a6d2fac
drm/amdgpu: retire the vega20 code path from navi10 ih block
...
already switched to vega20 ih block for vega20
and arcturus. no need to add vega20 support in
navi10 ih block
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:05:56 -05:00
Hawking Zhang
320a2e0c72
drm/amdgpu: switch to vega20 ih block for vega20/arcturus
...
replace navi10 ih block with vega20 ih block for
vega20 and arcturus
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:05:49 -05:00
Hawking Zhang
726e5b3799
drm/amdgpu: reroute vmc/utcl2 interrupts to ih ring 1 for arcturus
...
in case page faults overwhlem the interrupt handlers
and the driver lost the valuable interrupt information
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:05:42 -05:00
Hawking Zhang
bebd4c79a4
drm/amdgpu: create vega20 ih blocks
...
vega20 ih blocks will be used for vega20/arcturus
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:05:35 -05:00
Hawking Zhang
502173ac23
drm/amdgpu: add osssys v4_2 ip headers (v2)
...
v1: add osssys v4_2 register offset and shift masks
header files. vega20 and arcturus will refer to
these ip headers. (Hawking)
v2: clean up osssys v4_2 registers (Alex)
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2020-12-23 15:05:20 -05:00
Hawking Zhang
4083828178
drm/amdgpu: switch to common decode iv helper
...
The iv format is the same for all the soc15 adpater
and onwards and can share a common function to
decode iv.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:05:13 -05:00
Hawking Zhang
78bd101cdf
drm/amdgpu: add a helper function to decode iv
...
since from soc15, all the chips share the same
iv format. create a common helper to decode iv
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:05:07 -05:00
Hawking Zhang
2d2fbf685c
drm/amdgpu: use cached ih rb control reg offsets for navi10
...
all the ih rb control register offsets are cached
at the beginning of navi10 ih_sw_init.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:05:02 -05:00
Hawking Zhang
fc4aa19f55
drm/amdgpu: switch to ih_enable_ring for navi10
...
use navi10_ih_enable_ring to enable all the
available ring buffers for navi1x and onwards
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:56 -05:00
Hawking Zhang
6e7b7c7f3c
drm/amdgpu: switch to ih_toggle_interrupts for navi10
...
replace ih_enable_interrupts and ih_disable_interrupts
with ih_toggle_interrupts
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:50 -05:00
Hawking Zhang
a362976bf2
drm/amdgpu: switch to ih_init_register_offset for navi10
...
Initialize ih control registers offset through helper
function navi10_ih_init_register_offset.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:44 -05:00
Hawking Zhang
1ce6940e2a
drm/amdgpu: add helper to toggle ih ring interrupts for navi10
...
navi10_ih_toggle_ring_interrupts will be used to
enable/disable an ih ring interrupts for navi1x
and onwards
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:38 -05:00
Hawking Zhang
1514cb7d63
drm/amdgpu: add helper to enable an ih ring for navi10
...
navi10_ih_enable_ring will be used to enable an
ih ring for navi1x and onwards
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:32 -05:00
Hawking Zhang
5212d1630b
drm/amdgpu: add helper to init ih ring regs for navi10
...
navi10_ih_init_register_offset will be used to init
register offset for all the available ih rings
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:26 -05:00
Hawking Zhang
2601fa6464
drm/amdgpu: correct ih cg programming for vega10 ih block
...
vega10/12 and RAVEN don't support soft override
ih_buffer_mem_clk.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:20 -05:00
Hawking Zhang
554bdbf6de
drm/amdgpu: use cached ih rb control reg offsets for vega10
...
all the ih rb control register offsets are cached
at the beginning of ih_sw_init.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:14 -05:00
Hawking Zhang
21822b6a96
drm/amdgpu: switch to ih_enable_ring for vega10
...
use vega10_ih_enable_ring to enable all the
available ring buffers for vega10/12, RAVEN
series and RENOIR APUs
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:08 -05:00
Hawking Zhang
fd95e1b104
drm/amdgpu: switch to ih_toggle_interrupts for vega10
...
replace ih_enable_interrupts and ih_disable_interrupts
with ih_toggle_interrupts
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:04:02 -05:00
Hawking Zhang
f0594717f4
drm/amdgpu: switch to ih_init_register_offset for vega10
...
Initialize ih control registers offset through helper
function vega10_ih_init_register_offset.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:03:56 -05:00
Hawking Zhang
c73750322a
drm/amdgpu: add helper to toggle ih ring interrupts for vega10
...
vega10_ih_toggle_ring_interrupts will be used to
enable/disable an ih ring interrupts for vega10/12,
RAVEN series and RENOIR APUs
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:03:50 -05:00
Hawking Zhang
ffa02126e0
drm/amdgpu: add helper to enable an ih ring for vega10
...
vega10_ih_enable_ring will be used to enable an
ih ring for vega10/12, RAVEN series and RENOIR.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:03:45 -05:00
Hawking Zhang
1ebb4841f0
drm/amdgpu: add helper to init ih ring regs for vega10
...
vega10_ih_init_register_offset will be used to init
register offset for all the available ih rings
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:03:37 -05:00
Hawking Zhang
3c06aaffb0
drm/amdgpu: add amdgpu_ih_regs structure
...
amdgpu_ih_regs holds all the registers for
an ih ring
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Dennis Li <Dennis.Li@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:03:21 -05:00
Stylon Wang
a135a1b4c4
drm/amd/display: Fix memory leaks in S3 resume
...
EDID parsing in S3 resume pushes new display modes
to probed_modes list but doesn't consolidate to actual
mode list. This creates a race condition when
amdgpu_dm_connector_ddc_get_modes() re-initializes the
list head without walking the list and results in memory leak.
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=209987
Acked-by: Harry Wentland <harry.wentland@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com >
Signed-off-by: Stylon Wang <stylon.wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2020-12-23 15:03:15 -05:00
Alex Deucher
505199a3b7
drm/amdgpu: Fix a copy-pasta comment
...
This is not a scsi driver.
Reviewed-by: Nirmoy Das <nirmoy.das@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:03:12 -05:00
Alex Deucher
05211e7fbb
drm/amdgpu: only set DP subconnector type on DP and eDP connectors
...
Fixes a crash in drm_object_property_set_value() because the property
is not set for internal DP ports that connect to a bridge chips
(e.g., DP to VGA or DP to LVDS).
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=210739
Fixes: 65bf2cf95d ("drm/amdgpu: utilize subconnector property for DP through atombios")
Tested-By: Kris Karas <bugs-a17@moonlit-rail.com >
Cc: Oleg Vasilev <oleg.vasilev@intel.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org # 5.10.x
2020-12-23 15:03:08 -05:00
Evan Quan
e75a9db3c5
drm/amd/pm: bump Sienna Cichlid smu_driver_if version to match latest pmfw
...
This can suppress the annoying but unharmful prompts.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:03:01 -05:00
Josip Pavic
110b055b28
drm/amd/display: add getter routine to retrieve mpcc mux
...
[Why & How]
Add function to identify which MPCC is providing input to a specified OPP
Signed-off-by: Josip Pavic <Josip.Pavic@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:02:55 -05:00
Jake Wang
4aa9d658d2
drm/amd/display: always program DPPDTO unless not safe to lower
...
[Why]
We defer clock updates to after pipes have been programmed. In
some instances we use DPPCLK that have been previously set to be
"unused". This results in a brief window of time where underflow
could occur.
[How]
During prepare bandwidth allow rn_update_clocks_update_dpp_dto
to check each instance and compare previous clock to new clock.
If new clock is higher than previous clock, program DPPDTO.
Signed-off-by: Jake Wang <haonan.wang2@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:02:47 -05:00
Yongqiang Sun
c277925cca
drm/amd/display: [FW Promotion] Release 0.0.47
...
- restore lvtma_pwrseq_delay2 from vbios integrated info table
- restore MVID/NVID after power up.
- Enable timer wake up mask when enable timer interrupt.
Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:02:37 -05:00
Jake Wang
1e7445dcc1
drm/amd/display: updated wm table for Renoir
...
[Why]
For certain timings, Renoir may underflow due to sr exit latency
being too slow.
[How]
Updated wm table for renoir.
Signed-off-by: Jake Wang <haonan.wang2@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:02:30 -05:00
Sung Lee
73d48f0851
drm/amd/display: Acquire DSC during split stream for ODM only if top_pipe
...
[WHY]
DSC should only be acquired per OPP. Therefore, DSC should only
be acquired for the top_pipe when ODM is enabled.
Not doing this check may lead to acquiring more DSC's than needed
when doing MPO + ODM Combine.
[HOW]
Only acquire DSC if pipe is top_pipe.
Signed-off-by: Sung Lee <sung.lee@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:02:24 -05:00
Aric Cyr
a71e5529d2
drm/amd/display: Multi-display underflow observed
...
[Why]
FP2 programming not happening when topology changes occur with multiple
displays.
[How]
Ensure FP2 is programmed whenever global sync changes occur but wait for
VACTIVE first to avoid underflow.
Signed-off-by: Aric Cyr <aric.cyr@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:02:18 -05:00
Eryk Brol
cbac53f7fc
drm/amd/display: Remove unnecessary NULL check
...
[Why]
new_crtc_state is already dereferenced earlier in the function
[How]
Remove the check
Signed-off-by: Eryk Brol <eryk.brol@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:02:12 -05:00
Michael Strauss
e82632356d
drm/amd/display: Update RN/VGH active display count workaround
...
[WHY]
Virtual signals were previously counted as a workaround to S0i2 hang
which is fixed on Renoir. This blocks S0i3 diags testing.
[HOW]
Stop counting virtual signals as S0i2 hang is fixed on Renoir.
Signed-off-by: Michael Strauss <michael.strauss@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:02:06 -05:00
Yongqiang Sun
cf7fc75523
drm/amd/display: change SMU repsonse timeout to 2s.
...
[Why]
there is some garbage showing up during reboot test.
Reason:
SMU might handle display driver msg defered and driver will send
next msg to SMU after 10ms timeout, once SMU FW handle previous msg,
parameters are changed to next one, which result in a wrong value be programmed.
[How]
Extend timeout to 2s so SMU will have enough time to handle driver msg.
Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:01:53 -05:00
Rizvi
e8e91f9395
drm/amd/display: gradually ramp ABM intensity
...
[Why]
Need driver to pass values of backlight ramp start and ramp reduction so
that intensity can be ramped down appropriately.
[How]
Using abm_parameters structure to get these values from driver.
Signed-off-by: Rizvi <syerizvi@amd.com >
Acked-by: Bindu Ramamurthy <bindu.r@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-12-23 15:01:47 -05:00