<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/arcnet/arcdevice.h, branch linux-4.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2023-12-13T16:42:16Z</updated>
<entry>
<title>arcnet: restoring support for multiple Sohard Arcnet cards</title>
<updated>2023-12-13T16:42:16Z</updated>
<author>
<name>Thomas Reichinger</name>
</author>
<published>2023-11-30T11:35:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e4ad90b15a7341c2d96d2dc6df6d135d72256b6'/>
<id>urn:sha1:2e4ad90b15a7341c2d96d2dc6df6d135d72256b6</id>
<content type='text'>
[ Upstream commit 6b17a597fc2f13aaaa0a2780eb7edb9ae7ac9aea ]

Probe of Sohard Arcnet cards fails,
if 2 or more cards are installed in a system.
See kernel log:
[    2.759203] arcnet: arcnet loaded
[    2.763648] arcnet:com20020: COM20020 chipset support (by David Woodhouse et al.)
[    2.770585] arcnet:com20020_pci: COM20020 PCI support
[    2.772295] com20020 0000:02:00.0: enabling device (0000 -&gt; 0003)
[    2.772354] (unnamed net_device) (uninitialized): PLX-PCI Controls
...
[    3.071301] com20020 0000:02:00.0 arc0-0 (uninitialized): PCI COM20020: station FFh found at F080h, IRQ 101.
[    3.071305] com20020 0000:02:00.0 arc0-0 (uninitialized): Using CKP 64 - data rate 2.5 Mb/s
[    3.071534] com20020 0000:07:00.0: enabling device (0000 -&gt; 0003)
[    3.071581] (unnamed net_device) (uninitialized): PLX-PCI Controls
...
[    3.369501] com20020 0000:07:00.0: Led pci:green:tx:0-0 renamed to pci:green:tx:0-0_1 due to name collision
[    3.369535] com20020 0000:07:00.0: Led pci:red:recon:0-0 renamed to pci:red:recon:0-0_1 due to name collision
[    3.370586] com20020 0000:07:00.0 arc0-0 (uninitialized): PCI COM20020: station E1h found at C000h, IRQ 35.
[    3.370589] com20020 0000:07:00.0 arc0-0 (uninitialized): Using CKP 64 - data rate 2.5 Mb/s
[    3.370608] com20020: probe of 0000:07:00.0 failed with error -5

commit 5ef216c1f848 ("arcnet: com20020-pci: add rotary index support")
changes the device name of all COM20020 based PCI cards,
even if only some cards support this:
	snprintf(dev-&gt;name, sizeof(dev-&gt;name), "arc%d-%d", dev-&gt;dev_id, i);

The error happens because all Sohard Arcnet cards would be called arc0-0,
since the Sohard Arcnet cards don't have a PLX rotary coder.
I.e. EAE Arcnet cards have a PLX rotary coder,
which sets the first decimal, ensuring unique devices names.

This patch adds two new card feature flags to indicate
which cards support LEDs and the PLX rotary coder.
For EAE based cards the names still depend on the PLX rotary coder
(untested, since missing EAE hardware).
For Sohard based cards, this patch will result in devices
being called arc0, arc1, ... (tested).

Signed-off-by: Thomas Reichinger &lt;thomas.reichinger@sohard.de&gt;
Fixes: 5ef216c1f848 ("arcnet: com20020-pci: add rotary index support")
Link: https://lore.kernel.org/r/20231130113503.6812-1-thomas.reichinger@sohard.de
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: arcnet: Fix RESET flag handling</title>
<updated>2023-12-13T16:42:16Z</updated>
<author>
<name>Ahmed S. Darwish</name>
</author>
<published>2021-01-28T19:48:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eea423aa8cfef1b1309eb26a9b092379f841b6ef'/>
<id>urn:sha1:eea423aa8cfef1b1309eb26a9b092379f841b6ef</id>
<content type='text'>
[ Upstream commit 01365633bd1c836240f9bbf86bbeee749795480a ]

The main arcnet interrupt handler calls arcnet_close() then
arcnet_open(), if the RESET status flag is encountered.

This is invalid:

  1) In general, interrupt handlers should never call -&gt;ndo_stop() and
     -&gt;ndo_open() functions. They are usually full of blocking calls and
     other methods that are expected to be called only from drivers
     init and exit code paths.

  2) arcnet_close() contains a del_timer_sync(). If the irq handler
     interrupts the to-be-deleted timer, del_timer_sync() will just loop
     forever.

  3) arcnet_close() also calls tasklet_kill(), which has a warning if
     called from irq context.

  4) For device reset, the sequence "arcnet_close(); arcnet_open();" is
     not complete.  Some children arcnet drivers have special init/exit
     code sequences, which then embed a call to arcnet_open() and
     arcnet_close() accordingly. Check drivers/net/arcnet/com20020.c.

