[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 11/15] [swiotlb] Replace late_alloc with iommu_sw->priv usage.
We utilize the private placeholder to figure out whether we are initialized late or early. Obviously the ->priv can be expanded to point to a structure for more internal data but for right now this all we need. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> --- lib/swiotlb.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/swiotlb.c b/lib/swiotlb.c index 075b56c..20df588 100644 --- a/lib/swiotlb.c +++ b/lib/swiotlb.c @@ -103,8 +103,6 @@ static DEFINE_SPINLOCK(io_tlb_lock); struct swiotlb_engine *iommu_sw; EXPORT_SYMBOL(iommu_sw); -static int late_alloc; - static int __init setup_io_tlb_npages(char *str) { @@ -239,6 +237,8 @@ swiotlb_init_with_default_size(size_t default_size, int verbose) panic("Cannot allocate SWIOTLB overflow buffer!\n"); if (verbose) swiotlb_print_info(); + + iommu_sw->priv = NULL; } static int swiotlb_release(struct swiotlb_engine *iotlb) @@ -356,7 +356,10 @@ swiotlb_late_init_with_default_size(size_t default_size) swiotlb_print_info(); - late_alloc = 1; + /* We utilize the private field to figure out whether we + * were allocated late or early. + */ + iommu_sw->priv = (void *)1; return 0; @@ -382,7 +385,7 @@ void __init swiotlb_free(void) if (!iommu_sw) return; - if (late_alloc) { + if (iommu_sw->priv) { free_pages((unsigned long)iommu_sw->overflow_buffer, get_order(iommu_sw->overflow)); free_pages((unsigned long)iommu_sw->orig_addr, -- 1.6.2.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |