<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/dsa/b53, branch linux-4.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-12-10T18:09:37Z</updated>
<entry>
<title>net: dsa: b53: Fix VLAN usage and how we treat CPU port</title>
<updated>2016-12-10T18:09:37Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2016-11-15T23:58:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65dfc8b4547fdc4077ab563359767ea5ace020f5'/>
<id>urn:sha1:65dfc8b4547fdc4077ab563359767ea5ace020f5</id>
<content type='text'>
[ Upstream commit e47112d9d6009bf6b7438cedc0270316d6b0370d ]

We currently have a fundamental problem in how we treat the CPU port and
its VLAN membership. As soon as a second VLAN is configured to be
untagged, the CPU automatically becomes untagged for that VLAN as well,
and yet, we don't gracefully make sure that the CPU becomes tagged in
the other VLANs it could be a member of. This results in only one VLAN
being effectively usable from the CPU's perspective.

Instead of having some pretty complex logic which tries to maintain the
CPU port's default VLAN and its untagged properties, just do something
very simple which consists in neither altering the CPU port's PVID
settings, nor its untagged settings:

- whenever a VLAN is added, the CPU is automatically a member of this
  VLAN group, as a tagged member
- PVID settings for downstream ports do not alter the CPU port's PVID
  since it now is part of all VLANs in the system

This means that a typical example where e.g: LAN ports are in VLAN1, and
WAN port is in VLAN2, now require having two VLAN interfaces for the
host to properly terminate and send traffic from/to.

Fixes: Fixes: a2482d2ce349 ("net: dsa: b53: Plug in VLAN support")
Reported-by: Hartmut Knaack &lt;knaack.h@gmx.de&gt;
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: dsa: b53: Add missing ULL suffix for 64-bit constant</title>
<updated>2016-08-06T04:11:08Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2016-08-03T19:42:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e3b724e2767fb6495df1dcccaf7c79585c78ae9'/>
<id>urn:sha1:5e3b724e2767fb6495df1dcccaf7c79585c78ae9</id>
<content type='text'>
On 32-bit (e.g. with m68k-linux-gnu-gcc-4.1):

    drivers/net/dsa/b53/b53_common.c: In function ‘b53_arl_read’:
    drivers/net/dsa/b53/b53_common.c:1072: warning: integer constant is too large for ‘long’ type

Fixes: 1da6df85c6fbed8f ("net: dsa: b53: Implement ARL add/del/dump operations")
Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>dsa: b53: remove redundant if</title>
<updated>2016-08-01T20:32:53Z</updated>
<author>
<name>xypron.glpk@gmx.de</name>
</author>
<published>2016-07-31T11:42:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=58d5aaea05e331cb2164bdfeb6927b05c19e061e'/>
<id>urn:sha1:58d5aaea05e331cb2164bdfeb6927b05c19e061e</id>
<content type='text'>
For pdata == null the code leaves with an error.
There is no need to check the condition again.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>b53: Fix build warning.</title>
<updated>2016-07-11T21:30:52Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2016-07-11T21:30:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cf81b2ccad03a9477cf3fd135341642420d18620'/>
<id>urn:sha1:cf81b2ccad03a9477cf3fd135341642420d18620</id>
<content type='text'>
   drivers/net/dsa/b53/b53_srab.c: In function 'b53_srab_probe':
&gt;&gt; drivers/net/dsa/b53/b53_srab.c:388:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      pdata-&gt;chip_id = (u32)of_id-&gt;data;
                       ^

Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: b53: Add support for BCM585xx/586xx/88312 integrated switch</title>
<updated>2016-07-11T19:52:03Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2016-07-08T18:39:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=991a36bb464589f169d6c9e3d01f5b99299a73fa'/>
<id>urn:sha1:991a36bb464589f169d6c9e3d01f5b99299a73fa</id>
<content type='text'>
Update the SRAB, core driver and binding document to support the
BCM585xx/586xx/88312 integrated switch (Northstar Plus SoCs family).

Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: b53: Allow SRAB driver to specify platform data</title>
<updated>2016-07-11T19:52:03Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2016-07-08T18:39:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fefae6909ead1798c39bee4d94e7e8f1f2752ef6'/>
<id>urn:sha1:fefae6909ead1798c39bee4d94e7e8f1f2752ef6</id>
<content type='text'>
For Northstart Plus SoCs, we cannot detect the switch because only the
revision information is provied in the Management page, instead, rely on
Device Tree to tell us the chip id, and pass it down using the
b53_platform_data structure.

Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>dsa: b53: avoid 'maybe-uninitialized' warning</title>
<updated>2016-06-29T09:07:12Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2016-06-27T09:19:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5eca2914f3cf787cced92e818bff5f1ac4f0a8b2'/>
<id>urn:sha1:5eca2914f3cf787cced92e818bff5f1ac4f0a8b2</id>
<content type='text'>
In some configurations, gcc produces a warning for correct code
in this driver:

