On Tue, 19 Sep 2017, Karsten Wiese <fzuuzf@xxxxxxxxxxxxxx> wrote: > This makes poll work for the > /sys/class/drm/cardX/connectorY/dpms attributes. I guess the question is, what are you trying to achieve? What is the problem that this solves? We have zero sysfs_notify in all of drm AFAICT. BR, Jani. > > Tested with i915 suspended by XScreenServer and > suspend to RAM. > > Signed-off-by: Karsten Wiese <fzuuzf@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/drm_atomic.c | 4 ++++ > drivers/gpu/drm/drm_atomic_helper.c | 6 +++++- > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 2fd383d..b6fa87b 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -1880,6 +1880,10 @@ int drm_atomic_connector_commit_dpms(struct drm_atomic_state *state, > out: > if (ret != 0) > connector->dpms = old_mode; > + else > + if (connector->dpms != old_mode) > + sysfs_notify(&connector->kdev->kobj, NULL, "dpms"); > + > return ret; > } > > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > index 4e53aae..6198772 100644 > --- a/drivers/gpu/drm/drm_atomic_helper.c > +++ b/drivers/gpu/drm/drm_atomic_helper.c > @@ -921,12 +921,16 @@ drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev, > crtc = new_conn_state->crtc; > if ((!crtc && old_conn_state->crtc) || > (crtc && drm_atomic_crtc_needs_modeset(crtc->state))) { > - int mode = DRM_MODE_DPMS_OFF; > + int old_mode, mode = DRM_MODE_DPMS_OFF; > > if (crtc && crtc->state->active) > mode = DRM_MODE_DPMS_ON; > > + old_mode = connector->dpms; > connector->dpms = mode; > + if (old_mode != mode) > + sysfs_notify(&connector->kdev->kobj, > + NULL, "dpms"); > } > } -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel