diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2019-10-31 13:42:15 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-10-31 12:32:59 -0700 |
commit | 8b664cd127a1e3777e23c8aaa96ba52ef741bb55 (patch) | |
tree | 7df91b4250211f9a683ccb2189602d4e2e195308 /drivers/s390/net/qeth_core.h | |
parent | s390/qdio: implement IQD Multi-Write (diff) | |
download | linux-dev-8b664cd127a1e3777e23c8aaa96ba52ef741bb55.tar.xz linux-dev-8b664cd127a1e3777e23c8aaa96ba52ef741bb55.zip |
s390/qeth: use IQD Multi-Write
For IQD devices with Multi-Write support, we can defer the queue-flush
further and transmit multiple IO buffers with a single TX doorbell.
The same-target restriction still applies.
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net/qeth_core.h')
-rw-r--r-- | drivers/s390/net/qeth_core.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h index e4b55f9aa062..d08154502b15 100644 --- a/drivers/s390/net/qeth_core.h +++ b/drivers/s390/net/qeth_core.h @@ -532,6 +532,8 @@ struct qeth_qdio_out_q { struct timer_list timer; struct qeth_hdr *prev_hdr; u8 bulk_start; + u8 bulk_count; + u8 bulk_max; }; #define qeth_for_each_output_queue(card, q, i) \ @@ -878,6 +880,13 @@ static inline u16 qeth_iqd_translate_txq(struct net_device *dev, u16 txq) return txq; } +static inline bool qeth_iqd_is_mcast_queue(struct qeth_card *card, + struct qeth_qdio_out_q *queue) +{ + return qeth_iqd_translate_txq(card->dev, queue->queue_no) == + QETH_IQD_MCAST_TXQ; +} + static inline void qeth_scrub_qdio_buffer(struct qdio_buffer *buf, unsigned int elements) { |