Thread (27 messages) 27 messages, 7 authors, 2021-12-15

Re: [v4 10/11] riscv: dts: fu740: Add pmu node

From: Atish Patra <hidden>
Date: 2021-10-28 23:37:57
Also in: linux-doc, linux-perf-users, linux-riscv, lkml

On Thu, Oct 28, 2021 at 1:49 PM Jessica Clarke [off-list ref] wrote:
On Mon, Oct 25, 2021 at 12:53:49PM -0700, Atish Patra wrote:
quoted
HiFive unmatched supports HPMCounters but does not implement mcountinhibit
or sscof extension. Thus, perf monitoring can be used on the unmatched
board without sampling.

Add the PMU node with compatible string so that Linux perf driver can
utilize this to enable PMU.

Signed-off-by: Atish Patra <redacted>
---
 arch/riscv/boot/dts/sifive/fu740-c000.dtsi | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/arch/riscv/boot/dts/sifive/fu740-c000.dtsi b/arch/riscv/boot/dts/sifive/fu740-c000.dtsi
index abbb960f90a0..b35b96b58820 100644
--- a/arch/riscv/boot/dts/sifive/fu740-c000.dtsi
+++ b/arch/riscv/boot/dts/sifive/fu740-c000.dtsi
@@ -140,6 +140,9 @@ soc {
              #size-cells = <2>;
              compatible = "simple-bus";
              ranges;
+             pmu {
+                     compatible = "riscv,pmu";
+             };
This is a property of the user-replaceable firmware, not a property of
the hardware,
It's a property of hardware that indicates that the hardware supports PMU.
Additionally, the counter overflow interrupt number needs to be
defined through the DT as well
so that a clean platform driver can be implemented.


so having this in the device tree under /soc, let alone
hard-coded in Linux, is utterly wrong. Why can this not just be probed
like any other SBI interface? The "Probe SBI extension" interface is
precisely for this kind of thing.
SBI extension is anyways probed to verify if the firmware has PMU
extension or not.
However, adding the DT property allows different platforms (with or
without sscof extension)
to use the same code path.
Jess

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv


-- 
Regards,
Atish
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help