stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/lease: Send a distinct uevent
@ 2018-11-29  9:42 Daniel Vetter
  2018-11-29 22:33 ` Daniel Vetter
  2018-11-30  0:06 ` Keith Packard
  0 siblings, 2 replies; 4+ messages in thread
From: Daniel Vetter @ 2018-11-29  9:42 UTC (permalink / raw)
  To: DRI Development
  Cc: Intel Graphics Development, Daniel Vetter, Keith Packard,
	Dave Airlie, stable, Daniel Vetter

Sending the exact same hotplug event is not great uapi. Luckily the
only already merged implementation of leases (in the -modesetting
driver) doesn't care about what kind of uevent it gets, and
unconditionally processes both hotplug and lease changes. So we can
still adjust the uapi here.

But e.g. weston tries to filter stuff, and I guess others might want
to do that too. Try to make that possible. Cc: stable since it's uapi
adjustement that we want to roll out everywhere.

Cc: Keith Packard <keithp@keithp.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_internal.h |  2 ++
 drivers/gpu/drm/drm_lease.c    |  2 +-
 drivers/gpu/drm/drm_sysfs.c    | 10 ++++++++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h
index c7a7d7ce5d1c..d9caf205e0b3 100644
--- a/drivers/gpu/drm/drm_internal.h
+++ b/drivers/gpu/drm/drm_internal.h
@@ -99,6 +99,8 @@ struct device *drm_sysfs_minor_alloc(struct drm_minor *minor);
 int drm_sysfs_connector_add(struct drm_connector *connector);
 void drm_sysfs_connector_remove(struct drm_connector *connector);
 
+void drm_sysfs_lease_event(struct drm_device *dev);
+
 /* drm_gem.c */
 int drm_gem_init(struct drm_device *dev);
 void drm_gem_destroy(struct drm_device *dev);
diff --git a/drivers/gpu/drm/drm_lease.c b/drivers/gpu/drm/drm_lease.c
index 3650d3c46718..99cba8ea5d82 100644
--- a/drivers/gpu/drm/drm_lease.c
+++ b/drivers/gpu/drm/drm_lease.c
@@ -292,7 +292,7 @@ void drm_lease_destroy(struct drm_master *master)
 
 	if (master->lessor) {
 		/* Tell the master to check the lessee list */
-		drm_sysfs_hotplug_event(dev);
+		drm_sysfs_lease_event(dev);
 		drm_master_put(&master->lessor);
 	}
 
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
index b3c1daad1169..ecb7b33002bb 100644
--- a/drivers/gpu/drm/drm_sysfs.c
+++ b/drivers/gpu/drm/drm_sysfs.c
@@ -301,6 +301,16 @@ void drm_sysfs_connector_remove(struct drm_connector *connector)
 	connector->kdev = NULL;
 }
 
