Staging: vme: Rename VME DMA functions
[pandora-kernel.git] / drivers / staging / vme / TODO
1                                 TODO
2                                 ====
3
4 API
5 ===
6
7 DMA Resource Allocation incomplete
8 ----------------------------------
9
10 The current DMA resource Allocation provides no means of selecting the
11 suitability of a DMA controller based on it's supported modes of operation, as
12 opposed to the resource allocation mechanisms for master and slave windows:
13
14         struct vme_resource *vme_dma_request(struct device *dev);
15
16 As opposed to:
17
18         struct vme_resource * vme_master_request(struct device *dev,
19                 vme_address_t aspace, vme_cycle_t cycle, vme_width_t width);
20
21 The TSI148 can perform, VME-to-PCI, PCI-to-VME, PATTERN-to-VME, PATTERN-to-PCI,
22 VME-to-VME and PCI-to-PCI transfers. The CA91C142 can only provide VME-to-PCI
23 and PCI-to-VME.
24
25 Add a mechanism to select a VME controller based on source/target type,
26 required aspace, cycle and width requirements.
27
28
29 Master window broadcast select mask
30 -----------------------------------
31
32 API currently provides no method to set or get Broadcast Select mask. Suggest
33 somthing like:
34
35         int vme_master_bmsk_set (struct vme_resource *res, int mask);
36         int vme_master_bmsk_get (struct vme_resource *res, int *mask);
37
38
39 Interrupt Generation
40 --------------------
41
42 Add optional timeout when waiting for an IACK.
43
44
45 CR/CSR Buffer
46 -------------
47
48 The VME API provides no functions to access the buffer mapped into the CR/CSR
49 space.
50
51
52 Mailboxes
53 ---------
54
55 Whilst not part of the VME specification, they are provided by a number of
56 chips. They are currently not supported at all by the API.
57
58
59 Core
60 ====
61
62 - Rename vme_master_resource's "pci_resource" to be bus agnostic.
63 - Improve generic sanity checks (Such as does an offset and size fit within a
64   window and parameter checking).
65
66 Bridge Support
67 ==============
68
69 Tempe (tsi148)
70 --------------
71
72 - Driver can currently only support a single bridge.
73 - 2eSST Broadcast mode.
74 - Mailboxes unsupported.
75 - Improve error detection.
76 - Control of prefetch size, threshold.
77 - Arbiter control
78 - Requestor control
79
80 Universe II (ca91c142)
81 ----------------------
82
83 - Driver can currently only support a single bridge.
84 - DMA unsupported.
85 - RMW transactions unsupported.
86 - Location Monitors unsupported.
87 - Mailboxes unsupported.
88 - Error Detection.
89 - Control of prefetch size, threshold.
90 - Arbiter control
91 - Requestor control
92 - Slot detection
93
94 Universe I (ca91x042)
95 ---------------------
96
97 Currently completely unsupported.
98