[ALSA - driver 0001724]: au88x0 PCM configuration problem - buffer_size constraint

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

 



A NOTE has been added to this issue.
======================================================================
<https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1724> 
======================================================================
Reported By:                Raymond
Assigned To:                mjander
======================================================================
Project:                    ALSA - driver
Issue ID:                   1724
Category:                   PCI - au88x0
Reproducibility:            always
Severity:                   block
Priority:                   normal
Status:                     assigned
Distribution:               
Kernel Version:             
======================================================================
Date Submitted:             01-07-2006 05:10 CET
Last Modified:              07-05-2006 08:52 CEST
======================================================================
Summary:                    au88x0 PCM configuration problem - buffer_size
constraint
Description: 
/cvs/alsa-lib/test/pcm_min

ALSA lib pcm.c:7127:(snd_pcm_set_params) Unable to set buffer time
(latency) 500000 for PLAYBACK: Invalid argument
Playback open error: Invalid argument

sound card is au8830, the au88x0 driver only accept period size in power
of 2.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0001766 jackd : ALSA: cannot set period size to...
======================================================================

----------------------------------------------------------------------
 Raymond - 07-04-06 15:19 
----------------------------------------------------------------------
Since most common rates (22050, 44100, 48000, ...) are mulitple of 3, there
is some accuracy loss due to rounding as 

period time = period bytes / rate 

buffer time = buffer bytes / rate


period time (min=21333   max=85334)
           21334
           42667
           85334
buffer time (min=42666   max=1365334)
           42667
           85334
           106667
           149334
           170667
           213334
           234667
           277334
           298667
           341334
           362667
           405334
           426667
           469334
           490667
           533334
           554667
           597334
           618667
           661334
           682667
           725334
           810667
           853334
           938667
           981334
           1066667
           1109334
           1194667
           1237334
           1322667
           1365334


	 err = snd_pcm_hw_params_get_period_time_min(hwparams, &time_min, &dir);
	 if (err < 0) 
	     printf("Unable to get period time min for playback: %s\n",
snd_strerror(err));
	 err = snd_pcm_hw_params_get_period_time_max(hwparams, &time_max, &dir);
	 if (err < 0) 
		printf("Unable to get period time max for playback: %s\n",
snd_strerror(err));
         
         printf("period time (min=%d   max=%d)\n",time_min,time_max);
	 for (size=time_min; size<=time_max; size++)
	     if ( snd_pcm_hw_params_test_period_time(pcm,hwparams,size,dir) == 0
)
                 printf("           %d\n",size);


	 err = snd_pcm_hw_params_get_buffer_time_min(hwparams, &time_min, &dir);
	 if (err < 0) 
	     printf("Unable to get buffer time min for playback: %s\n",
snd_strerror(err));
	 err = snd_pcm_hw_params_get_buffer_time_max(hwparams, &time_max, &dir);
	 if (err < 0) 
		printf("Unable to get buffer time max for playback: %s\n",
snd_strerror(err));
         
         printf("buffer time (min=%d   max=%d)\n",time_min,time_max);
	 for (size=time_min; size<=time_max; size++)
	     if ( snd_pcm_hw_params_test_buffer_time(pcm,hwparams,size,dir) == 0
)
                 printf("           %d\n",size);



----------------------------------------------------------------------
 Raymond - 07-05-06 08:52 
----------------------------------------------------------------------
alsa-lib example (i.e. pcm.c and pcm_min.c in alsa-lib-1.0.12rc1/test) can
be run after comment out the power 2 constraints and set period_bytes_min
to 4096 (i.e. period bytes = 4K page and the constraint period bytes is
unique.)

It is strange that snd_pcm_set_params() does not return error when the
parameter latency is set to any value less than the time to play a sample.


/*
	if ((err =
	     snd_pcm_hw_constraint_pow2(runtime, 0,
					SNDRV_PCM_HW_PARAM_PERIOD_BYTES)) < 0)
		return err;
*/

...

                if (VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_ADB) {
                        runtime->hw = snd_vortex_playback_hw_adb;
                        if (substream->stream ==
SNDRV_PCM_STREAM_PLAYBACK) {
	                        if (VORTEX_IS_QUAD(vortex)) {
					runtime->hw.channels_max = 4;
					snd_pcm_hw_constraint_list(runtime, 0,
						SNDRV_PCM_HW_PARAM_CHANNELS,
						&hw_constraints_channels4);
				}
				else
					runtime->hw.channels_max = 2;
			}
			else
				runtime->hw.channels_max = 2;
			runtime->hw.period_bytes_min = 4096;
		};



However running another example (latency) freeze the computer immediately
without display any message.

Apply alsa-timer-irqsave.patch in
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=952  , running latency
display the
parameter but still freeze the computer immediately

alsa-timer-irqsave.patch only change the spin_lock and spin_unlock at the
beginning and the end of snd_timer_tasklet()

How about the spin_lock() and spin_unlock() inside the while loop in
snd_timer_tasklet() ?

