From: Doug Ledford <dledford@redhat.com>
To: Juergen Sawinski <juergen.sawinski@mpimf-heidelberg.mpg.de>
Cc: "linux-kernel@vger" <linux-kernel@vger.kernel.org>
Subject: Re: Linux-2.4.20-pre4-ac1: i810_audio broken
Date: Wed, 28 Aug 2002 12:07:46 -0400 [thread overview]
Message-ID: <20020828120746.D30777@redhat.com> (raw)
In-Reply-To: <1030549658.16619.20.camel@volans>; from juergen.sawinski@mpimf-heidelberg.mpg.de on Wed, Aug 28, 2002 at 05:47:38PM +0200
On Wed, Aug 28, 2002 at 05:47:38PM +0200, Juergen Sawinski wrote:
> I'll check the CIV read-only thing with ICH4 tonight (maybe I've
> overseen some doc errata or the manual is just lying). On the other
> hand, the CIV register is set to zero on reset (AFAICS), maybe a DMA
> engine reset sets CIV to 0 implicitly on ICH4.
It'e entirely possible that a DMA engine reset could reasonably set CIV to
any of 0 (CIV = 0, offset 0), beginning of next SG segment (CIV + 1,
offset = 0), beginning of current SG segment (CIV unchanged, offset = 0).
I wasn't bothering to try and figure it out on each chip that we support,
instead I was just calling a reset to make the hardware stop everything
and get back to a sane state, then I would set the actual value to where
ever we wanted it to be. In most cases, that was either CIV + 1, offset =
0 or CIV = 0, offset = 0. However, that was really only a convenience,
not a requirement.
> But if CIV is really RO, I could add a CAP_CIV_RO define to the card_cap
> struct. Then I'd only have to set LVI appropialty to CIV... hmmm....
> *sigh*
No, I wouldn't do this. If there are some chips now that have a read only
CIV, then no big deal. We change the DMA engine to treat all chips as
having a read only CIV and then we don't bother needing to know which ones
have which capability and we only need one DMA engine to drive all chips,
problem solved.
> BTW, sound is working perfectly on my machine (ICH4).
Well, that could just be luck ;-) The particular sound problem that
Andris is seeing is related to DMA start and stop operations. If you
happen to be using an artsd or esd daemon that is configured to DMA
silence when there isn't anything else going on, then DMA on your machine
would *not* be starting and stopping and you wouldn't see this problem.
That's why my standard battery of tests includes using play from the
command line without X running at all since it actually starts and stops
the DMA with each operation and does lots of drain_dac() calls.
--
Doug Ledford <dledford@redhat.com> 919-754-3700 x44233
Red Hat, Inc.
1801 Varsity Dr.
Raleigh, NC 27606
next prev parent reply other threads:[~2002-08-28 16:03 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-27 9:53 Linux-2.4.20-pre4-ac1: i810_audio broken Andris Pavenis
2002-08-27 18:46 ` Doug Ledford
2002-08-28 0:21 ` Juergen Sawinski
2002-08-28 0:30 ` Juergen Sawinski
2002-08-28 7:04 ` Andris Pavenis
2002-08-28 12:51 ` Juergen Sawinski
2002-08-28 13:22 ` Andris Pavenis
2002-08-28 15:21 ` Doug Ledford
2002-08-28 15:47 ` Juergen Sawinski
2002-08-28 16:07 ` Doug Ledford [this message]
2002-08-28 15:59 ` Andris Pavenis
2002-08-28 16:12 ` Doug Ledford
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=20020828120746.D30777@redhat.com \
--to=dledford@redhat.com \
--cc=juergen.sawinski@mpimf-heidelberg.mpg.de \
--cc=linux-kernel@vger.kernel.org \
/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