From patchwork Wed Nov 9 16:56:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Emil Velikov X-Patchwork-Id: 9419795 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 39EF9601C0 for ; Wed, 9 Nov 2016 16:56:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2D1A229389 for ; Wed, 9 Nov 2016 16:56:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 21FDE2938D; Wed, 9 Nov 2016 16:56:21 +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=-3.6 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham 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 D474E29389 for ; Wed, 9 Nov 2016 16:56:20 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E1A8D89E47; Wed, 9 Nov 2016 16:56:18 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id EBD4E89E47 for ; Wed, 9 Nov 2016 16:56:17 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id u144so30437286wmu.0 for ; Wed, 09 Nov 2016 08:56:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=OrZ8o9/kob/X9G6bvEHt3qTFOc0w7OMma9t0TgjRsGE=; b=C/lvyIR8uXRaAl3GSV9o1AHP6oUhLJCfAAtyL1BP7GM5fR+9tOJan6H6fyWCtA1dGx 0LG/WZURxh8WHkydXZjE+D02qQeWm/VMUUKY39ARIRPmWzBsPtaoSDYokH92B12u3ZZQ icDDOzBc7xPhM21QhEgRw0iHumlKd99nQl9X84r/aija7JpC4D6ua4kJguCtaVdEtpzG pYuIoHD586ZIVzQF2/KQmxi28gflacq6E8+v0GETBO/Vh6XbGkmMAnfO3tYXasVjfvAS gsKD3KwkFTE5k8ZCrwehxWR0Jd7xO2T9bVvSjRbmo7ZXvq8sd5FO7FG3Pkr1aPLEuzWX fxtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=OrZ8o9/kob/X9G6bvEHt3qTFOc0w7OMma9t0TgjRsGE=; b=fswRRPIyXQXtSfYPjnJnyTFTvc7VvkD2mcsa80QuSVW9nrAx/6PluNmqsyRm2XJ2mC nWFR2JU0pM5zhPgcRkhCKEXAn/Usza8N3iR+zur7RX1gsxglWz2ZG10PiS2sS6VkufzJ DBBjbRlhQuBk/loaW8ipiuAR9v26fzlXgIHzpP4oTTmCPtTDpo9X2jB7EMrJqOz//DYy XU8RJFOoUwxExfK/00xfnvqyxq6a5REVbmJUn0fd9F1poJ3FXvXTbNLVYg2vw1q/w9X2 L+A9SNMoRPLsV8rA1on55Vy8xnTLRxuY2x0caRzFlTc2VsP0ZqL+w3OaKZxEAelGN5hm TzKQ== X-Gm-Message-State: ABUngvci0W+W80DTBjIfxsYzgz+0Drx9MdtSRFtKHRgJ9wLl6YMSjhgBoPutLIyybjkXDA== X-Received: by 10.28.232.213 with SMTP id f82mr20478184wmi.85.1478710576572; Wed, 09 Nov 2016 08:56:16 -0800 (PST) Received: from arch-x220.cbg.collabora.co.uk ([2a00:1098:5:0:120b:a9ff:fe8d:c914]) by smtp.gmail.com with ESMTPSA id wn5sm466794wjb.42.2016.11.09.08.56.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Nov 2016 08:56:15 -0800 (PST) From: Emil Velikov To: dri-devel@lists.freedesktop.org Subject: [PATCH v2] PCI: create revision file in sysfs Date: Wed, 9 Nov 2016 16:56:07 +0000 Message-Id: <20161109165607.26322-1-emil.l.velikov@gmail.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20161101154232.6451-1-emil.l.velikov@gmail.com> References: <20161101154232.6451-1-emil.l.velikov@gmail.com> Cc: Bjorn Helgaas , linux-pci@vger.kernel.org, emil.l.velikov@gmail.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Emil Velikov Currently the revision isn't available via sysfs/libudev thus if one wants to know the value they need to read through the config file. This in itself wakes/powers up the device, causing unwanted delays. There are at least two userspace components which could make use the new file - libpciaccess and libdrm. At the moment the former will wake up _every_ PCI device for simple invocation of glxinfo [when using Mesa 10.0+ drivers]. While the latter [in association with Mesa 13.0] can lead to 2-3 second delays while starting firefox, thunderbird or chromium. Expose the revision as a separate file, just like we do for the device, vendor, their subsystem version and class. Cc: Bjorn Helgaas Cc: linux-pci@vger.kernel.org Link: https://bugs.freedesktop.org/show_bug.cgi?id=98502 Tested-by: Mauro Santos Reviewed-by: Alex Deucher Signed-off-by: Emil Velikov --- v2: - Add r-b/t-b tags - Slim down CC list - Add note about userspace. As before, please keep me in the CC list. Additionally if there's anything else I can do to get things going please let me know. Thanks Emil --- drivers/pci/pci-sysfs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c index bcd10c7..0666287 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c @@ -50,6 +50,7 @@ pci_config_attr(vendor, "0x%04x\n"); pci_config_attr(device, "0x%04x\n"); pci_config_attr(subsystem_vendor, "0x%04x\n"); pci_config_attr(subsystem_device, "0x%04x\n"); +pci_config_attr(revision, "0x%02x\n"); pci_config_attr(class, "0x%06x\n"); pci_config_attr(irq, "%u\n"); @@ -568,6 +569,7 @@ static struct attribute *pci_dev_attrs[] = { &dev_attr_device.attr, &dev_attr_subsystem_vendor.attr, &dev_attr_subsystem_device.attr, + &dev_attr_revision.attr, &dev_attr_class.attr, &dev_attr_irq.attr, &dev_attr_local_cpus.attr,