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