summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2018-08-01 16:12:06 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2018-08-01 16:12:06 -0400
commita23d387b767d5a363a8f7b0d86fcb4e2e76b1fa2 (patch)
treef7984c3d8bac4e28dec43817b038e8e4b7d42d4d
parent8b086ef99b99c7f000a2c277e3ac4a1b398d3303 (diff)
downloadlongterm-queue-4.12-a23d387b767d5a363a8f7b0d86fcb4e2e76b1fa2.tar.gz
drop three patches n/a for 4.12.x
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/ASoC-codecs-msm8916-wcd-analog-fix-micbias-level.patch49
-rw-r--r--queue/Bluetooth-hci_bcm-Fix-setting-of-irq-trigger-type.patch132
-rw-r--r--queue/i40e-i40evf-spread-CPU-affinity-hints-across-online-.patch128
-rw-r--r--queue/series3
4 files changed, 0 insertions, 312 deletions
diff --git a/queue/ASoC-codecs-msm8916-wcd-analog-fix-micbias-level.patch b/queue/ASoC-codecs-msm8916-wcd-analog-fix-micbias-level.patch
deleted file mode 100644
index ff71974..0000000
--- a/queue/ASoC-codecs-msm8916-wcd-analog-fix-micbias-level.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 664611e7e02f76fbc5470ef545b2657ed25c292b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jean-Fran=C3=A7ois=20T=C3=AAtu?=
- <jean-francois.tetu@savoirfairelinux.com>
-Date: Fri, 29 Sep 2017 16:19:44 -0400
-Subject: [PATCH] ASoC: codecs: msm8916-wcd-analog: fix micbias level
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit 664611e7e02f76fbc5470ef545b2657ed25c292b upstream.
-
-The macro used to set the microphone bias level causes the
-snd_soc_write() call to overwrite other fields in the CDC_A_MICB_1_VAL
-register. The macro also does not return the proper level value
-to use. This fixes this by preserving all bits from the register
-that are not the level while setting the level.
-
-Signed-off-by: Jean-François TĂȘtu <jean-francois.tetu@savoirfairelinux.com>
-Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-diff --git a/sound/soc/codecs/msm8916-wcd-analog.c b/sound/soc/codecs/msm8916-wcd-analog.c
-index 549c269acc7d..a42f8ebb9670 100644
---- a/sound/soc/codecs/msm8916-wcd-analog.c
-+++ b/sound/soc/codecs/msm8916-wcd-analog.c
-@@ -104,7 +104,7 @@
- #define CDC_A_MICB_1_VAL (0xf141)
- #define MICB_MIN_VAL 1600
- #define MICB_STEP_SIZE 50
--#define MICB_VOLTAGE_REGVAL(v) ((v - MICB_MIN_VAL)/MICB_STEP_SIZE)
-+#define MICB_VOLTAGE_REGVAL(v) (((v - MICB_MIN_VAL)/MICB_STEP_SIZE) << 3)
- #define MICB_1_VAL_MICB_OUT_VAL_MASK GENMASK(7, 3)
- #define MICB_1_VAL_MICB_OUT_VAL_V2P70V ((0x16) << 3)
- #define MICB_1_VAL_MICB_OUT_VAL_V1P80V ((0x4) << 3)
-@@ -349,8 +349,9 @@ static void pm8916_wcd_analog_micbias_enable(struct snd_soc_codec *codec)
- | MICB_1_CTL_EXT_PRECHARG_EN_ENABLE);
-
- if (wcd->micbias_mv) {
-- snd_soc_write(codec, CDC_A_MICB_1_VAL,
-- MICB_VOLTAGE_REGVAL(wcd->micbias_mv));
-+ snd_soc_update_bits(codec, CDC_A_MICB_1_VAL,
-+ MICB_1_VAL_MICB_OUT_VAL_MASK,
-+ MICB_VOLTAGE_REGVAL(wcd->micbias_mv));
- /*
- * Special headset needs MICBIAS as 2.7V so wait for
- * 50 msec for the MICBIAS to reach 2.7 volts.
---
-2.15.0
-
diff --git a/queue/Bluetooth-hci_bcm-Fix-setting-of-irq-trigger-type.patch b/queue/Bluetooth-hci_bcm-Fix-setting-of-irq-trigger-type.patch
deleted file mode 100644
index f38832f..0000000
--- a/queue/Bluetooth-hci_bcm-Fix-setting-of-irq-trigger-type.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 227630cccdbb8f8a1b24ac26517b75079c9a69c9 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Wed, 4 Oct 2017 20:43:36 +0200
-Subject: [PATCH] Bluetooth: hci_bcm: Fix setting of irq trigger type
-
-commit 227630cccdbb8f8a1b24ac26517b75079c9a69c9 upstream.
-
-This commit fixes 2 issues with host-wake irq trigger type handling
-in hci_bcm:
-
-1) bcm_setup_sleep sets sleep_params.host_wake_active based on
-bcm_device.irq_polarity, but bcm_request_irq was always requesting
-IRQF_TRIGGER_RISING as trigger type independent of irq_polarity.
-
-This was a problem when the irq is described as a GpioInt rather then
-an Interrupt in the DSDT as for GpioInt-s the value passed to request_irq
-is honored. This commit fixes this by requesting the correct trigger
-type depending on bcm_device.irq_polarity.
-
-2) bcm_device.irq_polarity was used to directly store an ACPI polarity
-value (ACPI_ACTIVE_*). This is undesirable because hci_bcm is also
-used with device-tree and checking for something like ACPI_ACTIVE_LOW
-in a non ACPI specific function like bcm_request_irq feels wrong.
-
-This commit fixes this by renaming irq_polarity to irq_active_low
-and changing its type to a bool.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-
-diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c
-index e2540113d0da..73d2d88ddc03 100644
---- a/drivers/bluetooth/hci_bcm.c
-+++ b/drivers/bluetooth/hci_bcm.c
-@@ -68,7 +68,7 @@ struct bcm_device {
- u32 init_speed;
- u32 oper_speed;
- int irq;
-- u8 irq_polarity;
-+ bool irq_active_low;
-
- #ifdef CONFIG_PM
- struct hci_uart *hu;
-@@ -213,7 +213,9 @@ static int bcm_request_irq(struct bcm_data *bcm)
- }
-
- err = devm_request_irq(&bdev->pdev->dev, bdev->irq, bcm_host_wake,
-- IRQF_TRIGGER_RISING, "host_wake", bdev);
-+ bdev->irq_active_low ? IRQF_TRIGGER_FALLING :
-+ IRQF_TRIGGER_RISING,
-+ "host_wake", bdev);
- if (err)
- goto unlock;
-
-@@ -253,7 +255,7 @@ static int bcm_setup_sleep(struct hci_uart *hu)
- struct sk_buff *skb;
- struct bcm_set_sleep_mode sleep_params = default_sleep_params;
-
-- sleep_params.host_wake_active = !bcm->dev->irq_polarity;
-+ sleep_params.host_wake_active = !bcm->dev->irq_active_low;
-
- skb = __hci_cmd_sync(hu->hdev, 0xfc27, sizeof(sleep_params),
- &sleep_params, HCI_INIT_TIMEOUT);
-@@ -690,10 +692,8 @@ static const struct acpi_gpio_mapping acpi_bcm_int_first_gpios[] = {
- };
-
- #ifdef CONFIG_ACPI
--static u8 acpi_active_low = ACPI_ACTIVE_LOW;
--
- /* IRQ polarity of some chipsets are not defined correctly in ACPI table. */
--static const struct dmi_system_id bcm_wrong_irq_dmi_table[] = {
-+static const struct dmi_system_id bcm_active_low_irq_dmi_table[] = {
- {
- .ident = "Asus T100TA",
- .matches = {
-@@ -701,7 +701,6 @@ static const struct dmi_system_id bcm_wrong_irq_dmi_table[] = {
- "ASUSTeK COMPUTER INC."),
- DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100TA"),
- },
-- .driver_data = &acpi_active_low,
- },
- {
- .ident = "Asus T100CHI",
-@@ -710,7 +709,6 @@ static const struct dmi_system_id bcm_wrong_irq_dmi_table[] = {
- "ASUSTeK COMPUTER INC."),
- DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100CHI"),
- },
-- .driver_data = &acpi_active_low,
- },
- { /* Handle ThinkPad 8 tablets with BCM2E55 chipset ACPI ID */
- .ident = "Lenovo ThinkPad 8",
-@@ -718,7 +716,6 @@ static const struct dmi_system_id bcm_wrong_irq_dmi_table[] = {
- DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
- DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "ThinkPad 8"),
- },
-- .driver_data = &acpi_active_low,
- },
- { }
- };
-@@ -733,13 +730,13 @@ static int bcm_resource(struct acpi_resource *ares, void *data)
- switch (ares->type) {
- case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
- irq = &ares->data.extended_irq;
-- dev->irq_polarity = irq->polarity;
-+ dev->irq_active_low = irq->polarity == ACPI_ACTIVE_LOW;
- break;
-
- case ACPI_RESOURCE_TYPE_GPIO:
- gpio = &ares->data.gpio;
- if (gpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT)
-- dev->irq_polarity = gpio->polarity;
-+ dev->irq_active_low = gpio->polarity == ACPI_ACTIVE_LOW;
- break;
-
- case ACPI_RESOURCE_TYPE_SERIAL_BUS:
-@@ -834,11 +831,11 @@ static int bcm_acpi_probe(struct bcm_device *dev)
- return ret;
- acpi_dev_free_resource_list(&resources);
-
-- dmi_id = dmi_first_match(bcm_wrong_irq_dmi_table);
-+ dmi_id = dmi_first_match(bcm_active_low_irq_dmi_table);
- if (dmi_id) {
- bt_dev_warn(dev, "%s: Overwriting IRQ polarity to active low",
- dmi_id->ident);
-- dev->irq_polarity = *(u8 *)dmi_id->driver_data;
-+ dev->irq_active_low = true;
- }
-
- return 0;
---
-2.15.0
-
diff --git a/queue/i40e-i40evf-spread-CPU-affinity-hints-across-online-.patch b/queue/i40e-i40evf-spread-CPU-affinity-hints-across-online-.patch
deleted file mode 100644
index 0dcd14a..0000000
--- a/queue/i40e-i40evf-spread-CPU-affinity-hints-across-online-.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From be664cbefc50977aaefc868ba6a1109ec9b7449d Mon Sep 17 00:00:00 2001
-From: Jacob Keller <jacob.e.keller@intel.com>
-Date: Tue, 29 Aug 2017 05:32:31 -0400
-Subject: [PATCH] i40e/i40evf: spread CPU affinity hints across online CPUs
- only
-
-commit be664cbefc50977aaefc868ba6a1109ec9b7449d upstream.
-
-Currently, when setting up the IRQ for a q_vector, we set an affinity
-hint based on the v_idx of that q_vector. Meaning a loop iterates on
-v_idx, which is an incremental value, and the cpumask is created based
-on this value.
-
-This is a problem in systems with multiple logical CPUs per core (like in
-simultaneous multithreading (SMT) scenarios). If we disable some logical
-CPUs, by turning SMT off for example, we will end up with a sparse
-cpu_online_mask, i.e., only the first CPU in a core is online, and
-incremental filling in q_vector cpumask might lead to multiple offline
-CPUs being assigned to q_vectors.
-
-Example: if we have a system with 8 cores each one containing 8 logical
-CPUs (SMT == 8 in this case), we have 64 CPUs in total. But if SMT is
-disabled, only the 1st CPU in each core remains online, so the
-cpu_online_mask in this case would have only 8 bits set, in a sparse way.
-
-In general case, when SMT is off the cpu_online_mask has only C bits set:
-0, 1*N, 2*N, ..., C*(N-1) where
-C == # of cores;
-N == # of logical CPUs per core.
-In our example, only bits 0, 8, 16, 24, 32, 40, 48, 56 would be set.
-
-Instead, we should only assign hints for CPUs which are online. Even
-better, the kernel already provides a function, cpumask_local_spread()
-which takes an index and returns a CPU, spreading the interrupts across
-local NUMA nodes first, and then remote ones if necessary.
-
-Since we generally have a 1:1 mapping between vectors and CPUs, there
-is no real advantage to spreading vectors to local CPUs first. In order
-to avoid mismatch of the default XPS hints, we'll pass -1 so that it
-spreads across all CPUs without regard to the node locality.
-
-Note that we don't need to change the q_vector->affinity_mask as this is
-initialized to cpu_possible_mask, until an actual affinity is set and
-then notified back to us.
-
-Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
-Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
-Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-
-diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
-index b539469f576f..d2bb4f17c89e 100644
---- a/drivers/net/ethernet/intel/i40e/i40e_main.c
-+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
-@@ -2885,14 +2885,15 @@ static void i40e_vsi_free_rx_resources(struct i40e_vsi *vsi)
- static void i40e_config_xps_tx_ring(struct i40e_ring *ring)
- {
- struct i40e_vsi *vsi = ring->vsi;
-+ int cpu;
-
- if (!ring->q_vector || !ring->netdev)
- return;
-
- if ((vsi->tc_config.numtc <= 1) &&
- !test_and_set_bit(__I40E_TX_XPS_INIT_DONE, &ring->state)) {
-- netif_set_xps_queue(ring->netdev,
-- get_cpu_mask(ring->q_vector->v_idx),
-+ cpu = cpumask_local_spread(ring->q_vector->v_idx, -1);
-+ netif_set_xps_queue(ring->netdev, get_cpu_mask(cpu),
- ring->queue_index);
- }
-
-@@ -3482,6 +3483,7 @@ static int i40e_vsi_request_irq_msix(struct i40e_vsi *vsi, char *basename)
- int tx_int_idx = 0;
- int vector, err;
- int irq_num;
-+ int cpu;
-
- for (vector = 0; vector < q_vectors; vector++) {
- struct i40e_q_vector *q_vector = vsi->q_vectors[vector];
-@@ -3517,10 +3519,14 @@ static int i40e_vsi_request_irq_msix(struct i40e_vsi *vsi, char *basename)
- q_vector->affinity_notify.notify = i40e_irq_affinity_notify;
- q_vector->affinity_notify.release = i40e_irq_affinity_release;
- irq_set_affinity_notifier(irq_num, &q_vector->affinity_notify);
-- /* get_cpu_mask returns a static constant mask with
-- * a permanent lifetime so it's ok to use here.
-+ /* Spread affinity hints out across online CPUs.
-+ *
-+ * get_cpu_mask returns a static constant mask with
-+ * a permanent lifetime so it's ok to pass to
-+ * irq_set_affinity_hint without making a copy.
- */
-- irq_set_affinity_hint(irq_num, get_cpu_mask(q_vector->v_idx));
-+ cpu = cpumask_local_spread(q_vector->v_idx, -1);
-+ irq_set_affinity_hint(irq_num, get_cpu_mask(cpu));
- }
-
- vsi->irqs_ready = true;
-diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
-index f2f1e754c2ce..bc76378a71e2 100644
---- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
-+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
-@@ -515,6 +515,7 @@ i40evf_request_traffic_irqs(struct i40evf_adapter *adapter, char *basename)
- unsigned int vector, q_vectors;
- unsigned int rx_int_idx = 0, tx_int_idx = 0;
- int irq_num, err;
-+ int cpu;
-
- i40evf_irq_disable(adapter);
- /* Decrement for Other and TCP Timer vectors */
-@@ -553,10 +554,12 @@ i40evf_request_traffic_irqs(struct i40evf_adapter *adapter, char *basename)
- q_vector->affinity_notify.release =
- i40evf_irq_affinity_release;
- irq_set_affinity_notifier(irq_num, &q_vector->affinity_notify);
-- /* get_cpu_mask returns a static constant mask with
-- * a permanent lifetime so it's ok to use here.
-+ /* Spread the IRQ affinity hints across online CPUs. Note that
-+ * get_cpu_mask returns a mask with a permanent lifetime so
-+ * it's safe to use as a hint for irq_set_affinity_hint.
- */
-- irq_set_affinity_hint(irq_num, get_cpu_mask(q_vector->v_idx));
-+ cpu = cpumask_local_spread(q_vector->v_idx, -1);
-+ irq_set_affinity_hint(irq_num, get_cpu_mask(cpu));
- }
-
- return 0;
---
-2.15.0
-
diff --git a/queue/series b/queue/series
index a6953a5..5617b08 100644
--- a/queue/series
+++ b/queue/series
@@ -21,11 +21,8 @@ IB-rxe-check-for-allocation-failure-on-elem.patch
block-bfq-Disable-writeback-throttling.patch
md-always-set-THREAD_WAKEUP-and-wake-up-wqueue-if-th.patch
Bluetooth-hci_uart_set_flow_control-Fix-NULL-deref-w.patch
-Bluetooth-hci_bcm-Fix-setting-of-irq-trigger-type.patch
-i40e-i40evf-spread-CPU-affinity-hints-across-online-.patch
PCI-AER-Report-non-fatal-errors-only-to-the-affected.patch
tracing-Exclude-generic-fields-from-histograms.patch
-ASoC-codecs-msm8916-wcd-analog-fix-micbias-level.patch
ASoC-img-parallel-out-Add-pm_runtime_get-put-to-set_.patch
powerpc-xmon-Avoid-tripping-SMP-hardlockup-watchdog.patch
powerpc-watchdog-Do-not-trigger-SMP-crash-from-touch.patch