1ddi_dma_set_sbus64(9F) Kernel Functions for Drivers ddi_dma_set_sbus64(9F)
2
3
4
6 ddi_dma_set_sbus64 - allow 64-bit transfers on SBus
7
9 #include <sys/ddi.h>
10 #include <sys/sunddi.h>
11
12
13
14 int ddi_dma_set_sbus64(ddi_dma_handle_t handle, uint_t burstsizes);
15
16
18 Solaris DDI specific (Solaris DDI).
19
21 handle The handle filled in by a call to ddi_dma_alloc_han‐
22 dle(9F).
23
24
25 burstsizes The possible burst sizes the device's DMA engine can
26 accept in 64-bit mode.
27
28
30 ddi_dma_set_sbus64() informs the system that the device wishes to per‐
31 form 64-bit data transfers on the SBus. The driver must first allocate
32 a DMA handle using ddi_dma_alloc_handle(9F) with a ddi_dma_attr(9S)
33 structure describing the DMA attributes for a 32-bit transfer mode.
34
35
36 burstsizes describes the possible burst sizes the device's DMA engine
37 can accept in 64-bit mode. It may be distinct from the burst sizes for
38 32-bit mode set in the ddi_dma_attr(9S) structure. The system will
39 activate 64-bit SBus transfers if the SBus supports them. Otherwise,
40 the SBus will operate in 32-bit mode.
41
42
43 After DMA resources have been allocated (see ddi_dma_addr_bind_han‐
44 dle(9F) or ddi_dma_buf_bind_handle(9F)), the driver should retrieve
45 the available burst sizes by calling ddi_dma_burstsizes(9F). This
46 function will return the burst sizes in 64-bit mode if the system was
47 able to activate 64-bit transfers. Otherwise burst sizes will be
48 returned in 32-bit mode.
49
51 ddi_dma_set_sbus64() returns:
52
53 DDI_SUCCESS Successfully set the SBus to 64-bit mode.
54
55
56 DDI_FAILURE 64-bit mode could not be set.
57
58
60 ddi_dma_set_sbus64() can be called from user, kernel, or interrupt con‐
61 text.
62
64 See attributes(5) for descriptions of the following attributes:
65
66
67
68
69 ┌─────────────────────────────┬─────────────────────────────┐
70 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
71 ├─────────────────────────────┼─────────────────────────────┤
72 │Architecture │SBus │
73 └─────────────────────────────┴─────────────────────────────┘
74
76 attributes(5), ddi_dma_addr_bind_handle(9F), ddi_dma_alloc_handle(9F),
77 ddi_dma_buf_bind_handle(9F), ddi_dma_burstsizes(9F), ddi_dma_attr(9S)
78
80 64-bit SBus mode is activated on a per SBus slot basis. If there are
81 multiple SBus cards in one slot, they all must operate in 64-bit mode
82 or they all must operate in 32-bit mode.
83
84
85
86SunOS 5.11 1 Jan 1997 ddi_dma_set_sbus64(9F)