diff options
author | Varun Sethi <Varun.Sethi@freescale.com> | 2014-12-08 06:04:45 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:41:57 (GMT) |
commit | b06d08746d5d1139cf1d9f6e7454e7b51df75ad0 (patch) | |
tree | d62441e25dab4370ad987c418cb4a5cd6fce63b0 | |
parent | 658f7c8ff16715c256628162d30b0a9ef347e9c8 (diff) | |
download | linux-fsl-qoriq-b06d08746d5d1139cf1d9f6e7454e7b51df75ad0.tar.xz |
Modify handling of errata A-007907
Errata A-007907 corresponds to the e6500 core i.e. all e6500 based
SOCs have this errata. Rather than enabling the errata workaround
based on the SOC version, it can be enabled based on the e6500 core
version.
Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com>
Change-Id: I13bc541dc0da75a791bba933bbdc47456ef808f8
Reviewed-on: http://git.am.freescale.net:8181/25446
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Vakul Garg <vakul@freescale.com>
Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com>
-rw-r--r-- | drivers/iommu/fsl_pamu.c | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c index 60c4598..18cdf0d 100644 --- a/drivers/iommu/fsl_pamu.c +++ b/drivers/iommu/fsl_pamu.c @@ -34,6 +34,7 @@ #include <asm/fsl_guts.h> #include <asm/fsl_kibo.h> #include <asm/mpc85xx.h> +#include <asm/reg.h> #include <linux/syscore_ops.h> #include "fsl_pamu.h" @@ -678,23 +679,12 @@ static u32 get_dsp_l2_stash_id(u32 vcpu) static bool has_erratum_a007907(void) { - u32 svr = mfspr(SPRN_SVR); + u32 pvr = mfspr(SPRN_PVR); - switch (SVR_SOC_VER(svr)) { - case SVR_B4860: - case SVR_B4420: - case SVR_T4240: - case SVR_T4160: - case SVR_T4080: - return SVR_REV(svr) <= 0x20; + if (PVR_VER(pvr) == PVR_VER_E6500 && PVR_REV(pvr) <= 0x20) + return true; - case SVR_T2080: - case SVR_T2081: - return SVR_REV(svr) == 0x10; - - default: - return false; - }; + return false; } /** |