@@ -48,16 +48,9 @@
#include "ddc_service_types.h"
#include "clk_mgr.h"
-static u32 edid_extract_panel_id(const struct edid *edid)
+static void apply_edid_quirks(const struct drm_edid *edid, struct dc_edid_caps *edid_caps)
{
- return (u32)edid->mfg_id[0] << 24 |
- (u32)edid->mfg_id[1] << 16 |
- (u32)EDID_PRODUCT_ID(edid);
-}
-
-static void apply_edid_quirks(const struct edid *edid, struct dc_edid_caps *edid_caps)
-{
- uint32_t panel_id = edid_extract_panel_id(edid);
+ u32 panel_id = drm_edid_get_panel_id(edid);
switch (panel_id) {
/* Workaround for some monitors which does not work well with FAMS */
@@ -130,7 +123,7 @@ enum dc_edid_status dm_helpers_parse_edid_caps(
edid_caps->edid_hdmi = connector->display_info.is_hdmi;
- apply_edid_quirks(edid_buf, edid_caps);
+ apply_edid_quirks(drm_edid, edid_caps);
sad_count = drm_edid_to_sad(edid_buf, &sads);
if (sad_count <= 0)
Now that a struct drm_edid is available make use of the standard drm_edid_get_panel_id(). Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-)