1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  *  linux/include/asm-parisc/ide.h
4  *
5  *  Copyright (C) 1994-1996  Linus Torvalds & authors
6  */
7 
8 /*
9  *  This file contains the PARISC architecture specific IDE code.
10  */
11 
12 #ifndef __ASM_PARISC_IDE_H
13 #define __ASM_PARISC_IDE_H
14 
15 /* Generic I/O and MEMIO string operations.  */
16 
17 #define __ide_insw	insw
18 #define __ide_insl	insl
19 #define __ide_outsw	outsw
20 #define __ide_outsl	outsl
21 
__ide_mm_insw(void __iomem * port,void * addr,u32 count)22 static __inline__ void __ide_mm_insw(void __iomem *port, void *addr, u32 count)
23 {
24 	while (count--) {
25 		*(u16 *)addr = __raw_readw(port);
26 		addr += 2;
27 	}
28 }
29 
__ide_mm_insl(void __iomem * port,void * addr,u32 count)30 static __inline__ void __ide_mm_insl(void __iomem *port, void *addr, u32 count)
31 {
32 	while (count--) {
33 		*(u32 *)addr = __raw_readl(port);
34 		addr += 4;
35 	}
36 }
37 
__ide_mm_outsw(void __iomem * port,void * addr,u32 count)38 static __inline__ void __ide_mm_outsw(void __iomem *port, void *addr, u32 count)
39 {
40 	while (count--) {
41 		__raw_writew(*(u16 *)addr, port);
42 		addr += 2;
43 	}
44 }
45 
__ide_mm_outsl(void __iomem * port,void * addr,u32 count)46 static __inline__ void __ide_mm_outsl(void __iomem *port, void *addr, u32 count)
47 {
48 	while (count--) {
49 		__raw_writel(*(u32 *)addr, port);
50 		addr += 4;
51 	}
52 }
53 
54 #endif /* __ASM_PARISC_IDE_H */
55