linux_dsm_epyc7002/drivers/net
Mario Huettel b03cfc5bb0 can: m_can: Enable M_CAN version dependent initialization
This patch adapts the initialization of the M_CAN. So it can be used
with all versions >= 3.0.x.

Changes:
* Added version element to m_can_priv structure to hold M_CAN version.
* Renamed bittiming structs for version 3.0.x
* Added new bittiming structs for version >= 3.1.x
* Function alloc_m_can_dev takes 2 new arguments. The TX FIFO size and the
  base address of the module.
* Chip configuration for CAN_CTRLMODE_LOOPBACK is changed: Enabled
  CCCR_MON bit. In combination with TEST_LBCK it activates the internal
  loopback mode. Leaving CCCR_MON '0' results in external loopback mode.
* Clocks are temporarily enabled by platform_propbe function in order to
  allow read access to the Core Release register and the Control Register.
  Registers are used to detect M_CAN version and optional Non-ISO Feature.

Initialization of M_CAN for version >= 3.1.x:
* TX FIFO of M_CAN is used to transmit frames. The driver does not need to
  stop the tx queue after each frame sent.
* Initialization of TX Event FIFO is added.
* NON-ISO is fixed for all M_CAN versions < 3.2.x. Version 3.2.x _can_ have
  the NISO (Non-ISO) bit which can switch the mode of the M_CAN to Non-ISO
  mode. This bit does not have to be writeable. Therefore it is checked.
  If it is writable Non-ISO support is added to the controllers supported
  CAN modes.

New Functions:
* Function to check the Core Release version. The read value determines the
  behaviour of the driver.
* Function to check if the NISO bit for version >= 3.2.x is implemented.

Signed-off-by: Mario Huettel <mario.huettel@gmx.net>
Reviewed-by: Oliver Hartkopp <socketcan@hartkopp.net>
Tested-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2017-04-25 09:00:47 +02:00
..
appletalk
arcnet
bonding bonding: fix wq initialization for links created via netlink 2017-04-21 15:28:37 -04:00
caif
can can: m_can: Enable M_CAN version dependent initialization 2017-04-25 09:00:47 +02:00
cris net: cris: eth_v10: use new api ethtool_{get|set}_link_ksettings 2017-03-27 15:53:19 -07:00
dsa net: dsa: LAN9303: add I2C dependency 2017-04-21 15:33:55 -04:00
ethernet qlcnic: fix unchecked return value 2017-04-24 16:10:53 -04:00
fddi
fjes Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-23 16:41:27 -07:00
hamradio
hippi
hyperv netvsc: fix use after free on module removal 2017-04-21 13:59:57 -04:00
ieee802154 ieee802154: don't select COMMON_CLK 2017-04-22 10:28:40 +02:00
ipvlan
irda irda: vlsi_ir: fix check for DMA mapping errors 2017-03-25 20:14:40 -07:00
phy mdio_bus: Issue GPIO RESET to PHYs. 2017-04-24 12:40:24 -04:00
plip
ppp
slip
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-15 21:16:30 -04:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-21 20:23:53 -07:00
vmxnet3 net: vmxnet3: use new api ethtool_{get|set}_link_ksettings 2017-03-22 19:26:52 -07:00
wan wan: pc300too: abort path on failure 2017-04-24 15:51:31 -04:00
wimax
wireless wireless-drivers-next patches for 4.12 2017-04-24 12:25:01 -04:00
xen-netback
dummy.c Enable tx timestamping on loopback and dummy 2017-03-21 14:40:01 -07:00
eql.c
geneve.c
gtp.c gtp: support SGSN-side tunnels 2017-03-25 20:11:19 -07:00
ifb.c
Kconfig VSOCK: Add vsockmon device 2017-04-24 12:35:56 -04:00
LICENSE.SRC
loopback.c Cleanup some warning from timestamping code. 2017-03-21 14:40:02 -07:00
macsec.c netlink: pass extended ACK struct to parsing functions 2017-04-13 13:58:22 -04:00
macvlan.c
macvtap.c
Makefile VSOCK: Add vsockmon device 2017-04-24 12:35:56 -04:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-23 16:41:27 -07:00
veth.c netlink: pass extended ACK struct to parsing functions 2017-04-13 13:58:22 -04:00
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-15 21:16:30 -04:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-20 10:35:33 -04:00
vsockmon.c VSOCK: Add vsockmon device 2017-04-24 12:35:56 -04:00
vxlan.c vxlan: fix ND proxy when skb doesn't have transport header offset 2017-04-03 18:50:42 -07:00
xen-netfront.c