BugLink: https://bugs.launchpad.net/bugs/1719031
The stop engine errata fix currently checks only for the CN99XX Ax MIDR, so
the changes are applied even to external SATA controllers connected to the
CN99XX board.
Fix the errata check to include PCI ID so that the fix is applied only
to th onboard SATA.
[ dannf: *** There is no need to carry this forward beyond artful *** ]
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
#ifdef CONFIG_ARM64
/* Rev Ax of Cavium CN99XX needs a hack for port stop */
#ifdef CONFIG_ARM64
/* Rev Ax of Cavium CN99XX needs a hack for port stop */
- if (MIDR_IS_CPU_MODEL_RANGE(read_cpuid_id(),
+ if (dev_is_pci(ap->host->dev) &&
+ to_pci_dev(ap->host->dev)->vendor == 0x14e4 &&
+ to_pci_dev(ap->host->dev)->device == 0x9027 &&
+ MIDR_IS_CPU_MODEL_RANGE(read_cpuid_id(),
MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN),
MIDR_CPU_VAR_REV(0, 0),
MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) {
MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN),
MIDR_CPU_VAR_REV(0, 0),
MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) {