On Mon, Apr 01, 2019 at 05:07:40PM +0200, Thierry Reding wrote: > On Mon, Apr 01, 2019 at 03:31:54PM +0530, Vidya Sagar wrote: > > On 3/28/2019 6:45 PM, Thierry Reding wrote: > > > On Tue, Mar 26, 2019 at 08:43:22PM +0530, Vidya Sagar wrote: > > > > Add support for Tegra194 PCIe controllers. These controllers are based > > > > on Synopsys DesignWare core IP. > > > > +- 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 > > > > > > These seem more like configuration options rather than hardware > > > description. > > Yes. Since the platforms like Jetson-Xavier based on T194 are going to go in > > open market, we are providing these configuration options and hence they are > > optional > > Under what circumstances would we want to disable certain ASPM states? > My understanding is that PCI device drivers can already disable > individual ASPM states if they don't support them, so why would we ever > want to disable advertisement of certain ASPM states? The PCI core (not individual device drivers) configures ASPM, and if both ends of the link implement the spec correctly, there is nothing the device driver needs to do. There *are* a few drivers that fiddle with ASPM-related things. I think this is because either the core isn't doing things correctly and we haven't bothered to fix the root cause, or the device itself is broken and we need to disable something the hardware claims to support. Bjorn