diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2020-10-01 19:11:32 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-10-02 16:22:49 -0700 |
commit | 949bbf4d2db873a6c229a43d816d9f8152b31704 (patch) | |
tree | a7d879f76b6568970c895d6c6dd685a692b3adca /drivers/s390/net/qeth_ethtool.c | |
parent | 72d5e8504e3b2b83a94403b0bbe3070b70538bb9 (diff) | |
download | lwn-949bbf4d2db873a6c229a43d816d9f8152b31704.tar.gz lwn-949bbf4d2db873a6c229a43d816d9f8152b31704.zip |
s390/qeth: allow configuration of TX queues for OSA devices
For OSA devices that are _not_ configured in prio-queue mode, give users
the option of selecting the number of active TX queues.
This requires setting up the HW queues with a reasonable default QoS
value in the QIB's PQUE parm area.
As with the other device types, we bring up the device with a minimal
number of TX queues for compatibility reasons.
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net/qeth_ethtool.c')
-rw-r--r-- | drivers/s390/net/qeth_ethtool.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/s390/net/qeth_ethtool.c b/drivers/s390/net/qeth_ethtool.c index bc3ea0efb58b..b5caa723326e 100644 --- a/drivers/s390/net/qeth_ethtool.c +++ b/drivers/s390/net/qeth_ethtool.c @@ -220,6 +220,10 @@ static int qeth_set_channels(struct net_device *dev, if (channels->tx_count > card->qdio.no_out_queues) return -EINVAL; + /* Prio-queueing needs all TX queues: */ + if (qeth_uses_tx_prio_queueing(card)) + return -EPERM; + if (IS_IQD(card)) { if (channels->tx_count < QETH_IQD_MIN_TXQ) return -EINVAL; @@ -230,10 +234,6 @@ static int qeth_set_channels(struct net_device *dev, if (netif_running(dev) && channels->tx_count < dev->real_num_tx_queues) return -EPERM; - } else { - /* OSA still uses the legacy prio-queue mechanism: */ - if (!IS_VM_NIC(card)) - return -EOPNOTSUPP; } rc = qeth_set_real_num_tx_queues(card, channels->tx_count); |