openvortex-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Openvortex-dev] Re: [Alsa-devel] Re: [ALSA - driver 0001138]: errors wh


From: Takashi Iwai
Subject: [Openvortex-dev] Re: [Alsa-devel] Re: [ALSA - driver 0001138]: errors when installing au8820 modules
Date: Tue, 07 Jun 2005 18:29:55 +0200
User-agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 MULE XEmacs/21.4 (patch 15) (Security Through Obscurity) (i386-suse-linux)

At Tue, 7 Jun 2005 17:16:02 +0200,
Alien wrote:
> 
> [1  <text/plain; iso-8859-1 (quoted-printable)>]
> Op dinsdag 7 juni 2005 17:05, schreef Raymond:
> > The patch (diff11.diff) cause segmenation fault on my 32bit machine
> > during /etc/init.d/alsasound start
> >
> > http://savannah.nongnu.org/patch/?func=detailitem&item_id=3948
> >
> > Do anyone know why readl() and writel() behave different in i386
> > (32bits) and AMD64 (64bits) ?
> >
> > http://sourceforge.net/mailarchive/message.php?msg_id=10773530
> >
> >
> > #ifndef CONFIG_X86_64
> >
> > #define        hwread(x,y) readl((x)+((y)>>2))
> > #define        hwwrite(x,y,z) writel((z),(x)+((y)>>2))
> >
> > #else
> >
> > #define        hwread(x,y) readl((x)+(y))
> > #define        hwwrite(x,y,z) writel((z),(x)+(y))
> >
> > #endif
> 
> that doesn't look good, unless the mmio is void* in 32bit and unsigned long* 
> in x86_64...
> 
> 'unsigned long* mmio' should be preferred and together with '#define        
> hwread(x,y) readl((x)+(y))' , this works for both platforms

I guess using "unsigned long" for both architectures is broken, too.
Should be "u32" to be arch-independent.


Takashi




reply via email to

[Prev in Thread] Current Thread [Next in Thread]