mirror_ubuntu-kernels/drivers/gpu/drm/amd/display/dc
Mario Kleiner efa18405ba drm/amd/display: Fix HDMI deep color output for DCE 6-11.
This fixes corrupted display output in HDMI deep color
10/12 bpc mode at least as observed on AMD Mullins, DCE-8.3.

It will hopefully also provide fixes for other DCE's up to
DCE-11, assuming those will need similar fixes, but i could
not test that for HDMI due to lack of suitable hw, so viewer
discretion is advised.

dce110_stream_encoder_hdmi_set_stream_attribute() is used for
HDMI setup on all DCE's and is missing color_depth assignment.

dce110_program_pix_clk() is used for pixel clock setup on HDMI
for DCE 6-11, and is missing color_depth assignment.

Additionally some of the underlying Atombios specific encoder
and pixelclock setup functions are missing code which is in
the classic amdgpu kms modesetting path and the in the radeon
kms driver for DCE6/DCE8.

encoder_control_digx_v3() - Was missing setup code wrt. amdgpu
and radeon kms classic drivers. Added here, but untested due to
lack of suitable test hw.

encoder_control_digx_v4() - Added missing setup code.
Successfully tested on AMD mullins / DCE-8.3 with HDMI deep color
output at 10 bpc and 12 bpc.

Note that encoder_control_digx_v5() has proper setup code in place
and is used, e.g., by DCE-11.2, but this code wasn't used for deep
color setup due to the missing cntl.color_depth setup in the calling
function for HDMI.

set_pixel_clock_v5() - Missing setup code wrt. classic amdgpu/radeon
kms. Added here, but untested due to lack of hw.

set_pixel_clock_v6() - Missing setup code added. Successfully tested
on AMD mullins DCE-8.3. This fixes corrupted display output at HDMI
deep color output with 10 bpc or 12 bpc.

Fixes: 4562236b3b ("drm/amd/dc: Add dc display driver (v2)")

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-01-25 17:49:47 -05:00
..
basics drm/amd/display: Unblank hubp based on plane visibility 2021-01-13 23:43:14 -05:00
bios drm/amd/display: Fix HDMI deep color output for DCE 6-11. 2021-01-25 17:49:47 -05:00
calcs drm/amd/display/dc/calcs/dce_calcs: Demote non-conformant kernel-doc function headers 2021-01-14 13:20:20 -05:00
clk_mgr Revert "drm/amd/display: Tune min clk values for MPO for RV" 2021-01-25 17:45:21 -05:00
core drm/amd/display: Fix a potential NULL dereference 2021-01-25 17:48:02 -05:00
dce drm/amd/display: Fix HDMI deep color output for DCE 6-11. 2021-01-25 17:49:47 -05:00
dce60 drm/amd/display/dc/dce60/dce60_resource: Include our own header containing prototypes 2021-01-14 13:20:21 -05:00
dce80 drm/amd/display/dc/dce80/dce80_resource: Include our own header containing prototypes 2021-01-14 13:20:20 -05:00
dce100 drm/amd/display/dc/dce100/dce100_resource: Include our own header containing prototypes 2021-01-14 13:20:20 -05:00
dce110 drm/amdgpu: Repeat assignment to max_slave_planes 2021-01-14 13:20:21 -05:00
dce112 drm/amd/display/dc/dce112/dce112_resource: Include our own header file containing prototypes 2021-01-14 13:20:20 -05:00
dce120 drm/amd/display/dc/dce120/dce120_timing_generator: Remove unused function 'dce120_timing_generator_get_position' 2021-01-13 23:53:26 -05:00
dcn10 drm/amd/display: Use hardware sequencer functions for PG control 2021-01-20 16:38:18 -05:00
dcn20 drm/amd/display: Use hardware sequencer functions for PG control 2021-01-20 16:38:18 -05:00
dcn21 drm/amd/display: Update dram_clock_change_latency for DCN2.1 2021-01-20 16:38:22 -05:00
dcn30 amdgpu: fix clang build warning 2021-01-25 17:48:46 -05:00
dcn301 amdgpu: fix clang build warning 2021-01-25 17:48:46 -05:00
dcn302 amdgpu: fix clang build warning 2021-01-25 17:48:46 -05:00
dml drm/amdgpu: Assign boolean values to a bool variable 2021-01-21 09:54:46 -05:00
dsc drm/amdgpu/display: drop DCN support for aarch64 2021-01-05 11:35:53 -05:00
gpio drm/amd/display/dc/gpio/diagnostics/hw_factory_diag: Include our own header containing prototypes 2021-01-13 23:53:26 -05:00
hdcp drm/amd/display: query hdcp capability during link detect 2020-04-09 10:43:17 -04:00
inc drm/amd/display: Dynamic cursor cache size for MALL eligibility check 2021-01-21 09:54:26 -05:00
irq drm/amd/display/dc/irq/irq_service: Make local function static 2021-01-13 23:53:26 -05:00
virtual drm/amd/display: Add dp_set_dsc_pps_info_packet to virtual stream encoder 2020-09-29 16:08:31 -04:00
dc_bios_types.h drm/amd/display: Add internal display info 2020-11-24 12:08:15 -05:00
dc_ddc_types.h drm/amd/display: Proper return of result when aux engine acquire fails 2019-10-25 16:50:09 -04:00
dc_dmub_srv.c drm/amd/display: implement notify stream mask 2020-09-15 17:52:41 -04:00
dc_dmub_srv.h drm/amd/display: implement notify stream mask 2020-09-15 17:52:41 -04:00
dc_dp_types.h drm/amd/display: doesn't reprogram AMD OUI 2021-01-13 23:43:38 -05:00
dc_dsc.h drm/amd/display: Add an option to limit max DSC target bpp per sink 2020-10-26 13:29:39 -04:00
dc_helper.c drm/amd/display/dc/dc_helper: Include our own header, containing prototypes 2021-01-14 13:20:20 -05:00
dc_hw_types.h drm/amd/display: Update idle optimization handling 2021-01-05 11:34:35 -05:00
dc_link.h drm/amd/display: implement T12 compliance 2021-01-13 23:43:56 -05:00
dc_stream.h drm/amd/display: New path for enabling DPG 2021-01-13 23:43:21 -05:00
dc_trace.h drm/amd/display: Add tracepoint for capturing clocks state 2020-10-26 13:34:26 -04:00
dc_types.h drm/amd/display: Add dual edp optimization flag. 2020-11-16 12:19:33 -05:00
dc.h drm/amd/display: Update dcn30_apply_idle_power_optimizations() code 2021-01-21 09:54:34 -05:00
dm_cp_psp.h drm/amd/display: enable assr 2020-07-01 01:59:25 -04:00
dm_event_log.h
dm_helpers.h drm/amd/display: Clear dc remote sinks on MST disconnect 2020-12-01 15:59:57 -05:00
dm_pp_smu.h drm/amdgpu: fold CONFIG_DRM_AMD_DC_DCN3* into CONFIG_DRM_AMD_DC_DCN (v3) 2020-11-04 17:11:37 -05:00
dm_services_types.h drm/amd/display: Add definition for number of backlight data points 2019-12-18 16:09:08 -05:00
dm_services.h drm/amd/display: Decouple amdgpu_dm_trace from service 2020-10-26 13:33:59 -04:00
irq_types.h
Makefile drm/amdgpu: fold CONFIG_DRM_AMD_DC_DCN3* into CONFIG_DRM_AMD_DC_DCN (v3) 2020-11-04 17:11:37 -05:00
os_types.h drm/amdgpu/display: drop DCN support for aarch64 2021-01-05 11:35:53 -05:00