Message ID | 1449782037-19722-2-git-send-email-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Dec 10, 2015 at 11:13:56PM +0200, ville.syrjala@linux.intel.com wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > IMO the override_edid should override any default EDID for the > connector, whether that came in via the connector helper ->get_modes() > vfunc or via the firmware EDID mechanism. > > Cc: Thomas Wood <thomas.wood@intel.com> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Yeah makes sense. And the kerneldoc one looks great, so pulled both into drm-misc. -Daniel > --- > drivers/gpu/drm/drm_probe_helper.c | 17 ++++++++--------- > 1 file changed, 8 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c > index 169f1ad1668d..85971a74532d 100644 > --- a/drivers/gpu/drm/drm_probe_helper.c > +++ b/drivers/gpu/drm/drm_probe_helper.c > @@ -233,17 +233,16 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, > goto prune; > } > > + if (connector->override_edid) { > + struct edid *edid = (struct edid *) connector->edid_blob_ptr->data; > + > + count = drm_add_edid_modes(connector, edid); > + drm_edid_to_eld(connector, edid); > + } else { > #ifdef CONFIG_DRM_LOAD_EDID_FIRMWARE > - count = drm_load_edid_firmware(connector); > - if (count == 0) > + count = drm_load_edid_firmware(connector); > + if (count == 0) > #endif > - { > - if (connector->override_edid) { > - struct edid *edid = (struct edid *) connector->edid_blob_ptr->data; > - > - count = drm_add_edid_modes(connector, edid); > - drm_edid_to_eld(connector, edid); > - } else > count = (*connector_funcs->get_modes)(connector); > } > > -- > 2.4.10 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c index 169f1ad1668d..85971a74532d 100644 --- a/drivers/gpu/drm/drm_probe_helper.c +++ b/drivers/gpu/drm/drm_probe_helper.c @@ -233,17 +233,16 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, goto prune; } + if (connector->override_edid) { + struct edid *edid = (struct edid *) connector->edid_blob_ptr->data; + + count = drm_add_edid_modes(connector, edid); + drm_edid_to_eld(connector, edid); + } else { #ifdef CONFIG_DRM_LOAD_EDID_FIRMWARE - count = drm_load_edid_firmware(connector); - if (count == 0) + count = drm_load_edid_firmware(connector); + if (count == 0) #endif - { - if (connector->override_edid) { - struct edid *edid = (struct edid *) connector->edid_blob_ptr->data; - - count = drm_add_edid_modes(connector, edid); - drm_edid_to_eld(connector, edid); - } else count = (*connector_funcs->get_modes)(connector); }