drm/amd/display: Refactor max color lut entries into a macro.
authorLeo (Sunpeng) Li <sunpeng.li@amd.com>
Tue, 30 Jan 2018 16:14:27 +0000 (11:14 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 19 Feb 2018 19:20:08 +0000 (14:20 -0500)
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c

index 311ecdb9af284b55b3887ddb2e3e15f6eef2e9bb..4e42b3ccad5d781ef0bb1d2f3e9fcbd2825c4d96 100644 (file)
@@ -3202,8 +3202,9 @@ static int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
        acrtc->base.enabled = false;
 
        dm->adev->mode_info.crtcs[crtc_index] = acrtc;
-       drm_crtc_enable_color_mgmt(&acrtc->base, 256, true, 256);
-       drm_mode_crtc_set_gamma_size(&acrtc->base, 256);
+       drm_crtc_enable_color_mgmt(&acrtc->base, MAX_COLOR_LUT_ENTRIES,
+                                  true, MAX_COLOR_LUT_ENTRIES);
+       drm_mode_crtc_set_gamma_size(&acrtc->base, MAX_COLOR_LUT_ENTRIES);
 
        return 0;
 
index d2627e6ecd93842bd4caa0126f1c9398f85b00c8..ed939600cdbe486c17b29093a8465804dda0f4a1 100644 (file)
@@ -268,6 +268,8 @@ void amdgpu_dm_crtc_handle_crc_irq(struct drm_crtc *crtc);
 #define amdgpu_dm_crtc_handle_crc_irq(x)
 #endif
 
+#define MAX_COLOR_LUT_ENTRIES 256
+
 void amdgpu_dm_init_color_mod(void);
 int amdgpu_dm_set_degamma_lut(struct drm_crtc_state *crtc_state,
                              struct dc_plane_state *dc_plane_state);
index d7bc1b7dd152d7308eda99c082d7b26bab02ddbe..62bb72fe9aa5d5f655f3c27a01e7f049df08a530 100644 (file)
@@ -39,14 +39,13 @@ void amdgpu_dm_init_color_mod(void)
 }
 
 
-#define MAX_LUT_ENTRIES 256
-
 /*
  * Return true if the given lut is a linear mapping of values, i.e. it acts
  * like a bypass LUT.
  *
  * It is considered linear if the lut represents:
- * f(a) = (0xFF00/MAX_LUT_ENTRIES-1)a; for integer a in [0, MAX_LUT_ENTRIES)
+ * f(a) = (0xFF00/MAX_COLOR_LUT_ENTRIES-1)a; for integer a in
+ *                                           [0, MAX_COLOR_LUT_ENTRIES)
  */
 static bool __is_lut_linear(struct drm_color_lut *lut)
 {
@@ -55,12 +54,12 @@ static bool __is_lut_linear(struct drm_color_lut *lut)
        uint32_t expected;
        int delta;
 
-       for (i = 0; i < MAX_LUT_ENTRIES; i++) {
+       for (i = 0; i < MAX_COLOR_LUT_ENTRIES; i++) {
                /* All color values should equal */
                if ((lut[i].red != lut[i].green) || (lut[i].green != lut[i].blue))
                        return false;
 
-               expected = i * max_os / (MAX_LUT_ENTRIES-1);
+               expected = i * max_os / (MAX_COLOR_LUT_ENTRIES-1);
 
                /* Allow a +/-1 error. */
                delta = lut[i].red - expected;
@@ -113,7 +112,7 @@ int amdgpu_dm_set_regamma_lut(struct dm_crtc_state *crtc)
        if (!gamma)
                return -ENOMEM;
 
-       gamma->num_entries = MAX_LUT_ENTRIES;
+       gamma->num_entries = MAX_COLOR_LUT_ENTRIES;
        gamma->type = GAMMA_RGB_256;
 
        /* Truncate, and store in dc_gamma for output tf calculation */