|
[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 |