Message ID | 20220504075153.185208-1-marcan@marcan.st |
---|---|
Headers | show |
Series | Apple SoC cpufreq driver | expand |
On 04-05-22, 16:51, Hector Martin wrote: > Splitting this commit, as usual, to facilitate merges via the SoC tree. > > Signed-off-by: Hector Martin <marcan@marcan.st> > --- > MAINTAINERS | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/MAINTAINERS b/MAINTAINERS > index edc96cdb85e8..39bfa478fe55 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1835,6 +1835,7 @@ T: git https://github.com/AsahiLinux/linux.git > F: Documentation/devicetree/bindings/arm/apple.yaml > F: Documentation/devicetree/bindings/arm/apple/* > F: Documentation/devicetree/bindings/clock/apple,nco.yaml > +F: Documentation/devicetree/bindings/cpufreq/apple,soc-cpufreq.yaml > F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml > F: Documentation/devicetree/bindings/interrupt-controller/apple,* > F: Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml > @@ -1844,6 +1845,7 @@ F: Documentation/devicetree/bindings/power/apple* > F: Documentation/devicetree/bindings/watchdog/apple,wdt.yaml > F: arch/arm64/boot/dts/apple/ > F: drivers/clk/clk-apple-nco.c > +F: drivers/cpufreq/apple-soc-cpufreq.c > F: drivers/i2c/busses/i2c-pasemi-core.c > F: drivers/i2c/busses/i2c-pasemi-platform.c > F: drivers/irqchip/irq-apple-aic.c This should be the last patch instead, or should at least be added after the files are merged first. If someone checks out at this commit, the files won't be available but still linked here.
On 04-05-22, 16:51, Hector Martin wrote: > Hi folks, > > Here's a second take on the cpufreq driver for Apple SoCs. This is a > complete rewrite using a stand-alone cpufreq driver instead of using the > cpufreq-dt infrastructure. > > Since v1 we ran some experiments on the memory controller performance > switching and it turns out it doesn't make a huge difference, so it > makes sense to punt that feature to the future (perhaps once a proper > memory controller driver exists for other reasons, e.g. for error > handling). > > One advantage of having a standalone cpufreq driver is that we can > support fast switching. This also means any future interaction with > the memory controller will probably use some bespoke mechanism instead > of the genpd infrastructure, so we can keep the fast path without > allowing sleeps/etc. > > The driver is based on scpi-cpufreq.c, with some bits (e.g. the > apple,freq-domain stuff) inspired by how cpufreq-qcom-hw does it. > I'm not sure if that particular property should be described > in a binding, since it goes in the cpu nodes (qcom doesn't have it > anywhere...). Hi Mani, I can see that Rob asked you to add this somewhere, maybe in arm/cpu stuff, but I don't think you ever sent a patch with that. What happened ? https://lore.kernel.org/lkml/20201013171800.GA3716411@bogus/
On 04/05/2022 19.17, Viresh Kumar wrote: > On 04-05-22, 16:51, Hector Martin wrote: >> Splitting this commit, as usual, to facilitate merges via the SoC tree. >> >> Signed-off-by: Hector Martin <marcan@marcan.st> >> --- >> MAINTAINERS | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/MAINTAINERS b/MAINTAINERS >> index edc96cdb85e8..39bfa478fe55 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -1835,6 +1835,7 @@ T: git https://github.com/AsahiLinux/linux.git >> F: Documentation/devicetree/bindings/arm/apple.yaml >> F: Documentation/devicetree/bindings/arm/apple/* >> F: Documentation/devicetree/bindings/clock/apple,nco.yaml >> +F: Documentation/devicetree/bindings/cpufreq/apple,soc-cpufreq.yaml >> F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml >> F: Documentation/devicetree/bindings/interrupt-controller/apple,* >> F: Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml >> @@ -1844,6 +1845,7 @@ F: Documentation/devicetree/bindings/power/apple* >> F: Documentation/devicetree/bindings/watchdog/apple,wdt.yaml >> F: arch/arm64/boot/dts/apple/ >> F: drivers/clk/clk-apple-nco.c >> +F: drivers/cpufreq/apple-soc-cpufreq.c >> F: drivers/i2c/busses/i2c-pasemi-core.c >> F: drivers/i2c/busses/i2c-pasemi-platform.c >> F: drivers/irqchip/irq-apple-aic.c > > This should be the last patch instead, or should at least be added > after the files are merged first. If someone checks out at this > commit, the files won't be available but still linked here. Isn't that backwards? If someone touches the files, we want them to be able to get_maintainer.pl, so the MAINTAINERS entries should come first. It doesn't really cause any issues if there are entries that point at files that don't exist yet, right? Though this is mostly a moot point because the purpose of splitting this out is so we can merge this one patch through the SoC tree, at which point the ordering isn't guaranteed (unless the whole series goes through SoC). It's a minor issue though; we've done it like this for other series and it hasn't caused anyone trouble.
Hi Viresh, On Wed, May 04, 2022 at 03:57:45PM +0530, Viresh Kumar wrote: > On 04-05-22, 16:51, Hector Martin wrote: > > Hi folks, > > > > Here's a second take on the cpufreq driver for Apple SoCs. This is a > > complete rewrite using a stand-alone cpufreq driver instead of using the > > cpufreq-dt infrastructure. > > > > Since v1 we ran some experiments on the memory controller performance > > switching and it turns out it doesn't make a huge difference, so it > > makes sense to punt that feature to the future (perhaps once a proper > > memory controller driver exists for other reasons, e.g. for error > > handling). > > > > One advantage of having a standalone cpufreq driver is that we can > > support fast switching. This also means any future interaction with > > the memory controller will probably use some bespoke mechanism instead > > of the genpd infrastructure, so we can keep the fast path without > > allowing sleeps/etc. > > > > The driver is based on scpi-cpufreq.c, with some bits (e.g. the > > apple,freq-domain stuff) inspired by how cpufreq-qcom-hw does it. > > I'm not sure if that particular property should be described > > in a binding, since it goes in the cpu nodes (qcom doesn't have it > > anywhere...). > > Hi Mani, > > I can see that Rob asked you to add this somewhere, maybe in arm/cpu > stuff, but I don't think you ever sent a patch with that. What > happened ? > > https://lore.kernel.org/lkml/20201013171800.GA3716411@bogus/ > Oops. Looks like that one slipped through the cracks. I did add it to my todo list for qcom-cpufreq but missed it completely. I will look into it. Thanks, Mani > -- > viresh
On 04/05/2022 16:52, Hector Martin wrote: > On 04/05/2022 19.17, Viresh Kumar wrote: >> On 04-05-22, 16:51, Hector Martin wrote: >>> Splitting this commit, as usual, to facilitate merges via the SoC tree. >>> >>> Signed-off-by: Hector Martin <marcan@marcan.st> >>> --- >>> MAINTAINERS | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/MAINTAINERS b/MAINTAINERS >>> index edc96cdb85e8..39bfa478fe55 100644 >>> --- a/MAINTAINERS >>> +++ b/MAINTAINERS >>> @@ -1835,6 +1835,7 @@ T: git https://github.com/AsahiLinux/linux.git >>> F: Documentation/devicetree/bindings/arm/apple.yaml >>> F: Documentation/devicetree/bindings/arm/apple/* >>> F: Documentation/devicetree/bindings/clock/apple,nco.yaml >>> +F: Documentation/devicetree/bindings/cpufreq/apple,soc-cpufreq.yaml >>> F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml >>> F: Documentation/devicetree/bindings/interrupt-controller/apple,* >>> F: Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml >>> @@ -1844,6 +1845,7 @@ F: Documentation/devicetree/bindings/power/apple* >>> F: Documentation/devicetree/bindings/watchdog/apple,wdt.yaml >>> F: arch/arm64/boot/dts/apple/ >>> F: drivers/clk/clk-apple-nco.c >>> +F: drivers/cpufreq/apple-soc-cpufreq.c >>> F: drivers/i2c/busses/i2c-pasemi-core.c >>> F: drivers/i2c/busses/i2c-pasemi-platform.c >>> F: drivers/irqchip/irq-apple-aic.c >> >> This should be the last patch instead, or should at least be added >> after the files are merged first. If someone checks out at this >> commit, the files won't be available but still linked here. > > Isn't that backwards? No, because we have tools for checking valid paths (in some places), so when using that tool, the history is not bisectable. > If someone touches the files, we want them to be > able to get_maintainer.pl, so the MAINTAINERS entries should come first. > It doesn't really cause any issues if there are entries that point at > files that don't exist yet, right? It hurts any current or future tools checking for valid paths. > > Though this is mostly a moot point because the purpose of splitting this > out is so we can merge this one patch through the SoC tree, at which > point the ordering isn't guaranteed (unless the whole series goes > through SoC). Just add each path change to respective commit adding that file. It should not be a separate commit, at first place. Separate commits are for adding entire Maintainers entry. Best regards, Krzysztof
On 05-05-22, 10:42, Krzysztof Kozlowski wrote: > On 04/05/2022 16:52, Hector Martin wrote: > > On 04/05/2022 19.17, Viresh Kumar wrote: > >> This should be the last patch instead, or should at least be added > >> after the files are merged first. If someone checks out at this > >> commit, the files won't be available but still linked here. > > > > Isn't that backwards? > > No, because we have tools for checking valid paths (in some places), so > when using that tool, the history is not bisectable. > > > If someone touches the files, we want them to be > > able to get_maintainer.pl, so the MAINTAINERS entries should come first. > > It doesn't really cause any issues if there are entries that point at > > files that don't exist yet, right? > > It hurts any current or future tools checking for valid paths. > > > > > Though this is mostly a moot point because the purpose of splitting this > > out is so we can merge this one patch through the SoC tree, at which > > point the ordering isn't guaranteed (unless the whole series goes > > through SoC). > > Just add each path change to respective commit adding that file. It > should not be a separate commit, at first place. > > Separate commits are for adding entire Maintainers entry. And there is no need for this patch to go via SoC tree, we can handle minor conflicts later on if required.
On Wed, May 04, 2022 at 09:30:26PM +0530, Manivannan Sadhasivam wrote: > Hi Viresh, > > On Wed, May 04, 2022 at 03:57:45PM +0530, Viresh Kumar wrote: > > On 04-05-22, 16:51, Hector Martin wrote: > > > Hi folks, > > > > > > Here's a second take on the cpufreq driver for Apple SoCs. This is a > > > complete rewrite using a stand-alone cpufreq driver instead of using the > > > cpufreq-dt infrastructure. > > > > > > Since v1 we ran some experiments on the memory controller performance > > > switching and it turns out it doesn't make a huge difference, so it > > > makes sense to punt that feature to the future (perhaps once a proper > > > memory controller driver exists for other reasons, e.g. for error > > > handling). > > > > > > One advantage of having a standalone cpufreq driver is that we can > > > support fast switching. This also means any future interaction with > > > the memory controller will probably use some bespoke mechanism instead > > > of the genpd infrastructure, so we can keep the fast path without > > > allowing sleeps/etc. > > > > > > The driver is based on scpi-cpufreq.c, with some bits (e.g. the > > > apple,freq-domain stuff) inspired by how cpufreq-qcom-hw does it. > > > I'm not sure if that particular property should be described > > > in a binding, since it goes in the cpu nodes (qcom doesn't have it > > > anywhere...). > > > > Hi Mani, > > > > I can see that Rob asked you to add this somewhere, maybe in arm/cpu > > stuff, but I don't think you ever sent a patch with that. What > > happened ? > > > > https://lore.kernel.org/lkml/20201013171800.GA3716411@bogus/ > > > > Oops. Looks like that one slipped through the cracks. I did add it to my todo > list for qcom-cpufreq but missed it completely. > > I will look into it. > So I did send a patch for adding the qcom specific property [1], but Rob asked for a common one and that's where it got lost. But in the last revision [2], you've asked for converting the qcom cpufreq driver to support the generic performance domains instead. For maintaining compatibility with the old dts files, we need to support the qcom specific property as well. I will send a series for that. Thanks, Mani [1] https://patchwork.kernel.org/project/linux-pm/patch/20201020153944.18047-1-manivannan.sadhasivam@linaro.org/#23718065 [2] https://patchwork.kernel.org/project/linux-pm/patch/20210701105730.322718-4-angelogioacchino.delregno@somainline.org/ > Thanks, > Mani > > > -- > > viresh