* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox