add function to set clock rate Reference: /n/atom/patch/applied/pisetclk Date: Sun Jan 3 19:38:58 CET 2016 Signed-off-by: quanstro@quanstro.net --- /sys/src/9/bcm/vcore.c Sun Jan 3 19:38:49 2016 +++ /sys/src/9/bcm/vcore.c Sun Jan 3 19:38:50 2016 @@ -40,6 +40,8 @@ TagSetpower = 0x00028001, Powerwait = 1<<1, TagGetclkspd= 0x00030002, + TagGetclkmax= 0x00030004, + TagSetclkspd= 0x00038002, TagGettemp = 0x00030006, TagFballoc = 0x00040001, TagFbfree = 0x00048001, @@ -306,6 +308,22 @@ if(vcreq(TagGetclkspd, buf, sizeof(buf[0]), sizeof(buf)) != sizeof buf) return 0; return buf[1]; +} + +/* + * Set clock rate to hz (or max speed if hz == 0) + */ +void +setclkrate(int clkid, ulong hz) +{ + u32int buf[2]; + + buf[0] = clkid; + if(hz != 0) + buf[1] = hz; + else if(vcreq(TagGetclkmax, buf, sizeof(buf[0]), sizeof buf) != sizeof buf) + return; + vcreq(TagSetclkspd, buf, sizeof(buf), sizeof(buf)); } /*