aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/atombios_encoders.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-09-23 12:22:11 -0400
committerAlex Deucher <alexander.deucher@amd.com>2013-11-01 12:43:12 -0400
commit134b480f4b92654b9590fad6c9374c7dc6722375 (patch)
treeb5d423cad7200e8efd2e23d08d76c5df6a348bd7 /drivers/gpu/drm/radeon/atombios_encoders.c
parent9d6104e0174b130ed864571b31811c3fd09fd611 (diff)
drm/radeon: Add support for programming the FMT blocks
The FMT blocks control how data is sent from the backend of the display pipe to to monitor. Proper set up of the FMT blocks are required for 30bpp formats. Additionally, dithering can be enabled on for better display with 18 and 24bpp displays. The exception is LVDS/eDP which atom takes care of in the SelectCRTC_Source table. For now just enable truncation until we test dithering more. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_encoders.c')
-rw-r--r--drivers/gpu/drm/radeon/atombios_encoders.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c
index 28e2dc48e015..ffd99737014b 100644
--- a/drivers/gpu/drm/radeon/atombios_encoders.c
+++ b/drivers/gpu/drm/radeon/atombios_encoders.c
@@ -2392,6 +2392,15 @@ static void radeon_atom_encoder_prepare(struct drm_encoder *encoder)
2392 2392
2393 /* this is needed for the pll/ss setup to work correctly in some cases */ 2393 /* this is needed for the pll/ss setup to work correctly in some cases */
2394 atombios_set_encoder_crtc_source(encoder); 2394 atombios_set_encoder_crtc_source(encoder);
2395 /* set up the FMT blocks */
2396 if (ASIC_IS_DCE8(rdev))
2397 dce8_program_fmt(encoder);
2398 else if (ASIC_IS_DCE4(rdev))
2399 dce4_program_fmt(encoder);
2400 else if (ASIC_IS_DCE3(rdev))
2401 dce3_program_fmt(encoder);
2402 else if (ASIC_IS_AVIVO(rdev))
2403 avivo_program_fmt(encoder);
2395} 2404}
2396 2405
2397static void radeon_atom_encoder_commit(struct drm_encoder *encoder) 2406static void radeon_atom_encoder_commit(struct drm_encoder *encoder)