| 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. |
| |