Skip to content

Commit

Permalink
xen-swiotlb: remove xen_set_nslabs
Browse files Browse the repository at this point in the history
The xen_set_nslabs function is a little weird, as it has just one
caller, that caller passes a global variable as the argument,
which is then overriden in the function and a derivative of it
returned.  Just add a cpp symbol for the default size using a readable
constant and open code the remaining three lines in the caller.

Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
  • Loading branch information
Christoph Hellwig authored and konradwilk committed Mar 17, 2021
1 parent 6223d1c commit 4035b43
Showing 1 changed file with 7 additions and 12 deletions.
19 changes: 7 additions & 12 deletions drivers/xen/swiotlb-xen.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,16 +138,6 @@ xen_swiotlb_fixup(void *buf, size_t size, unsigned long nslabs)
} while (i < nslabs);
return 0;
}
static unsigned long xen_set_nslabs(unsigned long nr_tbl)
{
if (!nr_tbl) {
xen_io_tlb_nslabs = (64 * 1024 * 1024 >> IO_TLB_SHIFT);
xen_io_tlb_nslabs = ALIGN(xen_io_tlb_nslabs, IO_TLB_SEGSIZE);
} else
xen_io_tlb_nslabs = nr_tbl;

return xen_io_tlb_nslabs << IO_TLB_SHIFT;
}

enum xen_swiotlb_err {
XEN_SWIOTLB_UNKNOWN = 0,
Expand All @@ -170,6 +160,9 @@ static const char *xen_swiotlb_error(enum xen_swiotlb_err err)
}
return "";
}

#define DEFAULT_NSLABS ALIGN(SZ_64M >> IO_TLB_SHIFT, IO_TLB_SEGSIZE)

int __ref xen_swiotlb_init(int verbose, bool early)
{
unsigned long bytes, order;
Expand All @@ -179,8 +172,10 @@ int __ref xen_swiotlb_init(int verbose, bool early)

xen_io_tlb_nslabs = swiotlb_nr_tbl();
retry:
bytes = xen_set_nslabs(xen_io_tlb_nslabs);
order = get_order(xen_io_tlb_nslabs << IO_TLB_SHIFT);
if (!xen_io_tlb_nslabs)
xen_io_tlb_nslabs = DEFAULT_NSLABS;
bytes = xen_io_tlb_nslabs << IO_TLB_SHIFT;
order = get_order(bytes);

/*
* IO TLB memory already allocated. Just use it.
Expand Down

0 comments on commit 4035b43

Please sign in to comment.