1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/amd/display/dc/bios
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
..
dce60 drm/amd/display: dc/bios: add support for DCE6 2020-07-27 16:45:58 -04:00
dce80 amdgpu/dc: fix non-ansi function decls. 2017-11-07 16:21:59 -05:00
dce110 drm/amd/display: Delete dead code in command_table_helper 2019-08-23 11:37:04 -05:00
dce112 drm/amdgpu/display: remove dal_cmd_tbl_helper_dcn2_get_table2 2020-10-30 01:02:07 -04:00
bios_parser.c drm/amd/display/dc/bios/bios_parser: Fix misspelling of function parameter 2021-01-11 16:09:14 -05:00
bios_parser.h drm/amd/dc: Add dc display driver (v2) 2017-09-26 17:01:32 -04:00
bios_parser2.c drm/amd/display/dc/bios/bios_parser2: Fix some formatting issues and missing parameter docs 2021-01-11 16:09:13 -05:00
bios_parser2.h drm/amd/display: Add DCE12 bios parser support 2017-09-26 17:19:04 -04:00
bios_parser_common.c amdgpu/dc: separate out some common code from bios parsers. 2017-09-28 16:51:56 -04:00
bios_parser_common.h amdgpu/dc: separate out some common code from bios parsers. 2017-09-28 16:51:56 -04:00
bios_parser_helper.c revert "drm/amd/display: Add condition to sync eDP SW status and HW status" 2019-01-25 16:15:37 -05:00
bios_parser_helper.h revert "drm/amd/display: Add condition to sync eDP SW status and HW status" 2019-01-25 16:15:37 -05:00
bios_parser_interface.c drm/amd/display: Remove DCE12 guards 2017-09-26 17:19:36 -04:00
bios_parser_types_internal.h drm/amd/dc: Add dc display driver (v2) 2017-09-26 17:01:32 -04:00
bios_parser_types_internal2.h drm/amd/display: Add DCE12 bios parser support 2017-09-26 17:19:04 -04:00
command_table.c drm/amd/display: Fix HDMI deep color output for DCE 6-11. 2021-01-25 17:49:47 -05:00
command_table.h drm/amd/display: Connect dig_fe to otg directly instead of calling bios 2019-01-25 16:15:37 -05:00
command_table2.c drm/amd/display: Call DMUB for eDP power control 2020-08-26 16:40:17 -04:00
command_table2.h drm/amd/display: Call DMUB for eDP power control 2020-08-17 14:07:08 -04:00
command_table_helper.c drm/amd/display/dc/bios/command_table_helper: Fix kernel-doc formatting 2021-01-11 16:09:13 -05:00
command_table_helper.h drm/amd/display: dc/bios: add support for DCE6 2020-07-27 16:45:58 -04:00
command_table_helper2.c drm/amd/display/dc/bios/command_table_helper2: Fix legacy formatting problems 2021-01-11 16:09:13 -05:00
command_table_helper2.h drm/amd/display: dc/bios: add support for DCE6 2020-07-27 16:45:58 -04:00
command_table_helper_struct.h drm/amd/display: fix incompatible structure layouts 2018-02-19 14:19:18 -05:00
Makefile drm/amd/display: dc/bios: add support for DCE6 2020-07-27 16:45:58 -04:00