Re: [PATCH RFC v7 0/9] firmware: arm_scmi: vendors: Qualcomm Generic Vendor Extensions
Pragnesh Papaniya <[email protected]> Thu, 25 Jun 2026 10:57:40 +0530
| Newsgroups | org.kernel.vger.arm-scmi,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.linux-tegra |
|---|---|
| Message-ID | <[email protected]> |
On 23-Jun-26 2:17 PM, Sudeep Holla wrote: > On Fri, Jun 19, 2026 at 06:01:23PM +0530, Pragnesh Papaniya wrote: >> >> On 16-Jun-26 1:57 PM, Sudeep Holla wrote: >> >>> Not sure if it was discussed in the previous versions or not, it would be >>> good if you can capture why some of bus scaling doesn't work with the existing >>> SCMI performance protocol and the monitors don't fit the MPAM mode. >>> >>> Please capture them in 1/9 as a motivation for this vendor protocol. It will >>> then help to understand it better as I am still struggling to. Sorry for that. >> >> Thanks for the input! >> >> SCMI perf protocol exports perf domains to kernel where kernel can set >> the frequency but here the scaling governor runs on the SCP while kernel >> just observes frequency changes made by remote governor. > > OK if it is sort of read-only w.r.t kernel, why not perf domain notifications > work to consume the change done by the SCMI platform. > > And why do you have set operations in the vendor protocol being proposed then. > It all looks like something just cooked up to make things work. I need > detailed reasoning as why the existing perf protocol can't work considering > all the existing notifications in place. Please do take another look at the documentation and driver changes to see how it all comes together, since it's apparent that we use SET operation for a ton of things. Taking another stab at explaining how the MEMLAT uses all the ops exposed by the vendor protocol. We use the SET operation to pass on various tuneables (IPM CEIL, stall floors, write-back filter, freq-scale params, adaptive low/high freq, sample ms), the core-freq -> mem-freq map, and min/max clamps) required to run the MEMLAT algorithm on the SCP. You might ask why can't we have these values stored somewhere on the SCP itself? We would like to but all of these are tuneable values, that can change for various boards for the same SoC. The START/STOP operations are meant to start/stop the algorithm, in this case the bus scaling algorithm. We use the GET operation to get the current frequency of memory that we are trying to scale. It can be also used to read back all the parameters that we are trying to set. Another thing to note is that exposing the current frequency to the userspace was something that the community wanted. With all of ^^ in mind, re-using the perf protocol becomes impossible. https://lore.kernel.org/lkml/k4lpzxtrq3x6riyv6etxiobn7nbpczf2bp3m4oc752nhjknlit@uo53kbppzim7/ https://lore.kernel.org/lkml/20241115003809epcms1p518df149458f3023d33ec6d87a315e8f6@epcms1p5/ We'll add more call flow diagrams as part of the documentation for the next re-spin to make reviews a bit more easier. -Pragnesh > >> While MPAM is not enabled/supported on all hardware (Hamoa). > > Fair enough but I still don't fully understand to rule that out yet. >