* [PATCH] sparc dbri: recording is back
@ 2006-08-23 18:10 Krzysztof Helt
2006-08-23 18:16 ` Takashi Iwai
2006-08-25 17:58 ` Krzysztof Helt
0 siblings, 2 replies; 6+ messages in thread
From: Krzysztof Helt @ 2006-08-23 18:10 UTC (permalink / raw)
To: alsa-devel
[-- Attachment #1: Type: text/plain, Size: 442 bytes --]
From: Krzysztof Helt (krzysztof.h1@wp.pl)
This patch fixes recording after convertion to ring buffered
driver. It also contains smaller fixes to the conversion.
Signed-off-by: Krzysztof Helt (krzysztof.h1@wp.pl)
---
----------------------------------------------------
Oglądaj -> Wydarzenia.wp.pl -> Wiesz, co najważniejsze!
Najbardziej aktualne materiały filmowe - Kliknij:
http://klik.wp.pl/?adr=www.wydarzenia.wp.pl&sid=848
[-- Attachment #2: dbri-patch11.diff --]
[-- Type: application/octet-stream, Size: 4827 bytes --]
--- alsa-driver-1.0.12rc2/alsa-kernel/sparc/dbri.c 2006-08-22 19:36:37.000000000 +0200
+++ linux-2.6.17a/sound/sparc/dbri.c 2006-08-22 21:59:38.000000000 +0200
@@ -610,10 +610,10 @@ CPU interrupt to signal completion.
Since the DBRI can run in parallel with the CPU, several means of
synchronization present themselves. The method implemented here is only
-to use the dbri_cmdwait() to wait for execution of batch of sent commands.
+use of the dbri_cmdwait() to wait for execution of batch of sent commands.
A circular command buffer is used here. A new command is being added
-while other can be executed. The scheme works by adding two WAIT commands
+while another can be executed. The scheme works by adding two WAIT commands
after each sent batch of commands. When the next batch is prepared it is
added after the WAIT commands then the WAITs are replaced with single JUMP
command to the new batch. The the DBRI is forced to reread the last WAIT
@@ -689,13 +689,13 @@ static void dbri_cmdsend(struct snd_dbri
*(dbri->cmdptr) = DBRI_CMD(D_JUMP, 0, 0);
#ifdef DBRI_DEBUG
- if (cmd > dbri->cmdptr )
+ if (cmd > dbri->cmdptr ) {
s32 *ptr;
for (ptr = dbri->cmdptr; ptr < cmd+2; ptr++) {
dprintk(D_CMD, "cmd: %lx:%08x\n", (unsigned long)ptr, *ptr);
}
- else {
+ } else {
s32 *ptr = dbri->cmdptr;
dprintk(D_CMD, "cmd: %lx:%08x\n", (unsigned long)ptr, *ptr);
@@ -1141,13 +1141,9 @@ static int setup_descs(struct snd_dbri *
return -1;
}
- if (streamno == DBRI_PLAY) {
- dbri->dma->desc[last_desc].word1 |=
- DBRI_TD_F | DBRI_TD_B;
- dbri->dma->desc[last_desc].nda =
- dbri->dma_dvma + dbri_dma_off(desc, first_desc);
- dbri->next_desc[last_desc] = first_desc;
- }
+ dbri->dma->desc[last_desc].nda =
+ dbri->dma_dvma + dbri_dma_off(desc, first_desc);
+ dbri->next_desc[last_desc] = first_desc;
dbri->pipes[info->pipe].first_desc = first_desc;
dbri->pipes[info->pipe].desc = first_desc;
@@ -1639,7 +1635,6 @@ static void xmit_descs(struct snd_dbri *
if (dbri == NULL)
return; /* Disabled */
- /* First check the recording stream for buffer overflow */
info = &dbri->stream_info[DBRI_REC];
spin_lock_irqsave(&dbri->lock, flags);
@@ -1649,27 +1644,20 @@ static void xmit_descs(struct snd_dbri *
dprintk(D_DESC, "xmit_descs rec @ TD %d\n", first_td);
/* Stream could be closed by the time we run. */
- if (first_td < 0) {
- goto play;
- }
-
- cmd = dbri_cmdlock(dbri, 2);
- *(cmd++) = DBRI_CMD(D_SDP, 0,
- dbri->pipes[info->pipe].sdp
- | D_SDP_P | D_SDP_EVERY | D_SDP_C);
- *(cmd++) = dbri->dma_dvma + dbri_dma_off(desc, first_td);
- dbri_cmdsend(dbri, cmd, 2);
+ if (first_td >= 0) {
+ cmd = dbri_cmdlock(dbri, 2);
+ *(cmd++) = DBRI_CMD(D_SDP, 0,
+ dbri->pipes[info->pipe].sdp
+ | D_SDP_P | D_SDP_EVERY | D_SDP_C);
+ *(cmd++) = dbri->dma_dvma + dbri_dma_off(desc, first_td);
+ dbri_cmdsend(dbri, cmd, 2);
- /* Reset our admin of the pipe & bytes read. */
- dbri->pipes[info->pipe].desc = first_td;
+ /* Reset our admin of the pipe. */
+ dbri->pipes[info->pipe].desc = first_td;
+ }
}
-play:
- spin_unlock_irqrestore(&dbri->lock, flags);
-
- /* Now check the playback stream for buffer underflow */
info = &dbri->stream_info[DBRI_PLAY];
- spin_lock_irqsave(&dbri->lock, flags);
if (info->pipe >= 0) {
first_td = dbri->pipes[info->pipe].first_desc;
@@ -1685,7 +1673,7 @@ play:
*(cmd++) = dbri->dma_dvma + dbri_dma_off(desc, first_td);
dbri_cmdsend(dbri, cmd, 2);
- /* Reset our admin of the pipe & bytes written. */
+ /* Reset our admin of the pipe. */
dbri->pipes[info->pipe].desc = first_td;
}
}
@@ -1755,7 +1743,6 @@ static void reception_complete_intr(stru
return;
}
- dbri->dma->desc[rd].ba = 0;
dbri->pipes[pipe].desc = dbri->next_desc[rd];
status = dbri->dma->desc[rd].word1;
dbri->dma->desc[rd].word1 = 0; /* Reset it for next time. */
@@ -1768,18 +1755,6 @@ static void reception_complete_intr(stru
dprintk(D_INT, "Recv RD %d, status 0x%02x, len %d\n",
rd, DBRI_RD_STATUS(status), DBRI_RD_CNT(status));
- /* On the last TD, transmit them all again. */
-#if 0
- if (dbri->next_desc[rd] == -1) {
- if (info->left > info->size) {
- printk(KERN_WARNING
- "%d bytes recorded in %d size buffer.\n",
- info->left, info->size);
- }
- tasklet_schedule(&xmit_descs_task);
- }
-#endif
-
/* Notify ALSA */
if (spin_is_locked(&dbri->lock)) {
spin_unlock(&dbri->lock);
@@ -2159,7 +2139,7 @@ static snd_pcm_uframes_t snd_dbri_pointe
snd_pcm_uframes_t ret;
ret = bytes_to_frames(substream->runtime, info->offset)
- % substream->runtime->buffer_size;
+ % (substream->runtime->buffer_size + 1);
dprintk(D_USR, "I/O pointer: %ld frames of %ld.\n",
ret, substream->runtime->buffer_size);
return ret;
[-- Attachment #3: Type: text/plain, Size: 373 bytes --]
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
[-- Attachment #4: Type: text/plain, Size: 161 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sparc dbri: recording is back
2006-08-23 18:10 [PATCH] sparc dbri: recording is back Krzysztof Helt
@ 2006-08-23 18:16 ` Takashi Iwai
2006-08-24 6:09 ` Krzysztof Helt
2006-08-25 17:58 ` Krzysztof Helt
1 sibling, 1 reply; 6+ messages in thread
From: Takashi Iwai @ 2006-08-23 18:16 UTC (permalink / raw)
To: Krzysztof Helt; +Cc: alsa-devel
At Wed, 23 Aug 2006 20:10:35 +0200,
Krzysztof Helt wrote:
>
> @@ -2159,7 +2139,7 @@ static snd_pcm_uframes_t snd_dbri_pointe
> snd_pcm_uframes_t ret;
>
> ret = bytes_to_frames(substream->runtime, info->offset)
> - % substream->runtime->buffer_size;
>+ % (substream->runtime->buffer_size + 1);
> dprintk(D_USR, "I/O pointer: %ld frames of %ld.\n",
> ret, substream->runtime->buffer_size);
> return ret;
What is the reason of this change? The original code looks OK to me.
The pointer callback must return a value between 0 and
(buffer_size-1).
Takashi
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sparc dbri: recording is back
2006-08-23 18:16 ` Takashi Iwai
@ 2006-08-24 6:09 ` Krzysztof Helt
2006-08-24 9:21 ` Takashi Iwai
0 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Helt @ 2006-08-24 6:09 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
Dnia 23-08-2006 o godz. 20:16 Takashi Iwai napisał(a):
> At Wed, 23 Aug 2006 20:10:35 +0200,
> Krzysztof Helt wrote:
> >
> > @@ -2159,7 +2139,7 @@ static snd_pcm_uframes_t snd_dbri_pointe
> > snd_pcm_uframes_t ret;
> >
> > ret = bytes_to_frames(substream->runtime, info->offset)
> > - % substream->runtime->buffer_size;
> >+ % (substream->runtime->buffer_size + 1);
> > dprintk(D_USR, "I/O pointer: %ld frames of %ld.\n",
> > ret, substream->runtime->buffer_size);
> > return ret;
>
> What is the reason of this change? The original code looks OK
to me.
> The pointer callback must return a value between 0 and
> (buffer_size-1).
>
>
I will recheck if recording works without this change. The last
returned pointer value is equal to buffer_size. Your email
implies that 0 means "I have full buffer filled with data".
Regards,
Krzysztof
----------------------------------------------------
Oglądaj -> Wydarzenia.wp.pl -> Wiesz, co najważniejsze!
Najbardziej aktualne materiały filmowe - Kliknij:
http://klik.wp.pl/?adr=www.wydarzenia.wp.pl&sid=848
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sparc dbri: recording is back
2006-08-24 6:09 ` Krzysztof Helt
@ 2006-08-24 9:21 ` Takashi Iwai
0 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2006-08-24 9:21 UTC (permalink / raw)
To: Krzysztof Helt; +Cc: alsa-devel
At Thu, 24 Aug 2006 08:09:26 +0200,
Krzysztof Helt wrote:
>
>
>
> Dnia 23-08-2006 o godz. 20:16 Takashi Iwai napisał(a):
> > At Wed, 23 Aug 2006 20:10:35 +0200,
> > Krzysztof Helt wrote:
> > >
> > > @@ -2159,7 +2139,7 @@ static snd_pcm_uframes_t snd_dbri_pointe
> > > snd_pcm_uframes_t ret;
> > >
> > > ret = bytes_to_frames(substream->runtime, info->offset)
> > > - % substream->runtime->buffer_size;
> > >+ % (substream->runtime->buffer_size + 1);
> > > dprintk(D_USR, "I/O pointer: %ld frames of %ld.\n",
> > > ret, substream->runtime->buffer_size);
> > > return ret;
> >
> > What is the reason of this change? The original code looks OK
> to me.
> > The pointer callback must return a value between 0 and
> > (buffer_size-1).
> >
> >
>
> I will recheck if recording works without this change. The last
> returned pointer value is equal to buffer_size. Your email
> implies that 0 means "I have full buffer filled with data".
No, pointer callback returns the current processing DMA position in
the ring buffer (called hw_ptr). It doesn't mean how many samples
remain.
The amount of remaining sample is calculated in PCM core layer.
The PCM layer remembers how many samples are put in the buffer
(= appl_ptr), then can easily calculate the remaining samples by
(appl_ptr - hw_ptr).
Takashi
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sparc dbri: recording is back
2006-08-23 18:10 [PATCH] sparc dbri: recording is back Krzysztof Helt
2006-08-23 18:16 ` Takashi Iwai
@ 2006-08-25 17:58 ` Krzysztof Helt
2006-08-28 11:10 ` Takashi Iwai
1 sibling, 1 reply; 6+ messages in thread
From: Krzysztof Helt @ 2006-08-25 17:58 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 8540 bytes --]
<s5hirkjwc4w.wl%tiwai@suse.de>
<44ed42960731f@wp.pl> <s5hhd02v69h.wl%tiwai@suse.de>
In-reply-to: <44ec9a1bf3034@wp.pl>
<s5hirkjwc4w.wl%tiwai@suse.de>
<44ed42960731f@wp.pl> <s5hhd02v69h.wl%tiwai@suse.de>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="part44ef3a2db03f0"
X-Mailer: Interfejs WWW poczty Wirtualnej Polski
Organization: Poczta Wirtualnej Polski S.A. http://www.wp.pl/
X-User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4a) Gecko/20030401
X-WP-IP: 213.76.90.126
X-WP-AV: skaner antywirusowy poczty Wirtualnej Polski S. A.
X-WP-SPAM: NO AS1=NO AS2=NO(0.502872) AS3=NO AS4=NO AS5=NO
This is a multi-part message in MIME format.
--part44ef3a2db03f0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
Content-Disposition: inline
From: Krzysztof Helt (krzysztof.h1@wp.pl)
This patch fixes sound recording after the driver convertion to
ring buffered version. It also contains small clean ups to the
driver.
Signed-off-by: Krzysztof Helt (krzysztof.h1@wp.pl)
---
This is repost of the patch against current HG tree. It contains
part of the 13th patch as it really belong to this one.
The 12th patch is the same as I posted it (there is no need to
change it). Should I repost it as well?
Regards,
Krzysztof
----------------------------------------------------
Radio Zet Platinum - Blue Eyes to dwup³ytowy zestaw
utworów przywo³uj±cy nastrój wakacyjnego lenistwa.
Ju¿ w sprzeda¿y!!
http://klik.wp.pl/?adr=http%3A%2F%2Fadv.reklama.wp.pl%2Fas%2Fradio_zet_platinum.html&sid=855
--part44ef3a2db03f0
Content-Type: application/octet-stream; name="dbri-patch11.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="dbri-patch11.diff"
LS0tIGFsc2EtZHJpdmVyLTEuMC4xMnJjMi9hbHNhLWtlcm5lbC9zcGFyYy9kYnJpLmMJMjAwNi0w
OC0yNSAxOToyNDo0My4wMDAwMDAwMDAgKzAyMDAKKysrIGxpbnV4LTIuNi4xN2Evc291bmQvc3Bh
cmMvZGJyaS5jCTIwMDYtMDgtMjUgMTk6Mjk6NDYuMDAwMDAwMDAwICswMjAwCkBAIC0xMDcsNyAr
MTA3LDcgQEAgc3RhdGljIGNoYXIgKmNtZHNbXSA9IHsKICNkZWZpbmUgZHByaW50ayhhLCB4Li4u
KSBpZihkYnJpX2RlYnVnICYgYSkgcHJpbnRrKEtFUk5fREVCVUcgeCkKIAogI2Vsc2UKLSNkZWZp
bmUgZHByaW50ayhhLCB4Li4uKQorI2RlZmluZSBkcHJpbnRrKGEsIHguLi4pIGRvIHsgfSB3aGls
ZSAoMCkKIAogI2VuZGlmCQkJCS8qIERCUklfREVCVUcgKi8KIApAQCAtNjEwLDEwICs2MTAsMTAg
QEAgQ1BVIGludGVycnVwdCB0byBzaWduYWwgY29tcGxldGlvbi4KIAogU2luY2UgdGhlIERCUkkg
Y2FuIHJ1biBpbiBwYXJhbGxlbCB3aXRoIHRoZSBDUFUsIHNldmVyYWwgbWVhbnMgb2YKIHN5bmNo
cm9uaXphdGlvbiBwcmVzZW50IHRoZW1zZWx2ZXMuIFRoZSBtZXRob2QgaW1wbGVtZW50ZWQgaGVy
ZSBpcyBvbmx5Ci10byB1c2UgdGhlIGRicmlfY21kd2FpdCgpIHRvIHdhaXQgZm9yIGV4ZWN1dGlv
biBvZiBiYXRjaCBvZiBzZW50IGNvbW1hbmRzLgordXNlIG9mIHRoZSBkYnJpX2NtZHdhaXQoKSB0
byB3YWl0IGZvciBleGVjdXRpb24gb2YgYmF0Y2ggb2Ygc2VudCBjb21tYW5kcy4KIAogQSBjaXJj
dWxhciBjb21tYW5kIGJ1ZmZlciBpcyB1c2VkIGhlcmUuIEEgbmV3IGNvbW1hbmQgaXMgYmVpbmcg
YWRkZWQgCi13aGlsZSBvdGhlciBjYW4gYmUgZXhlY3V0ZWQuIFRoZSBzY2hlbWUgd29ya3MgYnkg
YWRkaW5nIHR3byBXQUlUIGNvbW1hbmRzCit3aGlsZSBhbm90aGVyIGNhbiBiZSBleGVjdXRlZC4g
VGhlIHNjaGVtZSB3b3JrcyBieSBhZGRpbmcgdHdvIFdBSVQgY29tbWFuZHMKIGFmdGVyIGVhY2gg
c2VudCBiYXRjaCBvZiBjb21tYW5kcy4gV2hlbiB0aGUgbmV4dCBiYXRjaCBpcyBwcmVwYXJlZCBp
dCBpcwogYWRkZWQgYWZ0ZXIgdGhlIFdBSVQgY29tbWFuZHMgdGhlbiB0aGUgV0FJVHMgYXJlIHJl
cGxhY2VkIHdpdGggc2luZ2xlIEpVTVAKIGNvbW1hbmQgdG8gdGhlIG5ldyBiYXRjaC4gVGhlIHRo
ZSBEQlJJIGlzIGZvcmNlZCB0byByZXJlYWQgdGhlIGxhc3QgV0FJVCAKQEAgLTYyOCw3ICs2Mjgs
NyBAQCB0byBzZW5kIHRoZW0gdG8gdGhlIERCUkkuCiAKICovCiAKLSNkZWZpbmUgTUFYTE9PUFMg
MTAKKyNkZWZpbmUgTUFYTE9PUFMgMjAKIC8qCiAgKiBXYWl0IGZvciB0aGUgY3VycmVudCBjb21t
YW5kIHN0cmluZyB0byBleGVjdXRlCiAgKi8KQEAgLTY5Miw5ICs2OTIsOCBAQCBzdGF0aWMgdm9p
ZCBkYnJpX2NtZHNlbmQoc3RydWN0IHNuZF9kYnJpCiAJaWYgKGNtZCA+IGRicmktPmNtZHB0cikg
ewogCQlzMzIgKnB0cjsKIAotCQlmb3IgKHB0ciA9IGRicmktPmNtZHB0cjsgcHRyIDwgY21kKzI7
IHB0cisrKSB7CisJCWZvciAocHRyID0gZGJyaS0+Y21kcHRyOyBwdHIgPCBjbWQrMjsgcHRyKysp
CiAJCQlkcHJpbnRrKERfQ01ELCAiY21kOiAlbHg6JTA4eFxuIiwgKHVuc2lnbmVkIGxvbmcpcHRy
LCAqcHRyKTsKLQkJfQogCX0gZWxzZSB7CiAJCXMzMiAqcHRyID0gZGJyaS0+Y21kcHRyOwogCkBA
IC0xMTQxLDEzICsxMTQwLDkgQEAgc3RhdGljIGludCBzZXR1cF9kZXNjcyhzdHJ1Y3Qgc25kX2Ri
cmkgKgogCQlyZXR1cm4gLTE7CiAJfQogCi0JaWYgKHN0cmVhbW5vID09IERCUklfUExBWSkgewot
CQlkYnJpLT5kbWEtPmRlc2NbbGFzdF9kZXNjXS53b3JkMSB8PQotCQkgICAgREJSSV9URF9GIHwg
REJSSV9URF9COwotCQlkYnJpLT5kbWEtPmRlc2NbbGFzdF9kZXNjXS5uZGEgPQotCQkgICAgZGJy
aS0+ZG1hX2R2bWEgKyBkYnJpX2RtYV9vZmYoZGVzYywgZmlyc3RfZGVzYyk7Ci0JCWRicmktPm5l
eHRfZGVzY1tsYXN0X2Rlc2NdID0gZmlyc3RfZGVzYzsKLQl9CisJZGJyaS0+ZG1hLT5kZXNjW2xh
c3RfZGVzY10ubmRhID0KKwkgICAgZGJyaS0+ZG1hX2R2bWEgKyBkYnJpX2RtYV9vZmYoZGVzYywg
Zmlyc3RfZGVzYyk7CisJZGJyaS0+bmV4dF9kZXNjW2xhc3RfZGVzY10gPSBmaXJzdF9kZXNjOwog
CWRicmktPnBpcGVzW2luZm8tPnBpcGVdLmZpcnN0X2Rlc2MgPSBmaXJzdF9kZXNjOwogCWRicmkt
PnBpcGVzW2luZm8tPnBpcGVdLmRlc2MgPSBmaXJzdF9kZXNjOwogCkBAIC0xNjM5LDcgKzE2MzQs
NiBAQCBzdGF0aWMgdm9pZCB4bWl0X2Rlc2NzKHN0cnVjdCBzbmRfZGJyaSAqCiAJaWYgKGRicmkg
PT0gTlVMTCkKIAkJcmV0dXJuOwkJLyogRGlzYWJsZWQgKi8KIAotCS8qIEZpcnN0IGNoZWNrIHRo
ZSByZWNvcmRpbmcgc3RyZWFtIGZvciBidWZmZXIgb3ZlcmZsb3cgKi8KIAlpbmZvID0gJmRicmkt
PnN0cmVhbV9pbmZvW0RCUklfUkVDXTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZGJyaS0+bG9jaywg
ZmxhZ3MpOwogCkBAIC0xNjQ5LDI3ICsxNjQzLDIwIEBAIHN0YXRpYyB2b2lkIHhtaXRfZGVzY3Mo
c3RydWN0IHNuZF9kYnJpICoKIAkJZHByaW50ayhEX0RFU0MsICJ4bWl0X2Rlc2NzIHJlYyBAIFRE
ICVkXG4iLCBmaXJzdF90ZCk7CiAKIAkJLyogU3RyZWFtIGNvdWxkIGJlIGNsb3NlZCBieSB0aGUg
dGltZSB3ZSBydW4uICovCi0JCWlmIChmaXJzdF90ZCA8IDApIHsKLQkJCWdvdG8gcGxheTsKLQkJ
fQotCi0JCWNtZCA9IGRicmlfY21kbG9jayhkYnJpLCAyKTsKLQkJKihjbWQrKykgPSBEQlJJX0NN
RChEX1NEUCwgMCwKLQkJCQkgICAgZGJyaS0+cGlwZXNbaW5mby0+cGlwZV0uc2RwCi0JCQkJICAg
IHwgRF9TRFBfUCB8IERfU0RQX0VWRVJZIHwgRF9TRFBfQyk7Ci0JCSooY21kKyspID0gZGJyaS0+
ZG1hX2R2bWEgKyBkYnJpX2RtYV9vZmYoZGVzYywgZmlyc3RfdGQpOwotCQlkYnJpX2NtZHNlbmQo
ZGJyaSwgY21kLCAyKTsKKwkJaWYgKGZpcnN0X3RkID49IDApIHsKKwkJCWNtZCA9IGRicmlfY21k
bG9jayhkYnJpLCAyKTsKKwkJCSooY21kKyspID0gREJSSV9DTUQoRF9TRFAsIDAsCisJCQkJCSAg
ICBkYnJpLT5waXBlc1tpbmZvLT5waXBlXS5zZHAKKwkJCQkJICAgIHwgRF9TRFBfUCB8IERfU0RQ
X0VWRVJZIHwgRF9TRFBfQyk7CisJCQkqKGNtZCsrKSA9IGRicmktPmRtYV9kdm1hICsgZGJyaV9k
bWFfb2ZmKGRlc2MsIGZpcnN0X3RkKTsKKwkJCWRicmlfY21kc2VuZChkYnJpLCBjbWQsIDIpOwog
Ci0JCS8qIFJlc2V0IG91ciBhZG1pbiBvZiB0aGUgcGlwZSAmIGJ5dGVzIHJlYWQuICovCi0JCWRi
cmktPnBpcGVzW2luZm8tPnBpcGVdLmRlc2MgPSBmaXJzdF90ZDsKKwkJCS8qIFJlc2V0IG91ciBh
ZG1pbiBvZiB0aGUgcGlwZS4gKi8KKwkJCWRicmktPnBpcGVzW2luZm8tPnBpcGVdLmRlc2MgPSBm
aXJzdF90ZDsKKwkJfQogCX0KIAotcGxheToKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkYnJp
LT5sb2NrLCBmbGFncyk7Ci0KLQkvKiBOb3cgY2hlY2sgdGhlIHBsYXliYWNrIHN0cmVhbSBmb3Ig
YnVmZmVyIHVuZGVyZmxvdyAqLwogCWluZm8gPSAmZGJyaS0+c3RyZWFtX2luZm9bREJSSV9QTEFZ
XTsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmZGJyaS0+bG9jaywgZmxhZ3MpOwogCiAJaWYgKGluZm8t
PnBpcGUgPj0gMCkgewogCQlmaXJzdF90ZCA9IGRicmktPnBpcGVzW2luZm8tPnBpcGVdLmZpcnN0
X2Rlc2M7CkBAIC0xNjg1LDcgKzE2NzIsNyBAQCBwbGF5OgogCQkJKihjbWQrKykgPSBkYnJpLT5k
bWFfZHZtYSArIGRicmlfZG1hX29mZihkZXNjLCBmaXJzdF90ZCk7CiAJCQlkYnJpX2NtZHNlbmQo
ZGJyaSwgY21kLCAyKTsKIAotCQkJLyogUmVzZXQgb3VyIGFkbWluIG9mIHRoZSBwaXBlICYgYnl0
ZXMgd3JpdHRlbi4gKi8KKwkJCS8qIFJlc2V0IG91ciBhZG1pbiBvZiB0aGUgcGlwZS4gKi8KIAkJ
CWRicmktPnBpcGVzW2luZm8tPnBpcGVdLmRlc2MgPSBmaXJzdF90ZDsKIAkJfQogCX0KQEAgLTE3
NTUsNyArMTc0Miw2IEBAIHN0YXRpYyB2b2lkIHJlY2VwdGlvbl9jb21wbGV0ZV9pbnRyKHN0cnUK
IAkJcmV0dXJuOwogCX0KIAotCWRicmktPmRtYS0+ZGVzY1tyZF0uYmEgPSAwOwogCWRicmktPnBp
cGVzW3BpcGVdLmRlc2MgPSBkYnJpLT5uZXh0X2Rlc2NbcmRdOwogCXN0YXR1cyA9IGRicmktPmRt
YS0+ZGVzY1tyZF0ud29yZDE7CiAJZGJyaS0+ZG1hLT5kZXNjW3JkXS53b3JkMSA9IDA7CS8qIFJl
c2V0IGl0IGZvciBuZXh0IHRpbWUuICovCkBAIC0xNzY4LDE4ICsxNzU0LDYgQEAgc3RhdGljIHZv
aWQgcmVjZXB0aW9uX2NvbXBsZXRlX2ludHIoc3RydQogCWRwcmludGsoRF9JTlQsICJSZWN2IFJE
ICVkLCBzdGF0dXMgMHglMDJ4LCBsZW4gJWRcbiIsCiAJCXJkLCBEQlJJX1JEX1NUQVRVUyhzdGF0
dXMpLCBEQlJJX1JEX0NOVChzdGF0dXMpKTsKIAotCS8qIE9uIHRoZSBsYXN0IFRELCB0cmFuc21p
dCB0aGVtIGFsbCBhZ2Fpbi4gKi8KLSNpZiAwCi0JaWYgKGRicmktPm5leHRfZGVzY1tyZF0gPT0g
LTEpIHsKLQkJaWYgKGluZm8tPmxlZnQgPiBpbmZvLT5zaXplKSB7Ci0JCQlwcmludGsoS0VSTl9X
QVJOSU5HCi0JCQkgICAgICAgIiVkIGJ5dGVzIHJlY29yZGVkIGluICVkIHNpemUgYnVmZmVyLlxu
IiwKLQkJCSAgICAgICBpbmZvLT5sZWZ0LCBpbmZvLT5zaXplKTsKLQkJfQotCQl0YXNrbGV0X3Nj
aGVkdWxlKCZ4bWl0X2Rlc2NzX3Rhc2spOwotCX0KLSNlbmRpZgotCiAJLyogTm90aWZ5IEFMU0Eg
Ki8KIAlpZiAoc3Bpbl9pc19sb2NrZWQoJmRicmktPmxvY2spKSB7CiAJCXNwaW5fdW5sb2NrKCZk
YnJpLT5sb2NrKTsKQEAgLTIxMTMsNiArMjA4Nyw3IEBAIHN0YXRpYyBpbnQgc25kX2RicmlfcHJl
cGFyZShzdHJ1Y3Qgc25kX3AKIAkJaW5mby0+cGlwZSA9IDY7CS8qIFJlY2VpdmUgcGlwZSAqLwog
CiAJc3Bpbl9sb2NrX2lycSgmZGJyaS0+bG9jayk7CisJaW5mby0+b2Zmc2V0ID0gMDsKIAogCS8q
IFNldHVwIHRoZSBhbGwgdGhlIHRyYW5zbWl0L3JlY2VpdmUgZGVzY2lwdG9ycyB0byBjb3ZlciB0
aGUKIAkgKiB3aG9sZSBETUEgYnVmZmVyLgo=
--part44ef3a2db03f0--
[-- Attachment #2: Type: text/plain, Size: 373 bytes --]
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
[-- Attachment #3: Type: text/plain, Size: 161 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sparc dbri: recording is back
2006-08-25 17:58 ` Krzysztof Helt
@ 2006-08-28 11:10 ` Takashi Iwai
0 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2006-08-28 11:10 UTC (permalink / raw)
To: Krzysztof Helt; +Cc: alsa-devel
At Fri, 25 Aug 2006 19:58:05 +0200,
Krzysztof Helt wrote:
>
> From: Krzysztof Helt (krzysztof.h1@wp.pl)
>
> This patch fixes sound recording after the driver convertion to
> ring buffered version. It also contains small clean ups to the
> driver.
>
> Signed-off-by: Krzysztof Helt (krzysztof.h1@wp.pl)
Thanks, applied now.
> ---
>
> This is repost of the patch against current HG tree. It contains
> part of the 13th patch as it really belong to this one.
>
> The 12th patch is the same as I posted it (there is no need to
> change it). Should I repost it as well?
Already applied together with this patch.
Takashi
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-08-28 11:10 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-23 18:10 [PATCH] sparc dbri: recording is back Krzysztof Helt
2006-08-23 18:16 ` Takashi Iwai
2006-08-24 6:09 ` Krzysztof Helt
2006-08-24 9:21 ` Takashi Iwai
2006-08-25 17:58 ` Krzysztof Helt
2006-08-28 11:10 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.