|
@@ -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);
|