diff options
Diffstat (limited to 'drivers/iommu/amd_iommu_init.c')
| -rw-r--r-- | drivers/iommu/amd_iommu_init.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index bb2cd29e1658..d8f7000a466a 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -797,7 +797,8 @@ static int iommu_init_ga_log(struct amd_iommu *iommu)  	entry = iommu_virt_to_phys(iommu->ga_log) | GA_LOG_SIZE_512;  	memcpy_toio(iommu->mmio_base + MMIO_GA_LOG_BASE_OFFSET,  		    &entry, sizeof(entry)); -	entry = (iommu_virt_to_phys(iommu->ga_log) & 0xFFFFFFFFFFFFFULL) & ~7ULL; +	entry = (iommu_virt_to_phys(iommu->ga_log_tail) & +		 (BIT_ULL(52)-1)) & ~7ULL;  	memcpy_toio(iommu->mmio_base + MMIO_GA_LOG_TAIL_OFFSET,  		    &entry, sizeof(entry));  	writel(0x00, iommu->mmio_base + MMIO_GA_HEAD_OFFSET);  |