All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] unify DMA_..BIT_MASK definitions: v1
@ 2007-09-18  4:29 Borislav Petkov
  2007-09-18  5:58 ` Muli Ben-Yehuda
  0 siblings, 1 reply; 6+ messages in thread
From: Borislav Petkov @ 2007-09-18  4:29 UTC (permalink / raw)
  To: linux-kernel; +Cc: Jeremy Fitzhardinge

These patches remove redundant DMA_..BIT_MASK definitions across two drivers.
In this version of the patches, the computation of the bitmasks is done by
the compiler.

Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>

--
Index: 23-rc6/include/linux/dma-mapping.h
===================================================================
--- 23-rc6/include/linux/dma-mapping.h.orig	2007-09-17 17:48:20.000000000 +0200
+++ 23-rc6/include/linux/dma-mapping.h	2007-09-18 06:12:33.000000000 +0200
@@ -13,16 +13,19 @@
 	DMA_NONE = 3,
 };
 
-#define DMA_64BIT_MASK	0xffffffffffffffffULL
-#define DMA_48BIT_MASK	0x0000ffffffffffffULL
-#define DMA_40BIT_MASK	0x000000ffffffffffULL
-#define DMA_39BIT_MASK	0x0000007fffffffffULL
-#define DMA_32BIT_MASK	0x00000000ffffffffULL
-#define DMA_31BIT_MASK	0x000000007fffffffULL
-#define DMA_30BIT_MASK	0x000000003fffffffULL
-#define DMA_29BIT_MASK	0x000000001fffffffULL
-#define DMA_28BIT_MASK	0x000000000fffffffULL
-#define DMA_24BIT_MASK	0x0000000000ffffffULL
+#define DMA_BIT_MASK(n)	((1ULL<<(n))-1)
+
+#define DMA_64BIT_MASK	DMA_BIT_MASK(64)
+#define DMA_48BIT_MASK	DMA_BIT_MASK(48)
+#define DMA_40BIT_MASK	DMA_BIT_MASK(40)
+#define DMA_39BIT_MASK	DMA_BIT_MASK(39)
+#define DMA_35BIT_MASK	DMA_BIT_MASK(35)
+#define DMA_32BIT_MASK	DMA_BIT_MASK(32)
+#define DMA_31BIT_MASK	DMA_BIT_MASK(31)
+#define DMA_30BIT_MASK	DMA_BIT_MASK(30)
+#define DMA_29BIT_MASK	DMA_BIT_MASK(29)
+#define DMA_28BIT_MASK	DMA_BIT_MASK(28)
+#define DMA_24BIT_MASK	DMA_BIT_MASK(24)
 
 static inline int valid_dma_direction(int dma_direction)
 {

-- 
Regards/Gruß,
    Boris.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] unify DMA_..BIT_MASK definitions: v1
  2007-09-18  4:29 [PATCH 0/2] unify DMA_..BIT_MASK definitions: v1 Borislav Petkov
@ 2007-09-18  5:58 ` Muli Ben-Yehuda
  2007-09-18  6:01   ` Jeremy Fitzhardinge
  0 siblings, 1 reply; 6+ messages in thread
From: Muli Ben-Yehuda @ 2007-09-18  5:58 UTC (permalink / raw)
  To: Borislav Petkov; +Cc: linux-kernel, Jeremy Fitzhardinge

On Tue, Sep 18, 2007 at 06:29:19AM +0200, Borislav Petkov wrote:
> These patches remove redundant DMA_..BIT_MASK definitions across two drivers.
> In this version of the patches, the computation of the bitmasks is done by
> the compiler.
> 
> Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
> Cc: Jeremy Fitzhardinge <jeremy@goop.org>
> 
> --
> Index: 23-rc6/include/linux/dma-mapping.h
> ===================================================================
> --- 23-rc6/include/linux/dma-mapping.h.orig	2007-09-17 17:48:20.000000000 +0200
> +++ 23-rc6/include/linux/dma-mapping.h	2007-09-18 06:12:33.000000000 +0200
> @@ -13,16 +13,19 @@
>  	DMA_NONE = 3,
>  };
>  
> -#define DMA_64BIT_MASK	0xffffffffffffffffULL
> -#define DMA_48BIT_MASK	0x0000ffffffffffffULL
> -#define DMA_40BIT_MASK	0x000000ffffffffffULL
> -#define DMA_39BIT_MASK	0x0000007fffffffffULL
> -#define DMA_32BIT_MASK	0x00000000ffffffffULL
> -#define DMA_31BIT_MASK	0x000000007fffffffULL
> -#define DMA_30BIT_MASK	0x000000003fffffffULL
> -#define DMA_29BIT_MASK	0x000000001fffffffULL
> -#define DMA_28BIT_MASK	0x000000000fffffffULL
> -#define DMA_24BIT_MASK	0x0000000000ffffffULL
> +#define DMA_BIT_MASK(n)	((1ULL<<(n))-1)
> +
> +#define DMA_64BIT_MASK	DMA_BIT_MASK(64)

This one does not do what you mean. You need an explicit mask or a
~0ULL here.

Cheers,
Muli

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] unify DMA_..BIT_MASK definitions: v1
  2007-09-18  5:58 ` Muli Ben-Yehuda
