[PATCH 2/2] mailbox: Don't unnecessarily re-arm the polling timer
From: Jassi Brar <hidden>
Date: 2014-11-08 18:21:39
Also in:
lkml
On 31 October 2014 17:11, Thierry Reding [off-list ref] wrote:
On Thu, Oct 30, 2014 at 01:01:07PM -0700, Andrew Bresticker wrote:quoted
poll_txdone() will unconditionally re-arm the polling timer if there was an active request, even if the active request completed and no other requests were submitted. This is fixed by: - only re-arming the timer if the controller reported that the current transmission has not completed, and, - moving the call to poll_txdone() into msg_submit() so that the controller gets polled (and the timer re-armed, if necessary) whenever a new message is submitted. Signed-off-by: Andrew Bresticker <redacted> --- drivers/mailbox/mailbox.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c index 5008028..26f74ad 100644 --- a/drivers/mailbox/mailbox.c +++ b/drivers/mailbox/mailbox.c@@ -28,6 +28,8 @@ static LIST_HEAD(mbox_cons); static DEFINE_MUTEX(con_mutex); +static void poll_txdone(unsigned long data);I think I'd rather move poll_txdone() here to avoid the forward declaration, but either way: Reviewed-by: Thierry Reding <redacted>
Does the 'extra' timer fire cause some issue? I believe it shouldn't. Anyways, I have applied the patch. Thanks Jassi