From: Greg Kroah-Hartman Date: Tue, 16 Oct 2018 10:20:55 +0000 (+0200) Subject: 4.4-stable patches X-Git-Tag: v4.9.134~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1408c35465960b97e729c2fa35d6145cc02ab501;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: arm-dts-at91-add-new-compatibility-string-for-macb-on-sama5d3.patch asoc-sigmadsp-safeload-should-not-have-lower-byte-limit.patch asoc-wm8804-add-acpi-support.patch drm-amdgpu-fix-sdma-hqd-destroy-error-on-gfx_v7.patch mfd-omap-usb-host-fix-dts-probe-of-children.patch net-macb-disable-scatter-gather-for-macb-on-sama5d3.patch selftests-efivarfs-add-required-kernel-configs.patch sound-enable-interrupt-after-dma-buffer-initialization.patch stmmac-fix-valid-numbers-of-unicast-filter-entries.patch --- diff --git a/queue-4.4/arm-dts-at91-add-new-compatibility-string-for-macb-on-sama5d3.patch b/queue-4.4/arm-dts-at91-add-new-compatibility-string-for-macb-on-sama5d3.patch new file mode 100644 index 00000000000..9f9f18bc3bf --- /dev/null +++ b/queue-4.4/arm-dts-at91-add-new-compatibility-string-for-macb-on-sama5d3.patch @@ -0,0 +1,43 @@ +From foo@baz Tue Oct 16 12:20:44 CEST 2018 +From: Nicolas Ferre +Date: Fri, 14 Sep 2018 17:48:11 +0200 +Subject: ARM: dts: at91: add new compatibility string for macb on sama5d3 + +From: Nicolas Ferre + +[ Upstream commit 321cc359d899a8e988f3725d87c18a628e1cc624 ] + +We need this new compatibility string as we experienced different behavior +for this 10/100Mbits/s macb interface on this particular SoC. +Backward compatibility is preserved as we keep the alternative strings. + +Signed-off-by: Nicolas Ferre +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + Documentation/devicetree/bindings/net/macb.txt | 1 + + arch/arm/boot/dts/sama5d3_emac.dtsi | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +--- a/Documentation/devicetree/bindings/net/macb.txt ++++ b/Documentation/devicetree/bindings/net/macb.txt +@@ -8,6 +8,7 @@ Required properties: + Use "cdns,pc302-gem" for Picochip picoXcell pc302 and later devices based on + the Cadence GEM, or the generic form: "cdns,gem". + Use "atmel,sama5d2-gem" for the GEM IP (10/100) available on Atmel sama5d2 SoCs. ++ Use "atmel,sama5d3-macb" for the 10/100Mbit IP available on Atmel sama5d3 SoCs. + Use "atmel,sama5d3-gem" for the Gigabit IP available on Atmel sama5d3 SoCs. + Use "atmel,sama5d4-gem" for the GEM IP (10/100) available on Atmel sama5d4 SoCs. + Use "cdns,zynqmp-gem" for Zynq Ultrascale+ MPSoC. +--- a/arch/arm/boot/dts/sama5d3_emac.dtsi ++++ b/arch/arm/boot/dts/sama5d3_emac.dtsi +@@ -41,7 +41,7 @@ + }; + + macb1: ethernet@f802c000 { +- compatible = "cdns,at91sam9260-macb", "cdns,macb"; ++ compatible = "atmel,sama5d3-macb", "cdns,at91sam9260-macb", "cdns,macb"; + reg = <0xf802c000 0x100>; + interrupts = <35 IRQ_TYPE_LEVEL_HIGH 3>; + pinctrl-names = "default"; diff --git a/queue-4.4/asoc-sigmadsp-safeload-should-not-have-lower-byte-limit.patch b/queue-4.4/asoc-sigmadsp-safeload-should-not-have-lower-byte-limit.patch new file mode 100644 index 00000000000..d0996d20e94 --- /dev/null +++ b/queue-4.4/asoc-sigmadsp-safeload-should-not-have-lower-byte-limit.patch @@ -0,0 +1,33 @@ +From foo@baz Tue Oct 16 12:20:44 CEST 2018 +From: Danny Smith +Date: Thu, 23 Aug 2018 10:26:20 +0200 +Subject: ASoC: sigmadsp: safeload should not have lower byte limit + +From: Danny Smith + +[ Upstream commit 5ea752c6efdf5aa8a57aed816d453a8f479f1b0a ] + +Fixed range in safeload conditional to allow safeload to up to 20 bytes, +without a lower limit. + +Signed-off-by: Danny Smith +Acked-by: Lars-Peter Clausen +Signed-off-by: Mark Brown +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + sound/soc/codecs/sigmadsp.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/sound/soc/codecs/sigmadsp.c ++++ b/sound/soc/codecs/sigmadsp.c +@@ -117,8 +117,7 @@ static int sigmadsp_ctrl_write(struct si + struct sigmadsp_control *ctrl, void *data) + { + /* safeload loads up to 20 bytes in a atomic operation */ +- if (ctrl->num_bytes > 4 && ctrl->num_bytes <= 20 && sigmadsp->ops && +- sigmadsp->ops->safeload) ++ if (ctrl->num_bytes <= 20 && sigmadsp->ops && sigmadsp->ops->safeload) + return sigmadsp->ops->safeload(sigmadsp, ctrl->addr, data, + ctrl->num_bytes); + else diff --git a/queue-4.4/asoc-wm8804-add-acpi-support.patch b/queue-4.4/asoc-wm8804-add-acpi-support.patch new file mode 100644 index 00000000000..652572c3b62 --- /dev/null +++ b/queue-4.4/asoc-wm8804-add-acpi-support.patch @@ -0,0 +1,66 @@ +From foo@baz Tue Oct 16 12:20:44 CEST 2018 +From: Pierre-Louis Bossart +Date: Wed, 22 Aug 2018 22:49:36 -0500 +Subject: ASoC: wm8804: Add ACPI support + +From: Pierre-Louis Bossart + +[ Upstream commit 960cdd50ca9fdfeb82c2757107bcb7f93c8d7d41 ] + +HID made of either Wolfson/CirrusLogic PCI ID + 8804 identifier. + +This helps enumerate the HifiBerry Digi+ HAT boards on the Up2 platform. + +The scripts at https://github.com/thesofproject/acpi-scripts can be +used to add the ACPI initrd overlays. + +Signed-off-by: Pierre-Louis Bossart +Acked-by: Charles Keepax +Signed-off-by: Mark Brown +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + sound/soc/codecs/wm8804-i2c.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +--- a/sound/soc/codecs/wm8804-i2c.c ++++ b/sound/soc/codecs/wm8804-i2c.c +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + + #include "wm8804.h" + +@@ -40,17 +41,29 @@ static const struct i2c_device_id wm8804 + }; + MODULE_DEVICE_TABLE(i2c, wm8804_i2c_id); + ++#if defined(CONFIG_OF) + static const struct of_device_id wm8804_of_match[] = { + { .compatible = "wlf,wm8804", }, + { } + }; + MODULE_DEVICE_TABLE(of, wm8804_of_match); ++#endif ++ ++#ifdef CONFIG_ACPI ++static const struct acpi_device_id wm8804_acpi_match[] = { ++ { "1AEC8804", 0 }, /* Wolfson PCI ID + part ID */ ++ { "10138804", 0 }, /* Cirrus Logic PCI ID + part ID */ ++ { }, ++}; ++MODULE_DEVICE_TABLE(acpi, wm8804_acpi_match); ++#endif + + static struct i2c_driver wm8804_i2c_driver = { + .driver = { + .name = "wm8804", + .pm = &wm8804_pm, +- .of_match_table = wm8804_of_match, ++ .of_match_table = of_match_ptr(wm8804_of_match), ++ .acpi_match_table = ACPI_PTR(wm8804_acpi_match), + }, + .probe = wm8804_i2c_probe, + .remove = wm8804_i2c_remove, diff --git a/queue-4.4/drm-amdgpu-fix-sdma-hqd-destroy-error-on-gfx_v7.patch b/queue-4.4/drm-amdgpu-fix-sdma-hqd-destroy-error-on-gfx_v7.patch new file mode 100644 index 00000000000..7f91a2bd9a9 --- /dev/null +++ b/queue-4.4/drm-amdgpu-fix-sdma-hqd-destroy-error-on-gfx_v7.patch @@ -0,0 +1,35 @@ +From foo@baz Tue Oct 16 12:20:44 CEST 2018 +From: Amber Lin +Date: Wed, 12 Sep 2018 21:42:18 -0400 +Subject: drm/amdgpu: Fix SDMA HQD destroy error on gfx_v7 + +From: Amber Lin + +[ Upstream commit caaa4c8a6be2a275bd14f2369ee364978ff74704 ] + +A wrong register bit was examinated for checking SDMA status so it reports +false failures. This typo only appears on gfx_v7. gfx_v8 checks the correct +bit. + +Acked-by: Alex Deucher +Signed-off-by: Amber Lin +Reviewed-by: Felix Kuehling +Signed-off-by: Felix Kuehling +Signed-off-by: Alex Deucher +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c +@@ -504,7 +504,7 @@ static int kgd_hqd_sdma_destroy(struct k + + while (true) { + temp = RREG32(sdma_base_addr + mmSDMA0_RLC0_CONTEXT_STATUS); +- if (temp & SDMA0_STATUS_REG__RB_CMD_IDLE__SHIFT) ++ if (temp & SDMA0_RLC0_CONTEXT_STATUS__IDLE_MASK) + break; + if (timeout == 0) + return -ETIME; diff --git a/queue-4.4/mfd-omap-usb-host-fix-dts-probe-of-children.patch b/queue-4.4/mfd-omap-usb-host-fix-dts-probe-of-children.patch new file mode 100644 index 00000000000..c003a840b50 --- /dev/null +++ b/queue-4.4/mfd-omap-usb-host-fix-dts-probe-of-children.patch @@ -0,0 +1,68 @@ +From foo@baz Tue Oct 16 12:20:44 CEST 2018 +From: Tony Lindgren +Date: Wed, 25 Apr 2018 07:29:22 -0700 +Subject: mfd: omap-usb-host: Fix dts probe of children + +From: Tony Lindgren + +[ Upstream commit 10492ee8ed9188d6d420e1f79b2b9bdbc0624e65 ] + +It currently only works if the parent bus uses "simple-bus". We +currently try to probe children with non-existing compatible values. +And we're missing .probe. + +I noticed this while testing devices configured to probe using ti-sysc +interconnect target module driver. For that we also may want to rebind +the driver, so let's remove __init and __exit. + +Signed-off-by: Tony Lindgren +Acked-by: Roger Quadros +Signed-off-by: Lee Jones +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + drivers/mfd/omap-usb-host.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +--- a/drivers/mfd/omap-usb-host.c ++++ b/drivers/mfd/omap-usb-host.c +@@ -548,8 +548,8 @@ static int usbhs_omap_get_dt_pdata(struc + } + + static const struct of_device_id usbhs_child_match_table[] = { +- { .compatible = "ti,omap-ehci", }, +- { .compatible = "ti,omap-ohci", }, ++ { .compatible = "ti,ehci-omap", }, ++ { .compatible = "ti,ohci-omap3", }, + { } + }; + +@@ -875,6 +875,7 @@ static struct platform_driver usbhs_omap + .pm = &usbhsomap_dev_pm_ops, + .of_match_table = usbhs_omap_dt_ids, + }, ++ .probe = usbhs_omap_probe, + .remove = usbhs_omap_remove, + }; + +@@ -884,9 +885,9 @@ MODULE_ALIAS("platform:" USBHS_DRIVER_NA + MODULE_LICENSE("GPL v2"); + MODULE_DESCRIPTION("usb host common core driver for omap EHCI and OHCI"); + +-static int __init omap_usbhs_drvinit(void) ++static int omap_usbhs_drvinit(void) + { +- return platform_driver_probe(&usbhs_omap_driver, usbhs_omap_probe); ++ return platform_driver_register(&usbhs_omap_driver); + } + + /* +@@ -898,7 +899,7 @@ static int __init omap_usbhs_drvinit(voi + */ + fs_initcall_sync(omap_usbhs_drvinit); + +-static void __exit omap_usbhs_drvexit(void) ++static void omap_usbhs_drvexit(void) + { + platform_driver_unregister(&usbhs_omap_driver); + } diff --git a/queue-4.4/net-macb-disable-scatter-gather-for-macb-on-sama5d3.patch b/queue-4.4/net-macb-disable-scatter-gather-for-macb-on-sama5d3.patch new file mode 100644 index 00000000000..56fc0106a48 --- /dev/null +++ b/queue-4.4/net-macb-disable-scatter-gather-for-macb-on-sama5d3.patch @@ -0,0 +1,45 @@ +From foo@baz Tue Oct 16 12:20:44 CEST 2018 +From: Nicolas Ferre +Date: Fri, 14 Sep 2018 17:48:10 +0200 +Subject: net: macb: disable scatter-gather for macb on sama5d3 + +From: Nicolas Ferre + +[ Upstream commit eb4ed8e2d7fecb5f40db38e4498b9ee23cddf196 ] + +Create a new configuration for the sama5d3-macb new compatibility string. +This configuration disables scatter-gather because we experienced lock down +of the macb interface of this particular SoC under very high load. + +Signed-off-by: Nicolas Ferre +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/cadence/macb.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/drivers/net/ethernet/cadence/macb.c ++++ b/drivers/net/ethernet/cadence/macb.c +@@ -2743,6 +2743,13 @@ static const struct macb_config at91sam9 + .init = macb_init, + }; + ++static const struct macb_config sama5d3macb_config = { ++ .caps = MACB_CAPS_SG_DISABLED ++ | MACB_CAPS_USRIO_HAS_CLKEN | MACB_CAPS_USRIO_DEFAULT_IS_MII_GMII, ++ .clk_init = macb_clk_init, ++ .init = macb_init, ++}; ++ + static const struct macb_config pc302gem_config = { + .caps = MACB_CAPS_SG_DISABLED | MACB_CAPS_GIGABIT_MODE_AVAILABLE, + .dma_burst_length = 16, +@@ -2801,6 +2808,7 @@ static const struct of_device_id macb_dt + { .compatible = "cdns,gem", .data = &pc302gem_config }, + { .compatible = "atmel,sama5d2-gem", .data = &sama5d2_config }, + { .compatible = "atmel,sama5d3-gem", .data = &sama5d3_config }, ++ { .compatible = "atmel,sama5d3-macb", .data = &sama5d3macb_config }, + { .compatible = "atmel,sama5d4-gem", .data = &sama5d4_config }, + { .compatible = "cdns,at91rm9200-emac", .data = &emac_config }, + { .compatible = "cdns,emac", .data = &emac_config }, diff --git a/queue-4.4/selftests-efivarfs-add-required-kernel-configs.patch b/queue-4.4/selftests-efivarfs-add-required-kernel-configs.patch new file mode 100644 index 00000000000..aecb2c34b3a --- /dev/null +++ b/queue-4.4/selftests-efivarfs-add-required-kernel-configs.patch @@ -0,0 +1,24 @@ +From foo@baz Tue Oct 16 12:20:44 CEST 2018 +From: Lei Yang +Date: Wed, 5 Sep 2018 11:14:49 +0800 +Subject: selftests/efivarfs: add required kernel configs + +From: Lei Yang + +[ Upstream commit 53cf59d6c0ad3edc4f4449098706a8f8986258b6 ] + +add config file + +Signed-off-by: Lei Yang +Signed-off-by: Shuah Khan (Samsung OSG) +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/efivarfs/config | 1 + + 1 file changed, 1 insertion(+) + create mode 100644 tools/testing/selftests/efivarfs/config + +--- /dev/null ++++ b/tools/testing/selftests/efivarfs/config +@@ -0,0 +1 @@ ++CONFIG_EFIVAR_FS=y diff --git a/queue-4.4/series b/queue-4.4/series new file mode 100644 index 00000000000..fef1335ef19 --- /dev/null +++ b/queue-4.4/series @@ -0,0 +1,9 @@ +asoc-wm8804-add-acpi-support.patch +asoc-sigmadsp-safeload-should-not-have-lower-byte-limit.patch +selftests-efivarfs-add-required-kernel-configs.patch +mfd-omap-usb-host-fix-dts-probe-of-children.patch +sound-enable-interrupt-after-dma-buffer-initialization.patch +stmmac-fix-valid-numbers-of-unicast-filter-entries.patch +net-macb-disable-scatter-gather-for-macb-on-sama5d3.patch +arm-dts-at91-add-new-compatibility-string-for-macb-on-sama5d3.patch +drm-amdgpu-fix-sdma-hqd-destroy-error-on-gfx_v7.patch diff --git a/queue-4.4/sound-enable-interrupt-after-dma-buffer-initialization.patch b/queue-4.4/sound-enable-interrupt-after-dma-buffer-initialization.patch new file mode 100644 index 00000000000..e95edd3dc38 --- /dev/null +++ b/queue-4.4/sound-enable-interrupt-after-dma-buffer-initialization.patch @@ -0,0 +1,56 @@ +From foo@baz Tue Oct 16 12:20:44 CEST 2018 +From: Yu Zhao +Date: Tue, 11 Sep 2018 15:14:04 -0600 +Subject: sound: enable interrupt after dma buffer initialization + +From: Yu Zhao + +[ Upstream commit b61749a89f826eb61fc59794d9e4697bd246eb61 ] + +In snd_hdac_bus_init_chip(), we enable interrupt before +snd_hdac_bus_init_cmd_io() initializing dma buffers. If irq has +been acquired and irq handler uses the dma buffer, kernel may crash +when interrupt comes in. + +Fix the problem by postponing enabling irq after dma buffer +initialization. And warn once on null dma buffer pointer during the +initialization. + +Reviewed-by: Takashi Iwai +Signed-off-by: Yu Zhao +Signed-off-by: Mark Brown +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + sound/hda/hdac_controller.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/sound/hda/hdac_controller.c ++++ b/sound/hda/hdac_controller.c +@@ -40,6 +40,8 @@ static void azx_clear_corbrp(struct hdac + */ + void snd_hdac_bus_init_cmd_io(struct hdac_bus *bus) + { ++ WARN_ON_ONCE(!bus->rb.area); ++ + spin_lock_irq(&bus->reg_lock); + /* CORB set up */ + bus->corb.addr = bus->rb.addr; +@@ -377,13 +379,15 @@ bool snd_hdac_bus_init_chip(struct hdac_ + /* reset controller */ + azx_reset(bus, full_reset); + +- /* initialize interrupts */ ++ /* clear interrupts */ + azx_int_clear(bus); +- azx_int_enable(bus); + + /* initialize the codec command I/O */ + snd_hdac_bus_init_cmd_io(bus); + ++ /* enable interrupts after CORB/RIRB buffers are initialized above */ ++ azx_int_enable(bus); ++ + /* program the position buffer */ + if (bus->use_posbuf && bus->posbuf.addr) { + snd_hdac_chip_writel(bus, DPLBASE, (u32)bus->posbuf.addr); diff --git a/queue-4.4/stmmac-fix-valid-numbers-of-unicast-filter-entries.patch b/queue-4.4/stmmac-fix-valid-numbers-of-unicast-filter-entries.patch new file mode 100644 index 00000000000..8ea075e5544 --- /dev/null +++ b/queue-4.4/stmmac-fix-valid-numbers-of-unicast-filter-entries.patch @@ -0,0 +1,43 @@ +From foo@baz Tue Oct 16 12:20:44 CEST 2018 +From: Jongsung Kim +Date: Thu, 13 Sep 2018 18:32:21 +0900 +Subject: stmmac: fix valid numbers of unicast filter entries + +From: Jongsung Kim + +[ Upstream commit edf2ef7242805e53ec2e0841db26e06d8bc7da70 ] + +Synopsys DWC Ethernet MAC can be configured to have 1..32, 64, or +128 unicast filter entries. (Table 7-8 MAC Address Registers from +databook) Fix dwmac1000_validate_ucast_entries() to accept values +between 1 and 32 in addition. + +Signed-off-by: Jongsung Kim +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +@@ -71,7 +71,7 @@ static int dwmac1000_validate_mcast_bins + * Description: + * This function validates the number of Unicast address entries supported + * by a particular Synopsys 10/100/1000 controller. The Synopsys controller +- * supports 1, 32, 64, or 128 Unicast filter entries for it's Unicast filter ++ * supports 1..32, 64, or 128 Unicast filter entries for it's Unicast filter + * logic. This function validates a valid, supported configuration is + * selected, and defaults to 1 Unicast address if an unsupported + * configuration is selected. +@@ -81,8 +81,7 @@ static int dwmac1000_validate_ucast_entr + int x = ucast_entries; + + switch (x) { +- case 1: +- case 32: ++ case 1 ... 32: + case 64: + case 128: + break;