[PATCH v2] ppc/iommu: use find_first_bit to look up entries in the iommu table
Thadeu Lima de Souza Cascardo
cascardo at linux.vnet.ibm.com
Wed Jan 30 23:55:18 EST 2013
On Tue, Jan 29, 2013 at 11:35:56AM +1100, Benjamin Herrenschmidt wrote:
> On Thu, 2013-01-10 at 17:33 -0200, Thadeu Lima de Souza Cascardo wrote:
> > Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at linux.vnet.ibm.com>
> > ---
> > v2:
> > Remove the unneeded extra variable i, which caused build failure.
>
> I believe something equivalent is already in -next, can you dbl check ?
>
> Cheers,
> Ben.
>
There is, and it's using bitmap_empty, which is even more clear.
Thanks.
Cascardo.
> > ---
> > arch/powerpc/kernel/iommu.c | 9 ++-------
> > 1 files changed, 2 insertions(+), 7 deletions(-)
> >
> > diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
> > index 6d48ff8..0fc44d2 100644
> > --- a/arch/powerpc/kernel/iommu.c
> > +++ b/arch/powerpc/kernel/iommu.c
> > @@ -708,7 +708,7 @@ struct iommu_table *iommu_init_table(struct iommu_table *tbl, int nid)
> >
> > void iommu_free_table(struct iommu_table *tbl, const char *node_name)
> > {
> > - unsigned long bitmap_sz, i;
> > + unsigned long bitmap_sz;
> > unsigned int order;
> >
> > if (!tbl || !tbl->it_map) {
> > @@ -725,14 +725,9 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name)
> > clear_bit(0, tbl->it_map);
> >
> > /* verify that table contains no entries */
> > - /* it_size is in entries, and we're examining 64 at a time */
> > - for (i = 0; i < (tbl->it_size/64); i++) {
> > - if (tbl->it_map[i] != 0) {
> > + if (find_first_bit(tbl->it_map, tbl->it_size) < tbl->it_size)
> > printk(KERN_WARNING "%s: Unexpected TCEs for %s\n",
> > __func__, node_name);
> > - break;
> > - }
> > - }
> >
> > /* calculate bitmap size in bytes */
> > bitmap_sz = (tbl->it_size + 7) / 8;
>
>
More information about the Linuxppc-dev
mailing list