Received: by 10.223.185.116 with SMTP id b49csp6707485wrg; Wed, 28 Feb 2018 14:07:47 -0800 (PST) X-Google-Smtp-Source: AH8x227PwPYFiy/fT6hh9l0HCceEtKB5Ou5z3E+15i2zSeemolKcqxk267a/ZOfkCRKggOd3D3PF X-Received: by 10.99.97.205 with SMTP id v196mr15344149pgb.319.1519855667349; Wed, 28 Feb 2018 14:07:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519855667; cv=none; d=google.com; s=arc-20160816; b=EEUaMIRzsbU/XlF/aO6A2qnrD7jdFafvoSVSHl72AB6arXcRTw0zq45kYhA3iRcCeV uQRB1JbTx72KO7XEXKVz7Lbs3CegljOwGLQjpuDa4m9cILRg99OYo2Nx0VHQBGbFHZVl i2aCCGmWLaOMJX8mbiVCalW/us387Pnmp2QyBHalv9YVv/7drz2dFY2c7nWrezfWWvmG XHKEEeY6Hp8wmo/PQx4NsNFbfPoikXj6w9DuOKBwsft7hzkIg0qidTydg7tNf8b0Y+w5 b2o80c+iX3ei4hI16NoxoYXNngYLBsCPeb+qSx7ng/PdfILM+6vOpZ2qJntcUI+WK2ql FPKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dmarc-filter :arc-authentication-results; bh=mL2y1u5dFBT8ZDesP9kbT3IFv7hsU9/3xUV37/0PknE=; b=I1KRaEFzU3yE+dq+RyLJNRn2Q2/uovKmGJJQY6cpCnw1EuZlSbQWgq6rE4jaLelMlE BWlZ92xwLUqK24SnNM3zVs7pje60ZTqPZz1kuiTWLU/KCL46ROnjsh9zlcB2PEV/8ov2 Ro8JvwNyZ37CajV6u3jQ0zuBVPCD3OazipfBFMIVKEAjIcqWqJZRQyQQZh0i/KiuDdPk yFOLfxgXrtYMh7rEkLvEiJHYjv64bH0mu7EDhuR/zYgbpYNLv6xilPSsk4FDXFfgQpHi /0lQMjlqnrjGm5gQVpw84mYv4se0E/ZtDW02lUgstZkwcaPIM/7Z0IqK+InTia5Xm/w4 jX0A== ARC-Authentication-Results: i=1; mx.google.com; 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 v192si1487763pgb.350.2018.02.28.14.07.32; Wed, 28 Feb 2018 14:07:47 -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; 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 S935266AbeB1WGt (ORCPT + 99 others); Wed, 28 Feb 2018 17:06:49 -0500 Received: from mail.kernel.org ([198.145.29.99]:50252 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935105AbeB1WGr (ORCPT ); Wed, 28 Feb 2018 17:06:47 -0500 Received: from localhost (unknown [69.55.156.246]) (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 F0FB52133D; Wed, 28 Feb 2018 22:06:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F0FB52133D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=helgaas@kernel.org Date: Wed, 28 Feb 2018 16:06:46 -0600 From: Bjorn Helgaas To: KarimAllah Ahmed Cc: linux-pci@vger.kernel.org, Bjorn Helgaas , linux-kernel@vger.kernel.org, Jan H =?iso-8859-1?Q?=2E_Sch=F6nherr?= Subject: Re: [PATCH] pci: Do not read INTx PIN and LINE registers for virtual functions Message-ID: <20180228220645.GO127842@bhelgaas-glaptop.roam.corp.google.com> References: <1516213829-14844-1-git-send-email-karahmed@amazon.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1516213829-14844-1-git-send-email-karahmed@amazon.de> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 17, 2018 at 07:30:29PM +0100, KarimAllah Ahmed wrote: > ... since INTx is not supported by-spec for virtual functions. > > Cc: Bjorn Helgaas > Cc: linux-pci@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: KarimAllah Ahmed > Signed-off-by: Jan H. Sch?nherr Applied to pci/virtualization for v4.17, thanks! I tweaked the changelog to include the motivation: commit 16edf1c6345ab177ccf1e8b5ba3324ee01a50eb7 Author: KarimAllah Ahmed Date: Wed Jan 17 19:30:29 2018 +0100 PCI/IOV: Skip INTx config reads for VFs Per PCIe r4.0, sec 9.2.1.4, VFs can not implement INTX, and their Interrupt Line and Interrupt Pin registers must be RO Zero. Some devices have thousands of VFs, so skip reading the registers as an optimization. Signed-off-by: KarimAllah Ahmed Signed-off-by: Jan H. Sch?nherr [bhelgaas: changelog, comment] Signed-off-by: Bjorn Helgaas diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 489660d0d384..a1cddca37793 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -1230,6 +1230,13 @@ static void pci_read_irq(struct pci_dev *dev) { unsigned char irq; + /* VFs are not allowed to use INTx, so skip the config reads */ + if (dev->is_virtfn) { + dev->pin = 0; + dev->irq = 0; + return; + } + pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &irq); dev->pin = irq; if (irq)