[alsa-devel] [PATCH] hdspm: native float
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
Florian Faber wrote:
diff a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
Please use unified diff format and add Signed-off-by; see linux/Documentation/SubmittingPatches.
Modified 2009-04-14 for native float support by Florian Faber
<faber@faberman.de>
Changelogs are now in git.
/* Switch to native float format if requested */ ... hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
This looks like a global change. What happens when playback and recording want to use different formats?
Best regards, Clemens
Clemens,
/* Switch to native float format if requested */ ... hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
This looks like a global change. What happens when playback and recording want to use different formats?
It is a global change. The only use case is for jack, and jack doesn't use different formats for input/output.
Florian Faber wrote:
/* Switch to native float format if requested */ ... hdspm_write(hdspm, HDSPM_controlRegister, hdspm->control_register);
This looks like a global change. What happens when playback and recording want to use different formats?
It is a global change. The only use case is for jack, and jack doesn't use different formats for input/output.
"Using aplay + arecord" is a second use case. :-)
Anyway, at least add a check that the formats are actually the same (like the checks for sample rate and period size).
Best regards, Clemens
Clemens,
It is a global change. The only use case is for jack, and jack doesn't use different formats for input/output.
"Using aplay + arecord" is a second use case. :-)
And they would willingly choose different formats?
Anyway, at least add a check that the formats are actually the same (like the checks for sample rate and period size).
Ok.
I just fixed a bug regarding the clock source anyway (LAC-live-debugging :).
At Thu, 16 Apr 2009 14:12:21 +0200, Florian Faber wrote:
It is a global change. The only use case is for jack, and jack doesn't use different formats for input/output.
"Using aplay + arecord" is a second use case. :-)
And they would willingly choose different formats?
Possibly. It's not always the same user who play and record.
thanks,
Takashi
On Thu, Apr 16, 2009 at 02:12:21PM +0200, Florian Faber wrote:
It is a global change. The only use case is for jack, and jack doesn't use different formats for input/output.
"Using aplay + arecord" is a second use case. :-)
And they would willingly choose different formats?
A moderately common case is recording voice quality audio (at 8kHz or so) and playing back higher quality audio.
On Thu, Apr 16, 2009 at 01:41:59PM +0100, Mark Brown wrote:
On Thu, Apr 16, 2009 at 02:12:21PM +0200, Florian Faber wrote:
It is a global change. The only use case is for jack, and jack doesn't use different formats for input/output.
"Using aplay + arecord" is a second use case. :-)
And they would willingly choose different formats?
A moderately common case is recording voice quality audio (at 8kHz or so) and playing back higher quality audio.
Perhaps a little less common on a 64-channel MADI interface like this :-)
John
On Thu, Apr 16, 2009 at 01:41:59PM +0100, Mark Brown wrote:
On Thu, Apr 16, 2009 at 02:12:21PM +0200, Florian Faber wrote:
It is a global change. The only use case is for jack, and jack doesn't use different formats for input/output.
"Using aplay + arecord" is a second use case. :-)
And they would willingly choose different formats?
A moderately common case is recording voice quality audio (at 8kHz or so) and playing back higher quality audio.
Perhaps a little less common on a 64-channel MADI interface like this :-)
John
participants (6)
-
Clemens Ladisch
-
Florian Faber
-
John Rigg
-
John Rigg
-
Mark Brown
-
Takashi Iwai