From patchwork Thu Nov 29 09:42:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 10704273 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2E5C617D5 for ; Thu, 29 Nov 2018 09:42:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 212B92ED6D for ; Thu, 29 Nov 2018 09:42:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1590C2ED71; Thu, 29 Nov 2018 09:42:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C8A732ED6D for ; Thu, 29 Nov 2018 09:42:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2AD6E6E4DF; Thu, 29 Nov 2018 09:42:36 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 851086E4E0 for ; Thu, 29 Nov 2018 09:42:34 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id d39so1295555edb.12 for ; Thu, 29 Nov 2018 01:42:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=qnSQ0KzhAo/gTZdTsnwnQzQdcW061JGM9e/dyOIkez8=; b=aiOUnOYdn16QKOlDIQe/I8A9ak6z0sKIkFQJLXC03AAqldy1GSiKoiQPAnsex+1PmX wN3v41Hp4mXiuLi1/9hYcP3yXXz/6tNtF6zP0YeoRNZIGA2Lvv5aYyQLV1YOb8zFcx42 ekRW7CkMrAwjOefVTbHswI2F7HNCjlVZ1lE5ry9Ld7+xmTGqCBDLbzsUOcMCTTXJfYsr 1LJtUQAV575NNJJUl1qnyRFMGqhPG+CEqql3Gi+kq7EAkf+mm00GHZ4XVmdSsJp8k3/B bLFXHNrXjANrUnSEIam/Dq3/HL1kxmdayzsZyeHupMWwK6JBM8s9eEWZLYAElpfMhAut ZGdQ== X-Gm-Message-State: AA+aEWaUaKUR/A2o429jcQlyv0iu6uvRRlk89Cz9Oed057ikKVPY6Bzt VoZGDeFvQ0xhZP1pJpp8B20ADPyJxmU= X-Google-Smtp-Source: AFSGD/Vg7FKUyj4upWhTF5Ome5dQoyztEz1x17LfJQTIYL7/99y6MuRvf8/QflxFtd+cyqB6ey+a2g== X-Received: by 2002:a17:906:38e:: with SMTP id b14-v6mr1008954eja.209.1543484552719; Thu, 29 Nov 2018 01:42:32 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:569e:0:3106:d637:d723:e855]) by smtp.gmail.com with ESMTPSA id f35sm457392edd.80.2018.11.29.01.42.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Nov 2018 01:42:31 -0800 (PST) From: Daniel Vetter To: DRI Development Subject: [PATCH] drm/lease: Send a distinct uevent Date: Thu, 29 Nov 2018 10:42:26 +0100 Message-Id: <20181129094226.30591-1-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Keith Packard , Daniel Vetter , Intel Graphics Development , stable@vger.kernel.org, Dave Airlie , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 Cc: Dave Airlie Cc: stable@vger.kernel.org Signed-off-by: Daniel Vetter Reviewed-by: Keith Packard --- 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