Commit d460975e authored by Takashi Iwai's avatar Takashi Iwai

Merge branch 'for-linus' into for-next

Back-merge of 5.17-devel branch for further work on Intel LPE HDMI stuff
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parents d7f15bef cd94df17
...@@ -240,9 +240,7 @@ int fcp_avc_transaction(struct fw_unit *unit, ...@@ -240,9 +240,7 @@ int fcp_avc_transaction(struct fw_unit *unit,
t.response_match_bytes = response_match_bytes; t.response_match_bytes = response_match_bytes;
t.state = STATE_PENDING; t.state = STATE_PENDING;
init_waitqueue_head(&t.wait); init_waitqueue_head(&t.wait);
t.deferrable = (*(const u8 *)command == 0x00 || *(const u8 *)command == 0x03);
if (*(const u8 *)command == 0x00 || *(const u8 *)command == 0x03)
t.deferrable = true;
spin_lock_irq(&transactions_lock); spin_lock_irq(&transactions_lock);
list_add_tail(&t.list, &transactions); list_add_tail(&t.list, &transactions);
......
...@@ -1941,6 +1941,7 @@ static int azx_first_init(struct azx *chip) ...@@ -1941,6 +1941,7 @@ static int azx_first_init(struct azx *chip)
dma_bits = 32; dma_bits = 32;
if (dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(dma_bits))) if (dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(dma_bits)))
dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(32)); dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(32));
dma_set_max_seg_size(&pci->dev, UINT_MAX);
/* read number of streams from GCAP register instead of using /* read number of streams from GCAP register instead of using
* hardcoded value * hardcoded value
......
...@@ -9144,6 +9144,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { ...@@ -9144,6 +9144,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x1558, 0x8561, "Clevo NH[57][0-9][ER][ACDH]Q", ALC269_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x1558, 0x8561, "Clevo NH[57][0-9][ER][ACDH]Q", ALC269_FIXUP_HEADSET_MIC),
SND_PCI_QUIRK(0x1558, 0x8562, "Clevo NH[57][0-9]RZ[Q]", ALC269_FIXUP_DMIC), SND_PCI_QUIRK(0x1558, 0x8562, "Clevo NH[57][0-9]RZ[Q]", ALC269_FIXUP_DMIC),
SND_PCI_QUIRK(0x1558, 0x8668, "Clevo NP50B[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x8668, "Clevo NP50B[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1558, 0x867d, "Clevo NP7[01]PN[HJK]", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1558, 0x8680, "Clevo NJ50LU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x8680, "Clevo NJ50LU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1558, 0x8686, "Clevo NH50[CZ]U", ALC256_FIXUP_MIC_NO_PRESENCE_AND_RESUME), SND_PCI_QUIRK(0x1558, 0x8686, "Clevo NH50[CZ]U", ALC256_FIXUP_MIC_NO_PRESENCE_AND_RESUME),
SND_PCI_QUIRK(0x1558, 0x8a20, "Clevo NH55DCQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x8a20, "Clevo NH55DCQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
......
...@@ -150,7 +150,6 @@ static const struct snd_kcontrol_new cs4265_snd_controls[] = { ...@@ -150,7 +150,6 @@ static const struct snd_kcontrol_new cs4265_snd_controls[] = {
SOC_SINGLE("E to F Buffer Disable Switch", CS4265_SPDIF_CTL1, SOC_SINGLE("E to F Buffer Disable Switch", CS4265_SPDIF_CTL1,
6, 1, 0), 6, 1, 0),
SOC_ENUM("C Data Access", cam_mode_enum), SOC_ENUM("C Data Access", cam_mode_enum),
SOC_SINGLE("SPDIF Switch", CS4265_SPDIF_CTL2, 5, 1, 1),
SOC_SINGLE("Validity Bit Control Switch", CS4265_SPDIF_CTL2, SOC_SINGLE("Validity Bit Control Switch", CS4265_SPDIF_CTL2,
3, 1, 0), 3, 1, 0),
SOC_ENUM("SPDIF Mono/Stereo", spdif_mono_stereo_enum), SOC_ENUM("SPDIF Mono/Stereo", spdif_mono_stereo_enum),
...@@ -186,7 +185,7 @@ static const struct snd_soc_dapm_widget cs4265_dapm_widgets[] = { ...@@ -186,7 +185,7 @@ static const struct snd_soc_dapm_widget cs4265_dapm_widgets[] = {
SND_SOC_DAPM_SWITCH("Loopback", SND_SOC_NOPM, 0, 0, SND_SOC_DAPM_SWITCH("Loopback", SND_SOC_NOPM, 0, 0,
&loopback_ctl), &loopback_ctl),
SND_SOC_DAPM_SWITCH("SPDIF", SND_SOC_NOPM, 0, 0, SND_SOC_DAPM_SWITCH("SPDIF", CS4265_SPDIF_CTL2, 5, 1,
&spdif_switch), &spdif_switch),
SND_SOC_DAPM_SWITCH("DAC", CS4265_PWRCTL, 1, 1, SND_SOC_DAPM_SWITCH("DAC", CS4265_PWRCTL, 1, 1,
&dac_switch), &dac_switch),
......
...@@ -952,6 +952,7 @@ static int skl_first_init(struct hdac_bus *bus) ...@@ -952,6 +952,7 @@ static int skl_first_init(struct hdac_bus *bus)
/* allow 64bit DMA address if supported by H/W */ /* allow 64bit DMA address if supported by H/W */
if (dma_set_mask_and_coherent(bus->dev, DMA_BIT_MASK(64))) if (dma_set_mask_and_coherent(bus->dev, DMA_BIT_MASK(64)))
dma_set_mask_and_coherent(bus->dev, DMA_BIT_MASK(32)); dma_set_mask_and_coherent(bus->dev, DMA_BIT_MASK(32));
dma_set_max_seg_size(bus->dev, UINT_MAX);
/* initialize streams */ /* initialize streams */
snd_hdac_ext_stream_init_all snd_hdac_ext_stream_init_all
......
...@@ -319,7 +319,7 @@ int snd_soc_put_volsw(struct snd_kcontrol *kcontrol, ...@@ -319,7 +319,7 @@ int snd_soc_put_volsw(struct snd_kcontrol *kcontrol,
if (ucontrol->value.integer.value[0] < 0) if (ucontrol->value.integer.value[0] < 0)
return -EINVAL; return -EINVAL;
val = ucontrol->value.integer.value[0]; val = ucontrol->value.integer.value[0];
if (mc->platform_max && val > mc->platform_max) if (mc->platform_max && ((int)val + min) > mc->platform_max)
return -EINVAL; return -EINVAL;
if (val > max - min) if (val > max - min)
return -EINVAL; return -EINVAL;
...@@ -332,7 +332,7 @@ int snd_soc_put_volsw(struct snd_kcontrol *kcontrol, ...@@ -332,7 +332,7 @@ int snd_soc_put_volsw(struct snd_kcontrol *kcontrol,
if (ucontrol->value.integer.value[1] < 0) if (ucontrol->value.integer.value[1] < 0)
return -EINVAL; return -EINVAL;
val2 = ucontrol->value.integer.value[1]; val2 = ucontrol->value.integer.value[1];
if (mc->platform_max && val2 > mc->platform_max) if (mc->platform_max && ((int)val2 + min) > mc->platform_max)
return -EINVAL; return -EINVAL;
if (val2 > max - min) if (val2 > max - min)
return -EINVAL; return -EINVAL;
......
...@@ -956,6 +956,7 @@ int hda_dsp_probe(struct snd_sof_dev *sdev) ...@@ -956,6 +956,7 @@ int hda_dsp_probe(struct snd_sof_dev *sdev)
dev_dbg(sdev->dev, "DMA mask is 32 bit\n"); dev_dbg(sdev->dev, "DMA mask is 32 bit\n");
dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(32)); dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(32));
} }
dma_set_max_seg_size(&pci->dev, UINT_MAX);
/* init streams */ /* init streams */
ret = hda_dsp_stream_init(sdev); ret = hda_dsp_stream_init(sdev);
......
...@@ -542,6 +542,16 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = { ...@@ -542,6 +542,16 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
.id = USB_ID(0x05a7, 0x40fa), .id = USB_ID(0x05a7, 0x40fa),
.map = bose_soundlink_map, .map = bose_soundlink_map,
}, },
{
/* Corsair Virtuoso SE Latest (wired mode) */
.id = USB_ID(0x1b1c, 0x0a3f),
.map = corsair_virtuoso_map,
},
{
/* Corsair Virtuoso SE Latest (wireless mode) */
.id = USB_ID(0x1b1c, 0x0a40),
.map = corsair_virtuoso_map,
},
{ {
/* Corsair Virtuoso SE (wired mode) */ /* Corsair Virtuoso SE (wired mode) */
.id = USB_ID(0x1b1c, 0x0a3d), .id = USB_ID(0x1b1c, 0x0a3d),
......
...@@ -1261,7 +1261,7 @@ static int had_pcm_mmap(struct snd_pcm_substream *substream, ...@@ -1261,7 +1261,7 @@ static int had_pcm_mmap(struct snd_pcm_substream *substream,
{ {
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
return remap_pfn_range(vma, vma->vm_start, return remap_pfn_range(vma, vma->vm_start,
substream->dma_buffer.addr >> PAGE_SHIFT, substream->runtime->dma_addr >> PAGE_SHIFT,
vma->vm_end - vma->vm_start, vma->vm_page_prot); vma->vm_end - vma->vm_start, vma->vm_page_prot);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment