Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp813049imu; Tue, 11 Dec 2018 07:59:58 -0800 (PST) X-Google-Smtp-Source: AFSGD/WxXBaFaJ9uEqLcCnmAqJ4hSUSyq3fTc5Y0ZIHZueBMoM9nXWBKdoNAfND1s59e3r7bedIJ X-Received: by 2002:a17:902:6b49:: with SMTP id g9mr16244468plt.98.1544543998253; Tue, 11 Dec 2018 07:59:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544543998; cv=none; d=google.com; s=arc-20160816; b=JroiNmEZLibre+l+kFYS2ZusjudpVx9MIWrgIqYYkO+sK0eg7dRri52EfONlt17Nn5 m5HLVBIdpdG2mM++WtqjiRkGVhhpP7Z3FogTMxclN1LL34SItM+x2ed08W5hlMPdqlrA JlxbuGXdPIvJTm47WFFSkMxr1VW+5pOE/UT5Lv5VoPmsKn+/Q7PhpkE4yb+c6i7NjNKG Aq0BFrBgpuc0oJm8S+ZxTCgjHnyB34QIsdkjkxZsnOW3Ap6IJ6inaK6s0sdIhviODDCc q9IOYaLxqLOkh7BT3C+6lspTPV0N6RW9xWibxGhoECTl01/CppHFxGAMlLJ8U1JPo7hn LuSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=CEfsmzBfBEGCPqvssyFA+Nr7TrJjsG84OjksWImAa9g=; b=MldFDi4ivx8rgMPcLdMXWkUTQq/LRCIRbJiSvsZ+flL3p9LnxGJVpF8Xo6z1KdSS1H nZhwCCrJblgsmGJhG3wWLaY+0u+YGxsli9+lbprCxFxg8fZ6jxQOk6ivVyIQxVRX0CPM FNVgZVGo30f6rfnv852QhCQ7YJCc+94VSjoDvdwhn9Lk0EG00OSRezSg6yRyEx3+I5+6 jr6+b6ILdpq23/JTIIRUVifzpM+kn2fDmSiYBKJwv0viKHtOE58Hai5Gj09XwdqYhmhE lhWHN4kd2KMc6yFZFEBTyCy813wA6RFKER6b8NEzYi2bKKbC/Y8X+/ysmdoyzwOZ4390 mUZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VKJEaEeo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g124si11833466pgc.568.2018.12.11.07.59.43; Tue, 11 Dec 2018 07:59:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VKJEaEeo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730939AbeLKP6C (ORCPT + 99 others); Tue, 11 Dec 2018 10:58:02 -0500 Received: from mail.kernel.org ([198.145.29.99]:47084 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730924AbeLKP55 (ORCPT ); Tue, 11 Dec 2018 10:57:57 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 1EF6920855; Tue, 11 Dec 2018 15:57:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544543876; bh=LxNGzLvHrLHnHUP7vXGqjyYA4CqtX2QP9zRblCOsAv0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VKJEaEeoTqwHR/i/CJLK/xVyCDBbfA1fZj7romD0zc/qpSPBQY1yBFI7yvyUXoyMr 795/4laaP5grxAjB0GfODgmfPdsD9RWvt42OyTTEDzcWO1DSIcR1eD6PTr2SVSUjLj PfmK4O2EkZUa0aLirrts44q/EoAdvUt1PGHf/Nxo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Keith Packard , Dave Airlie , Daniel Vetter Subject: [PATCH 4.19 098/118] drm/lease: Send a distinct uevent Date: Tue, 11 Dec 2018 16:41:57 +0100 Message-Id: <20181211151648.232890582@linuxfoundation.org> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20181211151644.216668863@linuxfoundation.org> References: <20181211151644.216668863@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ From: Daniel Vetter commit ce85882860f0e756f7066cbda1c43e8b50b73ab6 upstream. 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. Michel Dänzer mentioned on irc that -amdgpu also has lease support. It has the same code flow as -modesetting though, so we can still go ahead. v2: Mention -amdgpu (Michel) Cc: Keith Packard Cc: Dave Airlie Cc: stable@vger.kernel.org Reviewed-by: Keith Packard Signed-off-by: Daniel Vetter Link: https://patchwork.freedesktop.org/patch/msgid/20181129094226.30591-1-daniel.vetter@ffwll.ch Signed-off-by: Greg Kroah-Hartman --- 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(-) --- a/drivers/gpu/drm/drm_internal.h +++ b/drivers/gpu/drm/drm_internal.h @@ -99,6 +99,8 @@ struct device *drm_sysfs_minor_alloc(str 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); --- a/drivers/gpu/drm/drm_lease.c +++ b/drivers/gpu/drm/drm_lease.c @@ -296,7 +296,7 @@ void drm_lease_destroy(struct drm_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); } --- a/drivers/gpu/drm/drm_sysfs.c +++ b/drivers/gpu/drm/drm_sysfs.c @@ -301,6 +301,16 @@ void drm_sysfs_connector_remove(struct d 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