[U-Boot-Users] UEC Driver - 83xx RGMII half duplex BUG FIX - RFC

All,
I wanted to post this for comments before I submitted a patch.
Anyone using the 83xx and maybe other families, may or may not have noticed that any half duplex connection will not work, except in MII or RMII modes. Although, I am guessing that many people never use this mode, real painful if somebody plugs an older hub into your box though.
Anyway simple fix, in the Freescale manual according to Table 30-7 any attemps to clear the MACCFG2[FDX] bit while using RGMII mode will result in undefined QE operation, and from personal experience, it will lock up the QE and you have to issue a restart or reboot the box to recover.
To work around this we need to remove the clearing of the FDX bit while in RGMII, RTBI, TBI, or GMII modes.
The only modes that can clear the FDX bit are MII or RMII.
Since I am not the author of the drivers, would the team want me to submit my idea on how to fix this, or would the author like to quickly add in this check before clearing the bit? Or alternatively before calling the uec_set_mac_duplex function(). Though I am a fan of making all functions self protecting against bad code.
Comments?
-Russ

On Mon, 2 Jun 2008 16:03:56 -0700 "Russell McGuire" rmcguire@videopresence.com wrote:
To work around this we need to remove the clearing of the FDX bit while in RGMII, RTBI, TBI, or GMII modes.
The only modes that can clear the FDX bit are MII or RMII.
Since I am not the author of the drivers, would the team want me to submit my idea on how to fix this, or would the author like to quickly add in this check before clearing the bit? Or alternatively before calling the uec_set_mac_duplex function(). Though I am a fan of making all functions self protecting against bad code.
Can you submit a patch for an on-list review?
Kim
participants (2)
-
Kim Phillips
-
Russell McGuire