Skip to content

Commit 470e391

Browse files
hayesorzJakub Kicinski
authored andcommitted
r8152: move r8153_patch_request forward
Move r8153_patch_request() forward for later patch. Signed-off-by: Hayes Wang <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 5a16a3d commit 470e391

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

drivers/net/usb/r8152.c

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3397,6 +3397,33 @@ static void rtl_clear_bp(struct r8152 *tp, u16 type)
33973397
ocp_write_word(tp, type, PLA_BP_BA, 0);
33983398
}
33993399

3400+
static int r8153_patch_request(struct r8152 *tp, bool request)
3401+
{
3402+
u16 data;
3403+
int i;
3404+
3405+
data = ocp_reg_read(tp, OCP_PHY_PATCH_CMD);
3406+
if (request)
3407+
data |= PATCH_REQUEST;
3408+
else
3409+
data &= ~PATCH_REQUEST;
3410+
ocp_reg_write(tp, OCP_PHY_PATCH_CMD, data);
3411+
3412+
for (i = 0; request && i < 5000; i++) {
3413+
usleep_range(1000, 2000);
3414+
if (ocp_reg_read(tp, OCP_PHY_PATCH_STAT) & PATCH_READY)
3415+
break;
3416+
}
3417+
3418+
if (request && !(ocp_reg_read(tp, OCP_PHY_PATCH_STAT) & PATCH_READY)) {
3419+
netif_err(tp, drv, tp->netdev, "patch request fail\n");
3420+
r8153_patch_request(tp, false);
3421+
return -ETIME;
3422+
} else {
3423+
return 0;
3424+
}
3425+
}
3426+
34003427
static bool rtl8152_is_fw_mac_ok(struct r8152 *tp, struct fw_mac *mac)
34013428
{
34023429
u16 fw_reg, bp_ba_addr, bp_en_addr, bp_start, fw_offset;
@@ -4056,33 +4083,6 @@ static void r8152b_enter_oob(struct r8152 *tp)
40564083
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RCR, ocp_data);
40574084
}
40584085

4059-
static int r8153_patch_request(struct r8152 *tp, bool request)
4060-
{
4061-
u16 data;
4062-
int i;
4063-
4064-
data = ocp_reg_read(tp, OCP_PHY_PATCH_CMD);
4065-
if (request)
4066-
data |= PATCH_REQUEST;
4067-
else
4068-
data &= ~PATCH_REQUEST;
4069-
ocp_reg_write(tp, OCP_PHY_PATCH_CMD, data);
4070-
4071-
for (i = 0; request && i < 5000; i++) {
4072-
usleep_range(1000, 2000);
4073-
if (ocp_reg_read(tp, OCP_PHY_PATCH_STAT) & PATCH_READY)
4074-
break;
4075-
}
4076-
4077-
if (request && !(ocp_reg_read(tp, OCP_PHY_PATCH_STAT) & PATCH_READY)) {
4078-
netif_err(tp, drv, tp->netdev, "patch request fail\n");
4079-
r8153_patch_request(tp, false);
4080-
return -ETIME;
4081-
} else {
4082-
return 0;
4083-
}
4084-
}
4085-
40864086
static int r8153_pre_firmware_1(struct r8152 *tp)
40874087
{
40884088
int i;

0 commit comments

Comments
 (0)