Lines Matching refs:idx

34 static inline phys_addr_t get_law_base_addr(int idx)  in get_law_base_addr()  argument
38 ((u64)in_be32(LAWBARH_ADDR(idx)) << 32) | in get_law_base_addr()
39 in_be32(LAWBARL_ADDR(idx)); in get_law_base_addr()
41 return (phys_addr_t)in_be32(LAWBAR_ADDR(idx)) << LAWBAR_SHIFT; in get_law_base_addr()
45 static inline void set_law_base_addr(int idx, phys_addr_t addr) in set_law_base_addr() argument
48 out_be32(LAWBARL_ADDR(idx), addr & 0xffffffff); in set_law_base_addr()
49 out_be32(LAWBARH_ADDR(idx), (u64)addr >> 32); in set_law_base_addr()
51 out_be32(LAWBAR_ADDR(idx), addr >> LAWBAR_SHIFT); in set_law_base_addr()
55 void set_law(u8 idx, phys_addr_t addr, enum law_size sz, enum law_trgt_if id) in set_law() argument
57 gd->arch.used_laws |= (1 << idx); in set_law()
59 out_be32(LAWAR_ADDR(idx), 0); in set_law()
60 set_law_base_addr(idx, addr); in set_law()
61 out_be32(LAWAR_ADDR(idx), LAW_EN | ((u32)id << 20) | (u32)sz); in set_law()
64 in_be32(LAWAR_ADDR(idx)); in set_law()
67 void disable_law(u8 idx) in disable_law() argument
69 gd->arch.used_laws &= ~(1 << idx); in disable_law()
71 out_be32(LAWAR_ADDR(idx), 0); in disable_law()
72 set_law_base_addr(idx, 0); in disable_law()
75 in_be32(LAWAR_ADDR(idx)); in disable_law()
101 u32 idx = ffz(gd->arch.used_laws); in set_next_law() local
103 if (idx >= FSL_HW_NUM_LAWS) in set_next_law()
106 set_law(idx, addr, sz, id); in set_next_law()
108 return idx; in set_next_law()
115 u32 idx; in set_last_law() local
122 idx = __ilog2(~(gd->arch.used_laws)); in set_last_law()
124 if (idx >= FSL_HW_NUM_LAWS) in set_last_law()
127 set_law(idx, addr, sz, id); in set_last_law()
129 return idx; in set_last_law()