[alsa-devel] [PATCH] hdspm: native float

Florian Faber faber at faberman.de
Tue Apr 14 19:11:45 CEST 2009


Adds native float support to the driver. The interface has hardware
support for CoreAudio[tm], why shouldn't jack users benefit from it.

diff a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c

13a14,16
>  *      Modified 2009-04-14 for native float support by Florian Faber
>  *                                               <faber at faberman.de>
>  *
39a43
> #include <sound/pcm_params.h>
198a203
> #define HDSPe_FLOAT_FORMAT         0x2000000
3726a3732,3747
> 
> 
> 	/* Switch to native float format if requested */
> 	if (SNDRV_PCM_FORMAT_FLOAT_LE == params_format(params)) {
> 	  if (!(hdspm->control_register & HDSPe_FLOAT_FORMAT)) {
> 	    snd_printk(KERN_INFO "hdspm: Switching to native 32bit LE float
format.\n");
> 	  }
> 	  hdspm->control_register |= HDSPe_FLOAT_FORMAT;
> 	} else if (SNDRV_PCM_FORMAT_S32_LE == params_format(params)) {
> 	  if (hdspm->control_register & HDSPe_FLOAT_FORMAT) {
> 	    snd_printk(KERN_INFO "hdspm: Switching to native 32bit LE integer
format.\n");
> 	  }
> 	  hdspm->control_register &= ~HDSPe_FLOAT_FORMAT;
> 	}
> 	hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
> 
3870c3891
< 	.formats = SNDRV_PCM_FMTBIT_S32_LE,
---
> 	.formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_FLOAT_LE,
3895c3916
< 	.formats = SNDRV_PCM_FMTBIT_S32_LE,
---
> 	.formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_FLOAT_LE,

Flo
-- 
Machines can do the work, so people have time to think.
public key 6C002249          x-hkp://wwwkeys.eu.pgp.net



More information about the Alsa-devel mailing list