mbox series

[net,v4,0/3] Fix a regression in the Gemini ethernet controller.

Message ID 20231222-new-gemini-ethernet-regression-v4-0-a36e71b0f32b@linaro.org (mailing list archive)
Headers show
Series Fix a regression in the Gemini ethernet controller. | expand

Message

Linus Walleij Dec. 22, 2023, 5:36 p.m. UTC
These fixes were developed on top of the earlier fixes.

Finding the right solution is hard because the Gemini checksumming
engine is completely undocumented in the datasheets.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Changes in v4:
- Properly drop all MTU/TSO muckery in the TX function, the
  whole approach is bogus.
- Make the raw etherype retrieveal return __be16, it is the
  callers job to deal with endianness (as per the pattern
  from if_vlan.h)
- Use __vlan_get_protocol() instead of vlan_get_protocol()
- Only actively bypass the TSS if the frame is over a certain
  size.
- Drop comment that no longer applies.
- Link to v3: https://lore.kernel.org/r/20231221-new-gemini-ethernet-regression-v3-0-a96b4374bfe8@linaro.org

Changes in v3:
- Fix a whitespace bug in the first patch.
- Add generic accessors to obtain the raw ethertype of an
  ethernet frame. VLAN already have the right accessors.
- Link to v2: https://lore.kernel.org/r/20231216-new-gemini-ethernet-regression-v2-0-64c269413dfa@linaro.org

Changes in v2:
- Drop the TSO and length checks altogether, this was never
  working properly.
- Plan to make a proper TSO implementation in the next kernel
  cycle.
- Link to v1: https://lore.kernel.org/r/20231215-new-gemini-ethernet-regression-v1-0-93033544be23@linaro.org

---
Linus Walleij (3):
      net: ethernet: cortina: Drop software checksum and TSO
      if_ether: Add an accessor to read the raw ethertype
      net: ethernet: cortina: Bypass checksumming engine of alien ethertypes

 drivers/net/ethernet/cortina/gemini.c | 62 +++++++++++++++--------------------
 include/linux/if_ether.h              | 16 +++++++++
 2 files changed, 42 insertions(+), 36 deletions(-)
---
base-commit: 33cc938e65a98f1d29d0a18403dbbee050dcad9a
change-id: 20231203-new-gemini-ethernet-regression-3c672de9cfd9

Best regards,

Comments

Linus Walleij Dec. 29, 2023, 11:17 p.m. UTC | #1
On Fri, Dec 22, 2023 at 6:36 PM Linus Walleij <linus.walleij@linaro.org> wrote:

> These fixes were developed on top of the earlier fixes.
>
> Finding the right solution is hard because the Gemini checksumming
> engine is completely undocumented in the datasheets.
>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> Changes in v4:

If no-one is actively against the v4 patch can we merge this?
It's a regression.

Yours,
Linus Walleij