mirror of https://gitee.com/openkylin/linux.git
net: macb: restore cmp registers on resume path
Restore CMP screener registers on resume path.
Fixes: c1e85c6ce5
("net: macb: save/restore the remaining registers and features")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
990b03b05b
commit
a14d273ba1
|
@ -3239,6 +3239,9 @@ static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs)
|
||||||
bool cmp_b = false;
|
bool cmp_b = false;
|
||||||
bool cmp_c = false;
|
bool cmp_c = false;
|
||||||
|
|
||||||
|
if (!macb_is_gem(bp))
|
||||||
|
return;
|
||||||
|
|
||||||
tp4sp_v = &(fs->h_u.tcp_ip4_spec);
|
tp4sp_v = &(fs->h_u.tcp_ip4_spec);
|
||||||
tp4sp_m = &(fs->m_u.tcp_ip4_spec);
|
tp4sp_m = &(fs->m_u.tcp_ip4_spec);
|
||||||
|
|
||||||
|
@ -3607,6 +3610,7 @@ static void macb_restore_features(struct macb *bp)
|
||||||
{
|
{
|
||||||
struct net_device *netdev = bp->dev;
|
struct net_device *netdev = bp->dev;
|
||||||
netdev_features_t features = netdev->features;
|
netdev_features_t features = netdev->features;
|
||||||
|
struct ethtool_rx_fs_item *item;
|
||||||
|
|
||||||
/* TX checksum offload */
|
/* TX checksum offload */
|
||||||
macb_set_txcsum_feature(bp, features);
|
macb_set_txcsum_feature(bp, features);
|
||||||
|
@ -3615,6 +3619,9 @@ static void macb_restore_features(struct macb *bp)
|
||||||
macb_set_rxcsum_feature(bp, features);
|
macb_set_rxcsum_feature(bp, features);
|
||||||
|
|
||||||
/* RX Flow Filters */
|
/* RX Flow Filters */
|
||||||
|
list_for_each_entry(item, &bp->rx_fs_list.list, list)
|
||||||
|
gem_prog_cmp_regs(bp, &item->fs);
|
||||||
|
|
||||||
macb_set_rxflow_feature(bp, features);
|
macb_set_rxflow_feature(bp, features);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue