Age | Message |
---|---|
11 years 11 months | ieee802154/at86rf230: Add Automatic retransmit form the extended mode This will handle CSMA/CA for us as well as re-sending frames when no ack comes in timely. Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> |
11 years 11 months | ieee802154/at86rf230.c: Prepare driver for auto ACK support Implement the filter function to update short address, pan id and ieee address on change. Allowing for hardware address filtering needed for auto ACK. Switch state machine to use auto ACK states for rx. Currently wrapped in ugly ifdef's until automatic re-transmit is also in place. Testing for auto ACK showed no problems so far. Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> |
11 years 11 months | ieee802154/at86rf230.h: Fix register names for RX_AACK_ON and
TX_ARET_ON The register names have been wrong since the beginning but it only showed up now as they are actualy used for the upcoming auto ACK support. Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> |
12 years 2 months | atusb: use MODULE_AUTHOR according to include/linux/module.h; added
myself include/linux/module.h decrees: /* * Author(s), use "Name <email>" or just "Name", for multiple * authors use multiple MODULE_AUTHOR() statements/lines. */ Make it so. |
Commit 846338826bb4971daa49c454d6c34f366d0f66fe,
by Werner Almesberger
|
|
12 years 2 months | atusb: changed interrupt synchronization from fixed delay to
SPI_WRITE2_SYNC The fixed 10 ms delay was an unnecessary waste of time. The new mechanism synchronized interrupts by matching the interrupt's serial number (sent on EP 1) with the serial returned by the new request ATUSB_SPI_WRITE2_SYNC. If we don't have a match, a 50 ms timeout will kick in. This will save us in situations where EP 1 has a problem or also in case a new interrupt arrives before the ATUSB_SPI_WRITE2_SYNC response. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit b2d71a931b84b937520b79a4d422cb3de5e1ec87,
by Werner Almesberger
|
|
12 years 2 months | at86rf230: we may be in BUSY_RX after commanding RX_ON Checking arrival in RX_ON races with incoming traffic. If frame reception begins before we have a chance to see that we've arrived in RX_ON, at86rf230_state complains about unexpectedly finding the transceiver in BUSY_RX. This isn't the prettiest solution (and it doesn't check if we're in BUSY_RX before even commanding the change, although I think this shouldn't happen), but it makes the problem go away. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit e21c6ed8f48f10726f75d5f02f57f2a3c510e15a,
by Werner Almesberger
|
|
12 years 2 months | atusb: adjusted dev_* severity levels The driver should now be quiet after initialization unless there's some problem. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit b003725a33d5181611edf5d00e80e40563d277ab,
by Werner Almesberger
|
|
12 years 2 months | atusb: updated to do list and added missing \n to dev_info |
Commit 1b9d72f56fae0d149c5307a3f9f38f3b3d410b87,
by Werner Almesberger
|
|
12 years 2 months | atusb: implement interrupt synchronization via a 10 ms delay timer Writes to TRX_STATE may have to act as interrupt barriers. Since we currently have no direct means for ensuring that host and atusb are synchronized, we simply wait 10 ms, which should be sufficient to receive any pending bulk data. Moved the TRX_STATE change detection logic from atusb_transfer to atusb_write and implemented the delay via a timer. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit eb1a51efda953658df691c467a6b1249e54c5dd8,
by Werner Almesberger
|
|
12 years 2 months | atusb: correctly print the build date The code assumed the string send by atusb was NUL-terminated, which it isn't. We therefore can only accept one byte less in the buffer and must terminate the string ourselves. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit c35f50f5d1d804ff4d8523d8b20f36012bb066a2,
by Werner Almesberger
|
|
12 years 2 months | atusb: initially disable the interrupt delivery tasklet This prevents is from firing the interrupt before the driver is ready to handle it. We therefore don't need the work-around in at86rf230.c anymore. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 206feca691aa938d6f659ac9041d4c4ef8001b0a,
by Werner Almesberger
|
|
12 years 2 months | atusb: moved firmware version info before AT86RF230 driver bringup This makes the sequence of messages a bit more logical and also makes sure atusb_probe succeeds on successful spi_new_device. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 4c977e4dfb6e95caec9cdebe1cac7b87b1e3d40b,
by Werner Almesberger
|
|
12 years 2 months | atusb: added interrupt URB removal on cleanup This adds the cleanup but leaves some races open. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 64e0322abad52f9ca6566603e5df0f8e49c6a27d,
by Werner Almesberger
|
|
12 years 2 months | atusb: converted interrupt delivery to use tasklets Tasklets are a lot cleaner than the atomic operations and weird logic we had before. And the result should also be more correct ;-) Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit edb55e1d9917f35ce2ec30afa47ede66fb06273b,
by Werner Almesberger
|
|
12 years 2 months | atusb: added tentative interrupt support Added the USB-to-interrupt logic. The approach is basically to have a bulk URB that waits for an incoming interrupt notification and that gets resubmitted whenever the interrupt is acknowledged. We map enable/disable to an atomic count of the masking depth. To do: - convert printks to dev_dbg or remove them - remove bulk URB on driver unload - implement interrupt synchronization (via an 10 ms timer) - don't make atusb_irq_enable call atusb_do_irq directly but start a tasklet instead. Otherwise, we recurse on a spin lock held somewhere in the interrupt handling infrastructure. We send our first interrupt before at86rf230.c is ready to handle it. This causes all further interrupts to be lost. As a work-around, just clear IRQ_STATUS at the end of at86rf230_probe. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 7fa3bd331029facef4464626aee9f351b386e45d,
by Werner Almesberger
|
|
12 years 2 months | Revert "ieee802154/at86rf230: Be more verbose and disable irq
handling for now" This reverts commit 88bf9af396b0ad297328394c29d6ab5ea04e5aac. We now support interrupts. Revert the driver to its formers self. |
Commit 7a7da98f755be058951bea165fcf6c83a5b2537e,
by Werner Almesberger
|
|
12 years 2 months | atusb: merged error checking and request completion for control
transfers Most of the processing in atusb_ctrl_cb and atusb_read_fb_cb was identical. Merged it. Also changed bare printk to dev_dbg or dev_info. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 247b48a72cfd14d1c5b1ae2f9e9addea14ceb310,
by Werner Almesberger
|
|
12 years 2 months | atusb: honor thine card-punching ancestors Wrapped lines > 80 characters. Also corrected whitespace excursion in MODULE_DESCRIPTION. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 3000508494166738dfa12ba5a61ec8eab76bce51,
by Werner Almesberger
|
|
12 years 2 months | atusb: added section titles and moved code in a more logical order Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 0d9f58be0e881b0f32f5a1b3b40f8babb26ee811,
by Werner Almesberger
|
|
12 years 2 months | atusb: remove more unused items (usb_irq, urb_completion) We don't have a proper interrupt for USB but use a completion callback. Also, since we're now proudly asynchronous, there's no need for urb_completion. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 2723787ddc5789c3268deafbfcd3db80a63a182c,
by Werner Almesberger
|
|
12 years 2 months | atusb: renamed atusb_read1_cb to atusb_ctrl_cb Since we use it for read and write, better give it a more generic name. Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 7b40185715c221c5592732066510c42760743e65,
by Werner Almesberger
|
|
12 years 2 months | atusb: remove atusb_read2 It was just a stub producing a warning and we don't need the functionality now anyway (it would be necessary for SRAM reads, but it's still not clear if we'll ever need these). Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 67a52a6f298b883172cee3e596e2f3f8dbcc4d0c,
by Werner Almesberger
|
|
12 years 2 months | atusb: renamed ctrl_urb to just "urb" Signed-off-by: Werner Almesberger <werner@almesberger.net> |
Commit 0d21f45f7a0daba3e2d83b9e9083ea558a9b1b54,
by Werner Almesberger
|
|
12 years 2 months | atusb: removed atusb_build from struct atusb_local and streamlined
"static info" We don't need to keep all this information around after initializing. Also, it's nicer to keep everything in small functions than to spread it out over several of them. Note: it compiles but is otherwise untested. |
Commit 6dfb2e55f8f1373e9c87f6952f5d8d7d1b347f7a,
by Werner Almesberger
|
|
12 years 2 months | drivers/spi/atusb: Remove ctrl_urb from local struct. Its only needed in submit_control_urb() Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9