Skip to content

Commit 2cd0b50

Browse files
committed
Merge tag 'sound-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "This contains the usual stuff -- the fixups and quirks for HD-audio and USB-audio, in addition to a bad regression fix in ALSA sequencer timer since 4.8, and a trivial fix for asihpi PCI driver" * tag 'sound-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: usb-audio: Add quirk for Syntek STK1160 ALSA: seq: Fix time account regression ALSA: hda - Fix surround output pins for ASRock B150M mobo ALSA: hda - Fix headset mic detection problem for two Dell laptops ALSA: asihpi: fix kernel memory disclosure ALSA: hda - Adding a new group of pin cfg into ALC295 pin quirk table ALSA: hda - allow 40 bit DMA mask for NVidia devices
2 parents bdb5208 + bdc3478 commit 2cd0b50

5 files changed

Lines changed: 52 additions & 8 deletions

File tree

sound/core/seq/seq_timer.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -448,8 +448,8 @@ snd_seq_real_time_t snd_seq_timer_get_cur_time(struct snd_seq_timer *tmr)
448448

449449
ktime_get_ts64(&tm);
450450
tm = timespec64_sub(tm, tmr->last_update);
451-
cur_time.tv_nsec = tm.tv_nsec;
452-
cur_time.tv_sec = tm.tv_sec;
451+
cur_time.tv_nsec += tm.tv_nsec;
452+
cur_time.tv_sec += tm.tv_sec;
453453
snd_seq_sanity_real_time(&cur_time);
454454
}
455455
spin_unlock_irqrestore(&tmr->lock, flags);

sound/pci/asihpi/hpioctl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ long asihpi_hpi_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
111111
return -EINVAL;
112112

113113
hm = kmalloc(sizeof(*hm), GFP_KERNEL);
114-
hr = kmalloc(sizeof(*hr), GFP_KERNEL);
114+
hr = kzalloc(sizeof(*hr), GFP_KERNEL);
115115
if (!hm || !hr) {
116116
err = -ENOMEM;
117117
goto out;

sound/pci/hda/hda_intel.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,8 +341,7 @@ enum {
341341

342342
/* quirks for Nvidia */
343343
#define AZX_DCAPS_PRESET_NVIDIA \
344-
(AZX_DCAPS_NO_MSI | /*AZX_DCAPS_ALIGN_BUFSIZE |*/ \
345-
AZX_DCAPS_NO_64BIT | AZX_DCAPS_CORBRP_SELF_CLEAR |\
344+
(AZX_DCAPS_NO_MSI | AZX_DCAPS_CORBRP_SELF_CLEAR |\
346345
AZX_DCAPS_SNOOP_TYPE(NVIDIA))
347346

348347
#define AZX_DCAPS_PRESET_CTHDA \
@@ -1716,6 +1715,10 @@ static int azx_first_init(struct azx *chip)
17161715
}
17171716
}
17181717

1718+
/* NVidia hardware normally only supports up to 40 bits of DMA */
1719+
if (chip->pci->vendor == PCI_VENDOR_ID_NVIDIA)
1720+
dma_bits = 40;
1721+
17191722
/* disable 64bit DMA address on some devices */
17201723
if (chip->driver_caps & AZX_DCAPS_NO_64BIT) {
17211724
dev_dbg(card->dev, "Disabling 64bit DMA\n");

sound/pci/hda/patch_realtek.c

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5811,8 +5811,6 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
58115811
#define ALC295_STANDARD_PINS \
58125812
{0x12, 0xb7a60130}, \
58135813
{0x14, 0x90170110}, \
5814-
{0x17, 0x21014020}, \
5815-
{0x18, 0x21a19030}, \
58165814
{0x21, 0x04211020}
58175815

58185816
#define ALC298_STANDARD_PINS \
@@ -5858,10 +5856,18 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
58585856
{0x14, 0x90170110},
58595857
{0x1b, 0x02011020},
58605858
{0x21, 0x0221101f}),
5859+
SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
5860+
{0x14, 0x90170110},
5861+
{0x1b, 0x01011020},
5862+
{0x21, 0x0221101f}),
58615863
SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
58625864
{0x14, 0x90170130},
58635865
{0x1b, 0x01014020},
58645866
{0x21, 0x0221103f}),
5867+
SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
5868+
{0x14, 0x90170130},
5869+
{0x1b, 0x01011020},
5870+
{0x21, 0x0221103f}),
58655871
SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
58665872
{0x14, 0x90170130},
58675873
{0x1b, 0x02011020},
@@ -6039,7 +6045,13 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
60396045
ALC292_STANDARD_PINS,
60406046
{0x13, 0x90a60140}),
60416047
SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
6042-
ALC295_STANDARD_PINS),
6048+
ALC295_STANDARD_PINS,
6049+
{0x17, 0x21014020},
6050+
{0x18, 0x21a19030}),
6051+
SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
6052+
ALC295_STANDARD_PINS,
6053+
{0x17, 0x21014040},
6054+
{0x18, 0x21a19050}),
60436055
SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
60446056
ALC298_STANDARD_PINS,
60456057
{0x17, 0x90170110}),
@@ -6613,6 +6625,7 @@ enum {
66136625
ALC891_FIXUP_HEADSET_MODE,
66146626
ALC891_FIXUP_DELL_MIC_NO_PRESENCE,
66156627
ALC662_FIXUP_ACER_VERITON,
6628+
ALC892_FIXUP_ASROCK_MOBO,
66166629
};
66176630

