Re: [patch 1/2] alsa: ASoC driver for s6000 I2S interface

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

 



On 03/26/2009 03:15 PM, Mark Brown wrote:> I'm not seeing any hits on XTENSA_VARIANT_S6000 in next?  While that> shouldn't hurt immediately since it'll just never appear it'd be good to> make sure that the APIs this depends on are going into mainline in the> form they're in.  Do you know what the status is there?
The patch introducing XTENSA_VARIANT_S6000 has already been reviewed bythe architecture maintainer and there is hope that it will make it into2.6.30. The dma api, which we posted four days ago to LKML, has notreceived any comments so far.
>> +#define S6000_I2S_RATES	(SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_KNOT | \>> +			 SNDRV_PCM_RATE_5512 | SNDRV_PCM_RATE_8000_192000)> > SND_PCM_RATE_KNOT doesn't work with ASoC (though it shouldn't do any> harm since it'll just get removed).
Except for the maximum bit clock (50 MHz) the interface doesn't care aboutthe sampling rate, so I put in all SNDRV_PCM_RATE_* constants.Shall I remove it?
>> +static inline void s6_i2s_write_reg(struct s6000_i2s_dev *dev, int reg, u32 val)>> +{>> +	writel(val, dev->scbbase + reg);>> +}> > Any reason to expose these to users? > >> +static inline void s6000_i2s_start_channel(struct s6000_i2s_dev *dev,>> +					   int channel)>> +{> > This and the rest of the functions in the file look especially like it> should be in the body of the driver.  It also looks a little large to be> forcing inline?
This was an attempt to avoid symbol exports..I'll move everything to s6000-i2s.c and export the three necessaryfunctions.
>> +	if (unlikely(i2s_errors & S6_I2S_INT_UNDERRUN) &&>> +	    playback->runtime &&>> +	    snd_pcm_running(playback)) {>> +		printk(KERN_WARNING "s6000-i2s: Tx Underrun\n");>> +		s6000_i2s_start(playback);>> +>> +		prtd = playback->runtime->private_data;>> +		spin_lock(&prtd->lock);>> +		s6000_pcm_enqueue_dma(playback);>> +		/* a second descriptor will be queued below */>> +		spin_unlock(&prtd->lock);> > Hrm.  ALSA has underrun handling mechanisms as standard?
I guess snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN) is the way to go then?
The remaining issues will be addressed in the v2 patch as well.
  Daniel

-- Dipl.-Math. Daniel Glöckner, emlix GmbH, http://www.emlix.comFon +49 551 30664-0, Fax -11, Bahnhofsallee 1b, 37081 Göttingen, GermanyGeschäftsführung: Dr. Uwe Kracke, Dr. Cord Seele, Ust-IdNr.: DE 205 198 055Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
emlix - your embedded linux partner
_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/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