diff mbox

commit-3ac72b7b63d5 breaks networking on iMX28

Message ID fea86fa6-d74a-43ff-cf60-0d375336a5ba@nelint.com
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Eric Nelson Oct. 21, 2016, 1:39 p.m. UTC
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.

Can you try with this patch?


Please advise,


Eric

Comments

Fabio Estevam Oct. 21, 2016, 1:43 p.m. UTC | #1
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.
Eric Nelson Oct. 21, 2016, 1:46 p.m. UTC | #2
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).
Eric Nelson Oct. 21, 2016, 1:48 p.m. UTC | #3
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 mbox

Patch

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 |