Download raw body.
scmi(4): add mbox transport and perf protocol
Le Mon, Nov 18, 2024 at 01:01:11AM +0100, Tobias Heider a écrit : > Here is the promised diff to get scmi for cpu frequency management > working on the Snapdragon X Elite. Roughly speaking this adds two > big new features: mailbox transport and the scmi perf protocol. > > Mailbox transport is very similar to smc which we already support. > Messages are written to a shared memory region, instead of an SMC call we > use a mailbox doorbell to notify the platform that our request is ready. > On X Elites this is done using the CPUCP mailbox which we support via > qccpucp(4). The attach function for the mbox transport is deferred to make > sure our mailbox driver is available when we need it. > There are a lot of possible optimization here, instead of polling we could > use mailbox interrupts and for PERFORMANCE_LEVEL_GET we probably want to > switch to using a fast channel at some point. > > The perf protocol allows us to read and set the performance level of our > performance domains. On the X Elite we have 3 domains, each spanning 4 cpu > cores. This patch adds sensors to expose the current frequency and power > consumption for each domain. It is a bit pointless since the level doesn't > really change currently. Eventually we probably want to hook this up to > cpu(4) to expose it to apm(8). > > The output on my T14s looks like this: > $ sysctl | grep scmi > hw.sensors.scmi0.power0=0.22 W > hw.sensors.scmi0.power1=0.29 W > hw.sensors.scmi0.power2=0.31 W > hw.sensors.scmi0.frequency0=2976000000.00 Hz > hw.sensors.scmi0.frequency1=3417600000.00 Hz > hw.sensors.scmi0.frequency2=3417600000.00 Hz > > Test feedback and reviews welcome. I don't have a machine using scmi-smc or > the clock protocol so I'd appreciate if someone could test those too. on the omnibook x14 i get this difference in dmesg: -"scmi" at mainbus0 not configured +scmi0 at mainbus0 ... +scmi0: no tx mbox and no hw.sensors.scmi0. where should i look to figure out what to change ?
scmi(4): add mbox transport and perf protocol