drivers/net/dsa/b53/b53_mmap.c: In function 'b53_mmap_read64':
drivers/net/dsa/b53/b53_mmap.c:107:10: error: 'hi' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  *val = ((u64)hi &lt;&lt; 32) | lo;
          ^~~~~~~
drivers/net/dsa/b53/b53_mmap.c: In function 'b53_mmap_read48':
drivers/net/dsa/b53/b53_mmap.c:91:11: error: 'hi' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   *val = ((u64)hi &lt;&lt; 32) | lo;
           ^~~~~~~
drivers/net/dsa/b53/b53_mmap.c:83:11: error: 'hi' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   *val = ((u64)hi &lt;&lt; 16) | lo;

I have seen the warning before and at the time thought I had fixed
it with 55e7f6abe131 ("dsa: b53: fix big-endian register access"),
however it now came back in a different randconfig build that happens
to have different inlining decisions in the compiler.

The mistake that gcc makes here is that it thinks the second call to
readl() might fail because the address 'reg + 4' is not a multiple
of four despite having knowing that 'reg' itself is a multiple of four.

By open-coding the two reads without the redundant alignment check,
we can avoid the warning and produce slightly better object code, but
get slightly longer source code instead.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: b53: Fix statistics readings</title>
<updated>2016-06-23T19:13:48Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2016-06-21T01:26:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=51dca8a1cfd917e1b53b118ddd3fbe5eb1b6a9a8'/>
<id>urn:sha1:51dca8a1cfd917e1b53b118ddd3fbe5eb1b6a9a8</id>
<content type='text'>
Due to a typo we would always be using the MIB counter width of the
first element of the counter array instead of the current element, and
we would always be accessing the register statistics with a 64-bits
read, while some could be 32-bits. This got unnoticed in testing with
MDIO and SRAB which tolerate doing this, but testing with the SPI bus
revealed bogus values being returned. Fix this by using the proper
iterator here.

Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch")
Reported-by: Jonas Gorski &lt;jogo@openwrt.org&gt;
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>dsa: b53: fix big-endian register access</title>
<updated>2016-06-17T00:15:28Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2016-06-16T09:00:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55e7f6abe131529a786e13464515015064f19e7d'/>
<id>urn:sha1:55e7f6abe131529a786e13464515015064f19e7d</id>
<content type='text'>
The b53 dsa register access confusingly uses __raw register accessors
when both the CPU and the device are big-endian, but it uses little-
endian accessors when the same device is used from a little-endian
CPU, which makes no sense.

This uses normal accessors in device-endianess all the time, which
will work in all four combinations of register and CPU endianess,
and it will have the same barrier semantics in all cases.

This also seems to take care of a (false positive) warning I'm getting:

drivers/net/dsa/b53/b53_mmap.c: In function 'b53_mmap_read64':
drivers/net/dsa/b53/b53_mmap.c:109:10: error: 'hi' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  *val = ((u64)hi &lt;&lt; 32) | lo;

I originally planned to submit another patch for that warning
and did this one as a preparation cleanup, but it does seem to be
sufficient by itself.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: dsa: b53: Plug in VLAN support</title>
<updated>2016-06-10T05:21:29Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2016-06-10T01:23:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2482d2ce3498642d180b9d7453d0d9c7452cb29'/>
<id>urn:sha1:a2482d2ce3498642d180b9d7453d0d9c7452cb29</id>
<content type='text'>
Add support for configuration VLANs on B53 devices by implementing the
port VLAN add/del/dump functions. We currently default to a behavior
which is equivalent to having VLAN filtering turned on, where all VLANs
not programmed into the VLAN port-based vector will be discarded on
ingress.

Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