Run the device RESET sequence from a scheduled workqueue instead.

Signed-off-by: Ahmed S. Darwish &lt;a.darwish@linutronix.de&gt;
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Link: https://lore.kernel.org/r/20210128194802.727770-1-a.darwish@linutronix.de
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Stable-dep-of: 6b17a597fc2f ("arcnet: restoring support for multiple Sohard Arcnet cards")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drivers: net: add missing interrupt.h include</title>
<updated>2017-07-18T18:13:41Z</updated>
<author>
<name>Florian Westphal</name>
</author>
<published>2017-07-17T11:57:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ab10314747364e621ab95b528c2bd874ff3f528'/>
<id>urn:sha1:0ab10314747364e621ab95b528c2bd874ff3f528</id>
<content type='text'>
these drivers use tasklets or irq apis, but don't include interrupt.h.
Once flow cache is removed the implicit interrupt.h inclusion goes away
which will break the build.

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>arcnet: add err_skb package for package status feedback</title>
<updated>2017-06-29T19:26:13Z</updated>
<author>
<name>Michael Grzeschik</name>
</author>
<published>2017-06-28T16:32:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=05fcd31cc472c5da6416d3bc2ab25599bbb9331f'/>
<id>urn:sha1:05fcd31cc472c5da6416d3bc2ab25599bbb9331f</id>
<content type='text'>
We need to track the status of our queued packages. This way the driving
process knows if failed packages need to be retransmitted. For this
purpose we queue the transferred/failed packages back into the err_skb
message queue added with some status information.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>arcnet: add netif_carrier_on/off for reconnect</title>
<updated>2015-10-26T08:10:56Z</updated>
<author>
<name>Michael Grzeschik</name>
</author>
<published>2015-09-16T08:15:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59fbcbc61e1f0fd9acdf3efb09faca0320049718'/>
<id>urn:sha1:59fbcbc61e1f0fd9acdf3efb09faca0320049718</id>
<content type='text'>
The arcnet device has no interrupt to detect if the link has changed
from disconnected to connected. This patch adds an timer to toggle the
link detection. The timer will get retriggered as long as the
reconnection interrupts accure. If the recon interrupts hold off
for &gt;1s we define the connection stable again.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>arcnet: com20020-pci: add led trigger support</title>
<updated>2015-10-26T08:10:56Z</updated>
<author>
<name>Michael Grzeschik</name>
</author>
<published>2014-09-17T22:12:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8890624a4e8c2c7046d63bfd15d7331af9f55f10'/>
<id>urn:sha1:8890624a4e8c2c7046d63bfd15d7331af9f55f10</id>
<content type='text'>
The EAE PLX-PCI card has special leds on the the main io pci resource
bar. This patch adds support to trigger the conflict and data leds with
the packages.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>arcnet: com20020: replace magic numbers with readable macros</title>
<updated>2015-09-23T06:44:28Z</updated>
<author>
<name>Michael Grzeschik</name>
</author>
<published>2015-04-15T09:43:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84286f191a01f198ccfc15759d01320e3847accd'/>
<id>urn:sha1:84286f191a01f198ccfc15759d01320e3847accd</id>
<content type='text'>
This patch replaces all magic numbers in the driver with
proper named macros. For the case of XTOcfg and STARTIOcmd
it introduces the new macros.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>arcnet: Remove unused arcnet_&lt;I/O&gt;w macros</title>
<updated>2015-09-23T06:44:28Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2015-05-05T17:06:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4b0dad83c53b4a6a29be47dc3acc8623be36e7dd'/>
<id>urn:sha1:4b0dad83c53b4a6a29be47dc3acc8623be36e7dd</id>
<content type='text'>
The word length macros are unused.  Remove them.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>arcnet: Remove function pointer macro indirections</title>
<updated>2015-09-23T06:44:27Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2015-05-05T17:06:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e15b03625ce1aa5ca4ab782e034af7d5b56e1b19'/>
<id>urn:sha1:e15b03625ce1aa5ca4ab782e034af7d5b56e1b19</id>
<content type='text'>
It's clearer to use function pointer calls directly instead of the
macro indirections of ARCRESET, ACOMMAND, ASTATUS, and AINTMASK.

Remove the now unused macros too.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>arcnet: arcdevice.h: Add arcnet_readb and arcnet_writeb</title>
<updated>2015-09-23T06:44:27Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2015-05-05T17:06:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9c76aa55110a48c0db1eab4c998a5b94d9f0f852'/>
<id>urn:sha1:9c76aa55110a48c0db1eab4c998a5b94d9f0f852</id>
<content type='text'>
Use the same indirection as the other arcnet_&lt;I/O&gt; macros.
Neither of these new macros add the BUS_ALIGN use for 8 bit devices
on 16 bit busses.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
</content>
</entry>
</feed>
