Skip to content

Commit 0ac57ca

Browse files
committed
drm/edid: avoid drm_edid_find_extension() internally
Prefer the EDID iterators over drm_edid_find_extension() in drm_edid_has_cta_extension(), even if this leads to more code. The key is to use the same patterns as much as possible. Reviewed-by: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/9fa366147b06a28304527be48f1b363c3484c8a3.1713259151.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <[email protected]>
1 parent 64ac4a1 commit 0ac57ca

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

drivers/gpu/drm/drm_edid.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4230,11 +4230,21 @@ static bool drm_edid_has_cta_extension(const struct drm_edid *drm_edid)
42304230
{
42314231
const struct displayid_block *block;
42324232
struct displayid_iter iter;
4233-
int ext_index = 0;
4233+
struct drm_edid_iter edid_iter;
4234+
const u8 *ext;
42344235
bool found = false;
42354236

42364237
/* Look for a top level CEA extension block */
4237-
if (drm_edid_find_extension(drm_edid, CEA_EXT, &ext_index))
4238+
drm_edid_iter_begin(drm_edid, &edid_iter);
4239+
drm_edid_iter_for_each(ext, &edid_iter) {
4240+
if (ext[0] == CEA_EXT) {
4241+
found = true;
4242+
break;
4243+
}
4244+
}
4245+
drm_edid_iter_end(&edid_iter);
4246+
4247+
if (found)
42384248
return true;
42394249

42404250
/* CEA blocks can also be found embedded in a DisplayID block */

0 commit comments

Comments
 (0)