From: Igor Kovalenko <garrison@mail.ru>
To: Alien <alien999999999@users.sourceforge.net>
Cc: Takashi Iwai <tiwai@suse.de>,
openvortex-dev@nongnu.org, Raymond <rayau@netvigator.com>,
alsa-devel@lists.sourceforge.net
Subject: Re: [Openvortex-dev] Re: Re: [ALSA - driver 0001138]: errors when installing au8820 modules
Date: Tue, 07 Jun 2005 21:38:12 +0400 [thread overview]
Message-ID: <42A5DB84.2030407@mail.ru> (raw)
In-Reply-To: <200506071917.42953.alien999999999@users.sourceforge.net>
Alien wrote:
> Op dinsdag 7 juni 2005 19:05, schreef Igor Kovalenko:
>
>>Takashi Iwai wrote:
>>
>>>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.
>>
>>I strongly believe readl() and writel() on x86_64 does 32 bit reads/writes.
>>(checked linux-2.6.12-rc5). Therefore reads/writes are of correct size with
>>that patch - should be something different.
>
>
> i know that does not work!
>
> when i started doing this, i got segfaults because of the >>2 .
>
> readl and writel do long operations as evidenced by the 'l'
>
> i know this seems weird, but this is memory-mapped, and appearantly it's
> memory mapped to long, anyway; when i do 'unsigned long* mmio' and i use
> readl and writel without any bitshifts, it works...
>
> you may believe what you want, but i _know_ that on x86_64, i _NEED_ unsigned
> long* mmio and no bitshifting to get this to work.
>
> maybe the problem lies with writel and readl to begin with, maybe if you wrote
> an int, it would work...
>
> AL13N
OK, then let's put it this way: change to void* and removal of shifts is to make
address operations correct. That is the address itself is at the same offset on
all arches. Then readl/writel just do 32 bit read/write which is what we need.
May be it is the mapping is wrong?
Please check if you applied the patch correctly - I suspect you used different
kernel version and patch may have missed some points... BTW the segfault (oops)
report would be handy.
--
Kind regards,
Igor V. Kovalenko
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
next prev parent reply other threads:[~2005-06-07 17:38 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-28 20:22 [ALSA - driver 0001138]: errors when installing au8820 modules bugtrack
2005-06-06 2:09 ` Raymond
2005-06-06 15:49 ` Takashi Iwai
2005-06-07 15:05 ` Raymond
2005-06-07 15:16 ` Alien
2005-06-07 16:29 ` Takashi Iwai
2005-06-07 17:05 ` [Openvortex-dev] " Igor Kovalenko
2005-06-07 17:17 ` Alien
2005-06-07 17:38 ` Igor Kovalenko [this message]
2005-06-07 18:02 ` Alien
2005-06-08 10:18 ` Takashi Iwai
2005-06-08 11:13 ` Alien
2005-06-08 12:12 ` Takashi Iwai
2005-06-08 13:29 ` Alien
2005-06-08 13:41 ` Takashi Iwai
2005-06-08 18:09 ` Igor Kovalenko
2005-06-08 11:40 ` Raymond
2005-06-08 12:19 ` Takashi Iwai
2005-06-08 18:12 ` Igor Kovalenko
2005-06-09 8:13 ` Raymond
2005-06-08 12:34 ` Raymond
2005-06-08 12:43 ` Takashi Iwai
2005-06-08 18:03 ` Igor Kovalenko
2005-06-09 8:54 ` Raymond
2005-06-28 7:50 ` Raymond
2005-07-01 19:03 ` Igor Kovalenko
2005-07-02 12:53 ` Raymond
2005-07-14 16:43 ` Igor Kovalenko
2005-06-08 9:06 ` Raymond
2005-06-08 10:22 ` Takashi Iwai
2005-06-09 8:34 ` Raymond
2005-06-09 10:17 ` [Openvortex-dev] " Igor Kovalenko
2005-06-12 15:18 ` Raymond
2005-06-10 7:35 ` Raymond
2005-06-10 10:33 ` Takashi Iwai
2005-06-10 11:28 ` Raymond
2005-07-29 14:43 ` Raymond
2005-07-29 15:09 ` Takashi Iwai
2005-08-05 12:46 ` Raymond
2005-08-05 14:32 ` Takashi Iwai
[not found] ` <43067D3B.5040601@netvigator.com>
2005-08-21 12:41 ` Takashi Iwai
2005-08-23 15:20 ` Raymond
2005-08-23 17:18 ` Takashi Iwai
2005-08-23 21:40 ` Alien
2005-08-24 10:35 ` Takashi Iwai
2005-08-25 17:12 ` Raymond
2005-08-25 17:43 ` Alien
2005-08-26 9:01 ` Raymond
2005-08-25 18:58 ` Manuel Jander
2005-08-25 20:04 ` Alien
2005-06-08 10:23 ` Alien
2005-06-09 8:49 ` Raymond
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42A5DB84.2030407@mail.ru \
--to=garrison@mail.ru \
--cc=alien999999999@users.sourceforge.net \
--cc=alsa-devel@lists.sourceforge.net \
--cc=openvortex-dev@nongnu.org \
--cc=rayau@netvigator.com \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox