ddi_dma_set_sbus64(9F)




NAME

     ddi_dma_set_sbus64 - allow 64-bit transfers on SBus


SYNOPSIS

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

     int   ddi_dma_set_sbus64(ddi_dma_handle_t   handle,   uint_t
     burstsizes);


INTERFACE LEVEL

     Solaris DDI specific (Solaris DDI).


PARAMETERS

     handle
           The    handle    filled    in    by    a    call    to
           ddi_dma_alloc_handle(9F).

     burstsizes
           The possible burst sizes the device's DMA  engine  can
           accept in 64-bit mode.


DESCRIPTION

     ddi_dma_set_sbus64() informs  the  system  that  the  device
     wishes  to  perform  64-bit  data transfers on the SBus. The
     driver   must   first   allocate   a    DMA   handle   using
     ddi_dma_alloc_handle(9F)  with  a ddi_dma_attr(9S) structure
     describing the  DMA attributes for a 32-bit transfer mode.

     burstsizes describes the possible burst sizes  the  device's
     DMA  engine  can  accept in 64-bit mode. It may be  distinct
     from  the  burst  sizes  for  32-bit   mode   set   in   the
     ddi_dma_attr(9S) structure.  The system will activate 64-bit
     SBus transfers if the SBus  supports  them.  Otherwise,  the
     SBus will operate in 32-bit mode.

     After    DMA   resources   have    been    allocated    (see
     ddi_dma_addr_bind_handle(9F)                              or
     ddi_dma_buf_bind_handle(9F)), the driver should retrieve the
     available  burst  sizes  by calling  ddi_dma_burstsizes(9F).
     This function will return the burst sizes  in 64-bit mode if
     the  system  was able to  activate 64-bit transfers.  Other-
     wise burst sizes will be  returned in 32-bit mode.


RETURN VALUES

     ddi_dma_set_sbus64() returns:

     DDI_SUCCESS
           Successfully set the SBus to 64-bit mode.

     DDI_FAILURE
           64-bit mode could not be set.


CONTEXT

     ddi_dma_set_sbus64() can be called  from  user,  kernel,  or
     interrupt context.


ATTRIBUTES

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

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Architecture                | SBus                        |
    |_____________________________|_____________________________|


SEE ALSO

     attributes(5),                 ddi_dma_addr_bind_handle(9F),
     ddi_dma_alloc_handle(9F),       ddi_dma_buf_bind_handle(9F),
     ddi_dma_burstsizes(9F), ddi_dma_attr(9S)


NOTES

     64-bit SBus mode is activated on a per SBus slot  basis.  If
     there  are  multiple  SBus  cards in one slot, they all must
     operate in 64-bit mode or they all must  operate  in  32-bit
     mode.


Man(1) output converted with man2html