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@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