From: Greg Kroah-Hartman Date: Fri, 19 Jun 2015 18:14:34 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.10.81~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=74528c51dbd09b2dea6f6024bcd6d632342414c9;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: alsa-hda-realtek-add-a-fixup-for-another-acer-aspire-9420.patch alsa-usb-audio-add-maya44-usb-mixer-control-names.patch alsa-usb-audio-add-mic-volume-fix-quirk-for-logitech-quickcam-fusion.patch iio-adis16400-compute-the-scan-mask-from-channel-indices.patch iio-adis16400-report-pressure-channel-scale.patch iio-adis16400-use-channel-indices-for-the-two-voltage-channels.patch --- diff --git a/queue-3.10/alsa-hda-realtek-add-a-fixup-for-another-acer-aspire-9420.patch b/queue-3.10/alsa-hda-realtek-add-a-fixup-for-another-acer-aspire-9420.patch new file mode 100644 index 00000000000..467d4bd14c7 --- /dev/null +++ b/queue-3.10/alsa-hda-realtek-add-a-fixup-for-another-acer-aspire-9420.patch @@ -0,0 +1,30 @@ +From b5d724b1add6eabf3aa7276ab3454ea9f45eebd3 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 2 Jun 2015 19:57:08 +0200 +Subject: ALSA: hda/realtek - Add a fixup for another Acer Aspire 9420 + +From: Takashi Iwai + +commit b5d724b1add6eabf3aa7276ab3454ea9f45eebd3 upstream. + +Acer Aspire 9420 with ALC883 (1025:0107) needs the fixup for EAPD to +make the sound working like other Aspire models. + +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94111 +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_realtek.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -2148,6 +2148,7 @@ static const struct hda_fixup alc882_fix + static const struct snd_pci_quirk alc882_fixup_tbl[] = { + SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_FIXUP_ACER_EAPD), + SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_FIXUP_ACER_EAPD), ++ SND_PCI_QUIRK(0x1025, 0x0107, "Acer Aspire", ALC883_FIXUP_ACER_EAPD), + SND_PCI_QUIRK(0x1025, 0x010a, "Acer Ferrari 5000", ALC883_FIXUP_ACER_EAPD), + SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_FIXUP_ACER_EAPD), + SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_FIXUP_ACER_EAPD), diff --git a/queue-3.10/alsa-usb-audio-add-maya44-usb-mixer-control-names.patch b/queue-3.10/alsa-usb-audio-add-maya44-usb-mixer-control-names.patch new file mode 100644 index 00000000000..b561d2bcad4 --- /dev/null +++ b/queue-3.10/alsa-usb-audio-add-maya44-usb-mixer-control-names.patch @@ -0,0 +1,35 @@ +From 044bddb9ca8d49edb91bc22b9940a463b0dbb97f Mon Sep 17 00:00:00 2001 +From: Clemens Ladisch +Date: Wed, 3 Jun 2015 11:36:42 +0200 +Subject: ALSA: usb-audio: add MAYA44 USB+ mixer control names + +From: Clemens Ladisch + +commit 044bddb9ca8d49edb91bc22b9940a463b0dbb97f upstream. + +Add mixer control names for the ESI Maya44 USB+ (which appears to be +identical width the AudioTrak Maya44 USB). + +Reported-by: nightmixes +Signed-off-by: Clemens Ladisch +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/usb/mixer_maps.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/sound/usb/mixer_maps.c ++++ b/sound/usb/mixer_maps.c +@@ -418,6 +418,11 @@ static struct usbmix_ctl_map usbmix_ctl_ + .map = ebox44_map, + }, + { ++ /* MAYA44 USB+ */ ++ .id = USB_ID(0x2573, 0x0008), ++ .map = maya44_map, ++ }, ++ { + /* KEF X300A */ + .id = USB_ID(0x27ac, 0x1000), + .map = scms_usb3318_map, diff --git a/queue-3.10/alsa-usb-audio-add-mic-volume-fix-quirk-for-logitech-quickcam-fusion.patch b/queue-3.10/alsa-usb-audio-add-mic-volume-fix-quirk-for-logitech-quickcam-fusion.patch new file mode 100644 index 00000000000..475ac0be464 --- /dev/null +++ b/queue-3.10/alsa-usb-audio-add-mic-volume-fix-quirk-for-logitech-quickcam-fusion.patch @@ -0,0 +1,34 @@ +From 1ef9f0583514508bc93427106ceef3215e4eb1a5 Mon Sep 17 00:00:00 2001 +From: Wolfram Sang +Date: Fri, 29 May 2015 19:50:56 +0900 +Subject: ALSA: usb-audio: Add mic volume fix quirk for Logitech Quickcam Fusion + +From: Wolfram Sang + +commit 1ef9f0583514508bc93427106ceef3215e4eb1a5 upstream. + +Fix this from the logs: + +usb 7-1: New USB device found, idVendor=046d, idProduct=08ca +... +usb 7-1: Warning! Unlikely big volume range (=3072), cval->res is probably wrong. +usb 7-1: [5] FU [Mic Capture Volume] ch = 1, val = 4608/7680/1 + +Signed-off-by: Wolfram Sang +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/usb/mixer.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/usb/mixer.c ++++ b/sound/usb/mixer.c +@@ -891,6 +891,7 @@ static void volume_control_quirks(struct + case USB_ID(0x046d, 0x081d): /* HD Webcam c510 */ + case USB_ID(0x046d, 0x0825): /* HD Webcam c270 */ + case USB_ID(0x046d, 0x0826): /* HD Webcam c525 */ ++ case USB_ID(0x046d, 0x08ca): /* Logitech Quickcam Fusion */ + case USB_ID(0x046d, 0x0991): + /* Most audio usb devices lie about volume resolution. + * Most Logitech webcams have res = 384. diff --git a/queue-3.10/iio-adis16400-compute-the-scan-mask-from-channel-indices.patch b/queue-3.10/iio-adis16400-compute-the-scan-mask-from-channel-indices.patch new file mode 100644 index 00000000000..895a4892815 --- /dev/null +++ b/queue-3.10/iio-adis16400-compute-the-scan-mask-from-channel-indices.patch @@ -0,0 +1,83 @@ +From c2a8b623a089d52c199e305e7905829907db8ec8 Mon Sep 17 00:00:00 2001 +From: Paul Cercueil +Date: Fri, 15 May 2015 17:18:36 +0200 +Subject: iio: adis16400: Compute the scan mask from channel indices + +From: Paul Cercueil + +commit c2a8b623a089d52c199e305e7905829907db8ec8 upstream. + +We unfortunately can't use ~0UL for the scan mask to indicate that the +only valid scan mask is all channels selected. The IIO core needs the exact +mask to work correctly and not a super-set of it. So calculate the masked +based on the channels that are available for a particular device. + +Signed-off-by: Paul Cercueil +Signed-off-by: Lars-Peter Clausen +Fixes: 5eda3550a3cc ("staging:iio:adis16400: Preallocate transfer message") +Signed-off-by: Jonathan Cameron +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/iio/imu/adis16400.h | 1 + + drivers/iio/imu/adis16400_core.c | 25 ++++++++++++++++++------- + 2 files changed, 19 insertions(+), 7 deletions(-) + +--- a/drivers/iio/imu/adis16400.h ++++ b/drivers/iio/imu/adis16400.h +@@ -165,6 +165,7 @@ struct adis16400_state { + int filt_int; + + struct adis adis; ++ unsigned long avail_scan_mask[2]; + }; + + /* At the moment triggers are only used for ring buffer +--- a/drivers/iio/imu/adis16400_core.c ++++ b/drivers/iio/imu/adis16400_core.c +@@ -824,11 +824,6 @@ static const struct iio_info adis16400_i + .debugfs_reg_access = adis_debugfs_reg_access, + }; + +-static const unsigned long adis16400_burst_scan_mask[] = { +- ~0UL, +- 0, +-}; +- + static const char * const adis16400_status_error_msgs[] = { + [ADIS16400_DIAG_STAT_ZACCL_FAIL] = "Z-axis accelerometer self-test failure", + [ADIS16400_DIAG_STAT_YACCL_FAIL] = "Y-axis accelerometer self-test failure", +@@ -876,6 +871,20 @@ static const struct adis_data adis16400_ + BIT(ADIS16400_DIAG_STAT_POWER_LOW), + }; + ++static void adis16400_setup_chan_mask(struct adis16400_state *st) ++{ ++ const struct adis16400_chip_info *chip_info = st->variant; ++ unsigned i; ++ ++ for (i = 0; i < chip_info->num_channels; i++) { ++ const struct iio_chan_spec *ch = &chip_info->channels[i]; ++ ++ if (ch->scan_index >= 0 && ++ ch->scan_index != ADIS16400_SCAN_TIMESTAMP) ++ st->avail_scan_mask[0] |= BIT(ch->scan_index); ++ } ++} ++ + static int adis16400_probe(struct spi_device *spi) + { + struct adis16400_state *st; +@@ -899,8 +908,10 @@ static int adis16400_probe(struct spi_de + indio_dev->info = &adis16400_info; + indio_dev->modes = INDIO_DIRECT_MODE; + +- if (!(st->variant->flags & ADIS16400_NO_BURST)) +- indio_dev->available_scan_masks = adis16400_burst_scan_mask; ++ if (!(st->variant->flags & ADIS16400_NO_BURST)) { ++ adis16400_setup_chan_mask(st); ++ indio_dev->available_scan_masks = st->avail_scan_mask; ++ } + + ret = adis_init(&st->adis, indio_dev, spi, &adis16400_data); + if (ret) diff --git a/queue-3.10/iio-adis16400-report-pressure-channel-scale.patch b/queue-3.10/iio-adis16400-report-pressure-channel-scale.patch new file mode 100644 index 00000000000..72cc2ef887c --- /dev/null +++ b/queue-3.10/iio-adis16400-report-pressure-channel-scale.patch @@ -0,0 +1,34 @@ +From 69ca2d771e4e709c5ae1125858e1246e77ef8b86 Mon Sep 17 00:00:00 2001 +From: Lars-Peter Clausen +Date: Fri, 15 May 2015 17:18:34 +0200 +Subject: iio: adis16400: Report pressure channel scale + +From: Lars-Peter Clausen + +commit 69ca2d771e4e709c5ae1125858e1246e77ef8b86 upstream. + +Add the scale for the pressure channel, which is currently missing. + +Signed-off-by: Lars-Peter Clausen +Fixes: 76ada52f7f5d ("iio:adis16400: Add support for the adis16448") +Signed-off-by: Jonathan Cameron +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/iio/imu/adis16400_core.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/iio/imu/adis16400_core.c ++++ b/drivers/iio/imu/adis16400_core.c +@@ -438,6 +438,11 @@ static int adis16400_read_raw(struct iio + *val = st->variant->temp_scale_nano / 1000000; + *val2 = (st->variant->temp_scale_nano % 1000000); + return IIO_VAL_INT_PLUS_MICRO; ++ case IIO_PRESSURE: ++ /* 20 uBar = 0.002kPascal */ ++ *val = 0; ++ *val2 = 2000; ++ return IIO_VAL_INT_PLUS_MICRO; + default: + return -EINVAL; + } diff --git a/queue-3.10/iio-adis16400-use-channel-indices-for-the-two-voltage-channels.patch b/queue-3.10/iio-adis16400-use-channel-indices-for-the-two-voltage-channels.patch new file mode 100644 index 00000000000..5603c7ad804 --- /dev/null +++ b/queue-3.10/iio-adis16400-use-channel-indices-for-the-two-voltage-channels.patch @@ -0,0 +1,51 @@ +From 7323d59862802ca109451eeda9777024a7625509 Mon Sep 17 00:00:00 2001 +From: Paul Cercueil +Date: Fri, 15 May 2015 17:18:35 +0200 +Subject: iio: adis16400: Use != channel indices for the two voltage channels + +From: Paul Cercueil + +commit 7323d59862802ca109451eeda9777024a7625509 upstream. + +Previously, the two voltage channels had the same ID, which didn't cause +conflicts in sysfs only because one channel is named and the other isn't; +this is still violating the spec though, two indexed channels should never +have the same index. + +Signed-off-by: Paul Cercueil +Signed-off-by: Lars-Peter Clausen +Signed-off-by: Jonathan Cameron +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/iio/imu/adis16400_core.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/drivers/iio/imu/adis16400_core.c ++++ b/drivers/iio/imu/adis16400_core.c +@@ -485,10 +485,10 @@ static int adis16400_read_raw(struct iio + } + } + +-#define ADIS16400_VOLTAGE_CHAN(addr, bits, name, si) { \ ++#define ADIS16400_VOLTAGE_CHAN(addr, bits, name, si, chn) { \ + .type = IIO_VOLTAGE, \ + .indexed = 1, \ +- .channel = 0, \ ++ .channel = chn, \ + .extend_name = name, \ + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \ + BIT(IIO_CHAN_INFO_SCALE), \ +@@ -504,10 +504,10 @@ static int adis16400_read_raw(struct iio + } + + #define ADIS16400_SUPPLY_CHAN(addr, bits) \ +- ADIS16400_VOLTAGE_CHAN(addr, bits, "supply", ADIS16400_SCAN_SUPPLY) ++ ADIS16400_VOLTAGE_CHAN(addr, bits, "supply", ADIS16400_SCAN_SUPPLY, 0) + + #define ADIS16400_AUX_ADC_CHAN(addr, bits) \ +- ADIS16400_VOLTAGE_CHAN(addr, bits, NULL, ADIS16400_SCAN_ADC) ++ ADIS16400_VOLTAGE_CHAN(addr, bits, NULL, ADIS16400_SCAN_ADC, 1) + + #define ADIS16400_GYRO_CHAN(mod, addr, bits) { \ + .type = IIO_ANGL_VEL, \ diff --git a/queue-3.10/series b/queue-3.10/series index e02d7a41625..ba3438e60d0 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -6,3 +6,9 @@ unix-caif-sk_socket-can-disappear-when-state-is-unlocked.patch net_sched-invoke-attach-after-setting-dev-qdisc.patch udp-fix-behavior-of-wrong-checksums.patch xen-netback-read-hotplug-script-once-at-start-of-day.patch +iio-adis16400-report-pressure-channel-scale.patch +iio-adis16400-use-channel-indices-for-the-two-voltage-channels.patch +iio-adis16400-compute-the-scan-mask-from-channel-indices.patch +alsa-hda-realtek-add-a-fixup-for-another-acer-aspire-9420.patch +alsa-usb-audio-add-mic-volume-fix-quirk-for-logitech-quickcam-fusion.patch +alsa-usb-audio-add-maya44-usb-mixer-control-names.patch