* [PATCH 0/5] miscellaneous patches for 3.18
@ 2014-09-07 19:42 Clemens Ladisch
2014-09-07 19:43 ` [PATCH 1/5] ALSA: pcm: snd_interval_step: drop the min parameter Clemens Ladisch
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Clemens Ladisch @ 2014-09-07 19:42 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
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(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [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
end of thread, other threads:[~2014-09-08 9:00 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH 3/5] ALSA: usb-audio: add MIDI port names for the Yamaha MOTIF XF Clemens Ladisch
2014-09-07 19:45 ` [PATCH 4/5] ALSA: virtuoso: add one more headphone impedance setting 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
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.