mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
octeontx2-af: cn10k: Do not enable RPM loopback for LPC interfaces
[ Upstream commitdf66b6ebc5] Internal looback is not supported to low rate LPCS interface like SGMII/QSGMII. Hence don't allow to enable for such interfaces. Fixes:3ad3f8f93c("octeontx2-af: cn10k: MAC internal loopback support") Signed-off-by: Geetha sowjanya <gakula@marvell.com> Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com> Signed-off-by: Sunil Goutham <sgoutham@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
35dd0b7e5a
commit
689620df20
@@ -251,22 +251,19 @@ int rpm_lmac_internal_loopback(void *rpmd, int lmac_id, bool enable)
|
||||
if (!rpm || lmac_id >= rpm->lmac_count)
|
||||
return -ENODEV;
|
||||
lmac_type = rpm->mac_ops->get_lmac_type(rpm, lmac_id);
|
||||
if (lmac_type == LMAC_MODE_100G_R) {
|
||||
cfg = rpm_read(rpm, lmac_id, RPMX_MTI_PCS100X_CONTROL1);
|
||||
|
||||
if (enable)
|
||||
cfg |= RPMX_MTI_PCS_LBK;
|
||||
else
|
||||
cfg &= ~RPMX_MTI_PCS_LBK;
|
||||
rpm_write(rpm, lmac_id, RPMX_MTI_PCS100X_CONTROL1, cfg);
|
||||
} else {
|
||||
cfg = rpm_read(rpm, lmac_id, RPMX_MTI_LPCSX_CONTROL1);
|
||||
if (enable)
|
||||
cfg |= RPMX_MTI_PCS_LBK;
|
||||
else
|
||||
cfg &= ~RPMX_MTI_PCS_LBK;
|
||||
rpm_write(rpm, lmac_id, RPMX_MTI_LPCSX_CONTROL1, cfg);
|
||||
if (lmac_type == LMAC_MODE_QSGMII || lmac_type == LMAC_MODE_SGMII) {
|
||||
dev_err(&rpm->pdev->dev, "loopback not supported for LPC mode\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
cfg = rpm_read(rpm, lmac_id, RPMX_MTI_PCS100X_CONTROL1);
|
||||
|
||||
if (enable)
|
||||
cfg |= RPMX_MTI_PCS_LBK;
|
||||
else
|
||||
cfg &= ~RPMX_MTI_PCS_LBK;
|
||||
rpm_write(rpm, lmac_id, RPMX_MTI_PCS100X_CONTROL1, cfg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user