From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752951AbdCARub (ORCPT ); Wed, 1 Mar 2017 12:50:31 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:55732 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751666AbdCARuA (ORCPT ); Wed, 1 Mar 2017 12:50:00 -0500 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 1ED26607A5 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=okaya@codeaurora.org Subject: Re: [PATCH V3 2/2] PCI: handle CRS returned by device after FLR To: Alex Williamson References: <1475473021-14251-1-git-send-email-okaya@codeaurora.org> <1475473021-14251-3-git-send-email-okaya@codeaurora.org> <20170221135138.791ba4e2@t450s.home> Cc: linux-pci@vger.kernel.org, timur@codeaurora.org, cov@codeaurora.org, vikrams@codeaurora.org, Lorenzo.Pieralisi@arm.com, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org From: Sinan Kaya Message-ID: <76938ac9-d898-1aa5-530c-d106584202d5@codeaurora.org> Date: Wed, 1 Mar 2017 12:31:49 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/21/2017 9:37 PM, Sinan Kaya wrote: >> SR-IOV spec rev 1.1, 3.4.1.1 & 3.4.1.2, Vendor ID and Device ID fields >> for the VF return 0xFFFF when read. The "Virtualization Intermediary" >> is supposed to use the vendor ID from the PF and the device ID defined >> in the PF SR-IOV capability. > > Interesting. Since lspci was showing the correct vendor id and device id, I > assumed that it is coming from offset 0. > > Maybe, the right thing is to figure out if this is a virtual function or not. > If it is a physical function, check the CRS first before reading the command > register in the existing loop. > > I went back and read the spec for CRS in FLR case one more time. We are required to wait up to 1 seconds if the device is sending CRS. The current code seems to be already handling this delay. -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.