1ddi_mem_rep_put8(9F)     Kernel Functions for Drivers     ddi_mem_rep_put8(9F)
2
3
4

NAME

6       ddi_mem_rep_put8,         ddi_mem_rep_put16,         ddi_mem_rep_put32,
7       ddi_mem_rep_put64,         ddi_mem_rep_putb,          ddi_mem_rep_putl,
8       ddi_mem_rep_putll,  ddi_mem_rep_putw  -  write  multiple data to mapped
9       device in the memory space or allocated DMA memory
10

SYNOPSIS

12       #include <sys/ddi.h>
13       #include <sys/sunddi.h>
14
15
16
17       void ddi_mem_rep_put8(ddi_acc_handle_t handle, uint8_t *host_addr,
18            uint8_t *dev_addr, size_t repcount, uint_t flags);
19
20
21       void ddi_mem_rep_put16(ddi_acc_handle_t handle, uint16_t *host_addr,
22            uint16_t *dev_addr, size_t repcount, uint_t flags);
23
24
25       void ddi_mem_rep_put32(ddi_acc_handle_t handle, uint32_t *host_addr,
26            uint32_t *dev_addr, size_t repcount, uint_t flags);
27
28
29       void ddi_mem_rep_put64(ddi_acc_handle_t handle, uint64_t *host_addr,
30            uint64_t *dev_addr, size_t repcount, uint_t flags);
31
32

INTERFACE LEVEL

34       Solaris   DDI   specific   (Solaris   DDI).   The   ddi_mem_rep_put8(),
35       ddi_mem_rep_put16(),      ddi_mem_rep_put32(),     ddi_mem_rep_put64(),
36       ddi_mem_rep_putb(),   ddi_mem_rep_putl(),   ddi_mem_rep_putll(),    and
37       ddi_mem_rep_putw()  functions  are obsolete. The ddi_rep_put8(9F) func‐
38       tion  replaces  ddi_mem_rep_put8().  The   ddi_rep_put16(9F)   function
39       replaces  ddi_mem_rep_put16().  The ddi_rep_put32(9F) function replaces
40       ddi_mem_rep_put32().   The    ddi_rep_put64(9F)    function    replaces
41       ddi_mem_rep_put64().    The    ddi_rep_put8(9F)    function    replaces
42       ddi_mem_rep_putb().    The    ddi_rep_put32(9F)    function    replaces
43       ddi_mem_rep_putl().    The    ddi_rep_put64(9F)    function    replaces
44       ddi_mem_rep_putll().   The    ddi_rep_put16(9F)    function    replaces
45       ddi_mem_rep_putw().
46

PARAMETERS

48       handle       The  data access handle returned from setup calls, such as
49                    ddi_regs_map_setup(9F).
50
51
52       host_addr    Base host address.
53
54
55       dev_addr     Base device address.
56
57
58       repcount     Number of data accesses to perform.
59
60
61       flags        Device address flags:
62
63                    DDI_DEV_AUTOINCR       Automatically increment the  device
64                                           address,    dev_addr,  during  data
65                                           accesses.
66
67
68                    DDI_DEV_NO_AUTOINCR    Do not advance the device  address,
69                                           dev_addr, during data accesses.
70
71
72

DESCRIPTION

74       These  routines  generate  multiple writes to memory space or allocated
75       DMA memory. repcount data is copied from the host  address,  host_addr,
76       to the device address, dev_addr, in memory space. For each input datum,
77       the ddi_mem_rep_put8(), ddi_mem_rep_put16(),  ddi_mem_rep_put32(),  and
78       ddi_mem_rep_put64()  functions  write  8  bits, 16 bits, 32 bits and 64
79       bits of  data,  respectively,  to  the  device  address.  dev_addr  and
80       host_addr  must be aligned to the datum boundary described by the func‐
81       tion.
82
83
84       Each individual datum will automatically be translated  to  maintain  a
85       consistent  view  between  the host and the device based on the encoded
86       information in the data access  handle.  The  translation  may  involve
87       byte-swapping if the host and the device have incompatible endian char‐
88       acteristics.
89
90
91       When the flags argument is set  to  DDI_DEV_AUTOINCR,  these  functions
92       will  treat  the  device address, dev_addr, as a memory buffer location
93       on the device and increments its address on the next input datum.  How‐
94       ever,  when  the flags argument is set to DDI_DEV_NO_AUTOINCR, the same
95       device address will be used for every datum access. For  example,  this
96       flag may be useful when writing from a data register.
97

CONTEXT

99       These functions can be called from user, kernel, or interrupt context.
100

ATTRIBUTES

102       See attributes(5) for descriptions of the following attributes:
103
104
105
106
107       ┌─────────────────────────────┬─────────────────────────────┐
108       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
109       ├─────────────────────────────┼─────────────────────────────┤
110       │Interface Stability          │Obsolete                     │
111       └─────────────────────────────┴─────────────────────────────┘
112

SEE ALSO

114       ddi_mem_get8(9F),        ddi_mem_put8(9F),        ddi_mem_rep_get8(9F),
115       ddi_regs_map_setup(9F),      ddi_rep_put8(9F),       ddi_rep_put16(9F),
116       ddi_rep_put32(9F), ddi_rep_put64(9F), ddi_device_acc_attr(9S)
117
118
119
120SunOS 5.11                        1 Nov 2005              ddi_mem_rep_put8(9F)
Impressum