aboutsummaryrefslogtreecommitdiff
path: root/include/drm
diff options
context:
space:
mode:
authorGravatar Hsin-Yi Wang <hsinyi@chromium.org> 2024-03-07 14:57:41 -0800
committerGravatar Douglas Anderson <dianders@chromium.org> 2024-03-14 08:20:26 -0700
commita0b39da11618897e0a2b85ea28e34b8cbcbd3274 (patch)
treee50b3fcad2ee2819a5daccd95f0ebf28169300f6 /include/drm
parentdrm/panel: simple: add CMT430B19N00 LCD panel support (diff)
downloadlinux-a0b39da11618897e0a2b85ea28e34b8cbcbd3274.tar.gz
linux-a0b39da11618897e0a2b85ea28e34b8cbcbd3274.tar.bz2
linux-a0b39da11618897e0a2b85ea28e34b8cbcbd3274.zip
drm_edid: Add a function to get EDID base block
It's found that some panels have variants that they share the same panel id although their EDID and names are different. Besides panel id, now we need more information from the EDID base block to distinguish these panel variants. Add drm_edid_read_base_block() to return the EDID base block, which is wrapped in struct drm_edid. Caller can further use it to get panel id or check if the block contains certain strings, such as panel name. Merge drm_edid_get_panel_id() and edid_extract_panel_id() into one function. Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Douglas Anderson <dianders@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240307230653.1807557-2-hsinyi@chromium.org
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm_edid.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
index 7923bc00dc7a..9686a7cee6a6 100644
--- a/include/drm/drm_edid.h
+++ b/include/drm/drm_edid.h
@@ -410,7 +410,8 @@ struct edid *drm_do_get_edid(struct drm_connector *connector,
void *data);
struct edid *drm_get_edid(struct drm_connector *connector,
struct i2c_adapter *adapter);
-u32 drm_edid_get_panel_id(struct i2c_adapter *adapter);
+const struct drm_edid *drm_edid_read_base_block(struct i2c_adapter *adapter);
+u32 drm_edid_get_panel_id(const struct drm_edid *drm_edid);
struct edid *drm_get_edid_switcheroo(struct drm_connector *connector,
struct i2c_adapter *adapter);
struct edid *drm_edid_duplicate(const struct edid *edid);