root/arch/powerpc/include/asm/dcr-mmio.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. dcr_map_ok_mmio
  2. dcr_read_mmio
  3. dcr_write_mmio

   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /*
   3  * (c) Copyright 2006 Benjamin Herrenschmidt, IBM Corp.
   4  *                    <benh@kernel.crashing.org>
   5  */
   6 
   7 #ifndef _ASM_POWERPC_DCR_MMIO_H
   8 #define _ASM_POWERPC_DCR_MMIO_H
   9 #ifdef __KERNEL__
  10 
  11 #include <asm/io.h>
  12 
  13 typedef struct {
  14         void __iomem *token;
  15         unsigned int stride;
  16         unsigned int base;
  17 } dcr_host_mmio_t;
  18 
  19 static inline bool dcr_map_ok_mmio(dcr_host_mmio_t host)
  20 {
  21         return host.token != NULL;
  22 }
  23 
  24 extern dcr_host_mmio_t dcr_map_mmio(struct device_node *dev,
  25                                     unsigned int dcr_n,
  26                                     unsigned int dcr_c);
  27 extern void dcr_unmap_mmio(dcr_host_mmio_t host, unsigned int dcr_c);
  28 
  29 static inline u32 dcr_read_mmio(dcr_host_mmio_t host, unsigned int dcr_n)
  30 {
  31         return in_be32(host.token + ((host.base + dcr_n) * host.stride));
  32 }
  33 
  34 static inline void dcr_write_mmio(dcr_host_mmio_t host,
  35                                   unsigned int dcr_n,
  36                                   u32 value)
  37 {
  38         out_be32(host.token + ((host.base + dcr_n) * host.stride), value);
  39 }
  40 
  41 #endif /* __KERNEL__ */
  42 #endif /* _ASM_POWERPC_DCR_MMIO_H */
  43 
  44 

/* [<][>][^][v][top][bottom][index][help] */