18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * NSC/Cyrix CPU indexed register access. Must be inlined instead of
48c2ecf20Sopenharmony_ci * macros to ensure correct access ordering
58c2ecf20Sopenharmony_ci * Access order is always 0x22 (=offset), 0x23 (=value)
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cistatic inline u8 getCx86(u8 reg)
98c2ecf20Sopenharmony_ci{
108c2ecf20Sopenharmony_ci	outb(reg, 0x22);
118c2ecf20Sopenharmony_ci	return inb(0x23);
128c2ecf20Sopenharmony_ci}
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_cistatic inline void setCx86(u8 reg, u8 data)
158c2ecf20Sopenharmony_ci{
168c2ecf20Sopenharmony_ci	outb(reg, 0x22);
178c2ecf20Sopenharmony_ci	outb(data, 0x23);
188c2ecf20Sopenharmony_ci}
19