Hi, This patch series is a rework of the at86rf230 driver. There are several changes:
- renaming to "at86rf2xx", because we currently support 3 kinds of at86rf2xx chips. - Regmap support. - Drop of irqworker. This is a workqueue which will scheduled by an irq to handle synchronous spi handling. Instead using asynchronous spi handling, so no scheduler is involved at irq handling. - Also detected some bugs by receiving frame like CRC can be correct and a 802.15.4 frame length could be above 127 bytes. This would crash the whole kernel (but should be handled by the mac layer). Another bug is the handling with RX_SAFE_MODE which protect the frame buffer after a readout. This is currently not working because we read out the buffer twice and the first one to get the frame size. Solution is to readout always the whole frame buffer. - Added some timing relevants things from the datasheet for state changes And IEEE 802.15.4 standard like interframe spacing. Interframe spacing is needed to frame some receiving space time between frame transmitting. This should be also handled by MAC layer, but it's currently a workaround to add this inside the driver layer. - Add some callback setting for chip specific handling, instead of runtime decisions if (is_chip_type()). Callbacks are set only once at probe time. - We don't using a force state change anymore. A force state change will do a abort of receiving frames while we want to transmit a new frame. This should decrease the drop rate of packets. - And many others changes... I will send this series when to netdev when the next net-next window is open. In this time we can test the new driver implementation. My tests shows a speedup of 1 ms for a 6LoWPAN ping without fragmentation and a decrease of the drop rate. I have a at86rf231 chip only and I test it in ARET mode as well without any problems. It would be nice I get some testing reviews from other at86rf2xx chips. The changes are also available at github see: https://github.com/linux-wpan/wpan-next/commits/at86rf2xx_rework - Alex Alexander Aring (16): at86rf230: rename to at86rf2xx at86rf2xx: drop at86rf230 support mac802154: at86rf2xx: add hw flags and merge ops at86rf2xx: add regmap support at86rf2xx: rework detect device handling at86rf2xx: remove is212 and add driver data at86rf2xx: add support for at86rf23x desense at86rf2xx: rework transmit and receive handling at86rf2xx: move RX_SAFE_MODE setting to hw_init at86rf2xx: rework irq_pol setting at86rf2xx: rework state change and start/stop at86rf2xx: rework reset to trx_off state change at86rf2xx: add timing for channel switch at86rf2xx: add sleep cycle timing at86rf2xx: remove unnecessary return at86rf2xx: add new author .../ieee802154/{at86rf230.txt => at86rf2xx.txt} | 4 +- drivers/net/ieee802154/Kconfig | 9 +- drivers/net/ieee802154/Makefile | 2 +- drivers/net/ieee802154/at86rf230.c | 1237 ----------------- drivers/net/ieee802154/at86rf2xx.c | 1393 ++++++++++++++++++++ include/linux/spi/{at86rf230.h => at86rf2xx.h} | 8 +- include/net/mac802154.h | 19 + net/mac802154/ieee802154_dev.c | 12 +- 8 files changed, 1430 insertions(+), 1254 deletions(-) rename Documentation/devicetree/bindings/net/ieee802154/{at86rf230.txt => at86rf2xx.txt} (82%) delete mode 100644 drivers/net/ieee802154/at86rf230.c create mode 100644 drivers/net/ieee802154/at86rf2xx.c rename include/linux/spi/{at86rf230.h => at86rf2xx.h} (89%) -- 2.0.0 ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Linux-zigbee-devel mailing list Linux-zigbee-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel