lkml.org 
[lkml]   [2017]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] mailbox: txdone_method shouldn't always be reset
From
Date


On 17/11/17 07:04, Bjorn Andersson wrote:
> On Thu 16 Nov 22:47 PST 2017, Jassi Brar wrote:
>> On 16 Nov 2017 23:12, "Bjorn Andersson" <bjorn.andersson@linaro.org> wrote:
>> On Thu 16 Nov 09:06 PST 2017, Jassi Brar wrote:
>>> diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c
>>> index 674b35f..95e480e 100644
>>> --- a/drivers/mailbox/mailbox.c
>>> +++ b/drivers/mailbox/mailbox.c
>>> @@ -124,7 +124,8 @@ static enum hrtimer_restart txdone_hrtimer(struct
>>> hrtimer *hrtimer)
>>> for (i = 0; i < mbox->num_chans; i++) {
>>> struct mbox_chan *chan = &mbox->chans[i];
>>>
>>> - if (chan->active_req && chan->cl) {
>>> + if (chan->active_req && chan->cl &&
>>> + chan->txdone_method == TXDONE_BY_POLL) {
>>
>> The hrtimer code will crash before reaching this point if the channel
>> wasn't TXDONE_BY_POLL when it was created, so this part is not needed.
>>
>>
>> We have one timer for all channels of a controller. While this channel may
>> be run by ACK, some other might need to be POLLed. And we want to avoid
>> polling this channel.
>>
>
> Oh, you're right.
>
> But the fact that the timer function will poll channels that are
> "upgraded" to ACK is a separate issue.
>

Ah right, I recall now that's the reason Alexey had patch introducing
timer per channel.

--
Regards,
Sudeep

\
 
 \ /
  Last update: 2017-11-17 17:19    [W:0.086 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site