net: ethernet: ti: cpsw_ethtool: simplify slave loops
Only for consistency reasons, do it like in main cpsw.c module and use ndev reference but not by means of slave. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bfe59032bd
commit
9126e75e39
|
@ -458,7 +458,6 @@ int cpsw_nway_reset(struct net_device *ndev)
|
|||
static void cpsw_suspend_data_pass(struct net_device *ndev)
|
||||
{
|
||||
struct cpsw_common *cpsw = ndev_to_cpsw(ndev);
|
||||
struct cpsw_slave *slave;
|
||||
int i;
|
||||
|
||||
/* Disable NAPI scheduling */
|
||||
|
@ -467,12 +466,13 @@ static void cpsw_suspend_data_pass(struct net_device *ndev)
|
|||
/* Stop all transmit queues for every network device.
|
||||
* Disable re-using rx descriptors with dormant_on.
|
||||
*/
|
||||
for (i = cpsw->data.slaves, slave = cpsw->slaves; i; i--, slave++) {
|
||||
if (!(slave->ndev && netif_running(slave->ndev)))
|
||||
for (i = 0; i < cpsw->data.slaves; i++) {
|
||||
ndev = cpsw->slaves[i].ndev;
|
||||
if (!(ndev && netif_running(ndev)))
|
||||
continue;
|
||||
|
||||
netif_tx_stop_all_queues(slave->ndev);
|
||||
netif_dormant_on(slave->ndev);
|
||||
netif_tx_stop_all_queues(ndev);
|
||||
netif_dormant_on(ndev);
|
||||
}
|
||||
|
||||
/* Handle rest of tx packets and stop cpdma channels */
|
||||
|
@ -483,13 +483,14 @@ static int cpsw_resume_data_pass(struct net_device *ndev)
|
|||
{
|
||||
struct cpsw_priv *priv = netdev_priv(ndev);
|
||||
struct cpsw_common *cpsw = priv->cpsw;
|
||||
struct cpsw_slave *slave;
|
||||
int i, ret;
|
||||
|
||||
/* Allow rx packets handling */
|
||||
for (i = cpsw->data.slaves, slave = cpsw->slaves; i; i--, slave++)
|
||||
if (slave->ndev && netif_running(slave->ndev))
|
||||
netif_dormant_off(slave->ndev);
|
||||
for (i = 0; i < cpsw->data.slaves; i++) {
|
||||
ndev = cpsw->slaves[i].ndev;
|
||||
if (ndev && netif_running(ndev))
|
||||
netif_dormant_off(ndev);
|
||||
}
|
||||
|
||||
/* After this receive is started */
|
||||
if (cpsw->usage_count) {
|
||||
|
@ -502,9 +503,11 @@ static int cpsw_resume_data_pass(struct net_device *ndev)
|
|||
}
|
||||
|
||||
/* Resume transmit for every affected interface */
|
||||
for (i = cpsw->data.slaves, slave = cpsw->slaves; i; i--, slave++)
|
||||
if (slave->ndev && netif_running(slave->ndev))
|
||||
netif_tx_start_all_queues(slave->ndev);
|
||||
for (i = 0; i < cpsw->data.slaves; i++) {
|
||||
ndev = cpsw->slaves[i].ndev;
|
||||
if (ndev && netif_running(ndev))
|
||||
netif_tx_start_all_queues(ndev);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -587,7 +590,7 @@ int cpsw_set_channels_common(struct net_device *ndev,
|
|||
{
|
||||
struct cpsw_priv *priv = netdev_priv(ndev);
|
||||
struct cpsw_common *cpsw = priv->cpsw;
|
||||
struct cpsw_slave *slave;
|
||||
struct net_device *sl_ndev;
|
||||
int i, ret;
|
||||
|
||||
ret = cpsw_check_ch_settings(cpsw, chs);
|
||||
|
@ -604,20 +607,19 @@ int cpsw_set_channels_common(struct net_device *ndev,
|
|||
if (ret)
|
||||
goto err;
|
||||
|
||||
for (i = cpsw->data.slaves, slave = cpsw->slaves; i; i--, slave++) {
|
||||
if (!(slave->ndev && netif_running(slave->ndev)))
|
||||
for (i = 0; i < cpsw->data.slaves; i++) {
|
||||
sl_ndev = cpsw->slaves[i].ndev;
|
||||
if (!(sl_ndev && netif_running(sl_ndev)))
|
||||
continue;
|
||||
|
||||
/* Inform stack about new count of queues */
|
||||
ret = netif_set_real_num_tx_queues(slave->ndev,
|
||||
cpsw->tx_ch_num);
|
||||
ret = netif_set_real_num_tx_queues(sl_ndev, cpsw->tx_ch_num);
|
||||
if (ret) {
|
||||
dev_err(priv->dev, "cannot set real number of tx queues\n");
|
||||
goto err;
|
||||
}
|
||||
|
||||
ret = netif_set_real_num_rx_queues(slave->ndev,
|
||||
cpsw->rx_ch_num);
|
||||
ret = netif_set_real_num_rx_queues(sl_ndev, cpsw->rx_ch_num);
|
||||
if (ret) {
|
||||
dev_err(priv->dev, "cannot set real number of rx queues\n");
|
||||
goto err;
|
||||
|
|
Loading…
Reference in New Issue