+void drm_sysfs_lease_event(struct drm_device *dev)
+{
+	char *event_string = "LEASE=1";
+	char *envp[] = { event_string, NULL };
+
+	DRM_DEBUG("generating lease event\n");
+
+	kobject_uevent_env(&dev->primary->kdev->kobj, KOBJ_CHANGE, envp);
+}
+
 /**
  * drm_sysfs_hotplug_event - generate a DRM uevent
  * @dev: DRM device
-- 
2.19.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/lease: Send a distinct uevent
  2018-11-29  9:42 [PATCH] drm/lease: Send a distinct uevent Daniel Vetter
@ 2018-11-29 22:33 ` Daniel Vetter
  2018-11-30  0:06 ` Keith Packard
  1 sibling, 0 replies; 4+ messages in thread
From: Daniel Vetter @ 2018-11-29 22:33 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx, Packard, Keith, Dave Airlie, stable, Daniel Vetter

On Thu, Nov 29, 2018 at 10:42 AM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>
> Sending the exact same hotplug event is not great uapi. Luckily the
> only already merged implementation of leases (in the -modesetting
> driver) doesn't care about what kind of uevent it gets, and
> unconditionally processes both hotplug and lease changes. So we can
> still adjust the uapi here.
>
> But e.g. weston tries to filter stuff, and I guess others might want
> to do that too. Try to make that possible. Cc: stable since it's uapi
> adjustement that we want to roll out everywhere.
>
> Cc: Keith Packard <keithp@keithp.com>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Michel said on irc that -amdgpu also supports leases already, but it
has the same logic as -modesetting, so would be fine too.
-Daniel

> ---
>  drivers/gpu/drm/drm_internal.h |  2 ++
>  drivers/gpu/drm/drm_lease.c    |  2 +-
>  drivers/gpu/drm/drm_sysfs.c    | 10 ++++++++++
>  3 files changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h
> index c7a7d7ce5d1c..d9caf205e0b3 100644
> --- a/drivers/gpu/drm/drm_internal.h
> +++ b/drivers/gpu/drm/drm_internal.h
> @@ -99,6 +99,8 @@ struct device *drm_sysfs_minor_alloc(struct drm_minor *minor);
>  int drm_sysfs_connector_add(struct drm_connector *connector);
>  void drm_sysfs_connector_remove(struct drm_connector *connector);
>
> +void drm_sysfs_lease_event(struct drm_device *dev);
> +
>  /* drm_gem.c */
>  int drm_gem_init(struct drm_device *dev);
>  void drm_gem_destroy(struct drm_device *dev);
> diff --git a/drivers/gpu/drm/drm_lease.c b/drivers/gpu/drm/drm_lease.c
> index 3650d3c46718..99cba8ea5d82 100644
> --- a/drivers/gpu/drm/drm_lease.c
> +++ b/drivers/gpu/drm/drm_lease.c
> @@ -292,7 +292,7 @@ void drm_lease_destroy(struct drm_master *master)
>
>         if (master->lessor) {
>                 /* Tell the master to check the lessee list */
> -               drm_sysfs_hotplug_event(dev);
> +               drm_sysfs_lease_event(dev);
>                 drm_master_put(&master->lessor);
>         }
>
> diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
> index b3c1daad1169..ecb7b33002bb 100644
> --- a/drivers/gpu/drm/drm_sysfs.c
> +++ b/drivers/gpu/drm/drm_sysfs.c
> @@ -301,6 +301,16 @@ void drm_sysfs_connector_remove(struct drm_connector *connector)
>         connector->kdev = NULL;
>  }
>
> +void drm_sysfs_lease_event(struct drm_device *dev)
> +{
> +       char *event_string = "LEASE=1";
> +       char *envp[] = { event_string, NULL };
> +
> +       DRM_DEBUG("generating lease event\n");
> +
> +       kobject_uevent_env(&dev->primary->kdev->kobj, KOBJ_CHANGE, envp);
> +}
> +
>  /**
>   * drm_sysfs_hotplug_event - generate a DRM uevent
>   * @dev: DRM device
> --
> 2.19.1
>


-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/lease: Send a distinct uevent
  2018-11-29  9:42 [PATCH] drm/lease: Send a distinct uevent Daniel Vetter
  2018-11-29 22:33 ` Daniel Vetter
@ 2018-11-30  0:06 ` Keith Packard
  2018-11-30  9:56   ` Daniel Vetter
  1 sibling, 1 reply; 4+ messages in thread
From: Keith Packard @ 2018-11-30  0:06 UTC (permalink / raw)
  To: Daniel Vetter, DRI Development
  Cc: Intel Graphics Development, Daniel Vetter, Dave Airlie, stable,
	Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 156 bytes --]

Daniel Vetter <daniel.vetter@ffwll.ch> writes:

> Cc: Keith Packard <keithp@keithp.com>

Reviewed-by: Keith Packard <keithp@keithp.com>

-- 
-keith

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/lease: Send a distinct uevent
  2018-11-30  0:06 ` Keith Packard
@ 2018-11-30  9:56   ` Daniel Vetter
  0 siblings, 0 replies; 4+ messages in thread
From: Daniel Vetter @ 2018-11-30  9:56 UTC (permalink / raw)
  To: Keith Packard
  Cc: Daniel Vetter, DRI Development, Intel Graphics Development,
	Dave Airlie, stable, Daniel Vetter

On Thu, Nov 29, 2018 at 04:06:56PM -0800, Keith Packard wrote:
> Daniel Vetter <daniel.vetter@ffwll.ch> writes:
> 
> > Cc: Keith Packard <keithp@keithp.com>
> 
> Reviewed-by: Keith Packard <keithp@keithp.com>

Thanks for review, pushed to drm-misc-fixes.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-11-30 21:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-29  9:42 [PATCH] drm/lease: Send a distinct uevent Daniel Vetter
2018-11-29 22:33 ` Daniel Vetter
2018-11-30  0:06 ` Keith Packard
2018-11-30  9:56   ` Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).