<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/drivers/net/ethernet/microchip, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kobert.dev/pm24.git/atom?h=master</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2024-11-25T00:52:13Z</updated>
<entry>
<title>net: microchip: vcap: Add typegroup table terminators in kunit tests</title>
<updated>2024-11-25T00:52:13Z</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2024-11-19T21:32:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=f164b296638d1eb1fb1c537e93ab5c8b49966546'/>
<id>urn:sha1:f164b296638d1eb1fb1c537e93ab5c8b49966546</id>
<content type='text'>
VCAP API unit tests fail randomly with errors such as

   # vcap_api_iterator_init_test: EXPECTATION FAILED at drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c:387
   Expected 134 + 7 == iter.offset, but
       134 + 7 == 141 (0x8d)
       iter.offset == 17214 (0x433e)
   # vcap_api_iterator_init_test: EXPECTATION FAILED at drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c:388
   Expected 5 == iter.reg_idx, but
       iter.reg_idx == 702 (0x2be)
   # vcap_api_iterator_init_test: EXPECTATION FAILED at drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c:389
   Expected 11 == iter.reg_bitpos, but
       iter.reg_bitpos == 15 (0xf)
   # vcap_api_iterator_init_test: pass:0 fail:1 skip:0 total:1

Comments in the code state that "A typegroup table ends with an all-zero
terminator". Add the missing terminators.

Some of the typegroups did have a terminator of ".offset = 0, .width = 0,
.value = 0,". Replace those terminators with "{ }" (no trailing ',') for
consistency and to excplicitly state "this is a terminator".

Fixes: 67d637516fa9 ("net: microchip: sparx5: Adding KUNIT test for the VCAP API")
Cc: Steen Hegelund &lt;steen.hegelund@microchip.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Reviewed-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Reviewed-by: Jacob Keller &lt;jacob.e.keller@intel.com&gt;
Link: https://patch.msgid.link/20241119213202.2884639-1-linux@roeck-us.net
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: sparx5: add missing lan969x Kconfig dependency</title>
<updated>2024-11-15T03:25:51Z</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2024-11-13T11:55:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=4c54e9497d9abbaca814a963f805884f02dc89ec'/>
<id>urn:sha1:4c54e9497d9abbaca814a963f805884f02dc89ec</id>
<content type='text'>
The sparx5 switchdev driver can be built either with or without support
for the Lan969x switch. However, it cannot be built-in when the lan969x
driver is a loadable module because of a link-time dependency:

