39 lines
		
	
	
	
		
			752 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
	
		
			752 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /* Generic I/O and MEMIO string operations.  */ | ||
|  | 
 | ||
|  | #define __ide_insw	insw
 | ||
|  | #define __ide_insl	insl
 | ||
|  | #define __ide_outsw	outsw
 | ||
|  | #define __ide_outsl	outsl
 | ||
|  | 
 | ||
|  | static __inline__ void __ide_mm_insw(void __iomem *port, void *addr, u32 count) | ||
|  | { | ||
|  | 	while (count--) { | ||
|  | 		*(u16 *)addr = readw(port); | ||
|  | 		addr += 2; | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | static __inline__ void __ide_mm_insl(void __iomem *port, void *addr, u32 count) | ||
|  | { | ||
|  | 	while (count--) { | ||
|  | 		*(u32 *)addr = readl(port); | ||
|  | 		addr += 4; | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | static __inline__ void __ide_mm_outsw(void __iomem *port, void *addr, u32 count) | ||
|  | { | ||
|  | 	while (count--) { | ||
|  | 		writew(*(u16 *)addr, port); | ||
|  | 		addr += 2; | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | static __inline__ void __ide_mm_outsl(void __iomem * port, void *addr, u32 count) | ||
|  | { | ||
|  | 	while (count--) { | ||
|  | 		writel(*(u32 *)addr, port); | ||
|  | 		addr += 4; | ||
|  | 	} | ||
|  | } |