Re: [PATCH 1/2] IOMMU/AMD: Adding IOMMU PC resource management

From: Peter Zijlstra
Date: Tue May 14 2013 - 03:11:22 EST


On Mon, May 13, 2013 at 04:43:44PM -0500, steven.kinney@xxxxxxx wrote:
> +static void init_iommu_perf_ctr(struct amd_iommu *iommu)
> +{
> + u32 val = 0xabcd, val2 = 0;
> +
> + if (!iommu_feature(iommu, FEATURE_PC))
> + return;
> +
> + amd_iommu_pc_present = true;
> +
> + /* Check if the performance counters can be written to */
> + if ((0 != amd_iommu_pc_get_set_reg_val(0, 0, 0, 0, &val, true)) ||
> + (0 != amd_iommu_pc_get_set_reg_val(0, 0, 0, 0, &val2, false)) ||
> + (val != val2)) {
> + pr_err("AMD-Vi: Unable to write to IOMMU perf counter.\n");

Would it make sense to clear amd_iommu_pc_present here?

> + return;
> + }
> +
> + pr_info("AMD-Vi: IOMMU performance counters " "supported\n");
> +
> + val = readl(iommu->mmio_base + MMIO_CNTR_CONF_OFFSET);
> + iommu->max_banks = (u8) ((val >> 12) & 0x3f);
> + iommu->max_counters = (u8) ((val >> 7) & 0xf);
> +}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/