On Tue, May 14, 2019 at 09:00:19AM +0530, Vidya Sagar wrote: > There is nothing broken in Tegra194 root port as such, rather, this is more > of software configuration choice and we are going with legacy interrupts than > MSI interrupts (as Tegra194 doesn't support raising PME interrupts through MSI > and please note that this doesn't mean root port is broken). It seems odd at least and probably broken if it adverises MSI interrupts, but than doesn't actually support them fully. > Since Tegra194 has > only Synopsys DesignWare core based host controllers and not any other hosts, I > think it is fine to call this API in driver. Also, since this is a global setting, > calling this APIs from anywhere (be it from quirk or from driver) would have the > same effect, or did I miss anything here? Maybe in your current particular case this is true, but in general we see more and more systems with different kind of root ports, and having a driver set a global variable due to its own hardwares quirk defeats that. So the right thing here is to replace the global flag with a per-device one first before setting it for a driver.