Kernel Functions for Drivers ddi_dma_set_sbus64(9F)
NAME
ddi_dma_set_sbus64 - allow 64-bit transfers on SBus
SYNOPSIS
#include
#include
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 toddi_dma_alloc_handle(9F).
burstsizes The possible burst sizes the device's DMAengine 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 usingddi_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'sDMA 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, theSBus will operate in 32-bit mode.
After DMA resources have been allocated (seeddi_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:
SunOS 5.11 Last change: 1 Jan 1997 1
Kernel Functions for Drivers ddi_dma_set_sbus64(9F)
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)
NOTES64-bit SBus mode is activated on a per SBus slot basis. If
there are multiple SBus cards in one slot, they all mustoperate in 64-bit mode or they all must operate in 32-bit
mode.SunOS 5.11 Last change: 1 Jan 1997 2