Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2008099yba; Tue, 2 Apr 2019 22:30:21 -0700 (PDT) X-Google-Smtp-Source: APXvYqxdJHPFm+LUBVIaJfdHTGcGQl3B/kkHHtyhUbrHwubRShia+wAkYggLs459Q8ca5sY0jofR X-Received: by 2002:a17:902:b484:: with SMTP id y4mr67568801plr.88.1554269420929; Tue, 02 Apr 2019 22:30:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554269420; cv=none; d=google.com; s=arc-20160816; b=Ic8yxTbcVqetEojsvbIUML+yvsFakiOruGnkqZ+xaFDV4nZUGiW9A/2wtVV4AnbPXW OgTiC/zol5qMaiC4hukxrliu846t9I4+vGwxYmEoOukr0CEDCf7MxubZei+msoPLscV8 zVC5GC33YbhTsVepc1XoT/KypVNf+HrSP2Jemse63rwYx7MliNDs5kjBG8I1yOw3uyBl QfjU/lqO2dY0zEzrne13Q9Y5VdsGjnpZgPmyTim3iqQ3DUbem7SfYNWgP+f3nkDOz++h IgCRl1JlDFEfYa7FLnDkMC+95FAZv2Kl9LMlU4JrTDCfTj1HqwhkxynL078ljxWZd8jA mwxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=wRr9PTtyWUc9cwsS9nPdpWERlocFX5Pk57zfz9m01ww=; b=w0FyulmLIAJXRzwEswRza5Cwv9+DSXx4/I27G6LZ8g59JUW+5kzTwleXGeDGEb4l3D dmwnm8E4xWKYHyLw2zN5+TkOBaEa1iFOeZPSzSTFMMAB+X23BtgsReBxofeJkUurRlTd NbXJlmyn2hTjp67ZZD3kPqL1IEyIAC5EB5jafJPOqG5o+zvcwnc9H6WCC2cOLOespEaz Y6TD0GKIA6FOetxrVqVhkKqiimlMX8sGyFWkBvJmuEUvmleicQPw+5cssLy9dMfqCYh7 e7dmUjKBhwoTzmnC3zbxva3ASOyAIhi06s/yhyh/5mVCxAGD2wEUgSdUbjAPc68QUzje fSdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=R+SA0FJ4; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 75si13295308pfr.45.2019.04.02.22.30.05; Tue, 02 Apr 2019 22:30:20 -0700 (PDT) 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=@nvidia.com header.s=n1 header.b=R+SA0FJ4; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728725AbfDCF3a (ORCPT + 99 others); Wed, 3 Apr 2019 01:29:30 -0400 Received: from hqemgate16.nvidia.com ([216.228.121.65]:6258 "EHLO hqemgate16.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbfDCF33 (ORCPT ); Wed, 3 Apr 2019 01:29:29 -0400 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate16.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 02 Apr 2019 22:29:25 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Tue, 02 Apr 2019 22:29:27 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 02 Apr 2019 22:29:27 -0700 Received: from [10.24.47.153] (172.20.13.39) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 3 Apr 2019 05:29:16 +0000 Subject: Re: [PATCH 05/10] dt-bindings: PCI: tegra: Add device tree support for T194 To: Thierry Reding , Rob Herring CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , References: <1553613207-3988-1-git-send-email-vidyas@nvidia.com> <1553613207-3988-6-git-send-email-vidyas@nvidia.com> <5ca06149.1c69fb81.720fd.79e1@mx.google.com> <5ef50168-2476-1088-7156-8a4488d7a2e1@nvidia.com> <20190401143138.GA4874@ulmo> <67f9b726-c075-0291-7777-8f10ecc9e29d@nvidia.com> <20190402142031.GC8017@ulmo> X-Nvconfidentiality: public From: Vidya Sagar Message-ID: <418d270d-120e-f33b-a525-a0677ab9343d@nvidia.com> Date: Wed, 3 Apr 2019 10:59:13 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190402142031.GC8017@ulmo> X-Originating-IP: [172.20.13.39] X-ClientProxiedBy: HQMAIL106.nvidia.com (172.18.146.12) To HQMAIL101.nvidia.com (172.20.187.10) Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1554269365; bh=wRr9PTtyWUc9cwsS9nPdpWERlocFX5Pk57zfz9m01ww=; h=X-PGP-Universal:Subject:To:CC:References:X-Nvconfidentiality:From: Message-ID:Date:User-Agent:MIME-Version:In-Reply-To: X-Originating-IP:X-ClientProxiedBy:Content-Type:Content-Language: Content-Transfer-Encoding; b=R+SA0FJ4iRk6o516Ehov4foBeYj+Fh498F+xfMhsvgA2TH/TkuCgwqOvUubJYLwzp MI5bHRBDgnH3exOdUUtiQldR4cQ55lnVhjiMvFBwI++9NHBcSivZaEAEV2Ma7O1qy9 1/8N8hIrBn7p34Xx1IrcXTyM2nQ/gwq7+gSToeUdhKVuCo/r1bKANFZErm+K2HKCZp uYcNj4XnleyHyQxj3njkq3rU/fFBOXwpbyuuV474ez/46gQpE3FWlTAFghj40hx4FW iyycojmXBawIqPoS1jsmNUMEW+j6phFBCb9fHpyzHywXNUZijj5Jdxu7LWio0to/QK EvKcV/ZMOoRCg== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/2/2019 7:50 PM, Thierry Reding wrote: > On Tue, Apr 02, 2019 at 02:46:27PM +0530, Vidya Sagar wrote: >> On 4/1/2019 8:01 PM, Thierry Reding wrote: >>> On Mon, Apr 01, 2019 at 04:48:42PM +0530, Vidya Sagar wrote: >>>> On 3/31/2019 12:12 PM, Rob Herring wrote: >>>>> On Tue, Mar 26, 2019 at 08:43:22PM +0530, Vidya Sagar wrote: > [...] >>>>>> +Optional properties: >>>>>> +- nvidia,max-speed: limits controllers max speed to this value. >>>>>> + 1 - Gen-1 (2.5 GT/s) >>>>>> + 2 - Gen-2 (5 GT/s) >>>>>> + 3 - Gen-3 (8 GT/s) >>>>>> + 4 - Gen-4 (16 GT/s) >>>>>> +- nvidia,init-speed: limits controllers init speed to this value. >>>>>> + 1 - Gen-1 (2. 5 GT/s) >>>>>> + 2 - Gen-2 (5 GT/s) >>>>>> + 3 - Gen-3 (8 GT/s) >>>>>> + 4 - Gen-4 (16 GT/s) >>>>> >>>>> Don't we have standard speed properties? >>>> Not that I'm aware of. If you come across any, please do let me know and >>>> I'll change these. >>> >>> See Documentation/devicetree/bindings/pci/pci.txt, max-link-speed. >>> There's a standard of_pci_get_max_link_speed() property that reads it >>> from device tree. >> Thanks for the pointer. I'll switch to this in the next patch. >> >>> >>>>> Why do we need 2 values? >>>> max-speed configures the controller to advertise the speed mentioned through >>>> this flag, whereas, init-speed gets the link up at this speed and software >>>> can further take the link speed to a different speed by retraining the link. >>>> This is to give flexibility to developers depending on the platform. >>> >>> This seems to me like overcomplicating things. Couldn't we do something >>> like start in the slowest mode by default and then upgrade if endpoints >>> support higher speeds? >>> >>> I'm assuming that the maximum speed is already fixed by the IP hardware >>> instantiation, so why would we want to limit it additionally? Similarly, >>> what's the use-case for setting the initial link speed to something >>> other than the lowest speed? >> You are right that maximum speed supported by hardware is fixed and through >> max-link-speed DT option, flexibility is given to limit it to the desired speed >> for a controller on a given platform. As mentioned in the documentation for max-link-speed, >> this is a strategy to avoid unnecessary operation for unsupported link speed. >> There is no real use-case as such even for setting the initial link speed, but it is >> there to give flexibility (for any debugging) to get the link up at a certain speed >> and then take it to a higher speed at a later point of time. Please note that, hardware >> as such already has the capability to take the link to maximum speed agreed by both >> upstream and downstream ports. 'nvidia,init-speed' is only to give more flexibility >> while debugging. I'm OK to remove it if this is not adding much value here. > > If this is primarily used for debugging or troubleshooting, maybe making > it a module parameter is a better choice? > > I can see how max-link-speed might be good in certain situations where a > board layout may mandate that a link speed slower than the one supported > by the hardware is used, but I can't imagine a case where the initial > link speed would have to be limited based on the hardware designe. > > Rob, do you know of any other cases where something like this is being > used? Fair enough. I'll make max-link-speed as an optional DT parameter and leave 'nvidia,init-speed' to Rob to decided whether it is OK to have it or it is not acceptable. > >>>>>> +- nvidia,disable-aspm-states : controls advertisement of ASPM states >>>>>> + bit-0 to '1' : disables advertisement of ASPM-L0s >>>>>> + bit-1 to '1' : disables advertisement of ASPM-L1. This also disables >>>>>> + advertisement of ASPM-L1.1 and ASPM-L1.2 >>>>>> + bit-2 to '1' : disables advertisement of ASPM-L1.1 >>>>>> + bit-3 to '1' : disables advertisement of ASPM-L1.2 >>>>> >>>>> Seems like these too should be common. >>>> This flag controls the advertisement of different ASPM states by root port. >>>> Again, I'm not aware of any common method for this. >>> >>> rockchip-pcie-host.txt documents an "aspm-no-l0s" property that prevents >>> the root complex from advertising L0s. Sounds like maybe following a >>> similar scheme would be best for consistency. I think we'll also want >>> these to be non-NVIDIA specific, so drop the "nvidia," prefix and maybe >>> document them in pci.txt so that they can be more broadly used. >> Since we have ASPM-L0s, L1, L1.1 and L1.2 states, I prefer to have just one entry >> with different bit positions indicating which particular state should not be >> advertised by root port. Do you see any particular advantage to have 4 different options? >> If having one options is fine, I'll remove "nvidia," and document it in pci.txt. > > I don't care strongly either way. It's really up to Rob to decide. Rob, please let us know your comments on this also. > > Thierry >