Merge branch 'macb-partial-store-and-forward'
authorDavid S. Miller <davem@davemloft.net>
Thu, 15 Jun 2023 07:45:29 +0000 (08:45 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Jun 2023 07:45:29 +0000 (08:45 +0100)
commit580b7fe5fcc430a38a0b073dbab2f94533a7ae89
tree076f9088f2865cfbf795d58ff354d2d8b081099a
parent473f5e13b38b9533bd3ae0758418581eabf69b50
parentcae4bc06b3e41bc6dfd7116a45c1006e50ffe153
Merge branch 'macb-partial-store-and-forward'

Pranavi Somisetty says:

====================
Add support for partial store and forward

Add support for partial store and forward mode in Cadence MACB.

Link for v1:
https://lore.kernel.org/all/20221213121245.13981-1-pranavi.somisetty@amd.com/

Changes v2:
1. Removed all the changes related to validating FCS when Rx checksum
offload is disabled.
2. Instead of using a platform dependent number (0xFFF) for the reset
value of rx watermark, derive it from designcfg_debug2 register.
3. Added a check to see if partial s/f is supported, by reading the
designcfg_debug6 register.
4. Added devicetree bindings for "rx-watermark" property.
Link for v2:
https://lore.kernel.org/all/20230511071214.18611-1-pranavi.somisetty@amd.com/

Changes v3:
1. Fixed DT schema error: "scalar properties shouldn't have array keywords"
2. Modified description of rx-watermark in to include units of the watermark value
3. Modified the DT property name corresponding to rx_watermark in pbuf_rxcutthru to
"cdns,rx-watermark".
4. Followed reverse christmas tree pattern in declaring variables.
5. Return -EINVAL when an invalid watermark value is set.
6. Removed netdev_info when partial store and forward is not enabled.
7. Validating the rx-watermark value in probe itself and only write to the register
in init.
8. Writing a reset value to the pbuf_cuthru register before disabing partial store
and forward is redundant. So removing it.
9. Removed the platform caps flag.
10. Instead of reading rx-watermark from DT in macb_configure_caps,
reading it in probe.
11. Changed Signed-Off-By and author names on the macb driver patch.
Link for v3:
https://lore.kernel.org/all/20230530095138.1302-1-pranavi.somisetty@amd.com/

Changes v4:
1. Modified description for "rx-watermark" property in the DT bindings.
2. Changed the width of the rx-watermark property to uint32.
3. Removed redundant code and unused variables.
4. When the rx-watermark value is invalid, instead of returning EINVAL,
do not enable partial store and forward.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>