Ben Gamari
4822512dac
Bump libopencm3
2013-07-07 18:51:50 -04:00
Ben Gamari
a9f8103fec
hackrf_stop_rx: First set mode, then kill transfer thread
...
Killing the transfer thread first means that the host stops polling the
device for reads, causing the device to hang while scheduling the dTD
2013-07-07 17:50:54 -04:00
Ben Gamari
d30d7309d9
usb_queue: Mark queues as volatile
2013-07-07 17:50:54 -04:00
Ben Gamari
36cf222ef4
usb_queue: Add some interrupt disabling around critical sections
2013-07-07 17:50:53 -04:00
Ben Gamari
14526cd1c2
hackrf_usb: Be more careful in transceiver_mode check
2013-07-07 17:50:53 -04:00
Ben Gamari
9f2dca3e4e
usb_standard_request: Always call configuration_changed_cb
...
For reasons I don't entirely understand, bulk requests are suddenly
ignored after a SET_CONFIGURATION request (even if the configuration did
not change) unless the endpoints are reinitialized. This is done by
configuration_changed_cb, therefore we call it for every request.
2013-07-07 17:50:53 -04:00
Ben Gamari
f12defebc6
usb: Ensure endpoint queue is flushed on disable/init
2013-07-07 17:50:53 -04:00
Ben Gamari
8fdc22f8c8
usb-queue: Add flush utility
2013-07-07 17:50:53 -04:00
Ben Gamari
969647dbef
usb_queue: Update queue before calling completion callback
2013-07-07 17:50:53 -04:00
Ben Gamari
5a70772295
usb_queue: Enable transfer chaining
...
Unfortunately this seems to be slightly broken. While hackrf_transfer
streams fine, things fall apart when disabling streaming. Not sure why
yet.
2013-07-07 17:50:53 -04:00
Ben Gamari
3e3a57e3ce
hackrf_usb: Don't attempt to schedule transfers when OFF
...
The endpoints are disabled so no good will come of this
2013-07-07 17:50:53 -04:00
Ben Gamari
abb0b3f928
hackrf_usb: Forgotten initialization
2013-07-07 17:50:53 -04:00
Ben Gamari
dd81921650
usb_queue: Reduce transfer_pool size
2013-07-07 17:50:53 -04:00
Ben Gamari
df97b6584b
hackrf_usb: Port to usb_queue
2013-07-07 17:50:53 -04:00
Ben Gamari
b6f9a3699a
usb_queue: Kill assert reference
2013-07-07 17:50:53 -04:00
Ben Gamari
63ce57b306
usb_queue: Clarify comment
2013-07-07 17:50:53 -04:00
Ben Gamari
f1fc4a6d73
usb_queue: Account for completion of multiple transfers
2013-07-07 17:50:53 -04:00
Ben Gamari
13589b8695
usb_queue: Ensure fields get set
2013-07-07 17:50:53 -04:00
Ben Gamari
28fcb2a961
usb_queue: Merge fill_in_transfer into schedule
2013-07-07 17:50:53 -04:00
Ben Gamari
1d9119fd8a
usb: Ensure TERMINATE bit gets set
2013-07-07 17:50:53 -04:00
Ben Gamari
2ad4cbe087
usb_queue: Fix calculation of transferred
2013-07-07 17:50:53 -04:00
Ben Gamari
f3a36d06fd
usb_queue: Add new transfer after finding tail
2013-07-07 17:50:53 -04:00
Ben Gamari
f36943df62
usb: Whitespace cleanup
2013-07-07 17:50:53 -04:00
Ben Gamari
eef6a0f056
usb_queue: Assert that transaction succeeded
2013-07-07 17:50:53 -04:00
Ben Gamari
0d1ea07151
usb: Check is_priming before loop
2013-07-07 17:50:53 -04:00
Ben Gamari
a88b2ad349
usb_queue: Transfer needs to be added to queue in both paths
2013-07-07 17:50:53 -04:00
Ben Gamari
af34a7a041
usb: Use usb_endpoint_is_priming helper
2013-07-07 17:50:53 -04:00
Ben Gamari
96f8621ad9
hackrf_usb: Port things away from schedule_wait
2013-07-07 17:50:07 -04:00
Ben Gamari
ecd9b2e731
usb_queue: Kill usb_transfer_schedule_wait
2013-07-07 17:50:07 -04:00
Ben Gamari
ccfdd8350d
usb_request: Ensure control endpoint transfers get freed
2013-07-07 17:50:07 -04:00
Ben Gamari
ee46cf1fc4
usb_queue: Cleanup
2013-07-07 17:50:07 -04:00
Ben Gamari
ac29621a36
usb_queue: Use typedef
2013-07-07 17:50:07 -04:00
Ben Gamari
dfdfad2bf0
hackrf_usb: Port to usb_queue
2013-07-07 17:50:07 -04:00
Ben Gamari
c62798d31f
usb_queue: Kill old declaration
2013-07-07 17:50:07 -04:00
Ben Gamari
bd4e39d379
usb_queue: Add completion_cb arguments
2013-07-07 17:50:06 -04:00
Ben Gamari
f015fd7640
usb: Things enumerate
2013-07-07 17:50:06 -04:00
Ben Gamari
6142c828df
usb: Refactor queue management
2013-07-07 17:50:06 -04:00
Ben Gamari
e6bf90af23
usb: Shuffle endpoint_schedule into endpoint_schedule_wait
2013-07-07 17:50:06 -04:00
Ben Gamari
2717b7534e
firmware/: Update #includes for libopencm3 merge
2013-07-07 17:48:54 -04:00
Ben Gamari
42b7391918
usb: Begin shuffling transfer management to usb_queue
2013-07-07 17:48:54 -04:00
Ben Gamari
3dbe817b09
firmware/: Use uint32_t instead of u32
2013-07-07 17:48:54 -04:00
Ben Gamari
6b05089700
usb: Add usb_endpoint_append_td
...
This implements the procedure for adding a TD to the end of an active
queue described in UM10503 Section 23.10.11.3.
2013-07-07 17:48:54 -04:00
Ben Gamari
1bbe375746
A few more changes due to the libopencm3 merge
2013-07-07 17:48:54 -04:00
Ben Gamari
98f30188c1
Ensure that LPC43XX is defined for libopencm3
2013-07-07 17:48:54 -04:00
Ben Gamari
ddd7d8ca71
Fix NVIC interrupt macro names
...
In libopencm3 master the NVIC macros are prefixed with NVIC_ not
NVIC_M4_
2013-07-07 17:48:54 -04:00
Ben Gamari
fac5d0dfba
Bump libopencm3
2013-07-07 17:48:54 -04:00
Ben Gamari
0972829ce5
usb: Rework configuration change notification
2013-07-01 00:25:22 -04:00
Ben Gamari
8a529617e5
Build against libopencm3 submodule tree by default
2013-07-01 00:21:49 -04:00
Ben Gamari
21a83179d8
Add libopencm3 submodule
2013-07-01 00:21:27 -04:00
Michael Ossmann
bc5e683c36
Merge pull request #88 from ZeroChaos/patch-1
...
fix permissions on udev rules
2013-06-26 21:43:16 -07:00