linux/arch/parisc/include/asm/ide.h
<<
>>
Prefs
   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 */
  59