@ 2007-09-18  6:01   ` Jeremy Fitzhardinge
  2007-09-18  6:08     ` Borislav Petkov
  0 siblings, 1 reply; 6+ messages in thread
From: Jeremy Fitzhardinge @ 2007-09-18  6:01 UTC (permalink / raw)
  To: Muli Ben-Yehuda; +Cc: Borislav Petkov, linux-kernel

Muli Ben-Yehuda wrote:
>> +#define DMA_64BIT_MASK	DMA_BIT_MASK(64)
>>     
>
> This one does not do what you mean. You need an explicit mask or a
> ~0ULL here.

Yeah, I was just about to comment on it.  Its possible the compiler
might decide to shift by x%64 = 0.

    J


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] unify DMA_..BIT_MASK definitions: v1
  2007-09-18  6:01   ` Jeremy Fitzhardinge
@ 2007-09-18  6:08     ` Borislav Petkov
  2007-09-18  6:16       ` Satyam Sharma
  0 siblings, 1 reply; 6+ messages in thread
From: Borislav Petkov @ 2007-09-18  6:08 UTC (permalink / raw)
  To: Jeremy Fitzhardinge; +Cc: Muli Ben-Yehuda, linux-kernel

On Mon, Sep 17, 2007 at 11:01:21PM -0700, Jeremy Fitzhardinge wrote:
> Muli Ben-Yehuda wrote:
> >> +#define DMA_64BIT_MASK	DMA_BIT_MASK(64)
> >>     
> >
> > This one does not do what you mean. You need an explicit mask or a
> > ~0ULL here.
> 
> Yeah, I was just about to comment on it.  Its possible the compiler
> might decide to shift by x%64 = 0.
> 
>     J
ups, i knew that this might be a corner/boundary case. Thanks, updated patches
follow...
-- 
Regards/Gruß,
    Boris.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] unify DMA_..BIT_MASK definitions: v1
  2007-09-18  6:08     ` Borislav Petkov
@ 2007-09-18  6:16       ` Satyam Sharma
  2007-09-18  6:34         ` Borislav Petkov
  0 siblings, 1 reply; 6+ messages in thread
From: Satyam Sharma @ 2007-09-18  6:16 UTC (permalink / raw)
  To: Borislav Petkov; +Cc: Jeremy Fitzhardinge, Muli Ben-Yehuda, linux-kernel

Hi Borislav,


On Tue, 18 Sep 2007, Borislav Petkov wrote:

> On Mon, Sep 17, 2007 at 11:01:21PM -0700, Jeremy Fitzhardinge wrote:
> > Muli Ben-Yehuda wrote:
> > >> +#define DMA_64BIT_MASK	DMA_BIT_MASK(64)
> > >>     
> > >
> > > This one does not do what you mean. You need an explicit mask or a
> > > ~0ULL here.
> > 
> > Yeah, I was just about to comment on it.  Its possible the compiler
> > might decide to shift by x%64 = 0.
> > 
> >     J
> ups, i knew that this might be a corner/boundary case. Thanks, updated patches
> follow...

Please fold all three patches into a single patch in the updated series,
otherwise git bisecters falling in between these patches will see the
"redefinition ... previous definition was here" warnings of gcc ...


Satyam

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] unify DMA_..BIT_MASK definitions: v1
  2007-09-18  6:16       ` Satyam Sharma
@ 2007-09-18  6:34         ` Borislav Petkov
  0 siblings, 0 replies; 6+ messages in thread
From: Borislav Petkov @ 2007-09-18  6:34 UTC (permalink / raw)
  To: Satyam Sharma; +Cc: Jeremy Fitzhardinge, Muli Ben-Yehuda, linux-kernel

On Tue, Sep 18, 2007 at 11:46:40AM +0530, Satyam Sharma wrote:
> Hi Borislav,
> 
> 
> On Tue, 18 Sep 2007, Borislav Petkov wrote:
> 
> > On Mon, Sep 17, 2007 at 11:01:21PM -0700, Jeremy Fitzhardinge wrote:
> > > Muli Ben-Yehuda wrote:
> > > >> +#define DMA_64BIT_MASK	DMA_BIT_MASK(64)
> > > >>     
> > > >
> > > > This one does not do what you mean. You need an explicit mask or a
> > > > ~0ULL here.
> > > 
> > > Yeah, I was just about to comment on it.  Its possible the compiler
> > > might decide to shift by x%64 = 0.
> > > 
> > >     J
> > ups, i knew that this might be a corner/boundary case. Thanks, updated patches
> > follow...
> 
> Please fold all three patches into a single patch in the updated series,
> otherwise git bisecters falling in between these patches will see the
> "redefinition ... previous definition was here" warnings of gcc ...

Will do later today, thanks.
-- 
Regards/Gruß,
    Boris.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-09-18  6:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-18  4:29 [PATCH 0/2] unify DMA_..BIT_MASK definitions: v1 Borislav Petkov
2007-09-18  5:58 ` Muli Ben-Yehuda
2007-09-18  6:01   ` Jeremy Fitzhardinge
2007-09-18  6:08     ` Borislav Petkov
2007-09-18  6:16       ` Satyam Sharma
2007-09-18  6:34         ` Borislav Petkov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.