Hi Diogo, On 05/03/24 5:10 pm, Diogo Ivo wrote: > Hello, > > This series extends the current ICSSG-based Ethernet driver to support > AM65x Silicon Revision 1.0 devices. > > Notable differences between the Silicon Revisions are that there is > no TX core in SR1.0 with this being handled by the firmware, requiring > extra DMA channels to manage communication with the firmware (with the > firmware being different as well) and in the packet classifier. > > The motivation behind it is that a significant number of Siemens > devices containing SR1.0 silicon have been deployed in the field > and need to be supported and updated to newer kernel versions > without losing functionality. > > This series is based on TI's 5.10 SDK [1]. > > The third version of this patch series can be found in [2]. > > Detailed descriptions of the changes in this series can be found in > each commit's message. > > However, in its current form the driver has two problems: > - Setting the link to 100Mbit/s and half duplex results in slower than > expected speeds. We have identified that this comes from > icssg_rgmii_get_fullduplex() misreporting a full duplex connection > and thus we send the wrong command to the firmware. > > - When using 3 TX channels we observe a timeout on TX queue 0. We have > made no real progress on this front in identifying the root cause. > > For both of these topics help from someone more familiar with the hardware > would be greatly appreciated so that we can support these features rather > than disable them in the final driver version. > > [1]: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/?h=ti-linux-5.10.y > [2]: https://lore.kernel.org/netdev/20240221152421.112324-1-diogo.ivo@xxxxxxxxxxx/ > > Diogo Ivo (10): > dt-bindings: net: Add support for AM65x SR1.0 in ICSSG > eth: Move IPv4/IPv6 multicast address bases to their own symbols > net: ti: icssg-prueth: Move common functions into a separate file > net: ti: icssg-prueth: Add SR1.0-specific configuration bits > net: ti: icssg-prueth: Add SR1.0-specific description bits > net: ti: icssg-prueth: Adjust IPG configuration for SR1.0 > net: ti: icssg-prueth: Adjust the number of TX channels for SR1.0 > net: ti: icssg-prueth: Add functions to configure SR1.0 packet > classifier > net: ti: icssg-prueth: Modify common functions for SR1.0 > net: ti: icssg-prueth: Add ICSSG Ethernet driver for AM65x SR1.0 > platforms > > .../bindings/net/ti,icssg-prueth.yaml | 35 +- > drivers/net/ethernet/ti/Kconfig | 15 + > drivers/net/ethernet/ti/Makefile | 9 + > .../net/ethernet/ti/icssg/icssg_classifier.c | 113 +- > drivers/net/ethernet/ti/icssg/icssg_common.c | 1222 +++++++++++++++++ > drivers/net/ethernet/ti/icssg/icssg_config.c | 14 +- > drivers/net/ethernet/ti/icssg/icssg_config.h | 56 + > drivers/net/ethernet/ti/icssg/icssg_ethtool.c | 10 + > drivers/net/ethernet/ti/icssg/icssg_prueth.c | 1189 +--------------- > drivers/net/ethernet/ti/icssg/icssg_prueth.h | 79 +- > .../net/ethernet/ti/icssg/icssg_prueth_sr1.c | 1171 ++++++++++++++++ > include/linux/etherdevice.h | 12 +- > 12 files changed, 2715 insertions(+), 1210 deletions(-) > create mode 100644 drivers/net/ethernet/ti/icssg/icssg_common.c > create mode 100644 drivers/net/ethernet/ti/icssg/icssg_prueth_sr1.c > This series doesn't break any existing functionality of ICSSG driver on AM654x SR2.0. The series looks ok to me. For this series, Reviewed-by: MD Danish Anwar <danishanwar@xxxxxx> -- Thanks and Regards, Danish