forked from luck/tmp_suning_uos_patched
sound fixes for 5.10-rc1
Just a few additional small and trivial fixes. -----BEGIN PGP SIGNATURE----- iQJCBAABCAAsFiEEIXTw5fNLNI7mMiVaLtJE4w1nLE8FAl+SkUgOHHRpd2FpQHN1 c2UuZGUACgkQLtJE4w1nLE9ixA/9GMw908i3U2kzd3GcJNRZXZ6C1q9kJ/vbKI2u 4l7G7cQ+VI5Yqd+ac3Dq8oe1bwkNyUDFtHwVDM7XXxbD0tOOT5WcZWss8nMMuZpM IRiYot0YpwV7QM80lB/YXHRLrUKT+3TG0RUgO0MO8ji6V4IkSbbhWVHp6B2qVLec 2H3fkxA5OLy4d0fiwZHzuZo4fGLo82fXvvmjy8ZStqluJt6etgArQU9fsJNqE085 RqQwlcfMvLhbyv5n9HAwt9aFa4PZoYdNdn0VHk6UiqKsdr5Vbob138lsDxVBvJbn qcE5CjoCaes87PdtxO4vcA5ykuIeMXOXUTFN/vSemU1zHnjioEzpvKixT5E9oR3g 0AY2d5rZkTgcQnP9xyNJb2K6+NkEsu5OSWmg9OX2oU+Mvn+zazox0jGNIspoD1He 9sJVPFWVd2p0ObQ8sLCD8L22EUNYaJpNyOkDq6A/R9lzxjL4u1jyrvdt+jqsXiCW jBVG+yDpqHij6GqQDiIA+dCr7ZAJuWUDIRlOU0R4I/UH9hdfuXvSEjhra1lU+1Ft KTtMjfyhodSR2e4zSUItRIetKpDDwwdXiBhK0DjEHnZl0LfryFNWh7KPErFL7L9o lWVHDmcRAsCx2PFJEJHpHONaUi6zyzcQ3UTYoDrzc5FEzbO+c7CyAtGJPsgzq9r5 PFZM4X8= =sYVq -----END PGP SIGNATURE----- Merge tag 'sound-fix-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Just a few additional small and trivial fixes" * tag 'sound-fix-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix the return value if cb func is already registered ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk ALSA: hda/ca0132: make some const arrays static, makes object smaller ALSA: sparc: dbri: fix repeated word 'the'
This commit is contained in:
commit
40a03b750b
|
@ -275,16 +275,21 @@ int snd_hda_jack_detect_state_mst(struct hda_codec *codec,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(snd_hda_jack_detect_state_mst);
|
||||
|
||||
static bool func_is_already_in_callback_list(struct hda_jack_tbl *jack,
|
||||
hda_jack_callback_fn func)
|
||||
static struct hda_jack_callback *
|
||||
find_callback_from_list(struct hda_jack_tbl *jack,
|
||||
hda_jack_callback_fn func)
|
||||
{
|
||||
struct hda_jack_callback *cb;
|
||||
|
||||
if (!func)
|
||||
return NULL;
|
||||
|
||||
for (cb = jack->callback; cb; cb = cb->next) {
|
||||
if (cb->func == func)
|
||||
return true;
|
||||
return cb;
|
||||
}
|
||||
return false;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -309,7 +314,10 @@ snd_hda_jack_detect_enable_callback_mst(struct hda_codec *codec, hda_nid_t nid,
|
|||
jack = snd_hda_jack_tbl_new(codec, nid, dev_id);
|
||||
if (!jack)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
if (func && !func_is_already_in_callback_list(jack, func)) {
|
||||
|
||||
callback = find_callback_from_list(jack, func);
|
||||
|
||||
if (func && !callback) {
|
||||
callback = kzalloc(sizeof(*callback), GFP_KERNEL);
|
||||
if (!callback)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
|
|
@ -7910,8 +7910,12 @@ static void ae7_post_dsp_asi_stream_setup(struct hda_codec *codec)
|
|||
|
||||
static void ae7_post_dsp_pll_setup(struct hda_codec *codec)
|
||||
{
|
||||
const unsigned int addr[] = { 0x41, 0x45, 0x40, 0x43, 0x51 };
|
||||
const unsigned int data[] = { 0xc8, 0xcc, 0xcb, 0xc7, 0x8d };
|
||||
static const unsigned int addr[] = {
|
||||
0x41, 0x45, 0x40, 0x43, 0x51
|
||||
};
|
||||
static const unsigned int data[] = {
|
||||
0xc8, 0xcc, 0xcb, 0xc7, 0x8d
|
||||
};
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(addr); i++) {
|
||||
|
@ -7925,10 +7929,12 @@ static void ae7_post_dsp_pll_setup(struct hda_codec *codec)
|
|||
static void ae7_post_dsp_asi_setup_ports(struct hda_codec *codec)
|
||||
{
|
||||
struct ca0132_spec *spec = codec->spec;
|
||||
const unsigned int target[] = { 0x0b, 0x04, 0x06, 0x0a, 0x0c, 0x11,
|
||||
0x12, 0x13, 0x14 };
|
||||
const unsigned int data[] = { 0x12, 0x00, 0x48, 0x05, 0x5f, 0xff,
|
||||
0xff, 0xff, 0x7f };
|
||||
static const unsigned int target[] = {
|
||||
0x0b, 0x04, 0x06, 0x0a, 0x0c, 0x11, 0x12, 0x13, 0x14
|
||||
};
|
||||
static const unsigned int data[] = {
|
||||
0x12, 0x00, 0x48, 0x05, 0x5f, 0xff, 0xff, 0xff, 0x7f
|
||||
};
|
||||
unsigned int i;
|
||||
|
||||
mutex_lock(&spec->chipio_mutex);
|
||||
|
|
|
@ -620,7 +620,7 @@ A circular command buffer is used here. A new command is being added
|
|||
while another can be executed. The scheme works by adding two WAIT commands
|
||||
after each sent batch of commands. When the next batch is prepared it is
|
||||
added after the WAIT commands then the WAITs are replaced with single JUMP
|
||||
command to the new batch. The the DBRI is forced to reread the last WAIT
|
||||
command to the new batch. Then the DBRI is forced to reread the last WAIT
|
||||
command (replaced by the JUMP by then). If the DBRI is still executing
|
||||
previous commands the request to reread the WAIT command is ignored.
|
||||
|
||||
|
|
|
@ -406,6 +406,7 @@ static int line6_parse_audio_format_rates_quirk(struct snd_usb_audio *chip,
|
|||
case USB_ID(0x0e41, 0x4242): /* Line6 Helix Rack */
|
||||
case USB_ID(0x0e41, 0x4244): /* Line6 Helix LT */
|
||||
case USB_ID(0x0e41, 0x4246): /* Line6 HX-Stomp */
|
||||
case USB_ID(0x0e41, 0x4247): /* Line6 Pod Go */
|
||||
case USB_ID(0x0e41, 0x4248): /* Line6 Helix >= fw 2.82 */
|
||||
case USB_ID(0x0e41, 0x4249): /* Line6 Helix Rack >= fw 2.82 */
|
||||
case USB_ID(0x0e41, 0x424a): /* Line6 Helix LT >= fw 2.82 */
|
||||
|
|
Loading…
Reference in New Issue
Block a user