xref: /openbmc/linux/include/linux/goldfish.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2425f3740SAlan #ifndef __LINUX_GOLDFISH_H
3425f3740SAlan #define __LINUX_GOLDFISH_H
4425f3740SAlan 
568275680SRoman Kiryanov #include <linux/kernel.h>
672755eedSRoman Kiryanov #include <linux/types.h>
772755eedSRoman Kiryanov #include <linux/io.h>
872755eedSRoman Kiryanov 
9425f3740SAlan /* Helpers for Goldfish virtual platform */
10425f3740SAlan 
11*2e2ac4a3SLaurent Vivier #ifndef gf_ioread32
12*2e2ac4a3SLaurent Vivier #define gf_ioread32 ioread32
13*2e2ac4a3SLaurent Vivier #endif
14*2e2ac4a3SLaurent Vivier #ifndef gf_iowrite32
15*2e2ac4a3SLaurent Vivier #define gf_iowrite32 iowrite32
16*2e2ac4a3SLaurent Vivier #endif
17*2e2ac4a3SLaurent Vivier 
gf_write_ptr(const void * ptr,void __iomem * portl,void __iomem * porth)1807d783fdSPeter Senna Tschudin static inline void gf_write_ptr(const void *ptr, void __iomem *portl,
1907d783fdSPeter Senna Tschudin 				void __iomem *porth)
20425f3740SAlan {
2168275680SRoman Kiryanov 	const unsigned long addr = (unsigned long)ptr;
2268275680SRoman Kiryanov 
23*2e2ac4a3SLaurent Vivier 	gf_iowrite32(lower_32_bits(addr), portl);
248d9e9857SAlan Cox #ifdef CONFIG_64BIT
25*2e2ac4a3SLaurent Vivier 	gf_iowrite32(upper_32_bits(addr), porth);
26425f3740SAlan #endif
27425f3740SAlan }
28425f3740SAlan 
gf_write_dma_addr(const dma_addr_t addr,void __iomem * portl,void __iomem * porth)2907d783fdSPeter Senna Tschudin static inline void gf_write_dma_addr(const dma_addr_t addr,
3007d783fdSPeter Senna Tschudin 				     void __iomem *portl,
3107d783fdSPeter Senna Tschudin 				     void __iomem *porth)
3207d783fdSPeter Senna Tschudin {
33*2e2ac4a3SLaurent Vivier 	gf_iowrite32(lower_32_bits(addr), portl);
3407d783fdSPeter Senna Tschudin #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
35*2e2ac4a3SLaurent Vivier 	gf_iowrite32(upper_32_bits(addr), porth);
3607d783fdSPeter Senna Tschudin #endif
3707d783fdSPeter Senna Tschudin }
3807d783fdSPeter Senna Tschudin 
3907d783fdSPeter Senna Tschudin 
40425f3740SAlan #endif /* __LINUX_GOLDFISH_H */
41