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: 9419793 X-Patchwork-Delegate: bhelgaas@google.com 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 8F500601C0 for ; Wed, 9 Nov 2016 16:56:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 827E729389 for ; Wed, 9 Nov 2016 16:56:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 757562938D; Wed, 9 Nov 2016 16:56:20 +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=-6.3 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B9C9F29389 for ; Wed, 9 Nov 2016 16:56:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752259AbcKIQ4S (ORCPT ); Wed, 9 Nov 2016 11:56:18 -0500 Received: from mail-wm0-f66.google.com ([74.125.82.66]:33205 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752065AbcKIQ4S (ORCPT ); Wed, 9 Nov 2016 11:56:18 -0500 Received: by mail-wm0-f66.google.com with SMTP id u144so30437288wmu.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=SmRzS4Zzd2Wo1raXg5pmi7wla5uv54/zoR7tDjPQmXEY5rE6WXvVKJYGea8vW6u8I1 hxQfX+W/4IKLWmJeTL0vu44LcmUT8s2fG2ogvcgQr0joegZVoAIH7O/q57aS0EK7FZgr 6Bf/Sb913SuhdYnEgi8QHtV73Y54BK9ic4fTo2CYktI6+SjUIvYSUHNHW9K2sG4Cbmpx tIvaK7wcfOeuQHKUHEYjZS3dq5VuaQUSwUiQELBeSSpFXJlGG7uAQtNhSYv/A91trUZR NlyT4vjNB81EJ+vEmq5j7Qn2GSzw/rXRsB8chDBzXFYEOIqEubX6gsj5Kcod4lCkAOl2 WxBg== X-Gm-Message-State: ABUngvcXKYga4T3UmQKtxNOPqJ8/E2R4R2pmaZwBVMPF4kjdrHgC02S2CRIIf+VLMqZaJA== 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 Cc: emil.l.velikov@gmail.com, Bjorn Helgaas , linux-pci@vger.kernel.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> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org 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,