|
@@ -253,10 +253,9 @@ static void hns_dsaf_ge_srst_by_port(struct dsaf_device *dsaf_dev, u32 port,
|
|
reg_val_1 = 0x1 << port;
|
|
reg_val_1 = 0x1 << port;
|
|
port_rst_off = dsaf_dev->mac_cb[port]->port_rst_off;
|
|
port_rst_off = dsaf_dev->mac_cb[port]->port_rst_off;
|
|
/* there is difference between V1 and V2 in register.*/
|
|
/* there is difference between V1 and V2 in register.*/
|
|
- if (AE_IS_VER1(dsaf_dev->dsaf_ver))
|
|
|
|
- reg_val_2 = 0x1041041 << port_rst_off;
|
|
|
|
- else
|
|
|
|
- reg_val_2 = 0x2082082 << port_rst_off;
|
|
|
|
|
|
+ reg_val_2 = AE_IS_VER1(dsaf_dev->dsaf_ver) ?
|
|
|
|
+ 0x1041041 : 0x2082082;
|
|
|
|
+ reg_val_2 <<= port_rst_off;
|
|
|
|
|
|
if (!dereset) {
|
|
if (!dereset) {
|
|
dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_REQ1_REG,
|
|
dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_REQ1_REG,
|
|
@@ -272,12 +271,11 @@ static void hns_dsaf_ge_srst_by_port(struct dsaf_device *dsaf_dev, u32 port,
|
|
reg_val_1);
|
|
reg_val_1);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- reg_val_1 = 0x15540 << dsaf_dev->reset_offset;
|
|
|
|
|
|
+ reg_val_1 = 0x15540;
|
|
|
|
+ reg_val_2 = AE_IS_VER1(dsaf_dev->dsaf_ver) ? 0x100 : 0x40;
|
|
|
|
|
|
- if (AE_IS_VER1(dsaf_dev->dsaf_ver))
|
|
|
|
- reg_val_2 = 0x100 << dsaf_dev->reset_offset;
|
|
|
|
- else
|
|
|
|
- reg_val_2 = 0x40 << dsaf_dev->reset_offset;
|
|
|
|
|
|
+ reg_val_1 <<= dsaf_dev->reset_offset;
|
|
|
|
+ reg_val_2 <<= dsaf_dev->reset_offset;
|
|
|
|
|
|
if (!dereset) {
|
|
if (!dereset) {
|
|
dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_REQ1_REG,
|
|
dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_REQ1_REG,
|