On Tue, Oct 19, 2021 at 09:35:08PM +0300, Ville Syrjälä wrote:
On Sat, Oct 16, 2021 at 08:42:14PM +0200, Claudio Suarez wrote:
According to the documentation, drm_add_edid_modes "... Also fills out the &drm_display_info structure and ELD in @connector with any information which can be derived from the edid."
drm_add_edid_modes accepts a struct edid *edid parameter which may have a value or may be null. When it is not null, connector->display_info and connector->eld are updated according to the edid. When edid=NULL, only connector->eld is reset. Reset connector->display_info to be consistent and accurate.
Signed-off-by: Claudio Suarez cssk@net-c.es
drivers/gpu/drm/drm_edid.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 6325877c5fd6..c643db17782c 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -5356,14 +5356,13 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid) int num_modes = 0; u32 quirks;
- if (edid == NULL) {
clear_eld(connector);
return 0;
- } if (!drm_edid_is_valid(edid)) {
OK, so drm_edid_is_valid() will happily accept NULL and considers it invalid. You may want to mention that explicitly in the commit message.
Thank you for your comments, I appreciate :) I'm sending new mails with the new commit messages.
clear_eld(connector);/* edid == NULL or invalid here */
drm_warn(connector->dev, "%s: EDID invalid.\n",
connector->name);
drm_reset_display_info(connector);
if (edid)
drm_warn(connector->dev, "%s: EDID invalid.\n",
connector->name);
Could you respin this to use the standard [CONNECTOR:%d:%s] form while at it? Or I guess a patch to mass convert the whole drm_edid.c might be another option.
Good point. I like the idea of a new patch. I'll start working on it. I can change this drm_warn here to avoid merge conflicts.
Patch looks good. Reviewed-by: Ville Syrjälä ville.syrjala@linux.intel.com
Thanks!
BR Claudio Suarez.