blob: adc5fca42afd64b3c9ccd54d5e392e8c3e2f02b1 [file] [log] [blame]
Martyn Welchbf39f9a2009-08-28 11:28:56 +01001 TODO
2 ====
Martyn Welchc7ef5da2009-07-31 14:07:53 +01003
Martyn Welchbf39f9a2009-08-28 11:28:56 +01004API
5===
Martyn Welchc7ef5da2009-07-31 14:07:53 +01006
Martyn Welchbf39f9a2009-08-28 11:28:56 +01007DMA Resource Allocation incomplete
8----------------------------------
Martyn Welchc7ef5da2009-07-31 14:07:53 +01009
Martyn Welchbf39f9a2009-08-28 11:28:56 +010010The current DMA resource Allocation provides no means of selecting the
11suitability of a DMA controller based on it's supported modes of operation, as
12opposed to the resource allocation mechanisms for master and slave windows:
Martyn Welchc7ef5da2009-07-31 14:07:53 +010013
Martyn Welchbf39f9a2009-08-28 11:28:56 +010014 struct vme_resource *vme_request_dma(struct device *dev);
Martyn Welchc7ef5da2009-07-31 14:07:53 +010015
Martyn Welchbf39f9a2009-08-28 11:28:56 +010016As opposed to:
Martyn Welchc7ef5da2009-07-31 14:07:53 +010017
18 struct vme_resource * vme_master_request(struct device *dev,
19 vme_address_t aspace, vme_cycle_t cycle, vme_width_t width);
20
Martyn Welchbf39f9a2009-08-28 11:28:56 +010021The TSI148 can perform, VME-to-PCI, PCI-to-VME, PATTERN-to-VME, PATTERN-to-PCI,
22VME-to-VME and PCI-to-PCI transfers. The CA91C142 can only provide VME-to-PCI
23and PCI-to-VME.
Martyn Welchc7ef5da2009-07-31 14:07:53 +010024
Martyn Welchbf39f9a2009-08-28 11:28:56 +010025Add a mechanism to select a VME controller based on source/target type,
26required aspace, cycle and width requirements.
Martyn Welchc7ef5da2009-07-31 14:07:53 +010027
28
29Master window broadcast select mask
30-----------------------------------
31
Martyn Welchbf39f9a2009-08-28 11:28:56 +010032API currently provides no method to set or get Broadcast Select mask. Suggest
33somthing like:
Martyn Welchc7ef5da2009-07-31 14:07:53 +010034
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
Martyn Welchc7ef5da2009-07-31 14:07:53 +010039Interrupt Generation
40--------------------
41
Martyn Welchbf39f9a2009-08-28 11:28:56 +010042Add optional timeout when waiting for an IACK.
Martyn Welchc7ef5da2009-07-31 14:07:53 +010043
44
Martyn Welchbf39f9a2009-08-28 11:28:56 +010045CR/CSR Buffer
46-------------
Martyn Welchc7ef5da2009-07-31 14:07:53 +010047
Martyn Welchbf39f9a2009-08-28 11:28:56 +010048The VME API provides no functions to access the buffer mapped into the CR/CSR
49space.
Martyn Welchc7ef5da2009-07-31 14:07:53 +010050
51
Martyn Welchbf39f9a2009-08-28 11:28:56 +010052Mailboxes
53---------
Martyn Welchc7ef5da2009-07-31 14:07:53 +010054
Martyn Welchbf39f9a2009-08-28 11:28:56 +010055Whilst not part of the VME specification, they are provided by a number of
56chips. They are currently not supported at all by the API.
Martyn Welchc7ef5da2009-07-31 14:07:53 +010057
58
Martyn Welchbf39f9a2009-08-28 11:28:56 +010059Core
60====
Martyn Welchc7ef5da2009-07-31 14:07:53 +010061
Martyn Welchbf39f9a2009-08-28 11:28:56 +010062- 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).
Martyn Welchc7ef5da2009-07-31 14:07:53 +010065
Martyn Welchbf39f9a2009-08-28 11:28:56 +010066Bridge Support
Martyn Welchc7ef5da2009-07-31 14:07:53 +010067==============
68
Martyn Welchbf39f9a2009-08-28 11:28:56 +010069Tempe (tsi148)
70--------------
Martyn Welchc7ef5da2009-07-31 14:07:53 +010071
Martyn Welchbf39f9a2009-08-28 11:28:56 +010072- 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
80Universe 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
94Universe I (ca91x042)
95---------------------
96
97Currently completely unsupported.
98