				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.

