Lines Matching refs:spin_table
163 static inline void flush_spin_table(void *spin_table)
165 flush_dcache_range((ulong)spin_table,
166 (ulong)spin_table + sizeof(struct epapr_spin_table));
169 static inline u32 read_spin_table_addr_l(void *spin_table)
171 flush_dcache_range((ulong)spin_table,
172 (ulong)spin_table + sizeof(struct epapr_spin_table));
173 return in_be32(&((struct epapr_spin_table *)spin_table)->addr_l);
196 struct epapr_spin_table __iomem *spin_table;
215 spin_table = ioremap_coherent(*cpu_rel_addr,
218 spin_table = phys_to_virt(*cpu_rel_addr);
227 if (read_spin_table_addr_l(spin_table) != 1) {
240 read_spin_table_addr_l(spin_table) == 1,
249 flush_spin_table(spin_table);
250 out_be32(&spin_table->pir, hw_cpu);
252 out_be64((u64 *)(&spin_table->addr_h),
262 out_be32(&spin_table->addr_h, __pa(__early_start) >> 32);
264 out_be32(&spin_table->addr_l, __pa(__early_start));
266 flush_spin_table(spin_table);
271 iounmap(spin_table);