<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/can/m_can, branch linux-6.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2024-03-26T22:16:43Z</updated>
<entry>
<title>can: m_can: Start/Cancel polling timer together with interrupts</title>
<updated>2024-03-26T22:16:43Z</updated>
<author>
<name>Markus Schneider-Pargmann</name>
</author>
<published>2024-02-07T09:32:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a1f2d97045e55d5d9e56e5a07f2ae377e2ba5b17'/>
<id>urn:sha1:a1f2d97045e55d5d9e56e5a07f2ae377e2ba5b17</id>
<content type='text'>
[ Upstream commit a163c5761019b94258ca655b27b46e82657fd6f5 ]

Interrupts are enabled/disabled in more places than just m_can_start()
and m_can_stop(). Couple the polling timer with enabling/disabling of
all interrupts to achieve equivalent behavior.

Cc: Judith Mendez &lt;jm@ti.com&gt;
Fixes: b382380c0d2d ("can: m_can: Add hrtimer to generate software interrupt")
Signed-off-by: Markus Schneider-Pargmann &lt;msp@baylibre.com&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Link: https://lore.kernel.org/all/20240207093220.2681425-2-msp@baylibre.com
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>can: tcan4x5x: Fix id2_register for tcan4553</title>
<updated>2023-10-06T10:54:33Z</updated>
<author>
<name>Markus Schneider-Pargmann</name>
</author>
<published>2023-09-19T09:54:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a9967c9ad290c086e1445b660263375985dffb3a'/>
<id>urn:sha1:a9967c9ad290c086e1445b660263375985dffb3a</id>
<content type='text'>
Fix id2_register content for tcan4553. This slipped through my testing.

Reported-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
Closes: https://lore.kernel.org/lkml/a94e6fc8-4f08-7877-2ba0-29b9c2780136@seco.com/
Fixes: 142c6dc6d9d7 ("can: tcan4x5x: Add support for tcan4552/4553")
Signed-off-by: Markus Schneider-Pargmann &lt;msp@baylibre.com&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Link: https://lore.kernel.org/all/20230919095401.1312259-1-msp@baylibre.com
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: tcan4x5x: Add error messages in probe</title>
<updated>2023-07-31T08:41:09Z</updated>
<author>
<name>Markus Schneider-Pargmann</name>
</author>
<published>2023-07-28T14:19:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=35e7aaab3e0058dba3eaf082c3f1ccee96c20b1c'/>
<id>urn:sha1:35e7aaab3e0058dba3eaf082c3f1ccee96c20b1c</id>
<content type='text'>
To be able to understand issues during probe easier, add error messages
if something fails.

Signed-off-by: Markus Schneider-Pargmann &lt;msp@baylibre.com&gt;
Link: https://lore.kernel.org/all/20230728141923.162477-7-msp@baylibre.com
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: tcan4x5x: Add support for tcan4552/4553</title>
<updated>2023-07-31T08:41:08Z</updated>
<author>
<name>Markus Schneider-Pargmann</name>
</author>
<published>2023-07-28T14:19:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=142c6dc6d9d7c27157e41985519464d5985e3d95'/>
<id>urn:sha1:142c6dc6d9d7c27157e41985519464d5985e3d95</id>
<content type='text'>
tcan4552 and tcan4553 do not have wake or state pins, so they are
currently not compatible with the generic driver. The generic driver
uses tcan4x5x_disable_state() and tcan4x5x_disable_wake() if the gpios
are not defined. These functions use register bits that are not
available in tcan4552/4553.

This patch adds support by introducing version information to reflect if
the chip has wake and state pins. Also the version is now checked.

Signed-off-by: Markus Schneider-Pargmann &lt;msp@baylibre.com&gt;
Link: https://lore.kernel.org/all/20230728141923.162477-6-msp@baylibre.com
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: tcan4x5x: Rename ID registers to match datasheet</title>
<updated>2023-07-31T08:41:08Z</updated>
<author>
<name>Markus Schneider-Pargmann</name>
</author>
<published>2023-07-28T14:19:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0d6f3b25ac2fa13fddc6106239f7fa7795c8e808'/>
<id>urn:sha1:0d6f3b25ac2fa13fddc6106239f7fa7795c8e808</id>
<content type='text'>
The datasheet calls these registers ID1 and ID2. Rename these to avoid
confusion.

