All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 7/9] DM9000:Add a byte swap macro for dm9000 io operation.
@ 2011-08-23  5:47 Jason Jin
  2011-08-23 13:44 ` Mike Frysinger
  0 siblings, 1 reply; 4+ messages in thread
From: Jason Jin @ 2011-08-23  5:47 UTC (permalink / raw)
  To: u-boot

commit a45dde2293c816138e53c26eca6fd0322583f9a6 changed the dm9000
direct register access to standard IO. This should work
on the ColdFire platform as there are corresponding macros for
the LE devices. But the hardware settings on some ColdFire boards had
swapped the byte order which make the original macros such as out_le16
cannot work. To avoid changing the common io access code on ColdFire
platform, the DM9000_BYTE_SWAPPED define was added to make the dm9000 use
__raw* IO access on some ColdFire boards.

Signed-off-by: Jason Jin <Jason.jin@freescale.com>
---
Changes for V2: Remove the 'volatile' in the macro.

Changes for V3: Seperate the dm9000 code support and the platform
code to two patches so that it can be accepted by different custodian.

Resend: Add Ben Warren

 drivers/net/dm9000x.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
index b5c5573..05cd8eb 100644
--- a/drivers/net/dm9000x.c
+++ b/drivers/net/dm9000x.c
@@ -116,13 +116,21 @@ static u8 DM9000_ior(int);
 static void DM9000_iow(int reg, u8 value);
 
 /* DM9000 network board routine ---------------------------- */
-
+#ifndef DM9000_BYTE_SWAPPED
 #define DM9000_outb(d,r) writeb(d, (volatile u8 *)(r))
 #define DM9000_outw(d,r) writew(d, (volatile u16 *)(r))
 #define DM9000_outl(d,r) writel(d, (volatile u32 *)(r))
 #define DM9000_inb(r) readb((volatile u8 *)(r))
 #define DM9000_inw(r) readw((volatile u16 *)(r))
 #define DM9000_inl(r) readl((volatile u32 *)(r))
+#else
+#define DM9000_outb(d, r) __raw_writeb(d, r)
+#define DM9000_outw(d, r) __raw_writew(d, r)
+#define DM9000_outl(d, r) __raw_writel(d, r)
+#define DM9000_inb(r) __raw_readb(r)
+#define DM9000_inw(r) __raw_readw(r)
+#define DM9000_inl(r) __raw_readl(r)
+#endif
 
 #ifdef CONFIG_DM9000_DEBUG
 static void
-- 
1.6.4

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

* [U-Boot] [PATCH 7/9] DM9000:Add a byte swap macro for dm9000 io operation.
  2011-08-23  5:47 [U-Boot] [PATCH 7/9] DM9000:Add a byte swap macro for dm9000 io operation Jason Jin
@ 2011-08-23 13:44 ` Mike Frysinger
  2011-08-24  7:58   ` Jin Zhengxiong-R64188
  0 siblings, 1 reply; 4+ messages in thread
From: Mike Frysinger @ 2011-08-23 13:44 UTC (permalink / raw)
  To: u-boot

On Tuesday, August 23, 2011 01:47:54 Jason Jin wrote:
> +#ifndef DM9000_BYTE_SWAPPED

should be CONFIG_XXX
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110823/a43e0f6c/attachment.pgp 

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

* [U-Boot] [PATCH 7/9] DM9000:Add a byte swap macro for dm9000 io operation.
  2011-08-23 13:44 ` Mike Frysinger
@ 2011-08-24  7:58   ` Jin Zhengxiong-R64188
  0 siblings, 0 replies; 4+ messages in thread
From: Jin Zhengxiong-R64188 @ 2011-08-24  7:58 UTC (permalink / raw)
  To: u-boot

> Subject: Re: [U-Boot] [PATCH 7/9] DM9000:Add a byte swap macro for dm9000 io
> operation.
> 
> On Tuesday, August 23, 2011 01:47:54 Jason Jin wrote:
> > +#ifndef DM9000_BYTE_SWAPPED
> 
> should be CONFIG_XXX
> -mike
[Jin Zhengxiong-R64188] 
Thanks Mike, I'll updated this in next version.

-Jason

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

* [U-Boot] [PATCH 7/9] DM9000:Add a byte swap macro for dm9000 io operation.
  2011-08-22  1:39         ` [U-Boot] [PATCH 6/9] ColdFire:Update the env settings for several boards Jason Jin
