It was parsing the manufacturer id of the sink for each entry in
quirk list.

Signed-off-by: José Roberto de Souza <jose.so...@intel.com>
---
 drivers/gpu/drm/drm_edid.c | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 1a0ddf3d326b..69209fcc40f0 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1770,22 +1770,6 @@ void drm_edid_manufacturer_parse(const struct edid 
*edid, char manufacturer[3])
 }
 EXPORT_SYMBOL(drm_edid_manufacturer_parse);
 
-/**
- * edid_vendor - match a string against EDID's obfuscated vendor field
- * @edid: EDID to match
- * @vendor: vendor string
- *
- * Returns true if @vendor is in @edid, false otherwise
- */
-static bool edid_vendor(const struct edid *edid, const char *vendor)
-{
-       char edid_vendor[3];
-
-       drm_edid_manufacturer_parse(edid, edid_vendor);
-
-       return !strncmp(edid_vendor, vendor, 3);
-}
-
 /**
  * edid_get_quirks - return quirk flags for a given EDID
  * @edid: EDID to process
@@ -1795,12 +1779,15 @@ static bool edid_vendor(const struct edid *edid, const 
char *vendor)
 static u32 edid_get_quirks(const struct edid *edid)
 {
        const struct edid_quirk *quirk;
+       char edid_vendor[3];
        int i;
 
+       drm_edid_manufacturer_parse(edid, edid_vendor);
+
        for (i = 0; i < ARRAY_SIZE(edid_quirk_list); i++) {
                quirk = &edid_quirk_list[i];
 
-               if (edid_vendor(edid, quirk->vendor) &&
+               if (!strncmp(edid_vendor, quirk->vendor, 3) &&
                    (EDID_PRODUCT_ID(edid) == quirk->product_id))
                        return quirk->quirks;
        }
-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to