MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Kernel Functions for Drivers                     ddirepput8(9F)



NAME
     ddirepput8, ddirepput16,  ddirepput32,  ddirepput64,
     ddirepputb,  ddirepputw,  ddirepputl,  ddirepputll -
     write data to the mapped memory address, device register  or
     allocated DMA memory address

SYNOPSIS
     #include 
     #include 



     void ddirepput8(ddiacchandlet handle, uint8t *hostaddr,
          uint8t *devaddr, sizet repcount, uintt flags);


     void ddirepput16(ddiacchandlet handle, uint16t *hostaddr,
          uint16t *devaddr, sizet repcount, uintt flags);


     void ddirepput32(ddiacchandlet handle, uint32t *hostaddr,
          uint32t *devaddr, sizet repcount, uintt flags);


     void ddirepput64(ddiacchandlet handle, uint64t *hostaddr,
          uint64t *devaddr,sizet repcount, uintt flags);


INTERFACE LEVEL
     Solaris DI  specific  (Solaris  DI).  The  ddirepputb(),
     ddirepputl(),  ddirepputll(),  and  ddirepputw() func-
     tions are obsolete.  The  ddirepput8()  function  replaces
     ddirepputb().   The   ddirepput32()   function  replaces
     ddirepputl().  The   ddirepput64()   function   replaces
     ddirepputll().   The   ddirepput16()  function  replaces
     ddirepputw().

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


     hostaddr    Base host address.


     devaddr     Base device address.


     repcount     Number of data accesses to perform.






SunOS 5.11           Last change: 1 Nov 2005                    1






Kernel Functions for Drivers                     ddirepput8(9F)



     flags        Device address flags:

                  DIDEVAUTOINCR       Automatically  increment
                                         the    device   address,
                                         devaddr,  during   data
                                         accesses.


                  DIDEVNOAUTOINCR    Do not advance the  dev-
                                         ice  address,  devaddr,
                                         during data accesses.



DESCRIPTION
     These routines generate multiple writes to the mapped memory
     or  device  register.  repcount data is copied from the host
     address, hostaddr, to the  device  address,  devaddr.  For
     each   input  datum,  the  ddirepput8(),  ddirepput16(),
     ddirepput32(), and ddirepput64() functions write 8 bits,
     16 bits, 32 bits, and 64 bits of data, respectively,  to the
     device address, devaddr. devaddr  and  hostaddr  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  DIDEVAUTOINCR,  these
     functions  treat  the  device address, devaddr, as a memory
     buffer location on the device and increment its  address  on
     the  next  input  datum. However, when the flags argument is
     set to DIDEVNOAUTOINCR, the same device address will  be
     used  for  every datum access. For example, this flag may be
     useful when writing to a data register.

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

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:








SunOS 5.11           Last change: 1 Nov 2005                    2






Kernel Functions for Drivers                     ddirepput8(9F)



     
           ATRIBUTE TYPE               ATRIBUTE VALUE      
    
     Interface Stability          ddirepputb(),            
                                  ddirepputl(),            
                                  ddirepputll(),        and
                                  ddirepputw() are Obsolete
                                  ddirepput8(),            
                                  ddirepput16(),           
                                  ddirepput32(),           
                                  ddirepput64() are Commit-
                                  ted                        
   


SEE ALSO
     ddiget8(9F),      ddiput8(9F),      ddiregsmapfree(9F),
     ddiregsmapsetup(9F),                    ddirepget8(9F),
     ddideviceaccattr(9S)




































SunOS 5.11           Last change: 1 Nov 2005                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™