summaryrefslogtreecommitdiffstats
path: root/drivers/uwb/uwb-internal.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* uwb: improved MAS allocator and reservation conflict handlingStefano Panella2008-12-121-1/+79
| | | | | | | | | | | | | | | | | | | Greatly enhance the MAS allocator: - Handle row and column reservations. - Permit all the available MAS to be allocated. - Follows the WiMedia rules on MAS selection. Take appropriate action when reservation conflicts are detected. - Correctly identify which reservation wins the conflict. - Protect alien BP reservations. - If an owned reservation loses, resize/move it. - Follow the backoff procedure before requesting additional MAS. When reservations are terminated, move the remaining reservations (if necessary) so they keep following the MAS allocation rules. Signed-off-by: Stefano Panella <stefano.panella@csr.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* wusb: add debug files for ASL, PZL and DI to the whci-hcd driverDavid Vrabel2008-11-261-2/+1
| | | | | | | Add asl, pzl and di debugfs files to uwb/uwbN/wusbhc for WHCI host controller. These dump the current ASL, PZL and DI buffer. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: add basic radio managerDavid Vrabel2008-11-191-0/+5
| | | | | | | | | | | | | | | | | | | | | The UWB radio manager coordinates the use of the radio between the PALs that may be using it. PALs request use of the radio with uwb_radio_start() and the radio manager will start beaconing if its not already doing so. When the last PAL has called uwb_radio_stop() beaconing will be stopped. In the future, the radio manager will have a more sophisticated channel selection algorithm, probably following the Channel Selection Policy from the WiMedia Alliance when it is finalized. For now, channel 9 (BG1, TFC1) is selected. The user may override the channel selected by the radio manager and may force the radio to stop beaconing. The WUSB Host Controller PAL makes use of this and there are two new debug PAL commands that can be used for testing. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: don't unbind the radio controller driver when resettingDavid Vrabel2008-11-071-0/+1
| | | | | | | | Use pre_reset and post_reset methods to avoid unbinding the radio controller driver after a uwb_rc_reset_all() call. This avoids a deadlock in uwb_rc_rm() when waiting for the uwb event thread to stop. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: per-radio controller event thread and beacon cacheStefano Panella2008-11-041-16/+4
| | | | | | | | | | | | Use an event thread per-radio controller so processing events from one radio controller doesn't delay another. A radio controller shouldn't have information on devices seen by a different radio controller (they may be on different channels) so make the beacon cache per-radio controller. Signed-off-by: Stefano Panella <stefano.panella@csr.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: infrastructure for handling Relinquish Request IEsStefano Panella2008-11-041-0/+1
| | | | | | | | The structures and event handler needed to handle Relinish Request IEs received from neighbors. Nothing is done with these IEs yet. Signed-off-by: Stefano Panella <stefano.panella@csr.com> Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: order IEs by element IDDavid Vrabel2008-10-281-8/+8
| | | | | | | | | | | | | ECMA-368 requires that IEs in a beacon must be sorted by element ID. Most hardware uses the ordering in the Set IE URC command so get the ordering right on the host. Also refactor the IE management code: - use uwb_ie_next() instead of uwb_ie_for_each(). - remove unnecessary functions. - API is now only uwb_rc_ie_add() and uwb_rc_ie_rm(). Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: dont tranmit identification IEsDavid Vrabel2008-09-171-1/+0
| | | | | | | | The current identification IE doesn't include any useful information (the vendor ID is from the EUI-48) and it causes problems with certain hardware/firmware so don't transmit one. Signed-off-by: David Vrabel <david.vrabel@csr.com>
* uwb: add the UWB stack (core files)Inaky Perez-Gonzalez2008-09-171-0/+306
UWB device and radio controller device and event management. Signed-off-by: David Vrabel <david.vrabel@csr.com>