• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifdef __KERNEL__
16 
17 /* Generic I/O and MEMIO string operations.  */
18 
19 #define __ide_insw	insw
20 #define __ide_insl	insl
21 #define __ide_outsw	outsw
22 #define __ide_outsl	outsl
23 
__ide_mm_insw(void __iomem * port,void * addr,u32 count)24 static __inline__ void __ide_mm_insw(void __iomem *port, void *addr, u32 count)
25 {
26 	while (count--) {
27 		*(u16 *)addr = __raw_readw(port);
28 		addr += 2;
29 	}
30 }
31 
__ide_mm_insl(void __iomem * port,void * addr,u32 count)32 static __inline__ void __ide_mm_insl(void __iomem *port, void *addr, u32 count)
33 {
34 	while (count--) {
35 		*(u32 *)addr = __raw_readl(port);
36 		addr += 4;
37 	}
38 }
39 
__ide_mm_outsw(void __iomem * port,void * addr,u32 count)40 static __inline__ void __ide_mm_outsw(void __iomem *port, void *addr, u32 count)
41 {
42 	while (count--) {
43 		__raw_writew(*(u16 *)addr, port);
44 		addr += 2;
45 	}
46 }
47 
__ide_mm_outsl(void __iomem * port,void * addr,u32 count)48 static __inline__ void __ide_mm_outsl(void __iomem *port, void *addr, u32 count)
49 {
50 	while (count--) {
51 		__raw_writel(*(u32 *)addr, port);
52 		addr += 4;
53 	}
54 }
55 
56 #endif /* __KERNEL__ */
57 
58 #endif /* __ASM_PARISC_IDE_H */
59