diff options
author | Hsin-Yi Wang <hsinyi@chromium.org> | 2024-03-08 01:57:41 +0300 |
---|---|---|
committer | Douglas Anderson <dianders@chromium.org> | 2024-03-14 18:20:26 +0300 |
commit | a0b39da11618897e0a2b85ea28e34b8cbcbd3274 (patch) | |
tree | e50b3fcad2ee2819a5daccd95f0ebf28169300f6 /include/drm/drm_edid.h | |
parent | 751b58418250a56329d35de29329f547c43e7c7f (diff) | |
download | linux-a0b39da11618897e0a2b85ea28e34b8cbcbd3274.tar.xz |
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/drm_edid.h')
-rw-r--r-- | include/drm/drm_edid.h | 3 |
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); |