On Tue, 19 Sep 2017, Karsten Wiese <[email protected]> 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 <[email protected]>
> ---
>  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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to