mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-01-28 01:17:30 +01:00
realtek: pcs: drop unneeded SerDes number range checks
By using references to pre-initiated SerDes instances instead of plain
SerDes number, there is no need to check for the range anymore in
various places. During driver/pcs init it is ensured that only valid
SerDes will reach the configuration functions.
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21146
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 18eea05483)
This commit is contained in:
parent
d2a34744fe
commit
4d86ac6401
1 changed files with 1 additions and 26 deletions
|
|
@ -544,8 +544,6 @@ static int rtpcs_838x_setup_serdes(struct rtpcs_serdes *sds,
|
|||
{
|
||||
int ret;
|
||||
|
||||
if (sds->id > 5)
|
||||
return -EINVAL;
|
||||
if (!rtpcs_838x_sds_is_mode_supported(sds, mode))
|
||||
return -EINVAL;
|
||||
|
||||
|
|
@ -585,10 +583,6 @@ static void rtpcs_930x_sds_set(struct rtpcs_serdes *sds, u32 mode)
|
|||
u8 sds_id = sds->id;
|
||||
|
||||
pr_info("%s %d\n", __func__, mode);
|
||||
if (sds_id < 0 || sds_id > 11) {
|
||||
pr_err("Wrong SerDes number: %d\n", sds_id);
|
||||
return;
|
||||
}
|
||||
|
||||
regmap_write_bits(sds->ctrl->map, rtpcs_930x_sds_regs[sds_id],
|
||||
RTL930X_SDS_MASK << rtpcs_930x_sds_lsb[sds_id],
|
||||
|
|
@ -602,11 +596,6 @@ static u32 rtpcs_930x_sds_mode_get(struct rtpcs_serdes *sds)
|
|||
u8 sds_id = sds->id;
|
||||
u32 v;
|
||||
|
||||
if (sds_id < 0 || sds_id > 11) {
|
||||
pr_err("Wrong SerDes number: %d\n", sds_id);
|
||||
return 0;
|
||||
}
|
||||
|
||||
regmap_read(sds->ctrl->map, rtpcs_930x_sds_regs[sds_id], &v);
|
||||
v >>= rtpcs_930x_sds_lsb[sds_id];
|
||||
|
||||
|
|
@ -959,11 +948,6 @@ static void rtpcs_930x_sds_mode_set(struct rtpcs_serdes *sds,
|
|||
u32 mode;
|
||||
u32 submode;
|
||||
|
||||
if (sds->id < 0 || sds->id > 11) {
|
||||
pr_err("%s: invalid SerDes number: %d\n", __func__, sds->id);
|
||||
return;
|
||||
}
|
||||
|
||||
switch (phy_mode) {
|
||||
case PHY_INTERFACE_MODE_SGMII:
|
||||
case PHY_INTERFACE_MODE_1000BASEX:
|
||||
|
|
@ -2231,9 +2215,6 @@ static int rtpcs_930x_setup_serdes(struct rtpcs_serdes *sds,
|
|||
{
|
||||
int calib_tries = 0;
|
||||
|
||||
if (sds->id < 0 || sds->id > 11)
|
||||
return -EINVAL;
|
||||
|
||||
/* Rely on setup from U-boot for some modes, e.g. USXGMII */
|
||||
switch (phy_mode) {
|
||||
case PHY_INTERFACE_MODE_1000BASEX:
|
||||
|
|
@ -2680,9 +2661,6 @@ static int rtpcs_931x_setup_serdes(struct rtpcs_serdes *sds,
|
|||
u32 sds_id = sds->id;
|
||||
int chiptype = 0;
|
||||
|
||||
if (sds_id < 0 || sds_id > 13)
|
||||
return -EINVAL;
|
||||
|
||||
/*
|
||||
* TODO: USXGMII is currently the swiss army knife to declare 10G
|
||||
* multi port PHYs. Real devices use other modes instead. Especially
|
||||
|
|
@ -2835,7 +2813,7 @@ static int rtpcs_931x_setup_serdes(struct rtpcs_serdes *sds,
|
|||
|
||||
rtpcs_931x_sds_cmu_type_set(sds, mode, chiptype);
|
||||
|
||||
if (sds_id >= 2 && sds_id <= 13) {
|
||||
if (sds_id >= 2) {
|
||||
if (chiptype)
|
||||
rtpcs_sds_write(sds, 0x2E, 0x1, board_sds_tx_type1[sds_id - 2]);
|
||||
else {
|
||||
|
|
@ -2954,9 +2932,6 @@ static int rtpcs_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
|
|||
struct rtpcs_ctrl *ctrl = link->ctrl;
|
||||
int ret = 0;
|
||||
|
||||
if (link->sds->id < 0)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* TODO: This (or copies of this) will be the central function for configuring the
|
||||
* link between PHY and SerDes. As of now a lot of the code is scattered throughout
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue