diff options
author | Neil Horman <nhorman@redhat.com> | 2015-07-31 18:56:32 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-08-03 17:45:02 -0700 |
commit | fdc792cd1b5c86cb34770707aa1b04edce5288cf (patch) | |
tree | 4a47e45329aa668ed914812fbfa7a15b9f20d011 /drivers/staging/unisys/include/visorbus.h | |
parent | fd93b8059294146a1c3dc9cf6b5616c22b7b47f7 (diff) | |
download | op-kernel-dev-fdc792cd1b5c86cb34770707aa1b04edce5288cf.zip op-kernel-dev-fdc792cd1b5c86cb34770707aa1b04edce5288cf.tar.gz |
staging: unisys: visorchannel: Add peek function
According to unisys, the s_par hypervisor has a bug in which it never
triggers an interrupt. That makes the visornic effectively a 2ms poll
loop. In order to just have the rx thread shceduling a napi poll every
2ms, lets instead give it the chance to check the response queue for
data before we schedule. This helper provides that functionality
Signed-off-by: Neil Horman <nhorman@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/unisys/include/visorbus.h')
-rw-r--r-- | drivers/staging/unisys/include/visorbus.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/unisys/include/visorbus.h b/drivers/staging/unisys/include/visorbus.h index a0144c6..9235536 100644 --- a/drivers/staging/unisys/include/visorbus.h +++ b/drivers/staging/unisys/include/visorbus.h @@ -201,6 +201,8 @@ bool visorchannel_signalremove(struct visorchannel *channel, u32 queue, void *msg); bool visorchannel_signalinsert(struct visorchannel *channel, u32 queue, void *msg); +bool visorchannel_signalempty(struct visorchannel *channel, u32 queue); + int visorchannel_signalqueue_slots_avail(struct visorchannel *channel, u32 queue); int visorchannel_signalqueue_max_slots(struct visorchannel *channel, u32 queue); |