From: "Iain Sandoe" <iain@sandoe.co.uk>
To: Kostas Gewrgiou <gewrgiou@imbc.gr>
Cc: Takashi Oe <toe@unlserve.unl.edu>,
"Michael R. Zucca" <mrz5149@acm.org>,
phandel@cise.ufl.edu,
"linuxppc-dev" <linuxppc-dev@lists.linuxppc.org>
Subject: Re: Sound stoppage: TRIAL code to re-start DEAD dma
Date: Wed, 28 Mar 2001 11:55:03 +0100 [thread overview]
Message-ID: <20010328105501.E28EEDBA11@atlas.valhalla.net> (raw)
Wed, Mar 28, 2001, Kostas Gewrgiou wrote:
> On Wed, 28 Mar 2001, Iain Sandoe wrote:
>> attached is a replacement for the dmasound_awacs tx_irq routine to test out
>> Takashi's idea of clearing the DEAD status and then re-starting dma.
>>
>> it is *not* a diff - you will have to replace the routine by cut-and-paste
>>
>> (I've done it this way because my current tree has lots of other changes
>> which aren't relevant to this test).
>>
>> I checked it builds - but can't test 'cos I don't have a PowerComputing
>> machine.
>>
>> Please try it with big-ish fragments - so that there is a chance of hearing
>> whether resumed blocks repeat sound.
>
> With a quick look it doesn't seem that it will work, you only need to return
> if you restart the frame otherwise the driver will deadlock,
we do restart the frame - with the:
/* may as well try anyway - I guess all bets are off now */
out_le32(&awacs_txdma->control, ((RUN|WAKE) << 16) + (RUN|WAKE));
the difference from what you did is that I don't re-load the cmdptr register
- we are just going to see if the current state can be resumed.
It might lock up - but it's worth a try.
> Do we need the in_le32(&awacs_txdma->status) & RUN check ? isn't dbdma
> already inactive at that point ?
maybe - I think that the ACTIVE bit will be cleared.
but maybe not the RUN bit - because I think the transition *in the on-chip
register* from RUN to ~RUN acknowledges the clearing of the DEAD status.
then the command above restarts it...
well, that's what we're trying anyway - I've coded the emergency dbdma
method - so if this fails I'll post that instead.
ciao,
Iain.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
next reply other threads:[~2001-03-28 10:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-03-28 10:55 Iain Sandoe [this message]
2001-03-28 11:40 ` Sound stoppage: TRIAL code to re-start DEAD dma Kostas Gewrgiou
2001-03-28 12:10 ` Benjamin Herrenschmidt
-- strict thread matches above, loose matches on Subject: below --
2001-03-28 12:26 Iain Sandoe
2001-03-28 11:54 Iain Sandoe
2001-03-28 12:15 ` Benjamin Herrenschmidt
2001-03-28 8:37 Iain Sandoe
2001-03-28 10:47 ` Kostas Gewrgiou
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=20010328105501.E28EEDBA11@atlas.valhalla.net \
--to=iain@sandoe.co.uk \
--cc=gewrgiou@imbc.gr \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=mrz5149@acm.org \
--cc=phandel@cise.ufl.edu \
--cc=toe@unlserve.unl.edu \
/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;
as well as URLs for NNTP newsgroup(s).