Signed-off-by: Markus Schneider-Pargmann &lt;msp@baylibre.com&gt;
Reviewed-by: Michal Kubiak &lt;michal.kubiak@intel.com&gt;
Link: https://lore.kernel.org/all/20230728141923.162477-5-msp@baylibre.com
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: tcan4x5x: Check size of mram configuration</title>
<updated>2023-07-31T08:41:08Z</updated>
<author>
<name>Markus Schneider-Pargmann</name>
</author>
<published>2023-07-28T14:19:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1b17ea7dd7ca7a199d85e42fd3f8e3d46816b73'/>
<id>urn:sha1:c1b17ea7dd7ca7a199d85e42fd3f8e3d46816b73</id>
<content type='text'>
To reduce debugging effort in case the mram is misconfigured, add this
size check of the DT configuration. Currently if the mram configuration
doesn't fit into the available MRAM it just overwrites other areas of
the MRAM.

Signed-off-by: Markus Schneider-Pargmann &lt;msp@baylibre.com&gt;
Reviewed-by: Michal Kubiak &lt;michal.kubiak@intel.com&gt;
Link: https://lore.kernel.org/all/20230728141923.162477-4-msp@baylibre.com
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: tcan4x5x: Remove reserved register 0x814 from writable table</title>
<updated>2023-07-31T08:41:08Z</updated>
<author>
<name>Markus Schneider-Pargmann</name>
</author>
<published>2023-07-28T14:19:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fbe534f7bf213d485b0ed5362b24a41bf3e18803'/>
<id>urn:sha1:fbe534f7bf213d485b0ed5362b24a41bf3e18803</id>
<content type='text'>
The mentioned register is not writable. It is reserved and should not be
written.

Fixes: 39dbb21b6a29 ("can: tcan4x5x: Specify separate read/write ranges")
Signed-off-by: Markus Schneider-Pargmann &lt;msp@baylibre.com&gt;
Reviewed-by: Michal Kubiak &lt;michal.kubiak@intel.com&gt;
Link: https://lore.kernel.org/all/20230728141923.162477-3-msp@baylibre.com
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: rx-offload: rename rx_offload_get_echo_skb() -&gt; can_rx_offload_get_echo_skb_queue_timestamp()</title>
<updated>2023-07-28T07:45:24Z</updated>
<author>
<name>Marc Kleine-Budde</name>
</author>
<published>2023-06-02T07:36:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e3df4a3b3178006d530f4c4d0e91f3d96cddb3c'/>
<id>urn:sha1:2e3df4a3b3178006d530f4c4d0e91f3d96cddb3c</id>
<content type='text'>
Rename the rx_offload_get_echo_skb() function to
can_rx_offload_get_echo_skb_queue_timestamp(), since it inserts the
echo skb into the rx-offload queue sorted by timestamp.

This is a preparation for adding
can_rx_offload_get_echo_skb_queue_tail(), which adds the echo skb to
the end of the queue. This is intended for devices that do not support
timestamps.

Link: https://lore.kernel.org/all/20230718-gs_usb-rx-offload-v2-1-716e542d14d5@pengutronix.de
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: Explicitly include correct DT includes, part 2</title>
<updated>2023-07-28T06:49:52Z</updated>
<author>
<name>Rob Herring</name>
</author>
<published>2023-07-24T21:18:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=07382e6b68a742f18d57a27fec5fd0c2b0b61b40'/>
<id>urn:sha1:07382e6b68a742f18d57a27fec5fd0c2b0b61b40</id>
<content type='text'>
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
Link: https://lore.kernel.org/all/20230724211841.805053-1-robh@kernel.org
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>can: m_can: Add hrtimer to generate software interrupt</title>
<updated>2023-07-17T14:02:24Z</updated>
<author>
<name>Judith Mendez</name>
</author>
<published>2023-07-07T20:47:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b382380c0d2da427aaffca931e4a3b831048cace'/>
<id>urn:sha1:b382380c0d2da427aaffca931e4a3b831048cace</id>
<content type='text'>
Introduce timer polling method to MCAN since some SoCs may not
have M_CAN interrupt routed to A53 Linux and do not have
interrupt property in device tree M_CAN node.

On AM62x SoC, MCANs on MCU domain do not have hardware interrupt
routed to A53 Linux, instead they will use timer polling method.

Add an hrtimer to MCAN class device. Each MCAN will have its own
hrtimer instantiated if there is no hardware interrupt found in
device tree M_CAN node. The timer will generate a software
interrupt every 1 ms. In hrtimer callback, we check if there is
a transaction pending by reading a register, then process by
calling the isr if there is.

Tested-by: Hiago De Franco &lt;hiago.franco@toradex.com&gt; # Toradex Verdin AM62
Reviewed-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Judith Mendez &lt;jm@ti.com&gt;
Link: https://lore.kernel.org/all/20230707204714.62964-3-jm@ti.com
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
</entry>
</feed>
