]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amd/display: Double buffer dcn2 Gamut Remap
authorNoah Abradjian <noah.abradjian@amd.com>
Mon, 16 Dec 2019 15:50:53 +0000 (10:50 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 16 Jan 2020 19:13:30 +0000 (14:13 -0500)
commit174bf3cb821b4a62c064f62e12f14a4d95a88d96
treea77085a6ecedf6dc4727f70c528e7ede847a53f3
parent8a94f0cb4996da20e6538e6b3354aa3c93448de9
drm/amd/display: Double buffer dcn2 Gamut Remap

[Why]
When rapidly adjusting color temperature, screen tearing was observed.
This was due to overwritten values in gamut remap registers.
This issue was solved for OCSC and ICSC by alternating between "A" and
"B" registers to double buffer the writes.

[How]
Create new set_gamut_remap and program_gamut_remap for dcn20.
Alternate which registers are written to by switching modes each time.
Also fixes ICSC mode reg read to use proper data offset.

Signed-off-by: Noah Abradjian <noah.abradjian@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dpp.c
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dpp.h
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dpp_cm.c