patch for 64 bit wide flash

Jörn Engel joern at wohnheim.fh-wedel.de
Thu Feb 14 11:48:13 EST 2002


Hi!

> in my physmap.c (I should probably check this in):
> 
> __u64 physmap_read64(struct map_info *map, unsigned long ofs)
> {
> #ifndef __raw_readll
> #error Your architecture needs a __raw_readll in asm/io.h
> #endif
>         return __raw_readll(map->map_priv_1 + ofs);
> }

It is already checked in. As a result, I hit your #error and was 
really happy. ;-)

David said, he fixed that, but I haven't checked yet.

> #define __raw_readll(addr)      (*(volatile unsigned long long*)(addr)) 
> #define __raw_writell(v, addr)  (*(volatile unsigned long long*)(addr) = (v))

> > I have another version of 64-bit bus support which does not change any of
> > the variable types and only changes one function prototype. It probably is
> > not as fast as this 64-bit version, assuming that it is really doing 64-bit
> > bus accesses, but it is a very low impact solution.
> 
> Whether or not you really do 64 bit bus accesses is going to be compiler
> dependant.  If it does, then everything is good.  If it doesn't, it most
> likely won't be any worse than anything you come up with by hand. IMHO
> it would be a shame to break this for people who have tools which really
> do 64 bit accesses on architectures that can benefit from it.

I agree. This solution appears quite sound and solid. It only has to
have a little more testing, as there is propably only one user, to
this moment. Adam, count me in, as soon as I find a little free time.

-- 
Remember that not getting what you want is sometimes a wonderful
stroke of luck.
-- reputely from the Dalai Lama, unverified




More information about the linux-mtd mailing list