Age Message
12 years 6 months atusb driver for extended mode (untested and unfinished )
Commit 815a0e30c5db6b829e4eb5a21070bc732bb9dd78, by Werner Almesberger
12 years 8 months spi_atben, spi_atusb: trimmed "dirty" #include of at86rf230.h

Since the drivers now live in drivers/ieee802154/, they no longer have
to reach across half of the directory tree to get at86rf230.h
Commit 72b3769e394c7ed9c37cf33f990622833dad8186, by Werner Almesberger
12 years 8 months spi_atusb: corrected name and typo in title comment
Commit 7569b8103ea4b3c272f237bd78358d10750d109c, by Werner Almesberger
12 years 8 months atusb: we don't need to depend on CONFIG_SPI explicitly

CONFIG_IEEE802154_AT86RF230 already takes care of this.

Signed-off-by: Werner Almesberger <werner@almesberger.net>
Commit 4592d8eaa4a43a20186591650bd9a2ea5c13df2c, by Werner Almesberger
12 years 8 months atusb, atben: moved from spi/ to ieee802154/; renamed atusb to spi_atusb

Also made both drivers depend on CONFIG_IEEE802154_AT86RF230
Commit 6c17a31f1fc515425221067cb3ece599c09dbc5d, by Werner Almesberger
12 years 8 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 8 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 8 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 8 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 8 months atusb: updated to do list and added missing \n to dev_info
Commit 1b9d72f56fae0d149c5307a3f9f38f3b3d410b87, by Werner Almesberger
12 years 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 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 8 months atusb: renamed ctrl_urb to just "urb"

Signed-off-by: Werner Almesberger <werner@almesberger.net>
Commit 0d21f45f7a0daba3e2d83b9e9083ea558a9b1b54, by Werner Almesberger


interactive