Received: by 10.223.176.46 with SMTP id f43csp1043949wra; Fri, 19 Jan 2018 06:09:33 -0800 (PST) X-Google-Smtp-Source: ACJfBosIuNq/D07izrUIQF9YurNg7qWZIbmXP5Nur5gRC2QAk/i+27apVmGrkUQ5fqJkSDB4c/YP X-Received: by 10.99.176.15 with SMTP id h15mr18288359pgf.374.1516370972942; Fri, 19 Jan 2018 06:09:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516370972; cv=none; d=google.com; s=arc-20160816; b=HLt8NNF+qyRmnaZPMKiFkCOwesJZzNkXcL6YMF8wFZwDK3yiTdhKWN+xOaMXECxkHO UZ8H0mmRAOTTYFvEJ6bAhmV97Zk+dKMs3RBM6NCeFq+E75phYjwHgcsWPcdRIXAKZnLL xXyXNcS9zYbcuEP54WPNgcNmXeOUhI0nMgUnz7pNxnQMqFMhYIOuq276d7S27x44y/J9 ihximp4YG9eclHsHd4huRNpK98/wo828ePixzzIiXJoXvLZCHjErwszH+qYSHEci4g8Q X1diRDM5KecHwtc8uRb9m3ErqaewsfyhiIQtDzUcypvlLWIfVzF1mvUy6BTRl4zAtgie lqyA== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:dmarc-filter:dkim-signature :dkim-signature:arc-authentication-results; bh=/hLT+ugJDv/6IkYCouuSJDeBlP24KAUlOKA9uYhLqGI=; b=DOpvShz5JAFUCqmNGeksF1cZphNifq3lrx9+8ZXUikids0fgd7sS19mIOojO1J9uWx 51yh6nF3uAQySVjFbbnFDFD1PmVpuNFvUvru4cSPH/YG1997kG0vhOJDPL7Fkeo3FHRD Vq50BlHQcrz/mERGxC7l8iYMlxufgTaw0raAZAyGWLzg6uWXDtgDJUfiUD8l6fYkDdoe g5hkSuZPcoklIWyS0a0L6in9G/6urAMEqL62KmGXQmYab/Hc4gUUzoNoBeZXYerguByT Qfe4AWIggkDQtOCBkOZEqZldjZ9ZdlNGzvs9ijkRuOhWaoR0vvbfLBh2iOYvY0+FeBQS rEfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=oC+qwnvM; dkim=pass header.i=@codeaurora.org header.s=default header.b=JkYYTxyv; 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 w1si2859213pgr.637.2018.01.19.06.09.18; Fri, 19 Jan 2018 06:09:32 -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=@codeaurora.org header.s=default header.b=oC+qwnvM; dkim=pass header.i=@codeaurora.org header.s=default header.b=JkYYTxyv; 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 S1755008AbeASOIQ (ORCPT + 99 others); Fri, 19 Jan 2018 09:08:16 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:43302 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753841AbeASOII (ORCPT ); Fri, 19 Jan 2018 09:08:08 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 7A00A60A5F; Fri, 19 Jan 2018 14:08:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1516370888; bh=TanJRKyBxTC1UMZFwA3yE8pPkExbm2s88xonGrefBbo=; h=Subject:To:References:From:Date:In-Reply-To:From; b=oC+qwnvMU+ar2XMYGv9V3/qkMor2HmYnu050qSoCbSHvkPWMPI9OkBHkhILMX5mmD XwgUz9Evr4mfbOR9gF6aH7a4GSMGkC/Rff1iaD0Np/+V+kPKibMuNhJTW85JeMt8Im aKN1lBtMGjij7/EHyvl2tUEmIeUe2k6OfSaROoUY= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from [192.168.1.79] (104-182-54-152.lightspeed.rlghnc.sbcglobal.net [104.182.54.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: okaya@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id B1A5360112; Fri, 19 Jan 2018 14:08:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1516370887; bh=TanJRKyBxTC1UMZFwA3yE8pPkExbm2s88xonGrefBbo=; h=Subject:To:References:From:Date:In-Reply-To:From; b=JkYYTxyvlUeyTupm204X2+9NdTJV/LNjjN0PBgjYJLId1XMWboCPX9r/xuiata9qo p7cOPhJnbGdXHLmM+8ZHZA7I58sgR9LFC0ZYp/VA6WYcjf3er+iMrEoMeLObIb5f4b UtonDzK2SxobV56bqS/niZ19ywNM3mkTtIBVx29w= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org B1A5360112 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 v6 7/7] PCI: Unify wait for link active into generic pci To: Oza Pawandeep , Bjorn Helgaas , Philippe Ombredanne , Thomas Gleixner , Greg Kroah-Hartman , Kate Stewart , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Dongdong Liu , Keith Busch , Wei Zhang , Timur Tabi References: <1516360204-1586-1-git-send-email-poza@codeaurora.org> <1516360204-1586-8-git-send-email-poza@codeaurora.org> From: Sinan Kaya Message-ID: Date: Fri, 19 Jan 2018 09:08:05 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <1516360204-1586-8-git-send-email-poza@codeaurora.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/19/2018 6:10 AM, Oza Pawandeep wrote: > +check_link: > + pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status); > + ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA); > + > + if (ret == active) { > + dev_printk(KERN_DEBUG, &pdev->dev, > + "%s: lnk_status = %x\n", __func__, lnk_status); > + return true; > + } > + > + while (timeout > 0) { > + msleep(10); > + timeout -= 10; > + goto check_link; > + } this is weird. I think following is a simpler approach. pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status); ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA); while ((ret != active) && (timeout > 0)) { msleep(10); timeout -= 10; pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status); ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA); } -- 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.