diff options
author | Evan Lojewski <github@meklort.com> | 2019-06-05 19:05:13 -0600 |
---|---|---|
committer | Evan Lojewski <github@meklort.com> | 2019-06-05 19:05:13 -0600 |
commit | f875da7fe4e842cc229871313c740dfb61b1784f (patch) | |
tree | 9689ce379c952264b73e2101320af838b302a2b2 /libs/NCSI/ncsi.c | |
parent | 5daef3dc5fa2ad56975da7b01e2c53c30ae73d40 (diff) | |
download | bcm5719-ortega-f875da7fe4e842cc229871313c740dfb61b1784f.tar.gz bcm5719-ortega-f875da7fe4e842cc229871313c740dfb61b1784f.zip |
Update the NCSI link status command to use the linkOK bit from hardware.
Diffstat (limited to 'libs/NCSI/ncsi.c')
-rw-r--r-- | libs/NCSI/ncsi.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libs/NCSI/ncsi.c b/libs/NCSI/ncsi.c index 3278422..9077a39 100644 --- a/libs/NCSI/ncsi.c +++ b/libs/NCSI/ncsi.c @@ -396,13 +396,21 @@ static void getLinkStatusHandler(NetworkFrame_t* frame) RegSHM_CHANNELNcsiChannelStatus_t linkStatus; linkStatus.r32 = 0; - linkStatus.bits.Linkup = 1; - linkStatus.bits.LinkStatus = SHM_CHANNEL_NCSI_CHANNEL_STATUS_LINK_STATUS_1000BASE_T_FULL_DUPLEX; + linkStatus.bits.Linkup = stat.bits.LinkOK; + linkStatus.bits.LinkStatus = SHM_CHANNEL_NCSI_CHANNEL_STATUS_LINK_STATUS_1000BASE_T_FULL_DUPLEX; // FIXME linkStatus.bits.AutonegotiationEnabled = 1; linkStatus.bits.AutonegotiationComplete = stat.bits.AutoNegotiationComplete; + linkStatus.bits.LinkSpeed1000MFullDuplexCapable = ext_stat.bits._1000BASE_TFullDuplexCapable; linkStatus.bits.LinkSpeed1000MHalfDuplexCapable = ext_stat.bits._1000BASE_THalfDuplexCapable; + linkStatus.bits.LinkSpeed100M_TXFullDuplexCapable = stat.bits._100BASE_XFullDuplexCapable; + linkStatus.bits.LinkSpeed100M_TXHalfDuplexCapable = stat.bits._100BASE_XHalfDuplexCapable; + + linkStatus.bits.LinkSpeed10M_TFullDuplexCapable = stat.bits._10BASE_TFullDuplexCapable; + linkStatus.bits.LinkSpeed10M_THalfDuplexCapable = stat.bits._10BASE_THalfDuplexCapable; + + int ch = frame->controlPacket.ChannelID & CHANNEL_ID_MASK; channel_state_t* channel = &(gPackageState.channel[ch]); channel->shm->NcsiChannelStatus = linkStatus; |