|
36 | 36 |
|
37 | 37 | static void ksz_cfg(struct ksz_device *dev, u32 addr, u8 bits, bool set) |
38 | 38 | { |
39 | | - regmap_update_bits(ksz_regmap_8(dev), addr, bits, set ? bits : 0); |
| 39 | + ksz_rmw8(dev, addr, bits, set ? bits : 0); |
40 | 40 | } |
41 | 41 |
|
42 | 42 | static void ksz_port_cfg(struct ksz_device *dev, int port, int offset, u8 bits, |
43 | 43 | bool set) |
44 | 44 | { |
45 | | - regmap_update_bits(ksz_regmap_8(dev), |
46 | | - dev->dev_ops->get_port_addr(port, offset), |
47 | | - bits, set ? bits : 0); |
| 45 | + ksz_rmw8(dev, dev->dev_ops->get_port_addr(port, offset), bits, |
| 46 | + set ? bits : 0); |
48 | 47 | } |
49 | 48 |
|
50 | 49 | /** |
@@ -1955,16 +1954,19 @@ int ksz8_setup(struct dsa_switch *ds) |
1955 | 1954 | ksz_cfg(dev, S_LINK_AGING_CTRL, SW_LINK_AUTO_AGING, true); |
1956 | 1955 |
|
1957 | 1956 | /* Enable aggressive back off algorithm in half duplex mode. */ |
1958 | | - regmap_update_bits(ksz_regmap_8(dev), REG_SW_CTRL_1, |
1959 | | - SW_AGGR_BACKOFF, SW_AGGR_BACKOFF); |
| 1957 | + ret = ksz_rmw8(dev, REG_SW_CTRL_1, SW_AGGR_BACKOFF, SW_AGGR_BACKOFF); |
| 1958 | + if (ret) |
| 1959 | + return ret; |
1960 | 1960 |
|
1961 | 1961 | /* |
1962 | 1962 | * Make sure unicast VLAN boundary is set as default and |
1963 | 1963 | * enable no excessive collision drop. |
1964 | 1964 | */ |
1965 | | - regmap_update_bits(ksz_regmap_8(dev), REG_SW_CTRL_2, |
1966 | | - UNICAST_VLAN_BOUNDARY | NO_EXC_COLLISION_DROP, |
1967 | | - UNICAST_VLAN_BOUNDARY | NO_EXC_COLLISION_DROP); |
| 1965 | + ret = ksz_rmw8(dev, REG_SW_CTRL_2, |
| 1966 | + UNICAST_VLAN_BOUNDARY | NO_EXC_COLLISION_DROP, |
| 1967 | + UNICAST_VLAN_BOUNDARY | NO_EXC_COLLISION_DROP); |
| 1968 | + if (ret) |
| 1969 | + return ret; |
1968 | 1970 |
|
1969 | 1971 | ksz_cfg(dev, S_REPLACE_VID_CTRL, SW_REPLACE_VID, false); |
1970 | 1972 |
|
|
0 commit comments