blob: adc5fca42afd64b3c9ccd54d5e392e8c3e2f02b1 [file] [log] [blame]
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_request_dma(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.