Rodrigo Siqueira
64f991590f
drm/amd/display: Fix a compilation failure on PowerPC caused by FPU code
...
We got a report from Stephen/Michael that the PowerPC build was failing
with the following error:
ld: drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.o uses hard float, drivers/gpu/drm/amd/display/dc/dcn30/dcn30_optc.o uses soft float
ld: failed to merge target specific data of file drivers/gpu/drm/amd/display/dc/dcn30/dcn30_optc.o
This error happened because of the function optc3_set_vrr_m_const. This
function expects a double as a parameter in a code that is not allowed
to have FPU operations. After further investigation, it became clear
that optc3_set_vrr_m_const was never invoked, so we can safely drop this
function and fix the ld issue.
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Melissa Wen <mwen@igalia.com >
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au >
Reported-by: Michael Ellerman <mpe@ellerman.id.au >
Tested-by: Michael Ellerman <mpe@ellerman.id.au >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-29 15:24:38 -04:00
Maíra Canal
2182cb7029
drm/amd/display: Remove unused struct freesync_context
...
All references to struct freesync_context were removed, so remove the
struct freesync_context itself and its entry on struct dc_stream_state.
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Signed-off-by: Maíra Canal <mairacanal@riseup.net >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:20:27 -04:00
Yang Li
53bd83dfff
drm/amd/display: remove unneeded semicolon
...
Eliminate the following coccicheck warning:
./drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c:2344:67-68: Unneeded semicolon
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:16 -04:00
Dan Carpenter
06ac561fb0
drm/amd/display: fix signedness bug in execute_synaptics_rc_command()
...
The "ret" variable needs to be signed for the error handling to work.
Fixes: 2ca97adccd ("drm/amd/display: Add Synaptics Fifo Reset Workaround")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:16 -04:00
Jiapeng Chong
e3b0079be8
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1372 dp_dsc_clock_en_read() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1478 dp_dsc_clock_en_write() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1563 dp_dsc_slice_width_read() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1667 dp_dsc_slice_width_write() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1752 dp_dsc_slice_height_read() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1856 dp_dsc_slice_height_write() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1937 dp_dsc_bits_per_pixel_read() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:2038 dp_dsc_bits_per_pixel_write() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:2117 dp_dsc_pic_width_read() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:2178 dp_dsc_pic_height_read() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:2254 dp_dsc_chunk_size_read() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:2330 dp_dsc_slice_bpg_offset_read() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:16 -04:00
Jiapeng Chong
66bd94debe
drm/amd/display: Clean up some inconsistent indenting
...
Clean up some inconsistent indenting, replace sizeof(x) / sizeof((x)[0]))
with ARRAY_SIZE(x).
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/dcn30_fpu.c:185 optc3_fpu_set_vrr_m_const() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/dcn30_fpu.c:355 dcn30_fpu_set_mcif_arb_params() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/dcn30_fpu.c:384 dcn30_fpu_calculate_wm_and_dlg() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/dcn30_fpu.c:390 dcn30_fpu_calculate_wm_and_dlg() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:16 -04:00
Jiapeng Chong
1be3188a6d
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn303/dcn303_fpu.c:205 dcn303_fpu_update_bw_bounding_box() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn303/dcn303_fpu.c:355 dcn303_fpu_init_soc_bounding_box() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:16 -04:00
Jiapeng Chong
1422ca01be
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_util_32.c:713 dml32_CalculateSwathWidth() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:16 -04:00
Jiapeng Chong
4557489e03
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_rq_dlg_calc_32.c:51 dml32_rq_dlg_get_rq_reg() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_rq_dlg_calc_32.c:68 dml32_rq_dlg_get_rq_reg() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_rq_dlg_calc_32.c:220 dml32_rq_dlg_get_dlg_reg() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_rq_dlg_calc_32.c:224 dml32_rq_dlg_get_dlg_reg() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_rq_dlg_calc_32.c:235 dml32_rq_dlg_get_dlg_reg() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_rq_dlg_calc_32.c:240 dml32_rq_dlg_get_dlg_reg() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
931fa55b2f
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_hwseq.c:1728 dcn20_program_front_end_for_ctx() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
64f857b547
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp_cm.c:450 dpp20_get_blndgam_current() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp_cm.c:543 dpp20_get_shaper_current() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
292956cfd9
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_mpc.c:305 mpc20_get_ogam_current() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
fbad6c418e
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dwb.c:104 dwb2_enable() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
9ced2e492b
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_optc.c:186 optc3_set_dsc_config() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
e3b2bbb33e
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_mpc.c:116 mpc3_get_ogam_current() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_mpc.c:445 mpc3_get_shaper_current() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
afb185008d
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_dpp.c:724 dpp3_get_blndgam_current() warn: inconsistent indenting.
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_dpp.c:823 dpp3_get_shaper_current() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
980e09e8b7
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_dpp_cm.c:67 dpp30_get_gamcor_current() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
05381583a1
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c:726 dcn31_clk_mgr_construct() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
203dc77786
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c:655 dcn315_clk_mgr_construct() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
84e2fd6494
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c:683 dcn316_clk_mgr_construct() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
ed63b7cf2d
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c:107 dcn201_update_clocks() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
fcac1ac7f1
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c:716 dcn314_clk_mgr_construct() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
3f5a3881f1
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn32/dcn32_mpc.c:306 mpc32_get_shaper_current() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
Jiapeng Chong
8b3120dfc1
drm/amd/display: Clean up some inconsistent indenting
...
No functional modification involved.
smatch warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn32/dcn32_hwseq.c:910 dcn32_init_hw() warn: inconsistent indenting.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:15 -04:00
wangjianli
aa316247c7
drm/amdgpu/dc/dce: fix repeated words in comments
...
Delete the redundant word 'in'.
Signed-off-by: wangjianli <wangjianli@cdjrlc.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-28 16:05:14 -04:00
Rodrigo Siqueira
1b54a0121d
drm/amd/display: Reduce stack size in the mode support function
...
When we use the allmodconfig option we see the following error:
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_32.c: In function 'dml32_ModeSupportAndSystemConfigurationFull':
drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_32.c:3799:1: error: the frame size of 2464 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
3799 | } // ModeSupportAndSystemConfigurationFull
This commit fixes this issue by moving part of the mode support
operation from ModeSupportAndSystemConfigurationFull to a dedicated
function.
Cc: Harry Wentland <harry.wentland@amd.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Aurabindo Pillai <aurabindo.pillai@amd.com >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Tested-by: Stephen Rothwell <sfr@canb.auug.org.au >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:23:30 -04:00
Anthony Koo
d58715704c
drm/amd/display: 3.2.196
...
This version brings along following fixes:
- Copy crc_skip_count when duplicating CRTC state
- Add debug option for idle optimizations on cursor updates
- Disable MPC split for DCN32/321
- Add missing ODM 2:1 policy logic
- Update DCN32 and DCN321 SR latencies
- Add reinstate dram in the FPO logic
- Add dc_ctx to link_enc_create() parameters
- Cache cursor when cursor exceeds 64x64
- Add support for manual DMUB FAMS trigger
- Fix dpstreamclk programming
- Add missing AUDIO_DTO_SEL reg field
- Add OTG/ODM functions
- Use correct clock source constructor for DCN314
- Use correct DTO_SRC_SEL for 128b/132b encoding
- Add pixel rate div calcs and programming
- Remove FPU flags from DCN30 Makefile
- Create patch bounding box function for isolate FPU
- Move mclk calculation function to DML
- Remove FPU operations from dcn201 resources
- Fallback to SW cursor if SubVP + cursor too big
- Drop unnecessary FPU flags on dcn302 files
- Reboot while unplug hdcp enabled dp from mst hub
- Reset pipe count when iterating for DET override
- Calculate MALL cache lines based on Mblks required
- Fix two MPO videos in single display ODM combine mode
- Guard against zero memory channels
- Updates SubVP + SubVP DRR cases updates
- Fix OPTC function pointers for DCN314
- Add enable/disable FIFO callbacks to stream setup
- Avoid MPC infinite loop
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Anthony Koo <anthony.koo@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:23:05 -04:00
Leo Li
c13423c63f
drm/amd/display: Copy crc_skip_count when duplicating CRTC state
...
[Why]
crc_skip_count is used to track how many frames to skip to allow the OTG
CRC engine to "warm up" before it outputs correct CRC values.
Experimentally, this seems to be 2 frames.
When duplicating CRTC states, this value was not copied to the
duplicated state. Therefore, when this state is committed, we will
needlessly wait 2 frames before outputing CRC values. Even if the CRC
engine is already warmed up.
[How]
Copy the crc_skip_count as part of dm_crtc_duplicate_state.
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Leo Li <sunpeng.li@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:18:08 -04:00
Alvin Lee
b1babe8623
drm/amd/display: Add debug option for idle optimizations on cursor updates
...
For optimizations and debug purposes we added an option to exit idle
operations on cursor updates.
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Alvin Lee <Alvin.Lee2@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:18:02 -04:00
Alvin Lee
3facca7489
drm/amd/display: Disable MPC split for DCN32/321
...
Due to CRB, no need to rely on MPC splitting to maximize use of DET
anymore.
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Alvin Lee <Alvin.Lee2@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:17:55 -04:00
Samson Tam
ffccfdbab1
drm/amd/display: Add missing ODM 2:1 policy logic
...
Phantom pipes must use the same configuration used in main pipes. This
commit add this check.
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Samson Tam <Samson.Tam@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:17:49 -04:00
Alvin Lee
493af96d61
drm/amd/display: Update DCN32 and DCN321 SR latencies
...
Update worst case SR latencies according to values measured by hardware
team.
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Alvin Lee <Alvin.Lee2@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:17:43 -04:00
Rodrigo Siqueira
6290ba4c16
drm/amd/display: Add reinstate dram in the FPO logic
...
In order to handle FPO correctly, we need to reinstate the dram values.
This function adds the required code to handle the vblank stretch and
the dram calculation.
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:17:36 -04:00
Aurabindo Pillai
e216431b63
drm/amd/display: Add dc_ctx to link_enc_create() parameters
...
[Why&How]
Preparation to enable run time initialization of register offsets to add
dc_context to the link_enc_create callback. This is needed to get the
dc_ctx handle where register offset initialization routine is called.
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Acked-by: Alan Liu <HaoPing.Liu@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:17:28 -04:00
Chris Park
4074f96d0f
drm/amd/display: Cache cursor when cursor exceeds 64x64
...
[Why]
When Static screen from MALL, the cursor needs to be
cached if cursor exceeds 64x64 size.
[How]
Program the bit that cache cursor in MALL when size
of the cursor exceeds 64x64.
Reviewed-by: Jun Lei <Jun.Lei@amd.com >
Acked-by: Alan Liu <HaoPing.Liu@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Chris Park <chris.park@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:17:21 -04:00
Anthony Koo
81f776b670
drm/amd/display: Add support for manual DMUB FAMS trigger
...
- Add is_drr parameter to indicate DRR is enabled on
the panel to determine whether SubVP MCLK switch
logic should be enabled
- Add DRR manual trigger in FW (instead of driver)
because manual trigger programming triggers DRR
update pending and can block SubVP MCLK switches
from taking place
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Anthony Koo <Anthony.Koo@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:17:15 -04:00
Michael Strauss
1f5dcb7365
drm/amd/display: Fix dpstreamclk programming
...
[WHY]
Currently programming incorrect hpo inst as well as selecting incorrect source
[HOW]
Use hpo inst instead of otg inst to select dpstreamclk inst
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Michael Strauss <michael.strauss@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:17:10 -04:00
Michael Strauss
b5e924bd7c
drm/amd/display: Add missing AUDIO_DTO_SEL reg field
...
[WHY]
Needed to program audio dto
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Michael Strauss <michael.strauss@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:17:05 -04:00
Michael Strauss
5ade1b951d
drm/amd/display: Add OTG/ODM functions
...
[WHY]
Required for correct OTG_H_TIMING_CNTL programming
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Michael Strauss <michael.strauss@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:16:59 -04:00
Michael Strauss
0d60f2b47d
drm/amd/display: Use correct clock source constructor for DCN314
...
[WHY]
Previously was pointing to DCN3 clock constructor rather than DCN31's
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Michael Strauss <michael.strauss@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:16:51 -04:00
Michael Strauss
1c5a2fa97b
drm/amd/display: Use correct DTO_SRC_SEL for 128b/132b encoding
...
[WHY]
DP DTO isn't used for 128b/132b encoding
[HOW]
Check current link rate to determine whether using 8b/10b or 128/132b encoding
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Michael Strauss <michael.strauss@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:16:45 -04:00
Michael Strauss
cb849b4dc7
drm/amd/display: Add pixel rate div calcs and programming
...
[WHY/HOW]
Need to calculate and set some pixel rate divisors on correct otg_inst
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Michael Strauss <michael.strauss@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:16:38 -04:00
Rodrigo Siqueira
40b31e5355
drm/amd/display: Remove FPU flags from DCN30 Makefile
...
At this stage, we must have all the FPU code for DCN30 isolated in the
DML folder. Drop FPU flags from Makefile.
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:16:32 -04:00
Rodrigo Siqueira
bdf4473394
drm/amd/display: Create patch bounding box function for isolate FPU
...
In the DCN30 resource, we have a small patch to the bounding box struct;
this patch uses FPU operations. This commit moves that specific part to
its function under the DML folder.
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:16:20 -04:00
Rodrigo Siqueira
05674cc9ea
drm/amd/display: Move mclk calculation function to DML
...
The function responsible for calculating the MCLK switching has FPU
operations. This commit moves it to the dcn30_fpu file.
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:16:14 -04:00
Rodrigo Siqueira
6a7379f196
drm/amd/display: Remove FPU operations from dcn201 resources
...
We have some FPU operations on the resource part of the DCN201. This
commit drops FPU flags and moves any required FPU code to the DML
folder.
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:16:08 -04:00
Alvin Lee
a4f1b04216
drm/amd/display: Fallback to SW cursor if SubVP + cursor too big
...
[Description]
- For SubVP cursor cannot be cached in MALL, therefore
we will switch to SW cursor if the cursor size exceeds
what can fit in the local DCN buffers (64x64x4)
- Returning false / failure for set_cursor_attributes will
fallback to SW cursor
Reviewed-by: Jun Lei <Jun.Lei@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Alvin Lee <Alvin.Lee2@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:16:01 -04:00
Rodrigo Siqueira
ee4a26b4ea
drm/amd/display: Drop unnecessary FPU flags on dcn302 files
...
We already isolated the DCN302 code in the DML folder, but we forgot to
drop the FPU flags from the Makefile. This commit drops those flags.
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:15:56 -04:00
hersen wu
72bb503097
drm/amd/display: Reboot while unplug hdcp enabled dp from mst hub
...
[Why]
event_property_update does not check NULL pointer
[How]
check aconnector->base.state equals NULL
Reviewed-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: hersen wu <hersenxs.wu@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:15:50 -04:00
Taimur Hassan
f46e3f28f8
drm/amd/display: Reset pipe count when iterating for DET override
...
[Why]
Coding error in DET allocation was resulting in too few DET segments
being allocated, causing underflow.
[How]
Reset pipe count each time we begin iterating through pipes for a stream.
Reviewed-by: Alvin Lee <Alvin.Lee2@amd.com >
Acked-by: Alex Hung <alex.hung@amd.com >
Signed-off-by: Taimur Hassan <Syed.Hassan@amd.com >
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2022-07-25 17:15:44 -04:00