Message ID | 1531385282-17196-1-git-send-email-alexandru-cosmin.gheorghe@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jul 12, 2018 at 09:48:02AM +0100, Alexandru Gheorghe wrote: > Writeback connector is reported as disconnected, currently this causes > the setting of the edid property to null and then exit. > In order to properly get the modes for writeback we need to add an > exception when connector type is DRM_MODE_CONNECTOR_WRITEBACK. > > Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com> Why do you even need a mode list for writeback? Also, if you're already faking a mode list for the writeback connector, why can't you also fake it's connection status? -Daniel > --- > drivers/gpu/drm/drm_probe_helper.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c > index 52774339..c7bdbe2 100644 > --- a/drivers/gpu/drm/drm_probe_helper.c > +++ b/drivers/gpu/drm/drm_probe_helper.c > @@ -472,7 +472,8 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, > > dev->mode_config.poll_running = drm_kms_helper_poll; > > - if (connector->status == connector_status_disconnected) { > + if (connector->status == connector_status_disconnected && > + connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK) { > DRM_DEBUG_KMS("[CONNECTOR:%d:%s] disconnected\n", > connector->base.id, connector->name); > drm_mode_connector_update_edid_property(connector, NULL); > -- > 2.7.4 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Thu, Jul 12, 2018 at 10:55:47AM +0200, Daniel Vetter wrote: > On Thu, Jul 12, 2018 at 09:48:02AM +0100, Alexandru Gheorghe wrote: > > Writeback connector is reported as disconnected, currently this causes > > the setting of the edid property to null and then exit. > > In order to properly get the modes for writeback we need to add an > > exception when connector type is DRM_MODE_CONNECTOR_WRITEBACK. > > > > Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com> > > Why do you even need a mode list for writeback? It's used by userspace to know how big the writeback buffer could be. > > Also, if you're already faking a mode list for the writeback connector, > why can't you also fake it's connection status? > -Daniel AFAIK Reporting it as disconnected was a way of making sure it will be ignored by userspace that's not aware of writeback connectorsa. Do you think it's superfluous with DRM_CLIENT_CAP_WRITEBACK_CONNECTORS ? > > > --- > > drivers/gpu/drm/drm_probe_helper.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c > > index 52774339..c7bdbe2 100644 > > --- a/drivers/gpu/drm/drm_probe_helper.c > > +++ b/drivers/gpu/drm/drm_probe_helper.c > > @@ -472,7 +472,8 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, > > > > dev->mode_config.poll_running = drm_kms_helper_poll; > > > > - if (connector->status == connector_status_disconnected) { > > + if (connector->status == connector_status_disconnected && > > + connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK) { > > DRM_DEBUG_KMS("[CONNECTOR:%d:%s] disconnected\n", > > connector->base.id, connector->name); > > drm_mode_connector_update_edid_property(connector, NULL); > > -- > > 2.7.4 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch
On Thu, Jul 12, 2018 at 10:20:35AM +0100, Alexandru-Cosmin Gheorghe wrote: > On Thu, Jul 12, 2018 at 10:55:47AM +0200, Daniel Vetter wrote: > > On Thu, Jul 12, 2018 at 09:48:02AM +0100, Alexandru Gheorghe wrote: > > > Writeback connector is reported as disconnected, currently this causes > > > the setting of the edid property to null and then exit. > > > In order to properly get the modes for writeback we need to add an > > > exception when connector type is DRM_MODE_CONNECTOR_WRITEBACK. > > > > > > Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com> > > > > Why do you even need a mode list for writeback? > > It's used by userspace to know how big the writeback buffer could be. > > > > > Also, if you're already faking a mode list for the writeback connector, > > why can't you also fake it's connection status? > > -Daniel > > AFAIK Reporting it as disconnected was a way of making sure it will be > ignored by userspace that's not aware of writeback connectorsa. Do you > think it's superfluous with DRM_CLIENT_CAP_WRITEBACK_CONNECTORS ? Yes, since we're filtering writeback connectors from userspace that can't deal with them I think a cleaner solution would be to just mark them as connected. Old userspace won't ever see them, new userspace should already correctly ignore them. -Daniel > > > > > > --- > > > drivers/gpu/drm/drm_probe_helper.c | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c > > > index 52774339..c7bdbe2 100644 > > > --- a/drivers/gpu/drm/drm_probe_helper.c > > > +++ b/drivers/gpu/drm/drm_probe_helper.c > > > @@ -472,7 +472,8 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, > > > > > > dev->mode_config.poll_running = drm_kms_helper_poll; > > > > > > - if (connector->status == connector_status_disconnected) { > > > + if (connector->status == connector_status_disconnected && > > > + connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK) { > > > DRM_DEBUG_KMS("[CONNECTOR:%d:%s] disconnected\n", > > > connector->base.id, connector->name); > > > drm_mode_connector_update_edid_property(connector, NULL); > > > -- > > > 2.7.4 > > > > > > _______________________________________________ > > > dri-devel mailing list > > > dri-devel@lists.freedesktop.org > > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > http://blog.ffwll.ch > > -- > Cheers, > Alex G
diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c index 52774339..c7bdbe2 100644 --- a/drivers/gpu/drm/drm_probe_helper.c +++ b/drivers/gpu/drm/drm_probe_helper.c @@ -472,7 +472,8 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector, dev->mode_config.poll_running = drm_kms_helper_poll; - if (connector->status == connector_status_disconnected) { + if (connector->status == connector_status_disconnected && + connector->connector_type != DRM_MODE_CONNECTOR_WRITEBACK) { DRM_DEBUG_KMS("[CONNECTOR:%d:%s] disconnected\n", connector->base.id, connector->name); drm_mode_connector_update_edid_property(connector, NULL);
Writeback connector is reported as disconnected, currently this causes the setting of the edid property to null and then exit. In order to properly get the modes for writeback we need to add an exception when connector type is DRM_MODE_CONNECTOR_WRITEBACK. Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com> --- drivers/gpu/drm/drm_probe_helper.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)