summaryrefslogtreecommitdiff
path: root/drivers/iommu
diff options
context:
space:
mode:
authorVarun Sethi <Varun.Sethi@freescale.com>2014-12-08 06:04:45 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:41:57 (GMT)
commitb06d08746d5d1139cf1d9f6e7454e7b51df75ad0 (patch)
treed62441e25dab4370ad987c418cb4a5cd6fce63b0 /drivers/iommu
parent658f7c8ff16715c256628162d30b0a9ef347e9c8 (diff)
downloadlinux-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>
Diffstat (limited to 'drivers/iommu')
-rw-r--r--drivers/iommu/fsl_pamu.c20
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;
}
/**