OSDN Git Service

drm/edid: move EDID BPC quirk application to update_display_info()
authorJani Nikula <jani.nikula@intel.com>
Wed, 4 Jan 2023 10:05:30 +0000 (12:05 +0200)
committerJani Nikula <jani.nikula@intel.com>
Thu, 19 Jan 2023 12:04:15 +0000 (14:04 +0200)
The BPC quirks are closer to home in update_display_info().

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/8997e0fa3b0fd03c920e72d1dff24c0d96ff4dd0.1672826282.git.jani.nikula@intel.com
drivers/gpu/drm/drm_edid.c

index f58b0fd..e8b67f3 100644 (file)
@@ -6522,6 +6522,18 @@ out:
        if (info->quirks & EDID_QUIRK_CAP_DSC_15BPP)
                info->max_dsc_bpp = 15;
 
+       if (info->quirks & EDID_QUIRK_FORCE_6BPC)
+               info->bpc = 6;
+
+       if (info->quirks & EDID_QUIRK_FORCE_8BPC)
+               info->bpc = 8;
+
+       if (info->quirks & EDID_QUIRK_FORCE_10BPC)
+               info->bpc = 10;
+
+       if (info->quirks & EDID_QUIRK_FORCE_12BPC)
+               info->bpc = 12;
+
        /* Depends on info->cea_rev set by drm_parse_cea_ext() above */
        drm_edid_to_eld(connector, drm_edid);
 }
@@ -6621,7 +6633,7 @@ static int add_displayid_detailed_modes(struct drm_connector *connector,
 static int _drm_edid_connector_update(struct drm_connector *connector,
                                      const struct drm_edid *drm_edid)
 {
-       struct drm_display_info *info = &connector->display_info;
+       const struct drm_display_info *info = &connector->display_info;
        int num_modes = 0;
 
        /*
@@ -6661,18 +6673,6 @@ static int _drm_edid_connector_update(struct drm_connector *connector,
        if (info->quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75))
                edid_fixup_preferred(connector);
 
-       if (info->quirks & EDID_QUIRK_FORCE_6BPC)
-               info->bpc = 6;
-
-       if (info->quirks & EDID_QUIRK_FORCE_8BPC)
-               info->bpc = 8;
-
-       if (info->quirks & EDID_QUIRK_FORCE_10BPC)
-               info->bpc = 10;
-
-       if (info->quirks & EDID_QUIRK_FORCE_12BPC)
-               info->bpc = 12;
-
        return num_modes;
 }