linux/drivers/net/can
Roger Quadros 47e3485af0 can: c_can: use regmap_update_bits() to modify RAMINIT register
use of regmap_read() and regmap_write() in c_can_hw_raminit_syscon()
is not safe as the RAMINIT register can be shared between different drivers
at least for TI SoCs.

To make the modification atomic we switch to using regmap_update_bits().

regmap_update_bits() skips writing to the register if it's read content is the
same as what is going to be written. This causes an issue for us when we
need to clear the DONE bit with the initial condition START:0, DONE:1 as
DONE bit must be written with 1 to clear it.

So we defer the clearing of DONE bit to later when we set the START bit.
There we are sure that START bit is changed from 0 to 1 so the write of
1 to already set DONE bit will happen.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2015-01-15 16:58:00 +01:00
..
c_can can: c_can: use regmap_update_bits() to modify RAMINIT register 2015-01-15 16:58:00 +01:00
cc770 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
m_can can: m_can: tag current CAN FD controllers as non-ISO 2015-01-15 16:57:59 +01:00
mscan Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sja1000 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
softing net: can: softing: drop owner assignment from platform_drivers 2014-10-20 16:21:01 +02:00
spi can: mcp251x: Use dmam_alloc_coherent 2014-08-18 01:03:43 +02:00
usb can: peak_usb: fix multi-byte values endianess 2014-12-07 21:04:03 +01:00
at91_can.c net: can: drop owner assignment from platform_drivers 2014-10-20 16:20:59 +02:00
bfin_can.c net: can: drop owner assignment from platform_drivers 2014-10-20 16:20:59 +02:00
dev.c can: dev: fix crtlmode_supported check 2015-01-15 16:57:59 +01:00
flexcan.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
grcan.c net: can: drop owner assignment from platform_drivers 2014-10-20 16:20:59 +02:00
janz-ican3.c net: can: drop owner assignment from platform_drivers 2014-10-20 16:20:59 +02:00
Kconfig drivers/net/can/Kconfig: Let CAN_AT91 depend on HAS_IOMEM 2014-10-03 15:52:03 -07:00
led.c can: only rename enabled led triggers when changing the netdev name 2014-05-27 15:05:41 +02:00
Makefile can: Enable -D__CHECK_ENDIAN__ for sparse by default 2014-12-07 21:22:06 +01:00
pch_can.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
rcar_can.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
slcan.c can: slcan/vcan: eliminate banner[] variable, switch to pr_info() 2014-12-07 21:22:05 +01:00
ti_hecc.c net: can: drop owner assignment from platform_drivers 2014-10-20 16:20:59 +02:00
vcan.c can: slcan/vcan: eliminate banner[] variable, switch to pr_info() 2014-12-07 21:22:05 +01:00
xilinx_can.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00