summaryrefslogtreecommitdiffstats
path: root/libs/NCSI
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2019-06-05 19:05:13 -0600
committerEvan Lojewski <github@meklort.com>2019-06-05 19:05:13 -0600
commitf875da7fe4e842cc229871313c740dfb61b1784f (patch)
tree9689ce379c952264b73e2101320af838b302a2b2 /libs/NCSI
parent5daef3dc5fa2ad56975da7b01e2c53c30ae73d40 (diff)
downloadbcm5719-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')
-rw-r--r--libs/NCSI/ncsi.c12
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;
OpenPOWER on IntegriCloud