diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2019-08-23 11:48:48 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-08-24 16:39:18 -0700 |
commit | 313dc689b16c08b081939ee9b87dac3736c780e3 (patch) | |
tree | 473f175b8e96dd7f404e10872d2353ce4e895838 /drivers/s390/cio/qdio.h | |
parent | s390/qdio: enable drivers to poll for Output completions (diff) | |
download | linux-dev-313dc689b16c08b081939ee9b87dac3736c780e3.tar.xz linux-dev-313dc689b16c08b081939ee9b87dac3736c780e3.zip |
s390/qdio: let drivers opt-out from Output Queue scanning
If a driver wants to use the new Output Queue poll code, then the qdio
layer must disable its internal Queue scanning. Let the driver select
this mode by passing a special scan_threshold of 0.
As the scan_threshold is the same for all Output Queues, also move it
into the main qdio_irq struct. This allows for fast opt-out checking, a
driver is expected to operate either _all_ or none of its Output Queues
in polling mode.
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Acked-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/cio/qdio.h')
-rw-r--r-- | drivers/s390/cio/qdio.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/s390/cio/qdio.h b/drivers/s390/cio/qdio.h index a06944399865..a58b45df95d7 100644 --- a/drivers/s390/cio/qdio.h +++ b/drivers/s390/cio/qdio.h @@ -206,8 +206,6 @@ struct qdio_output_q { struct qdio_outbuf_state *sbal_state; /* timer to check for more outbound work */ struct timer_list timer; - /* used SBALs before tasklet schedule */ - int scan_threshold; }; /* @@ -295,6 +293,7 @@ struct qdio_irq { struct qdio_ssqd_desc ssqd_desc; void (*orig_handler) (struct ccw_device *, unsigned long, struct irb *); + unsigned int scan_threshold; /* used SBALs before tasklet schedule */ int perf_stat_enabled; struct qdr *qdr; |