STRUCT HISI_UNCORE_FREQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct hisi_uncore_freq(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ β€” today's main character is struct hisi_uncore_freq, which is literally the data blob for the hisi uncore frequency scaling device. no cap, that's the whole vibe.


πŸŽ€ NAME πŸŽ€

struct hisi_uncore_freq β€” hisi uncore frequency scaling device data. that's it, that's the function-she-is 🫢


✨ SYNOPSIS ✨

struct hisi_uncore_freq {
    struct device *dev;
    struct mbox_client cl;
    struct pcc_mbox_chan *pchan;
    int chan_id;
    ktime_t last_cmd_cmpl_time;
    struct mutex pcc_lock;
    struct devfreq *devfreq;
    struct cpumask related_cpus;
    u32 cap;
 };

look at her. every field accounted for, nothing skipped, we stan a complete struct πŸ˜­πŸ’–


πŸ¦‹ Members πŸ¦‹

okay let's go field by field, no skipping, we're being thorough today:

  • dev β€” the device of this frequency scaling driver. like, whose device is this? hers. πŸ’…
  • cl β€” the mailbox client object. your little mailbox bestie 🫢
  • pchan β€” the PCC mailbox channel. yes queen, get your channel πŸ“¬
  • chan_id β€” the PCC channel ID. gotta know which channel you're on, iykyk
  • last_cmd_cmpl_time β€” timestamp of the last completed PCC command ⏰ like a little receipts log of when the last command finished
  • pcc_lock β€” the PCC channel lock πŸ”’ mutual exclusion but make it fashion
  • devfreq β€” the devfreq data of this hisi_uncore_freq device. it's giving... self-referential but in a cute way πŸŒ€
  • related_cpus β€” the CPUs whose performance is majorly affected by this uncore frequency domain πŸ”₯ "majorly affected" β€” so not a casual acquaintance, an actual situationship with your performance
  • cap β€” capability flag 🏳️ a flag! for capabilities! iconic
ngl bestie, if you're poking at these fields directly you better know what you're doing β€” this is driver-internal data, not a snack πŸ“

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/devfreq/hisi_uncore_freq.c β€” go read the source, she's right there, the whole implementation is literally sitting in this file πŸ‘‘

okay that's the whole page, you ate that πŸ’…βœ¨

sign-off szn: this little masterpiece lives in ./drivers/devfreq, dated October 2026 β€” and the whole time it's been calling itself struct hisi_uncore_freq(9) in the corner like a name tag she never takes off πŸŽ€ byeeee πŸ¦‹πŸ’–

πŸ“¦ where this page comes from