at v5.11 58 lines 1.1 kB view raw
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 24static __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 32static __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 40static __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 48static __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 */