Skip to content

Commit

Permalink
zabbly: Revert 4b19a45
Browse files Browse the repository at this point in the history
This change has caused some pretty severe PCI regression on Qualcom
servers, a revert gets PCIe working again.

Signed-off-by: Stéphane Graber <[email protected]>
  • Loading branch information
stgraber committed Apr 5, 2024
1 parent 8701a8e commit 96ec61d
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
Original file line number Diff line number Diff line change
Expand Up @@ -3287,9 +3287,13 @@ static int arm_smmu_device_reset(struct arm_smmu_device *smmu, bool bypass)
/* Clear CR0 and sync (disables SMMU and queue processing) */
reg = readl_relaxed(smmu->base + ARM_SMMU_CR0);
if (reg & CR0_SMMUEN) {
if (is_kdump_kernel()) {
arm_smmu_update_gbpa(smmu, GBPA_ABORT, 0);
arm_smmu_device_disable(smmu);
return -EBUSY;
}

dev_warn(smmu->dev, "SMMU currently enabled! Resetting...\n");
WARN_ON(is_kdump_kernel() && !disable_bypass);
arm_smmu_update_gbpa(smmu, GBPA_ABORT, 0);
}

ret = arm_smmu_device_disable(smmu);
Expand Down Expand Up @@ -3392,9 +3396,6 @@ static int arm_smmu_device_reset(struct arm_smmu_device *smmu, bool bypass)
return ret;
}

if (is_kdump_kernel())
enables &= ~(CR0_EVTQEN | CR0_PRIQEN);

/* Enable the SMMU interface, or ensure bypass */
if (!bypass || disable_bypass) {
enables |= CR0_SMMUEN;
Expand Down

0 comments on commit 96ec61d

Please sign in to comment.