MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Kernel Functions for Drivers                     ddirepget8(9F)



NAME
     ddirepget8, ddirepget16,  ddirepget32,  ddirepget64,
     ddirepgetw,  ddirepgetl,  ddirepgetll,  ddirepgetb -
     read data from the mapped memory address, device register or
     allocated DMA memory address

SYNOPSIS
     #include 
     #include 



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


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


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


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


INTERFACE LEVEL
     Solaris DI  specific  (Solaris  DI).  The  ddirepgetb(),
     ddirepgetl(),  ddirepgetll(),  and  ddirepgetw() func-
     tions are obsolete.  The  ddirepget8()  function  replaces
     ddirepgetb().   The   ddirepget32()   function  replaces
     ddirepgetl().  The   ddirepget64()   function   replaces
     ddirepgetll().   The   ddirepget16()  function  replaces
     ddirepgetw().

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                     ddirepget8(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  reads  from  the  mapped
     memory  or device register. repcount data is copied from the
     device address, devaddr, to the  host  address,  hostaddr.
     For  each  input datum, the ddirepget8(), ddirepget16(),
     ddirepget32(), and ddirepget64() functions read 8  bits,
     16  bits,  32  bits, and 64 bits of data, respectively, from
     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
     function  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 to
     DIDEVNOAUTOINCR, 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.

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




SunOS 5.11           Last change: 1 Nov 2005                    2






Kernel Functions for Drivers                     ddirepget8(9F)



     
           ATRIBUTE TYPE               ATRIBUTE VALUE      
    
     Interface Stability          ddirepgetb(),            
                                  ddirepgetl(),            
                                  ddirepgetll(),        and
                                  ddirepgetw() are Obsolete
                                  ddirepget8(),            
                                  ddirepget16(),           
                                  ddirepget32(),           
                                  ddirepget64() are Commit-
                                  ted                        
   


SEE ALSO
     ddiget8(9F),      ddiput8(9F),      ddiregsmapfree(9F),
     ddiregsmapsetup(9F), ddirepput8(9F)





































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 ™