diff options
author | Takashi Iwai <tiwai@suse.de> | 2017-06-20 01:53:07 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2017-06-20 01:53:07 -0400 |
commit | 7fc8e7c1d9787ab8cb0f91adb3bc9c2c64c00ef8 (patch) | |
tree | 6c5c7d9e05ef0d494265ef924ac909c959101fba | |
parent | 8cad7a3db658a0652e4ced46dc44fbc7872f0823 (diff) | |
parent | c7ecb9068e6772c43941ce609f08bc53f36e1dce (diff) |
Merge branch 'for-linus' into for-next
-rw-r--r-- | sound/core/pcm_lib.c | 4 | ||||
-rw-r--r-- | sound/firewire/amdtp-stream.c | 8 | ||||
-rw-r--r-- | sound/firewire/amdtp-stream.h | 2 | ||||
-rw-r--r-- | sound/pci/hda/hda_intel.c | 11 |
4 files changed, 17 insertions, 8 deletions
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index 461c21f21caf..e8131c060c86 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c | |||
@@ -2329,7 +2329,7 @@ static int pcm_chmap_ctl_get(struct snd_kcontrol *kcontrol, | |||
2329 | struct snd_pcm_substream *substream; | 2329 | struct snd_pcm_substream *substream; |
2330 | const struct snd_pcm_chmap_elem *map; | 2330 | const struct snd_pcm_chmap_elem *map; |
2331 | 2331 | ||
2332 | if (snd_BUG_ON(!info->chmap)) | 2332 | if (!info->chmap) |
2333 | return -EINVAL; | 2333 | return -EINVAL; |
2334 | substream = snd_pcm_chmap_substream(info, idx); | 2334 | substream = snd_pcm_chmap_substream(info, idx); |
2335 | if (!substream) | 2335 | if (!substream) |
@@ -2361,7 +2361,7 @@ static int pcm_chmap_ctl_tlv(struct snd_kcontrol *kcontrol, int op_flag, | |||
2361 | unsigned int __user *dst; | 2361 | unsigned int __user *dst; |
2362 | int c, count = 0; | 2362 | int c, count = 0; |
2363 | 2363 | ||
2364 | if (snd_BUG_ON(!info->chmap)) | 2364 | if (!info->chmap) |
2365 | return -EINVAL; | 2365 | return -EINVAL; |
2366 | if (size < 8) | 2366 | if (size < 8) |
2367 | return -ENOMEM; | 2367 | return -ENOMEM; |
diff --git a/sound/firewire/amdtp-stream.c b/sound/firewire/amdtp-stream.c index 9678bc75dc5b..3fc581a5ad62 100644 --- a/sound/firewire/amdtp-stream.c +++ b/sound/firewire/amdtp-stream.c | |||
@@ -701,7 +701,9 @@ static void out_stream_callback(struct fw_iso_context *context, u32 tstamp, | |||
701 | cycle = increment_cycle_count(cycle, 1); | 701 | cycle = increment_cycle_count(cycle, 1); |
702 | if (s->handle_packet(s, 0, cycle, i) < 0) { | 702 | if (s->handle_packet(s, 0, cycle, i) < 0) { |
703 | s->packet_index = -1; | 703 | s->packet_index = -1; |
704 | amdtp_stream_pcm_abort(s); | 704 | if (in_interrupt()) |
705 | amdtp_stream_pcm_abort(s); | ||
706 | WRITE_ONCE(s->pcm_buffer_pointer, SNDRV_PCM_POS_XRUN); | ||
705 | return; | 707 | return; |
706 | } | 708 | } |
707 | } | 709 | } |
@@ -753,7 +755,9 @@ static void in_stream_callback(struct fw_iso_context *context, u32 tstamp, | |||
753 | /* Queueing error or detecting invalid payload. */ | 755 | /* Queueing error or detecting invalid payload. */ |
754 | if (i < packets) { | 756 | if (i < packets) { |
755 | s->packet_index = -1; | 757 | s->packet_index = -1; |
756 | amdtp_stream_pcm_abort(s); | 758 | if (in_interrupt()) |
759 | amdtp_stream_pcm_abort(s); | ||
760 | WRITE_ONCE(s->pcm_buffer_pointer, SNDRV_PCM_POS_XRUN); | ||
757 | return; | 761 | return; |
758 | } | 762 | } |
759 | 763 | ||
diff --git a/sound/firewire/amdtp-stream.h b/sound/firewire/amdtp-stream.h index 6d613f2eb612..ed6eafd10992 100644 --- a/sound/firewire/amdtp-stream.h +++ b/sound/firewire/amdtp-stream.h | |||
@@ -135,7 +135,7 @@ struct amdtp_stream { | |||
135 | /* For a PCM substream processing. */ | 135 | /* For a PCM substream processing. */ |
136 | struct snd_pcm_substream *pcm; | 136 | struct snd_pcm_substream *pcm; |
137 | struct tasklet_struct period_tasklet; | 137 | struct tasklet_struct period_tasklet; |
138 | unsigned int pcm_buffer_pointer; | 138 | snd_pcm_uframes_t pcm_buffer_pointer; |
139 | unsigned int pcm_period_pointer; | 139 | unsigned int pcm_period_pointer; |
140 | 140 | ||
141 | /* To wait for first packet. */ | 141 | /* To wait for first packet. */ |
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 1770f085c2a6..01eb1dc7b5b3 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -370,10 +370,12 @@ enum { | |||
370 | #define IS_KBL_LP(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9d71) | 370 | #define IS_KBL_LP(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9d71) |
371 | #define IS_KBL_H(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa2f0) | 371 | #define IS_KBL_H(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa2f0) |
372 | #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98) | 372 | #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98) |
373 | #define IS_BXT_T(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x1a98) | ||
373 | #define IS_GLK(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x3198) | 374 | #define IS_GLK(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x3198) |
374 | #define IS_SKL_PLUS(pci) (IS_SKL(pci) || IS_SKL_LP(pci) || IS_BXT(pci)) || \ | 375 | #define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348) |
375 | IS_KBL(pci) || IS_KBL_LP(pci) || IS_KBL_H(pci) || \ | 376 | #define IS_SKL_PLUS(pci) (IS_SKL(pci) || IS_SKL_LP(pci) || IS_BXT(pci) || \ |
376 | IS_GLK(pci) | 377 | IS_BXT_T(pci) || IS_KBL(pci) || IS_KBL_LP(pci) || \ |
378 | IS_KBL_H(pci) || IS_GLK(pci) || IS_CFL(pci)) | ||
377 | 379 | ||
378 | static char *driver_short_names[] = { | 380 | static char *driver_short_names[] = { |
379 | [AZX_DRIVER_ICH] = "HDA Intel", | 381 | [AZX_DRIVER_ICH] = "HDA Intel", |
@@ -2378,6 +2380,9 @@ static const struct pci_device_id azx_ids[] = { | |||
2378 | /* Kabylake-H */ | 2380 | /* Kabylake-H */ |
2379 | { PCI_DEVICE(0x8086, 0xa2f0), | 2381 | { PCI_DEVICE(0x8086, 0xa2f0), |
2380 | .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE }, | 2382 | .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE }, |
2383 | /* Coffelake */ | ||
2384 | { PCI_DEVICE(0x8086, 0xa348), | ||
2385 | .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE}, | ||
2381 | /* Broxton-P(Apollolake) */ | 2386 | /* Broxton-P(Apollolake) */ |
2382 | { PCI_DEVICE(0x8086, 0x5a98), | 2387 | { PCI_DEVICE(0x8086, 0x5a98), |
2383 | .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_BROXTON }, | 2388 | .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_BROXTON }, |