linux-can.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC v3 0/7] pch_can/c_can: fix races and add PCH support to c_can
@ 2012-12-11 21:18 Wolfgang Grandegger
  2012-12-11 21:18 ` [RFC v3 1/7] pch_can: add spinlocks to protect tx objects Wolfgang Grandegger
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Wolfgang Grandegger @ 2012-12-11 21:18 UTC (permalink / raw)
  To: linux-can
  Cc: Alexander.Stein, Christian.Bendele, Michael Pellegrini,
	bhupesh.sharma, Wolfgang Grandegger

Hello,

here is v3 of my patches for the C_CAN drivers.

Alexander reported strange results with write-readback of C_CAN register
showing up with concurrent I2C access. They might not be related to CAN
but to other problems on that board. At least Michael did not realize
them yet. Apart from that the c_can driver seems to work fine.
Anyway, we now know that the handling of reveive objects is not water-
proof. To fix out-of-order receipten we should implement an improved
algorithm as suggested by Marc here:

  http://marc.info/?l=linux-can&m=135487418225533&w=2

I will not have time to look into that befoer Xmas. Volunteers are
welcome.

What's also missing is the suspend/resume handling. Then the pch_can
driver is obsolete and can be removed.

Wolfgang.

Changes since v2:

- re-use spin_[un]lock_[irqsave|irqrestore] to protect the tx objects
  of the pch_can driver. spin_[un]lock_bh was not sufficient.
- adapted for the most recent version of the net-next tree

Changes since v1:

- use init callback after renaming it from initram
- use different sets of interface registers for rx and tx (like PCH_CAN)
- use spin_[un]lock_bh to protect the tx objects

Wolfgang Grandegger (7):
  pch_can: add spinlocks to protect tx objects
  c_can: rename callback "initram" to "init" to more general usage
  c_can: use different sets of interface registers for rx and tx
  c_can: add spinlock to protect tx objects
  c_can_pci: introduce board specific PCI bar
  c_can_pci: enable PCI bus master only for MSI
  c_can_pci: add support for PCH CAN on Intel EG20T PCH

 drivers/net/can/c_can/c_can.c          |  102 ++++++++++++++++++++------------
 drivers/net/can/c_can/c_can.h          |    3 +-
 drivers/net/can/c_can/c_can_pci.c      |   57 +++++++++++++++++-
 drivers/net/can/c_can/c_can_platform.c |    2 +-
 drivers/net/can/pch_can.c              |   11 ++++
 5 files changed, 131 insertions(+), 44 deletions(-)

-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-06-21 10:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-11 21:18 [RFC v3 0/7] pch_can/c_can: fix races and add PCH support to c_can Wolfgang Grandegger
2012-12-11 21:18 ` [RFC v3 1/7] pch_can: add spinlocks to protect tx objects Wolfgang Grandegger
2013-06-20 14:29   ` Michael Pellegrini
     [not found]   ` <CAGY4fa-e6foJTzX9cKhNKgeJHfmyi_QsvO8k+94YVzHVM+BAtw@mail.gmail.com>
2013-06-21 10:11     ` Wolfgang Grandegger
2012-12-11 21:18 ` [RFC v3 2/7] c_can: rename callback "initram" to "init" to more general usage Wolfgang Grandegger
2012-12-11 21:18 ` [RFC v3 3/7] c_can: use different sets of interface registers for rx and tx Wolfgang Grandegger
2012-12-11 21:18 ` [RFC v3 4/7] c_can: add spinlock to protect tx objects Wolfgang Grandegger
2012-12-11 21:18 ` [RFC v3 5/7] c_can_pci: introduce board specific PCI bar Wolfgang Grandegger
2012-12-11 21:18 ` [RFC v3 6/7] c_can_pci: enable PCI bus master only for MSI Wolfgang Grandegger
2012-12-11 21:18 ` [RFC v3 7/7] c_can_pci: add support for PCH CAN on Intel EG20T PCH Wolfgang Grandegger
2012-12-12 12:51 ` [RFC v3 0/7] pch_can/c_can: fix races and add PCH support to c_can Christian Bendele
2012-12-12 13:42   ` Wolfgang Grandegger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).