diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-12-17 15:06:01 +0100 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2008-12-17 15:06:01 +0100 |
commit | cf558d25e5c9f70fa0279c9b7b8b4aed7cae9bd4 (patch) | |
tree | 2542605dbecb68368600dbb02cfa617a508202b5 | |
parent | 83fd5cc6481c6b7fa8b45f8a7e0aa7120213430b (diff) | |
download | linux-cf558d25e5c9f70fa0279c9b7b8b4aed7cae9bd4.tar.gz linux-cf558d25e5c9f70fa0279c9b7b8b4aed7cae9bd4.tar.bz2 linux-cf558d25e5c9f70fa0279c9b7b8b4aed7cae9bd4.zip |
AMD IOMMU: set cmd buffer pointers to zero manually
Impact: set cmd buffer head and tail pointers to zero in case nobody else did
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
-rw-r--r-- | arch/x86/kernel/amd_iommu_init.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index c90a15eba5c5..c6cc22815d35 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c @@ -427,6 +427,10 @@ static u8 * __init alloc_command_buffer(struct amd_iommu *iommu) memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET, &entry, sizeof(entry)); + /* set head and tail to zero manually */ + writel(0x00, iommu->mmio_base + MMIO_CMD_HEAD_OFFSET); + writel(0x00, iommu->mmio_base + MMIO_CMD_TAIL_OFFSET); + iommu_feature_enable(iommu, CONTROL_CMDBUF_EN); return cmd_buf; |