[PATCH v2] ppc/iommu: use find_first_bit to look up entries in the iommu table

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Jan 29 11:35:56 EST 2013


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.

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