* [PATCH 1/5] ALSA: pcm: snd_interval_step: drop the min parameter
2014-09-07 19:42 [PATCH 0/5] miscellaneous patches for 3.18 Clemens Ladisch
@ 2014-09-07 19:43 ` Clemens Ladisch
2014-09-07 19:43 ` [PATCH 0/5] ALSA: pcm: snd_interval_step: fix changes of open intervals Clemens Ladisch
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Clemens Ladisch @ 2014-09-07 19:43 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The min parameter was not used by any caller. And if it were used,
underflows in the calculations could lead to incorrect results.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
---
sound/core/pcm_lib.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index 9acc77e..6fd5e1c 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -1113,16 +1113,16 @@ int snd_interval_list(struct snd_interval *i, unsigned int count,
EXPORT_SYMBOL(snd_interval_list);
-static int snd_interval_step(struct snd_interval *i, unsigned int min, unsigned int step)
+static int snd_interval_step(struct snd_interval *i, unsigned int step)
{
unsigned int n;
int changed = 0;
- n = (i->min - min) % step;
+ n = i->min % step;
if (n != 0 || i->openmin) {
i->min += step - n;
changed = 1;
}
- n = (i->max - min) % step;
+ n = i->max % step;
if (n != 0 || i->openmax) {
i->max -= n;
changed = 1;
@@ -1427,7 +1427,7 @@ static int snd_pcm_hw_rule_step(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{
unsigned long step = (unsigned long) rule->private;
- return snd_interval_step(hw_param_interval(params, rule->var), 0, step);
+ return snd_interval_step(hw_param_interval(params, rule->var), step);
}
/**
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 0/5] ALSA: pcm: snd_interval_step: fix changes of open intervals
2014-09-07 19:42 [PATCH 0/5] miscellaneous patches for 3.18 Clemens Ladisch
2014-09-07 19:43 ` [PATCH 1/5] ALSA: pcm: snd_interval_step: drop the min parameter Clemens Ladisch
@ 2014-09-07 19:43 ` Clemens Ladisch
2014-09-07 19:44 ` [PATCH 3/5] ALSA: usb-audio: add MIDI port names for the Yamaha MOTIF XF Clemens Ladisch
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Clemens Ladisch @ 2014-09-07 19:43 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
Changing an interval boundary to a multiple of the step size makes that
boundary exact.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
---
sound/core/pcm_lib.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index 6fd5e1c..b03c7ae 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -1120,11 +1120,13 @@ static int snd_interval_step(struct snd_interval *i, unsigned int step)
n = i->min % step;
if (n != 0 || i->openmin) {
i->min += step - n;
+ i->openmin = 0;
changed = 1;
}
n = i->max % step;
if (n != 0 || i->openmax) {
i->max -= n;
+ i->openmax = 0;
changed = 1;
}
if (snd_interval_checkempty(i)) {
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 3/5] ALSA: usb-audio: add MIDI port names for the Yamaha MOTIF XF
2014-09-07 19:42 [PATCH 0/5] miscellaneous patches for 3.18 Clemens Ladisch
2014-09-07 19:43 ` [PATCH 1/5] ALSA: pcm: snd_interval_step: drop the min parameter Clemens Ladisch
2014-09-07 19:43 ` [PATCH 0/5] ALSA: pcm: snd_interval_step: fix changes of open intervals Clemens Ladisch
@ 2014-09-07 19:44 ` Clemens Ladisch
2014-09-07 19:45 ` [PATCH 4/5] ALSA: virtuoso: add one more headphone impedance setting Clemens Ladisch
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Clemens Ladisch @ 2014-09-07 19:44 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
---
sound/usb/midi.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/sound/usb/midi.c b/sound/usb/midi.c
index 7b166c2..69e93a9 100644
--- a/sound/usb/midi.c
+++ b/sound/usb/midi.c
@@ -1506,6 +1506,12 @@ static struct port_info {
PORT_INFO(vendor, product, num, name, 0, \
SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \
SNDRV_SEQ_PORT_TYPE_HARDWARE)
+#define GM_SYNTH_PORT(vendor, product, num, name, voices) \
+ PORT_INFO(vendor, product, num, name, voices, \
+ SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \
+ SNDRV_SEQ_PORT_TYPE_MIDI_GM | \
+ SNDRV_SEQ_PORT_TYPE_HARDWARE | \
+ SNDRV_SEQ_PORT_TYPE_SYNTHESIZER)
#define ROLAND_SYNTH_PORT(vendor, product, num, name, voices) \
PORT_INFO(vendor, product, num, name, voices, \
SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \
@@ -1525,6 +1531,11 @@ static struct port_info {
SNDRV_SEQ_PORT_TYPE_MIDI_MT32 | \
SNDRV_SEQ_PORT_TYPE_HARDWARE | \
SNDRV_SEQ_PORT_TYPE_SYNTHESIZER)
+ /* Yamaha MOTIF XF */
+ GM_SYNTH_PORT(0x0499, 0x105c, 0, "%s Tone Generator", 128),
+ CONTROL_PORT(0x0499, 0x105c, 1, "%s Remote Control"),
+ EXTERNAL_PORT(0x0499, 0x105c, 2, "%s Thru"),
+ CONTROL_PORT(0x0499, 0x105c, 3, "%s Editor"),
/* Roland UA-100 */
CONTROL_PORT(0x0582, 0x0000, 2, "%s Control"),
/* Roland SC-8850 */
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 4/5] ALSA: virtuoso: add one more headphone impedance setting
2014-09-07 19:42 [PATCH 0/5] miscellaneous patches for 3.18 Clemens Ladisch
` (2 preceding siblings ...)
2014-09-07 19:44 ` [PATCH 3/5] ALSA: usb-audio: add MIDI port names for the Yamaha MOTIF XF Clemens Ladisch
@ 2014-09-07 19:45 ` Clemens Ladisch
2014-09-07 19:47 ` [PATCH 5/5] ALSA: virtuoso: add Xonar Essence STX II daughterboard support Clemens Ladisch
2014-09-08 9:00 ` [PATCH 0/5] miscellaneous patches for 3.18 Takashi Iwai
5 siblings, 0 replies; 7+ messages in thread
From: Clemens Ladisch @ 2014-09-07 19:45 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
Add one more option to the "Headphones Impedance" control to synchronize
with recent versions of the Windows driver.
Tested-by: fugazzi® <fugazzi99@gmail.com>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
---
sound/pci/oxygen/xonar_pcm179x.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/sound/pci/oxygen/xonar_pcm179x.c b/sound/pci/oxygen/xonar_pcm179x.c
index e026059..3c0a679 100644
--- a/sound/pci/oxygen/xonar_pcm179x.c
+++ b/sound/pci/oxygen/xonar_pcm179x.c
@@ -795,11 +795,11 @@ static int st_output_switch_put(struct snd_kcontrol *ctl,
static int st_hp_volume_offset_info(struct snd_kcontrol *ctl,
struct snd_ctl_elem_info *info)
{
- static const char *const names[3] = {
- "< 64 ohms", "64-300 ohms", "300-600 ohms"
+ static const char *const names[4] = {
+ "< 32 ohms", "32-64 ohms", "64-300 ohms", "300-600 ohms"
};
- return snd_ctl_enum_info(info, 1, 3, names);
+ return snd_ctl_enum_info(info, 1, 4, names);
}
static int st_hp_volume_offset_get(struct snd_kcontrol *ctl,
@@ -809,12 +809,14 @@ static int st_hp_volume_offset_get(struct snd_kcontrol *ctl,
struct xonar_pcm179x *data = chip->model_data;
mutex_lock(&chip->mutex);
- if (data->hp_gain_offset < 2*-6)
+ if (data->hp_gain_offset < 2*-12)
value->value.enumerated.item[0] = 0;
- else if (data->hp_gain_offset < 0)
+ else if (data->hp_gain_offset < 2*-6)
value->value.enumerated.item[0] = 1;
- else
+ else if (data->hp_gain_offset < 0)
value->value.enumerated.item[0] = 2;
+ else
+ value->value.enumerated.item[0] = 3;
mutex_unlock(&chip->mutex);
return 0;
}
@@ -823,13 +825,13 @@ static int st_hp_volume_offset_get(struct snd_kcontrol *ctl,
static int st_hp_volume_offset_put(struct snd_kcontrol *ctl,
struct snd_ctl_elem_value *value)
{
- static const s8 offsets[] = { 2*-18, 2*-6, 0 };
+ static const s8 offsets[] = { 2*-18, 2*-12, 2*-6, 0 };
struct oxygen *chip = ctl->private_data;
struct xonar_pcm179x *data = chip->model_data;
s8 offset;
int changed;
- if (value->value.enumerated.item[0] > 2)
+ if (value->value.enumerated.item[0] > 3)
return -EINVAL;
offset = offsets[value->value.enumerated.item[0]];
mutex_lock(&chip->mutex);
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 5/5] ALSA: virtuoso: add Xonar Essence STX II daughterboard support
2014-09-07 19:42 [PATCH 0/5] miscellaneous patches for 3.18 Clemens Ladisch
` (3 preceding siblings ...)
2014-09-07 19:45 ` [PATCH 4/5] ALSA: virtuoso: add one more headphone impedance setting Clemens Ladisch
@ 2014-09-07 19:47 ` Clemens Ladisch
2014-09-08 9:00 ` [PATCH 0/5] miscellaneous patches for 3.18 Takashi Iwai
5 siblings, 0 replies; 7+ messages in thread
From: Clemens Ladisch @ 2014-09-07 19:47 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
Detect and handle the H6 daughterboard; it works the same as with the
ST, except that there is no conflict with the CS2000 chip.
Tested-by: Andreas Allacher <andreas.allacher@gmx.at>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
---
sound/pci/oxygen/xonar_pcm179x.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/sound/pci/oxygen/xonar_pcm179x.c b/sound/pci/oxygen/xonar_pcm179x.c
index 3c0a679..0d6a805 100644
--- a/sound/pci/oxygen/xonar_pcm179x.c
+++ b/sound/pci/oxygen/xonar_pcm179x.c
@@ -419,6 +419,7 @@ static void xonar_st_init_common(struct oxygen *chip)
data->generic.output_enable_bit = GPIO_ST_OUTPUT_ENABLE;
data->dacs = chip->model.dac_channels_mixer / 2;
+ data->h6 = chip->model.dac_channels_mixer > 2;
data->hp_gain_offset = 2*-18;
pcm1796_init(chip);
@@ -1142,8 +1143,18 @@ int get_xonar_pcm179x_model(struct oxygen *chip,
break;
case 0x85f4:
chip->model = model_xonar_st;
- /* TODO: daughterboard support */
- chip->model.shortname = "Xonar STX II";
+ oxygen_clear_bits16(chip, OXYGEN_GPIO_CONTROL, GPIO_DB_MASK);
+ switch (oxygen_read16(chip, OXYGEN_GPIO_DATA) & GPIO_DB_MASK) {
+ default:
+ chip->model.shortname = "Xonar STX II";
+ break;
+ case GPIO_DB_H6:
+ chip->model.shortname = "Xonar STX II+H6";
+ chip->model.dac_channels_pcm = 8;
+ chip->model.dac_channels_mixer = 8;
+ chip->model.dac_mclks = OXYGEN_MCLKS(256, 128, 128);
+ break;
+ }
chip->model.init = xonar_stx_init;
chip->model.resume = xonar_stx_resume;
chip->model.set_dac_params = set_pcm1796_params;
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 0/5] miscellaneous patches for 3.18
2014-09-07 19:42 [PATCH 0/5] miscellaneous patches for 3.18 Clemens Ladisch
` (4 preceding siblings ...)
2014-09-07 19:47 ` [PATCH 5/5] ALSA: virtuoso: add Xonar Essence STX II daughterboard support Clemens Ladisch
@ 2014-09-08 9:00 ` Takashi Iwai
5 siblings, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2014-09-08 9:00 UTC (permalink / raw)
To: Clemens Ladisch; +Cc: alsa-devel
At Sun, 07 Sep 2014 21:42:24 +0200,
Clemens Ladisch wrote:
>
> sound/core/pcm_lib.c | 10 ++++++----
> sound/pci/oxygen/xonar_pcm179x.c | 33 +++++++++++++++++++++++----------
> sound/usb/midi.c | 11 +++++++++++
> 3 files changed, 40 insertions(+), 14 deletions(-)
All applied. Thanks.
Takashi
^ permalink raw reply [flat|nested] 7+ messages in thread