On Thu, Mar 14, 2024 at 05:35:23AM -0700, Nikunj Kela wrote: > > On 3/14/2024 3:55 AM, Sudeep Holla wrote: > > > > > Nope, the point was will the presence of (available) scmi/rpmi device > > node suffice if we are thinking of single board level property or > > compatible. I was not mixing the discussion of whether adding such > > a property to each needed device node in this discussion to keep it > > simple. I have already expressed my opinion on that. > > > > I am sure qcom will go and do what they want which may work fine for > > qcom specific drivers but it will not work for a generic IP driver > > used by many vendors. Not sure if Qcom SoCs are just bundle of Qcom > > specific IPs or they do have some generic non-Qcom IPs. Lets us take > > SMMU as example. If the SCMI/RPMI controls the power to it, would you > > go and add this new compatible in the generic SMMU bindings and add > > support in the driver for that ? That is big NO as the driver would > > just need to use std framework interface(doesn't matter Runtime PM/Clock/ > > Reset/genpd/PM OPP). That means they don't need any specific bindings > > to inform SMMU driver that the power is f/w managed. > > For SMMU, we dont need to make any changes in the existing driver. Simple > power-domain over SCMI will suffice since we don't need to do clock scaling > etc. for SMMU. We will use this new property in Qualcomm emac, UFS, USB, > QUPs(i2c,spi,uart) drivers. Sure, as I mentioned in the beginning itself, it is all in the Qcom specific drivers, well you can hack it in any ugly way you want to get things working even in the upstream. But just stop and think for a moment how would you solve this problem if you had few Synopsys Designware IPs instead of all those Qcom specific IPs. Will your suggested solution work or if it works will that even scale ? As I said I will shut up and you can do whatever in your drivers, but I just don't want this to set bad example for other vendors who may not have all their own IPs and may use some generic ones which means they will now follow your solution and go and change those drivers now. The main point I am trying to make is the provide blocks/nodes should have the information that it is firmware managed. The consumer nodes have no business to know that information. I will leave it to you now as I can't stop what you define as Qcom specific and what changes you can make in those Qcom specific drivers. -- Regards, Sudeep