arm-linux-gnueabi-ld: drivers/net/ethernet/microchip/sparx5/sparx5_main.o:(.rodata+0xd44): undefined reference to `lan969x_desc'

Add a Kconfig dependency to reflect this in Kconfig, allowing all
the valid configurations but forcing sparx5 to be a loadable module
as well if lan969x is.

Fixes: 98a01119608d ("net: sparx5: add compatible string for lan969x")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Link: https://patch.msgid.link/20241113115513.4132548-1-arnd@kernel.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan969x: add VCAP configuration data</title>
<updated>2024-11-05T12:31:08Z</updated>
<author>
<name>Daniel Machon</name>
<email>daniel.machon@microchip.com</email>
</author>
<published>2024-11-01T07:09:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=1091487dc7435532a04210faeaaf1eb5ac0721d0'/>
<id>urn:sha1:1091487dc7435532a04210faeaaf1eb5ac0721d0</id>
<content type='text'>
Add configuration data (for consumption by the VCAP API) for the four
VCAP's that we are going to support. The following VCAP's will be
supported:

 - VCAP CLM: (also known as IS0) is part of the analyzer and enables
   frame classification using VCAP functionality.

 - VCAP IS2: is part of ANA_ACL and enables access control lists, using
   VCAP functionality.

 - VCAP ES0: is part of the rewriter and enables rewriting of frames
   using VCAP functionality.

 - VCAP ES2: is part of EACL and enables egress access control lists
   using VCAP functionality

The two VCAP's: CLM and IS2 use shared resources from the SUPER VCAP.
The SUPER VCAP is a shared pool of 6 blocks that can be distributed
freely among CLM and IS2.  Each block in the pool has 3,072 addresses
with entries, actions, and counters. ES0 and ES2 does not use shared
resources.

In the configuration data for lan969x CLM uses blocks 2-4 with a total
of 6 lookups. IS2 uses blocks 0-1 with a total of 4 lookups.

Reviewed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Reviewed-by: Jens Emil Schulz Østergaard &lt;jensemil.schulzostergaard@microchip.com&gt;
Signed-off-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;

</content>
</entry>
<entry>
<title>net: lan969x: add autogenerated VCAP information</title>
<updated>2024-11-05T12:31:08Z</updated>
<author>
<name>Daniel Machon</name>
<email>daniel.machon@microchip.com</email>
</author>
<published>2024-11-01T07:09:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=7ef750e490dc89fad227dbcab8274c417139f796'/>
<id>urn:sha1:7ef750e490dc89fad227dbcab8274c417139f796</id>
<content type='text'>
Platform VCAP data for each VCAP instance is auto-generated using an
internal Microchip tool. The generated VCAP data contains information
about keyfields, keyfield sets, actionfields, actionfield sets and
typegroups, which in combination are used to encode and decode rules in
the VCAP.

Add the auto-generated VCAP file lan969x_vcap_ag_api.c and assign the
two structs: lan969x_vcaps and lan969x_vcap_stats to the match data.

Reviewed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Reviewed-by: Jens Emil Schulz Østergaard &lt;jensemil.schulzostergaard@microchip.com&gt;
Signed-off-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;

</content>
</entry>
<entry>
<title>net: sparx5: execute sparx5_vcap_init() on lan969x</title>
<updated>2024-11-05T12:31:08Z</updated>
<author>
<name>Daniel Machon</name>
<email>daniel.machon@microchip.com</email>
</author>
<published>2024-11-01T07:09:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=d4c97e39bf40fe02ee762c32d5dea73928ce6f0c'/>
<id>urn:sha1:d4c97e39bf40fe02ee762c32d5dea73928ce6f0c</id>
<content type='text'>
The is_sparx5() check was introduced in an earlier series, to make sure
the sparx5_vcap_init() was not executed on lan969x, as it was not
implemented there yet. Now that it is, remove that check.

Reviewed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Reviewed-by: Jens Emil Schulz Østergaard &lt;jensemil.schulzostergaard@microchip.com&gt;
Signed-off-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;

</content>
</entry>
<entry>
<title>net: sparx5: add new VCAP constants to match data</title>
<updated>2024-11-05T12:31:08Z</updated>
<author>
<name>Daniel Machon</name>
<email>daniel.machon@microchip.com</email>
</author>
<published>2024-11-01T07:09:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=8caa21e4e4ed4ed8bebb95f47e724bf78883679a'/>
<id>urn:sha1:8caa21e4e4ed4ed8bebb95f47e724bf78883679a</id>
<content type='text'>
In preparation for lan969x VCAP support, add the following three new
VCAP constants to match data:

    - vcaps_cfg (contains configuration data for each VCAP).

    - vcaps (contains auto-generated information about VCAP keys and
      actions).

    - vcap_stats: (contains auto-generated string names of all the keys
      and actions)

Add these constants to the Sparx5 match data constants and use them to
initialize the VCAP's in sparx5_vcap_init().

Reviewed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Reviewed-by: Jens Emil Schulz Østergaard &lt;jensemil.schulzostergaard@microchip.com&gt;
Signed-off-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;

</content>
</entry>
<entry>
<title>net: sparx5: replace SPX5_PORTS with n_ports</title>
<updated>2024-11-05T12:31:08Z</updated>
<author>
<name>Daniel Machon</name>
<email>daniel.machon@microchip.com</email>
</author>
<published>2024-11-01T07:09:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=8f5a812efff8495ba0df93239b62d008925b37d1'/>
<id>urn:sha1:8f5a812efff8495ba0df93239b62d008925b37d1</id>
<content type='text'>
The Sparx5 VCAP implementation uses the SPX5_PORTS symbol to iterate over
the 65 front ports of Sparx5. Replace the use with the n_ports constant
from the match data, which translates to 65 of Sparx5 and 30 on lan969x.

Reviewed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Reviewed-by: Jens Emil Schulz Østergaard &lt;jensemil.schulzostergaard@microchip.com&gt;
Signed-off-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;

</content>
</entry>
<entry>
<title>net: sparx5: expose some sparx5 VCAP symbols</title>
<updated>2024-11-05T12:31:08Z</updated>
<author>
<name>Daniel Machon</name>
<email>daniel.machon@microchip.com</email>
</author>
<published>2024-11-01T07:09:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=9bdb67b53f3f2c702ef8bf4723c3d2c5523aba9b'/>
<id>urn:sha1:9bdb67b53f3f2c702ef8bf4723c3d2c5523aba9b</id>
<content type='text'>
In preparation for lan969x VCAP support, expose the following symbols for
use by the lan969x VCAP implementation:

- The symbols SPARX5_*_LOOKUPS defines the number of lookups in each
  VCAP instance.  These are the same for lan969x. Move them to the
  header file.

- The struct sparx5_vcap_inst encapsulates information about a single
  VCAP instance. Move this struct to the header file and declare the
  sparx5_vcap_inst_cfg as extern.

Reviewed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Reviewed-by: Jens Emil Schulz Østergaard &lt;jensemil.schulzostergaard@microchip.com&gt;
Signed-off-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;

</content>
</entry>
<entry>
<title>net: sparx5: add feature support</title>
<updated>2024-10-31T01:08:06Z</updated>
<author>
<name>Daniel Machon</name>
<email>daniel.machon@microchip.com</email>
</author>
<published>2024-10-23T22:01:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=207966787b7146baae7fdb2f21aece36f784a63b'/>
<id>urn:sha1:207966787b7146baae7fdb2f21aece36f784a63b</id>
<content type='text'>
Lan969x supports a number of different features, depending on the
target. Add new field sparx5-&gt;features and initialize the features based
on the target. Also add the function sparx5_has_feature() and use it
throughout. For now, we only need to handle features: PSFP and PTP -
more will come in the future.

[1] https://www.microchip.com/en-us/product/lan9698

Reviewed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Signed-off-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Link: https://patch.msgid.link/20241024-sparx5-lan969x-switch-driver-2-v2-15-a0b5fae88a0f@microchip.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: sparx5: add compatible string for lan969x</title>
<updated>2024-10-31T01:08:06Z</updated>
<author>
<name>Daniel Machon</name>
<email>daniel.machon@microchip.com</email>
</author>
<published>2024-10-23T22:01:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=98a01119608d21e0ed95a544071beabb353240ed'/>
<id>urn:sha1:98a01119608d21e0ed95a544071beabb353240ed</id>
<content type='text'>
Add lan9691-switch compatible string to mchp_sparx5_match. Guard it with
IS_ENABLED(CONFIG_LAN969X_SWITCH) to make sure Sparx5 can be compiled on
its own.

Reviewed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Signed-off-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Link: https://patch.msgid.link/20241024-sparx5-lan969x-switch-driver-2-v2-14-a0b5fae88a0f@microchip.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
</feed>