66186631
static const struct hda_fixup alc662_fixups[] = {
@@ -6889,6 +6902,16 @@ static const struct hda_fixup alc662_fixups[] = {
68896902
{ }
68906903
}
68916904
},
6905+
[ALC892_FIXUP_ASROCK_MOBO] = {
6906+
.type = HDA_FIXUP_PINS,
6907+
.v.pins = (const struct hda_pintbl[]) {
6908+
{ 0x15, 0x40f000f0 }, /* disabled */
6909+
{ 0x16, 0x40f000f0 }, /* disabled */
6910+
{ 0x18, 0x01014011 }, /* LO */
6911+
{ 0x1a, 0x01014012 }, /* LO */
6912+
{ }
6913+
}
6914+
},
68926915
};
68936916

68946917
static const struct snd_pci_quirk alc662_fixup_tbl[] = {
@@ -6926,6 +6949,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = {
69266949
SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD),
69276950
SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD),
69286951
SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD),
6952+
SND_PCI_QUIRK(0x1849, 0x5892, "ASRock B150M", ALC892_FIXUP_ASROCK_MOBO),
69296953
SND_PCI_QUIRK(0x19da, 0xa130, "Zotac Z68", ALC662_FIXUP_ZOTAC_Z68),
69306954
SND_PCI_QUIRK(0x1b0a, 0x01b8, "ACER Veriton", ALC662_FIXUP_ACER_VERITON),
69316955
SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T),

sound/usb/quirks-table.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2907,6 +2907,23 @@ AU0828_DEVICE(0x2040, 0x7260, "Hauppauge", "HVR-950Q"),
29072907
AU0828_DEVICE(0x2040, 0x7213, "Hauppauge", "HVR-950Q"),
29082908
AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"),
29092909

2910+
/* Syntek STK1160 */
2911+
{
2912+
.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
2913+
USB_DEVICE_ID_MATCH_INT_CLASS |
2914+
USB_DEVICE_ID_MATCH_INT_SUBCLASS,
2915+
.idVendor = 0x05e1,
2916+
.idProduct = 0x0408,
2917+
.bInterfaceClass = USB_CLASS_AUDIO,
2918+
.bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
2919+
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
2920+
.vendor_name = "Syntek",
2921+
.product_name = "STK1160",
2922+
.ifnum = QUIRK_ANY_INTERFACE,
2923+
.type = QUIRK_AUDIO_ALIGN_TRANSFER
2924+
}
2925+
},
2926+
29102927
/* Digidesign Mbox */
29112928
{
29122929
/* Thanks to Clemens Ladisch <clemens@ladisch.de> */

0 commit comments

Comments
 (0)