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 |
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
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,