@ 2011-08-22  1:39           ` Jason Jin
  0 siblings, 0 replies; 4+ messages in thread
From: Jason Jin @ 2011-08-22  1:39 UTC (permalink / raw)
  To: u-boot

commit a45dde2293c816138e53c26eca6fd0322583f9a6 changed the dm9000
direct register access to standard IO. This should work
on the ColdFire platform as there are corresponding macros for
the LE devices. But the hardware settings on some ColdFire boards had
swapped the byte order which make the original macros such as out_le16
cannot work. To avoid changing the common io access code on ColdFire
platform, the DM9000_BYTE_SWAPPED define was added to make the dm9000 use
__raw* IO access on some ColdFire boards.

Signed-off-by: Jason Jin <Jason.jin@freescale.com>
---
Changes for V2: Remove the 'volatile' in the macro.
Changes for V3: Seperate the dm9000 code support and the platform
code to two patches so that it can be accepted by different custodian.

 drivers/net/dm9000x.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
index b5c5573..05cd8eb 100644
--- a/drivers/net/dm9000x.c
+++ b/drivers/net/dm9000x.c
@@ -116,13 +116,21 @@ static u8 DM9000_ior(int);
 static void DM9000_iow(int reg, u8 value);
 
 /* DM9000 network board routine ---------------------------- */
-
+#ifndef DM9000_BYTE_SWAPPED
 #define DM9000_outb(d,r) writeb(d, (volatile u8 *)(r))
 #define DM9000_outw(d,r) writew(d, (volatile u16 *)(r))
 #define DM9000_outl(d,r) writel(d, (volatile u32 *)(r))
 #define DM9000_inb(r) readb((volatile u8 *)(r))
 #define DM9000_inw(r) readw((volatile u16 *)(r))
 #define DM9000_inl(r) readl((volatile u32 *)(r))
+#else
+#define DM9000_outb(d, r) __raw_writeb(d, r)
+#define DM9000_outw(d, r) __raw_writew(d, r)
+#define DM9000_outl(d, r) __raw_writel(d, r)
+#define DM9000_inb(r) __raw_readb(r)
+#define DM9000_inw(r) __raw_readw(r)
+#define DM9000_inl(r) __raw_readl(r)
+#endif
 
 #ifdef CONFIG_DM9000_DEBUG
 static void
-- 
1.6.4

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

end of thread, other threads:[~2011-08-24  7:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-23  5:47 [U-Boot] [PATCH 7/9] DM9000:Add a byte swap macro for dm9000 io operation Jason Jin
2011-08-23 13:44 ` Mike Frysinger
2011-08-24  7:58   ` Jin Zhengxiong-R64188
  -- strict thread matches above, loose matches on Subject: below --
2011-08-22  1:39 [U-Boot] [RESEND PATCH 1/9] ColdFire:Fix the configuration broken for some boards Jason Jin
2011-08-22  1:39 ` [U-Boot] [PATCH V3 2/9] ColdFire: Update compile flags for each CPUs Jason Jin
2011-08-22  1:39   ` [U-Boot] [PATCH V3 3/9] ColdFire: Cleanup for partial linking and --gc-sections Jason Jin
2011-08-22  1:39     ` [U-Boot] [PATCH 4/9] ColdFire:Update the timer_init since it was unified Jason Jin
2011-08-22  1:39       ` [U-Boot] [RESEND PATCH 5/9] ColdFire:disable the NFS define for 52277 board Jason Jin
2011-08-22  1:39         ` [U-Boot] [PATCH 6/9] ColdFire:Update the env settings for several boards Jason Jin
2011-08-22  1:39           ` [U-Boot] [PATCH 7/9] DM9000:Add a byte swap macro for dm9000 io operation Jason Jin

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.