/** * kryo_l2_set_indirect_reg() - write value to an L2 register * @reg: Address of L2 register. * @val: Value to be written to register. * * Use architecturally required barriers for ordering between system register * accesses, and system registers with respect to device memory
*/ void kryo_l2_set_indirect_reg(u64 reg, u64 val)
{ unsignedlong flags;
/** * kryo_l2_get_indirect_reg() - read an L2 register value * @reg: Address of L2 register. * * Use architecturally required barriers for ordering between system register * accesses, and system registers with respect to device memory
*/
u64 kryo_l2_get_indirect_reg(u64 reg)
{
u64 val; unsignedlong flags;
raw_spin_lock_irqsave(&l2_access_lock, flags);
write_sysreg_s(reg, L2CPUSRSELR_EL1);
isb();
val = read_sysreg_s(L2CPUSRDR_EL1);
raw_spin_unlock_irqrestore(&l2_access_lock, flags);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.