DDI_DMA_SET_SBUS64(9F) Kernel Functions for Drivers 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


illumos DDI specific (illumos 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.
Otherwise 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(7) for descriptions of the following attributes:


+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|Architecture | SBus |
+---------------+-----------------+

SEE ALSO


attributes(7), 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.

January 1, 1997 DDI_DMA_SET_SBUS64(9F)

tribblix@gmail.com :: GitHub :: Privacy