On Wed, Jul 16, 2014 at 03:28:09PM +0530, Varka Bhadram wrote: > On 07/16/2014 03:00 PM, Dong Aisheng wrote: > >The patch adds the basic CAN TX/RX function support for Bosch M_CAN controller. > >For TX, only one dedicated tx buffer is used for sending data. > >For RX, RXFIFO 0 is used for receiving data to avoid overflow. > >Rx FIFO 1 and Rx Buffers are not used currently, as well as Tx Event FIFO. > > > >Due to the message ram can be shared by multi m_can instances > >and the fifo element is configurable which is SoC dependant, > >the design is to parse the message ram related configuration data from device > >tree rather than hardcode define it in driver which can make the message > >ram sharing fully transparent to M_CAN controller driver, > >then we can gain better driver maintainability and future features upgrade. > > > >M_CAN also supports CANFD protocol features like data payload up to 64 bytes > >and bitrate switch at runtime, however, this patch still does not add the > >support for these features. > > > >Cc: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> > >Cc: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> > >Cc: Mark Rutland <mark.rutland@xxxxxxx> > >Cc: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> > >Cc: Varka Bhadram <varkabhadram@xxxxxxxxx> > >Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> > >--- > >changes since v4: > >some minor changes: > >- introduce m_can_fifo_write and is_lec_err functin > >- define macro M_CAN_FIFO_XXX for FIFO > >- move m_can_of_table before platform_driver > >- a few indent fix > > > >Changes since v3: > >A few minor changes: > >- use the updated name of bosch,mram-cfg > >- remove .owner = THIS_MODULE > >- add a line comment for mram_cfg structure > > > >Changes since v2: > >- fix checkpatch warnings > >- handle CAN_CTRLMODE_BERR_REPORTING properly that disable LEC error > > interrupts (Bus error) if no CAN_CTRLMODE_BERR_REPORTING. > >- introduce struct mram_cfg array to store message ram configuration data > > for each fifo > >- fix txb offset calculate wrong issue(should not plus mram_off again) > >- check return for clk_prepare_enable > >- split doc part into a separate patch > > > >Changes since v1: > >Addressed all comments from Mark Rutland, Hartkopp and Marc Kleine-Budde > >- merge three patches into one > >- create directory drivers/net/can/m_can > >- improve binding doc > >- make sure using valid pointer before netif_receive_skb(skb) > >- remove debug info a bit > >- let the stats are updated even if alloc_can_err_skb() fails > >- other small fixes > >--- > > drivers/net/can/Kconfig | 2 + > > drivers/net/can/Makefile | 1 + > > drivers/net/can/m_can/Kconfig | 4 + > > drivers/net/can/m_can/Makefile | 7 + > > drivers/net/can/m_can/m_can.c | 1202 ++++++++++++++++++++++++++++++++++++++++ > > 5 files changed, 1216 insertions(+), 0 deletions(-) > > create mode 100644 drivers/net/can/m_can/Kconfig > > create mode 100644 drivers/net/can/m_can/Makefile > > create mode 100644 drivers/net/can/m_can/m_can.c > > > > > This series addressed all of my comments ...Thanks :-) > > Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> > Thanks for the review! :-) Regards Dong Aisheng > -- > Regards, > Varka Bhadram. > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html