lkml.org 
[lkml]   [2020]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH -next] irq-chip/gic-v3-its: Fixed an issue where the ITS executes the residual commands in the queue again when the ITS wakes up from sleep mode.
From
Date

在 2020/11/9 18:43, Marc Zyngier 写道:
> On 2020-11-09 03:05, xuqiang (M) wrote:
>> 在 2020/11/8 0:54, Marc Zyngier 写道:
>>> [dropping Jason, whose email address has been bouncing for weeks now]
>>>
>>> On 2020-11-07 10:42, Xu Qiang wrote:
>>>> On my platform, ITS_FLAGS_SAVE_SUSPEND_STATE is not set,thus do
>>>> nothing
>>>
>>> Which platform?
>> Hisi Ascend platform
>>>
>>>> in its suspend and resuse function.On the other hand,firmware stores
>>>> GITS_CTRL,GITS_CBASER,GITS_CWRITER and GITS_BASER<n> in the suspend,
>>>> and restores these registers in the resume. As a result, the ITS
>>>> executes
>>>> the residual commands in the queue.
>>>
>>> Which firmware are you using? I just had a look at the trusted
>>> firmware source
>>> code, and while it definitely does something that *looks* like what
>>> you are
>>> describing, it doesn't re-enable the ITS on resume.
>>>
>>> So what are you running?
>>
>> I am using ATF. Since ITS_FLAGS_SAVE_SUSPEND_STATE is not set,ITS
>> driver of OS will
>>
>> not re-enable ITS in th resume. To make ITS work properly, we changed
>> the ATF code
>>
>> to re-enable ITS on resume.
>
> I don't think the words "work properly" apply here.
>
> The kernel didn't do what you wanted, so instead of fixing the kernel,
> you
> introduced a bug that results in memory corruption from the firmware.
>
> What are you plans to fix your firmware? Because from an upstream ATF
> compatibility PoV, all there is to do is to fixup the command queue and
> enable the ITS.
>
>         M.


I'm sorry I didn't make it clear how to do this. I'm going to reset commit

which re-enable ITS  on the ATF, and drop the checks for
ITS_FLAGS_SAVE_SUSPEND_STATE

in the OS.

In other words, the ATF does not re-enable ITS, and OS itself re-enables
ITS when it resumes.

To do this, I have to remove the check of ITS_FLAGS_SAVE_SUSPEND_STATE
because it is not set.


Thanks

        Xu.

\
 
 \ /
  Last update: 2020-11-10 10:09    [W:0.047 / U:0.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site