Issue History
Date Modified  Username       Field                    Change              
======================================================================
01-07-06 05:10 Raymond        New Issue                                    
01-09-06 15:19 Raymond        Note Added: 0007537                          
01-19-06 15:04 Raymond        Note Deleted: 0007537                        
01-19-06 15:36 Raymond        Note Added: 0007721                          
01-28-06 07:58 Raymond        Note Added: 0007828                          
01-28-06 07:58 Raymond        Note Deleted: 0007721                        
01-30-06 18:46 Raymond        Note Added: 0007840                          
01-31-06 03:15 Raymond        Note Added: 0007844                          
01-31-06 06:41 Raymond        Note Edited: 0007840                         
01-31-06 07:03 Raymond        Note Edited: 0007840                         
01-31-06 07:08 Raymond        Note Edited: 0007840                         
01-31-06 07:11 Raymond        Note Edited: 0007840                         
01-31-06 08:31 Raymond        Note Edited: 0007840                         
01-31-06 09:48 Raymond        Note Edited: 0007844                         
01-31-06 10:19 perex          Note Added: 0007845                          
01-31-06 10:26 perex          Note Added: 0007847                          
01-31-06 10:26 perex          Note Edited: 0007847                         
01-31-06 10:48 perex          Project                  ALSA - lib => ALSA -
driver
01-31-06 10:49 perex          Category                 0_general => PCI - au88x0
01-31-06 10:49 perex          Summary                  simple PCM helper
function => au88x0 PCM configuration problem - buffer_size constraint
01-31-06 11:06 Raymond        Note Added: 0007848                          
01-31-06 13:48 perex          Status                   new => assigned     
01-31-06 13:48 perex          Assigned To               => mjander         
01-31-06 13:49 perex          Relationship added       related to 0001766  
01-31-06 15:59 Raymond        Note Added: 0007852                          
02-01-06 07:35 perex          Note Added: 0007857                          
02-01-06 10:32 Raymond        Note Added: 0007858                          
02-01-06 10:37 Raymond        Note Edited: 0007848                         
02-01-06 17:15 Raymond        Note Edited: 0007844                         
02-01-06 17:20 Raymond        Note Added: 0007860                          
02-02-06 10:23 Raymond        Note Added: 0007874                          
02-02-06 11:10 Raymond        Note Edited: 0007874                         
02-02-06 15:48 Raymond        Note Edited: 0007874                         
02-03-06 14:26 Raymond        Note Added: 0007897                          
02-04-06 02:46 Raymond        Note Edited: 0007874                         
02-04-06 02:52 Raymond        Note Edited: 0007858                         
02-04-06 02:56 Raymond        Note Edited: 0007858                         
02-05-06 16:39 Raymond        Note Added: 0007939                          
02-05-06 16:48 Raymond        Note Added: 0007940                          
02-06-06 04:40 Raymond        Note Deleted: 0007939                        
02-06-06 06:15 Raymond        Note Edited: 0007940                         
02-07-06 07:35 Raymond        Note Added: 0007954                          
02-13-06 03:11 Raymond        Note Added: 0008036                          
02-13-06 08:52 mjander        Note Added: 0008039                          
02-13-06 16:57 Raymond        Note Added: 0008055                          
02-13-06 17:02 Raymond        Note Edited: 0008055                         
02-13-06 17:02 Raymond        Note Edited: 0008055                         
02-16-06 04:01 Raymond        Note Added: 0008083                          
02-19-06 06:31 Raymond        Note Added: 0008130                          
02-19-06 06:39 Raymond        Note Edited: 0008130                         
03-07-06 11:08 Raymond        Note Added: 0008362                          
03-07-06 14:18 Raymond        Note Edited: 0007844                         
03-24-06 10:51 Raymond        File Added: snd_pcm_set_params.patch              
     
03-30-06 18:35 Raymond        Note Added: 0009036                          
05-22-06 15:11 Raymond        Note Deleted: 0008055                        
05-22-06 15:12 Raymond        Note Deleted: 0008362                        
05-22-06 15:13 Raymond        Note Deleted: 0008130                        
05-22-06 15:14 Raymond        Note Deleted: 0008083                        
05-22-06 15:15 Raymond        Note Deleted: 0009036                        
05-22-06 15:16 Raymond        Note Deleted: 0007860                        
05-22-06 15:17 Raymond        Note Deleted: 0007848                        
05-22-06 15:20 Raymond        Note Deleted: 0007940                        
05-22-06 15:24 Raymond        Note Deleted: 0007954                        
05-22-06 15:48 Raymond        Note Added: 0009912                          
05-30-06 09:36 Raymond        Note Added: 0010017                          
05-30-06 09:38 Raymond        Note Edited: 0010017                         
05-30-06 18:31 rlrevell       Note Added: 0010020                          
06-30-06 13:49 Raymond        File Added: test.c                           
06-30-06 13:53 Raymond        Note Added: 0010734                          
06-30-06 13:55 Raymond        Note Edited: 0010734                         
07-01-06 04:20 Raymond        Note Added: 0010756                          
07-01-06 04:21 Raymond        Note Edited: 0010756                         
07-01-06 04:22 Raymond        Note Edited: 0010756                         
07-02-06 09:24 Raymond        Note Added: 0010773                          
07-04-06 13:37 Raymond        Note Added: 0010820                          
07-04-06 15:17 Raymond        Note Edited: 0010820                         
07-04-06 15:19 Raymond        Note Edited: 0010820                         
07-05-06 08:52 Raymond        Note Added: 0010832                          
======================================================================



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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux