[PATCH] drivers/perf: Fix ali_drw_pmu driver interrupt status clearing
Jing Zhang
renyu.zj at linux.alibaba.com
Tue Aug 20 19:20:55 PDT 2024
在 2024/8/20 下午5:18, Mark Rutland 写道:
> On Mon, Aug 19, 2024 at 07:48:30PM +0800, Jing Zhang wrote:
>> The alibaba_uncore_pmu driver forgot to clear all interrupt status
>> in the interrupt processing function. After the PMU counter overflow
>> interrupt occurred, an interrupt storm occurred, causing the system
>> to hang.
>>
>> Therefore, clear the correct interrupt status in the interrupt handling
>> function to fix it.
>>
>> Signed-off-by: Jing Zhang <renyu.zj at linux.alibaba.com>
>
> Presumably this should have
>
> Fixes: cf7b61073e4526ca ("drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC")
>
> ... right?
You are right, I forgot it.
>
> With that:
>
> Acked-by: Mark Rutland <mark.rutland at arm.com>
>
> Mark.
>
>> ---
>> drivers/perf/alibaba_uncore_drw_pmu.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/perf/alibaba_uncore_drw_pmu.c b/drivers/perf/alibaba_uncore_drw_pmu.c
>> index 38a2947..c6ff1bc 100644
>> --- a/drivers/perf/alibaba_uncore_drw_pmu.c
>> +++ b/drivers/perf/alibaba_uncore_drw_pmu.c
>> @@ -400,7 +400,7 @@ static irqreturn_t ali_drw_pmu_isr(int irq_num, void *data)
>> }
>>
>> /* clear common counter intr status */
>> - clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, 1);
>> + clr_status = FIELD_PREP(ALI_DRW_PMCOM_CNT_OV_INTR_MASK, status);
>> writel(clr_status,
>> drw_pmu->cfg_base + ALI_DRW_PMU_OV_INTR_CLR);
>> }
>> --
>> 1.8.3.1
>>
More information about the linux-arm-kernel
mailing list