* Re: [Re: [RPX Classic/Lite and byte ordering]]
@ 2001-04-04 2:20 Eric
2001-04-04 16:17 ` Tim Bowman
0 siblings, 1 reply; 2+ messages in thread
From: Eric @ 2001-04-04 2:20 UTC (permalink / raw)
To: Tim Bowman, Eric, mtd mailing list
Tim,
Have you verified that a kernel compiled with this io.h
change still works properly on your system? This sounds
shakey to me if your kernel was already working as a whole
without your changes.
I would think that using __raw_writeX and __raw_readX combined
with the appropriate endian setting in cfi_endian.h would have
the same effect without such a drastic change. I am more concerned
about the statement that other folks with the same boardset do not
experience this problem-- likely, the correct fix is an endian-map
(similar in spirit to LART) in cfi_endian.h rather than io.h in such
a case. If you can find a mythical RPX system that does not have this
error, perhaps you can modify the driver to read/write/read/write some
location to determine if you have an 'affected' board or not.
E
Tim Bowman <tbowman@emware.com> wrote:
> Ta-Da.... I fixed the problem in include/asm-ppc/io.h:
> ...
> #define readb(addr) in_8((volatile u8 *)(addr))
> #define writeb(b,addr) out_8((volatile u8 *)(addr), (b))
> #if defined(CONFIG_APUS) || defined(RPXCLASSIC)
> #define readw(addr) (*(volatile u16 *) (addr))
> #define readl(addr) (*(volatile u32 *) (addr))
> #define writew(b,addr) ((*(volatile u16 *) (addr)) = (b))
> #define writel(b,addr) ((*(volatile u32 *) (addr)) = (b))
> #else
[ ... ]
> This solution doesn't explain why some of you haven't had this problem.
> Maybe the flash really is wired up two different ways on RPX boards...
____________________________________________________________________
Get free email and a permanent address at http://www.netaddress.com/?N=1
To unsubscribe, send "unsubscribe mtd" to majordomo@infradead.org
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Re: [RPX Classic/Lite and byte ordering]]
2001-04-04 2:20 [Re: [RPX Classic/Lite and byte ordering]] Eric
@ 2001-04-04 16:17 ` Tim Bowman
0 siblings, 0 replies; 2+ messages in thread
From: Tim Bowman @ 2001-04-04 16:17 UTC (permalink / raw)
To: Eric, mtd mailing list
Eric wrote:
>
> Tim,
>
> Have you verified that a kernel compiled with this io.h
> change still works properly on your system? This sounds
> shakey to me if your kernel was already working as a whole
> without your changes.
>
It seemed to, but I haven't really tested everything thoroughly.
> I would think that using __raw_writeX and __raw_readX combined
> with the appropriate endian setting in cfi_endian.h would have
> the same effect without such a drastic change. I am more concerned
> about the statement that other folks with the same boardset do not
> experience this problem-- likely, the correct fix is an endian-map
> (similar in spirit to LART) in cfi_endian.h rather than io.h in such
> a case. If you can find a mythical RPX system that does not have this
> error, perhaps you can modify the driver to read/write/read/write some
> location to determine if you have an 'affected' board or not.
>
Sound advice, I think. It looks like some net and char code uses the
readX stuff, so I'll go ahead and make the changes in rpxlite.c
instead. I have 4 or 5 other RPX boards I can try, so I'll let you know
if I find one that is different. Otherwise, we might want to make these
changes to the tree.
-T
To unsubscribe, send "unsubscribe mtd" to majordomo@infradead.org
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-04-04 16:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-04-04 2:20 [Re: [RPX Classic/Lite and byte ordering]] Eric
2001-04-04 16:17 ` Tim Bowman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox