Age | Commit message (Collapse) | Author |
|
rc->rsvs_lock may be taken in a timer so lock it with spin_lock_bh().
Signed-off-by: David Vrabel <david.vrabel@csr.com>
|
|
When removing all reservations during shutdown, terminate them first and
then wait for any pending timeout work to complete. This prevents the
timeout work from running after the reservation has been freed.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
|
|
Calling uwb_rsv_terminate() on a reservation already in UWB_RSV_STATE_NONE
should do nothing.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
|
|
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>
|
|
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>
|
|
The pal parameter allows PALs to retrieve their PAL-specific data
structure.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
|
|
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>
|
|
The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
drivers/uwb/drp-ie.c
drivers/uwb/hwa-rc.c
drivers/uwb/i1480/dfu/usb.c
drivers/uwb/i1480/i1480u-wlp/lc.c
drivers/uwb/i1480/i1480u-wlp/sysfs.c
drivers/uwb/rsv.c
drivers/uwb/whc-rc.c
This patch removes the said #include <version.h>.
Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: David Vrabel <david.vrabel@csr.com>
|
|
Reference counting the struct uwb_rsv's is safer and easier to get right than
the transferring ownership of the structures from the PAL to reservation
manager.
This fixes an oops in the debug PAL after a reservation timed out.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
|
|
The reservation owner should decide the stream index to use based on
what reservations it's created.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
|
|
DRP and reservation management.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
|