From: Marek Majtyka <marekx.majt...@intel.com> Fixed backward compatibility issue between linux axxia BSP 1.59 with older uboot releases.
Signed-off-by: Marek Majtyka <marekx.majt...@intel.com> --- drivers/edac/axxia_edac-l3_56xx.c | 24 ++++++++---------------- include/linux/arm-smccc.h | 2 ++ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/drivers/edac/axxia_edac-l3_56xx.c b/drivers/edac/axxia_edac-l3_56xx.c index aa574af..d2d9e5a 100644 --- a/drivers/edac/axxia_edac-l3_56xx.c +++ b/drivers/edac/axxia_edac-l3_56xx.c @@ -424,24 +424,16 @@ static int intel_edac_l3_probe(struct platform_device *pdev) if (!r) return -EINVAL; - /* Check if we can use the interrupt */ - __arm_smccc_smc(0xc4000027, + /* + * Check if we can use the interrupt here. + * We are not interested in PMU events, so let's try to disable it. + * Once -1 return, it means old uboot without ccn service. + * Then only polling mechanism is allowed, as it was before. + */ + if (ARM_SMCCC_UNKNOWN != __arm_smccc_smc(0xc4000027, CCN_MN_ERRINT_STATUS__PMU_EVENTS__DISABLE, - 0, 0, &ret); - if (__arm_smccc_smc(0xc4000026, 0, 0, 0, &ret) & - CCN_MN_ERRINT_STATUS__PMU_EVENTS__DISABLED) { - /* Can set 'disable' bits, so can acknowledge interrupts */ - - /* - * TODO - * perf for now switched off. - * __arm_smccc_smc(0xc4000027, - * CCN_MN_ERRINT_STATUS__PMU_EVENTS__ENABLE, - * 0, 0, &ret); - */ - + 0, 0, &ret)) dev_info->irq_used = 1; - } dev_info->edac_dev->pvt_info = dev_info; dev_info->edac_dev->dev = &dev_info->pdev->dev; diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h index d45283a..7c7f7cb 100644 --- a/include/linux/arm-smccc.h +++ b/include/linux/arm-smccc.h @@ -47,6 +47,8 @@ #define ARM_SMCCC_OWNER_TRUSTED_OS 50 #define ARM_SMCCC_OWNER_TRUSTED_OS_END 63 +#define ARM_SMCCC_UNKNOWN 0xffffffff + struct arm_smccc_res { u64 a0; u64 a1; -- 2.7.4 -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto