ddi_rep_get16(9F)




NAME

     ddi_rep_get8, ddi_rep_get16,  ddi_rep_get32,  ddi_rep_get64,
     ddi_rep_getw,  ddi_rep_getl,  ddi_rep_getll,  ddi_rep_getb -
     read data from the mapped memory address, device register or
     allocated DMA memory address


SYNOPSIS

     #include <sys/ddi.h>
     #include <sys/sunddi.h>

     void    ddi_rep_get8(ddi_acc_handle_t    handle,     uint8_t
     *host_addr,   uint8_t  *dev_addr,  size_t  repcount,  uint_t
     flags);

     void   ddi_rep_get16(ddi_acc_handle_t    handle,    uint16_t
     *host_addr,  uint16_t  *dev_addr,  size_t  repcount,  uint_t
     flags);

     void   ddi_rep_get32(ddi_acc_handle_t    handle,    uint32_t
     *host_addr,  uint32_t  *dev_addr,  size_t  repcount,  uint_t
     flags);

     void   ddi_rep_get64(ddi_acc_handle_t    handle,    uint64_t
     *host_addr,  uint64_t  *dev_addr,  size_t  repcount,  uint_t
     flags);


INTERFACE LEVEL

     Solaris DDI specific (Solaris DDI).


PARAMETERS

     handle
           The data access handle returned from setup calls, such
           as ddi_regs_map_setup(9F).

     host_addr
           Base host address.

     dev_addr
           Base device address.

     repcount
           Number of data accesses to perform.

     flags Device address flags:

            DDI_DEV_AUTOINCR
                 Automatically  increment  the  device   address,
                 dev_addr, during data accesses.

           DDI_DEV_NO_AUTOINCR
                 Do not advance the  device  address,   dev_addr,
                 during data accesses.


DESCRIPTION

     These routines  generate  multiple  reads  from  the  mapped
     memory  or device register. repcount data is copied from the
     device address,  dev_addr, to the host address,   host_addr.
     For  each  input datum, the ddi_rep_get8(), ddi_rep_get16(),
     ddi_rep_get32(), and ddi_rep_get64() functions read 8  bits,
     16  bits,  32  bits, and 64 bits of data, respectively, from
     the device address, dev_addr. dev_addr and host_addr must be
     aligned to the datum boundary described by the function.

     Each individual datum will automatically  be  translated  to
     maintain  a  consistent view between the host and the device
     based on the encoded information in the data access  handle.
     The  translation  may  involve byte-swapping if the host and
     the device have incompatible endian characteristics.

     When the  flags argument is set to  DDI_DEV_AUTOINCR,  these
     functions   treat the device address,  dev_addr, as a memory
     buffer location  on the device and increment its address  on
     the  next input datum.  However, when the  flags argument is
     to  DDI_DEV_NO_AUTOINCR, the same  device  address  will  be
     used  for  every datum access. For example, this flag may be
     useful when reading from a data register.


RETURN VALUES

     These functions  return  the  value  read  from  the  mapped
     address.


CONTEXT

     These functions can be called from user, kernel,  or  inter-
     rupt context.


SEE ALSO

     ddi_get8(9F),      ddi_put8(9F),      ddi_regs_map_free(9F),
     ddi_regs_map_setup(9F), ddi_rep_put8(9F)


NOTES

     The functions described in this manual page previously  used
     symbolic   names which specified their data access size; the
     function names have been  changed  so  they  now  specify  a
     fixed-width data size.
      See the  following table for the new name equivalents:

     ____________________________________________________________
    |        Previous Name        |           New Name          |
    | ddi_rep_getb                | ddi_rep_get8                |
    | ddi_rep_getw                | ddi_rep_get16               |
    | ddi_rep_getl                | ddi_rep_get32               |
    | ddi_rep_getll               | ddi_rep_get64               |
    |_____________________________|_____________________________|


Man(1) output converted with man2html