Message ID | fea86fa6-d74a-43ff-cf60-0d375336a5ba@nelint.com |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
Hi Eric, On Fri, Oct 21, 2016 at 11:39 AM, Eric Nelson <eric@nelint.com> wrote: > Reading the i.MX28 reference manual, it appears that this SoC doesn't > have the RACC bit, and I missed removal of the FEC_QUIRK_HAS_RACC flag. On MX28 the register is called HW_ENET_MAC_IPACCRXCONF. I sent a patch that fixes the issue.
Hi Henri, On 10/21/2016 06:39 AM, Eric Nelson wrote: > Hi Henri, > > On 10/21/2016 02:19 AM, Henri Roosen wrote: >> Hi, >> >> Unfortunately commit-3ac72b7b63d5 "net: fec: align IP header in >> hardware" breaks networking on an iMX28 system. >> >> The commit seems valid for iMX6, where it is tested okay and solves the >> unaligned accesses. >> >> On iMX28 I still see unaligned accesses and networking is broken. Can >> anyone confirm this? >> > > Reading the i.MX28 reference manual, it appears that this SoC doesn't > have the RACC bit, and I missed removal of the FEC_QUIRK_HAS_RACC flag. > Sorry. I was wrong. The register (offset 0x1c4) is present, including the SHIFT16 bit, but the register is named differently (HW_ENET_MAC_IPACCRXCONF).
Thanks Fabio. On 10/21/2016 06:43 AM, Fabio Estevam wrote: > Hi Eric, > > On Fri, Oct 21, 2016 at 11:39 AM, Eric Nelson <eric@nelint.com> wrote: > >> Reading the i.MX28 reference manual, it appears that this SoC doesn't >> have the RACC bit, and I missed removal of the FEC_QUIRK_HAS_RACC flag. > > On MX28 the register is called HW_ENET_MAC_IPACCRXCONF. > > I sent a patch that fixes the issue. > I saw that. Nice catch!
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 692ee24..db5eee9 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -96,7 +96,7 @@ static struct platform_device_id fec_devtype[] = { }, { .name = "imx28-fec", .driver_data = FEC_QUIRK_ENET_MAC | FEC_QUIRK_SWAP_FRAME | - FEC_QUIRK_SINGLE_MDIO | FEC_QUIRK_HAS_RACC, + FEC_QUIRK_SINGLE_MDIO, }, { .name = "imx6q-fec", .driver_data = FEC_QUIRK_ENET_MAC | FEC_QUIRK_HAS_GBIT |