Re: [PATCH v2] ppc/iommu: use find_first_bit to look up entries in the iommu table
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 > > --- > > 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; > > ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH v2] ppc/iommu: use find_first_bit to look up entries in the iommu table
On Thu, 2013-01-10 at 17:33 -0200, Thadeu Lima de Souza Cascardo wrote: > Signed-off-by: Thadeu Lima de Souza Cascardo > --- > 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. > --- > 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; ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH v2] ppc/iommu: use find_first_bit to look up entries in the iommu table
Signed-off-by: Thadeu Lima de Souza Cascardo --- v2: Remove the unneeded extra variable i, which caused build failure. --- 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; -- 1.7.1 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev