<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/can/flexcan.c, branch linux-4.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.16.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2018-05-16T08:12:30Z</updated>
<entry>
<title>can: flexcan: fix endianess detection</title>
<updated>2018-05-16T08:12:30Z</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2018-04-25T14:50:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9f28874ccb2ff5b909d9b0c3a4736edf7e856cdf'/>
<id>urn:sha1:9f28874ccb2ff5b909d9b0c3a4736edf7e856cdf</id>
<content type='text'>
commit 0e030a373df3b8792b8991740fc31fe0629c6e58 upstream.

In commit 88462d2a7830 ("can: flexcan: Remodel FlexCAN register r/w APIs
for big endian FlexCAN controllers.") the following logic was
implemented:

	if the dt property "big-endian" is given or
	   the device is compatible to "fsl,p1010-flexcan":
		use big-endian mode;
	else
		use little-endian mode;

This relies on commit d50f4630c2e1 ("arm: dts: Remove p1010-flexcan
compatible from imx series dts") which was applied a few commits later.
Without this commit (or an old device tree used for booting a new
kernel) the flexcan devices on i.MX25, i.MX28, i.MX35 and i.MX53 match
the 'the device is compatible to "fsl,p1010-flexcan"' test and so are
switched erroneously to big endian mode.

Instead of the check above put a quirk in devtype data and rely on
of_match_device yielding the most compatible match

Fixes: 88462d2a7830 ("can: flexcan: Remodel FlexCAN register r/w APIs for big endian FlexCAN controllers.")
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Tested-by: Gavin Schenk &lt;g.schenk@eckelmann.de&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt; # &gt;= v4.16
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2018-01-09T15:37:00Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2018-01-09T15:37:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a0ce093180f2bbb832b3f5583adc640ad67ea568'/>
<id>urn:sha1:a0ce093180f2bbb832b3f5583adc640ad67ea568</id>
<content type='text'>
</content>
</entry>
<entry>
<title>can: flex_can: Correct the checking for frame length in flexcan_start_xmit()</title>
<updated>2018-01-04T15:14:38Z</updated>
<author>
<name>Luu An Phu</name>
<email>phu.luuan@nxp.com</email>
</author>
<published>2018-01-02T03:44:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=13454c14550065fcc1705d6bd4ee6d40e057099f'/>
<id>urn:sha1:13454c14550065fcc1705d6bd4ee6d40e057099f</id>
<content type='text'>
The flexcan_start_xmit() function compares the frame length with data
register length to write frame content into data[0] and data[1]
register. Data register length is 4 bytes and frame maximum length is 8
bytes.

Fix the check that compares frame length with 3. Because the register
length is 4.

Signed-off-by: Luu An Phu &lt;phu.luuan@nxp.com&gt;
Reviewed-by: Oliver Hartkopp &lt;socketcan@hartkopp.net&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2017-12-05T15:44:19Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2017-12-05T15:44:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7cda4cee1366fae236678a5a6b124bab86b14973'/>
<id>urn:sha1:7cda4cee1366fae236678a5a6b124bab86b14973</id>
<content type='text'>
Small overlapping change conflict ('net' changed a line,
'net-next' added a line right afterwards) in flexcan.c

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>can: flexcan: fix VF610 state transition issue</title>
<updated>2017-12-01T10:26:14Z</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2017-11-27T08:18:21Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=29c64b17a0bc72232acc45e9533221d88a262efb'/>
<id>urn:sha1:29c64b17a0bc72232acc45e9533221d88a262efb</id>
<content type='text'>
Enable FLEXCAN_QUIRK_BROKEN_PERR_STATE for VF610 to report correct state
transitions.

Tested-by: Mirza Krak &lt;mirza.krak@gmail.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt; # &gt;= v4.11
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: flexcan: Update IRQ Err Passive information</title>
<updated>2017-12-01T10:20:52Z</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2017-11-22T12:01:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=658f534c036352a06584c8b2e71a547915173ba9'/>
<id>urn:sha1:658f534c036352a06584c8b2e71a547915173ba9</id>
<content type='text'>
The flexcan IP cores used on MX25 and MX35 do not generate Error Passive
IRQs. Update the IP core overview table in the driver accordingly.

Suggested-by: ZHU Yi (ST-FIR/ENG1-Zhu) &lt;Yi.Zhu5@cn.bosch.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: flexcan: adding platform specific details for LS1021A</title>
<updated>2017-12-01T08:14:23Z</updated>
<author>
<name>Pankaj Bansal</name>
<email>pankaj.bansal@nxp.com</email>
</author>
<published>2017-11-24T13:22:09Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=99b7668c04b2752cd672aed650fa93f8446ba28f'/>
<id>urn:sha1:99b7668c04b2752cd672aed650fa93f8446ba28f</id>
<content type='text'>
This patch adds platform specific details for NXP SOC LS1021A to the
flexcan driver code.

Signed-off-by: Pankaj Bansal &lt;pankaj.bansal@nxp.com&gt;
Signed-off-by: Bhupesh Sharma &lt;bhupesh.sharma@freescale.com&gt;
Reviewed-by: Zhengxiong Jin &lt;Jason.Jin@freescale.com&gt;
Reviewed-by: Poonam Aggrwal &lt;poonam.aggrwal@nxp.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: flexcan: Remodel FlexCAN register r/w APIs for big endian FlexCAN controllers.</title>
<updated>2017-12-01T08:14:23Z</updated>
<author>
<name>Pankaj Bansal</name>
<email>pankaj.bansal@nxp.com</email>
</author>
<published>2017-11-24T13:22:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=88462d2a7830b23edb31f467e8fcd06e56d4cb98'/>
<id>urn:sha1:88462d2a7830b23edb31f467e8fcd06e56d4cb98</id>
<content type='text'>
The FlexCAN driver assumed that FlexCAN controller is big endian for
powerpc architecture and little endian for other architectures.

But this may not be the case. FlexCAN controller can be little or big
endian on any architecture. For e.g. NXP LS1021A ARM based SOC has big
endian FlexCAN controller.

Therefore, the driver has been modified to add a provision for both
types of controllers using an additional device tree property. On a
"fsl,p1010-flexcan" device BE is default, on all other devices LE is.

Big Endian controllers should have "big-endian" set in the device tree.
check "Documentation/devicetree/bindings/net/can/fsl-flexcan.txt" for
usage.

This is the standard practice followed in linux. for more info check:
Documentation/devicetree/bindings/common-properties.txt

Signed-off-by: Pankaj Bansal &lt;pankaj.bansal@nxp.com&gt;
Signed-off-by: Bhupesh Sharma &lt;bhupesh.sharma@freescale.com&gt;
Signed-off-by: Sakar Arora &lt;Sakar.Arora@freescale.com&gt;
Reviewed-by: Zhengxiong Jin &lt;Jason.Jin@freescale.com&gt;
Reviewed-by: Poonam Aggrwal &lt;poonam.aggrwal@nxp.com&gt;
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: flexcan: fix p1010 state transition issue</title>
<updated>2017-10-19T11:05:53Z</updated>
<author>
<name>ZHU Yi (ST-FIR/ENG1-Zhu)</name>
<email>Yi.Zhu5@cn.bosch.com</email>
</author>
<published>2017-09-15T07:09:37Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fb5b91d61bebc24686ffc379138fd67808b1a1e6'/>
<id>urn:sha1:fb5b91d61bebc24686ffc379138fd67808b1a1e6</id>
<content type='text'>
Enable FLEXCAN_QUIRK_BROKEN_WERR_STATE and
FLEXCAN_QUIRK_BROKEN_PERR_STATE for p1010 to report correct state
transitions.

Signed-off-by: Zhu Yi &lt;yi.zhu5@cn.bosch.com&gt;
Signed-off-by: Mark Jonas &lt;mark.jonas@de.bosch.com&gt;
Acked-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt; # &gt;= v4.11
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: flexcan: fix i.MX28 state transition issue</title>
<updated>2017-10-19T11:05:53Z</updated>
<author>
<name>ZHU Yi (ST-FIR/ENG1-Zhu)</name>
<email>Yi.Zhu5@cn.bosch.com</email>
</author>
<published>2017-09-15T07:08:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=083c5571290a2d4308b75f1a59cf376b6e907808'/>
<id>urn:sha1:083c5571290a2d4308b75f1a59cf376b6e907808</id>
<content type='text'>
Enable FLEXCAN_QUIRK_BROKEN_PERR_STATE for i.MX28 to report correct
state transitions, especially to error passive.

Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: Zhu Yi &lt;yi.zhu5@cn.bosch.com&gt;
Signed-off-by: Mark Jonas &lt;mark.jonas@de.bosch.com&gt;
Cc: linux-stable &lt;stable@vger.kernel.org&gt; # &gt;= v4.11
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
</feed>
