mirror of
git://nv-tegra.nvidia.com/kernel/nvethernetrm.git
synced 2025-12-22 09:12:10 +03:00
osi: xpcs: Remove XPCS lane bring up retry
Issue: When the ethernet server got enabled the boot time KPI increased due to the XPCS lane up retry. Fix: Remove retry from OSI and add SET_SPEED ioctl retry from OSD. Bug 3414276 Change-Id: I617ab51ee6ddd50b449f78ecc9c858b1d9196b3e Signed-off-by: Bhadram Varka <vbhadram@nvidia.com> Signed-off-by: Mohan Thadikamalla <mohant@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/kernel/nvethernetrm/+/2617516 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Nagaraj Annaiah <nannaiah@nvidia.com> Reviewed-by: Ashutosh Jha <ajha@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
mobile promotions
parent
81e1442693
commit
ee1da8d41d
@@ -309,10 +309,8 @@ static nve32_t xpcs_lane_bring_up(struct osi_core_priv_data *osi_core)
|
||||
{
|
||||
unsigned int retry = 1000;
|
||||
unsigned int count;
|
||||
int cond;
|
||||
nveu32_t cnt = 0;
|
||||
nveu32_t val = 0;
|
||||
#define PCS_RETRY_MAX 300
|
||||
int cond;
|
||||
|
||||
if (xpcs_uphy_lane_bring_up(osi_core,
|
||||
XPCS_WRAP_UPHY_HW_INIT_CTRL_TX_EN) < 0) {
|
||||
@@ -393,8 +391,6 @@ static nve32_t xpcs_lane_bring_up(struct osi_core_priv_data *osi_core)
|
||||
osi_writela(osi_core, val, (nveu8_t *)osi_core->xpcs_base +
|
||||
XPCS_WRAP_UPHY_RX_CONTROL_0_0);
|
||||
|
||||
|
||||
while (cnt < PCS_RETRY_MAX) {
|
||||
/* Step7 RX_CDR_RESET */
|
||||
val = osi_readla(osi_core, (nveu8_t *)osi_core->xpcs_base +
|
||||
XPCS_WRAP_UPHY_RX_CONTROL_0_0);
|
||||
@@ -417,19 +413,8 @@ static nve32_t xpcs_lane_bring_up(struct osi_core_priv_data *osi_core)
|
||||
XPCS_WRAP_UPHY_RX_CONTROL_0_0);
|
||||
|
||||
if (xpcs_check_pcs_lock_status(osi_core) < 0) {
|
||||
cnt += 1;
|
||||
osi_core->osd_ops.udelay(1000U);
|
||||
} else {
|
||||
OSI_CORE_INFO(OSI_NULL, OSI_LOG_ARG_HW_FAIL,
|
||||
"PCS block lock SUCCESS\n", 0ULL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (cnt == PCS_RETRY_MAX) {
|
||||
OSI_CORE_ERR(OSI_NULL, OSI_LOG_ARG_HW_FAIL,
|
||||
"Failed to get PCS block lock after max retries\n",
|
||||
cnt);
|
||||
"Failed to get PCS block lock\n", 0ULL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user