IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround
authorSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Thu, 24 Jan 2013 19:17:53 +0000 (13:17 -0600)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 6 Feb 2013 04:33:49 +0000 (04:33 +0000)
commit122927b09930c9272a20fb8cffc5ff7095fcbbb4
tree7557401fd7fdc1fbb5847e56b7ccd2b1fae6b6e6
parent24283593e3a8623e692ba2791a35180b1229a6c5
IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround

commit 318fe782539c4150d1b8e4e6c9dc3a896512cb8a upstream.

The IOMMU may stop processing page translations due to a perceived lack
of credits for writing upstream peripheral page service request (PPR)
or event logs. If the L2B miscellaneous clock gating feature is enabled
the IOMMU does not properly register credits after the log request has
completed, leading to a potential system hang.

BIOSes are supposed to disable L2B micellaneous clock gating by setting
L2_L2B_CK_GATE_CONTROL[CKGateL2BMiscDisable](D0F2xF4_x90[2]) = 1b. This
patch corrects that for those which do not enable this workaround.

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Acked-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/iommu/amd_iommu_init.c