diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2018-10-18 09:35:11 +0200 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2018-10-18 09:35:11 +0200 |
commit | 1fb8d4fa47698267e4bc5c739a2a30e734b6a26e (patch) | |
tree | 75ad70ad85208b6035cdb676cbfaeded8929389d | |
parent | 6e4ec01108cbdcfb29d6dd4c27ae3476c98611be (diff) | |
parent | 447a6b31116c0b72441d6b404ae629e54de65c1e (diff) | |
download | kernel-1fb8d4fa47698267e4bc5c739a2a30e734b6a26e.tar.gz kernel-1fb8d4fa47698267e4bc5c739a2a30e734b6a26e.tar.xz kernel-1fb8d4fa47698267e4bc5c739a2a30e734b6a26e.zip |
Merge remote-tracking branch 'origin/f29' into f29-user-thl-vanilla-fedora
-rw-r--r-- | arm64-96boards-Rock960-CE-board-support.patch | 138 | ||||
-rw-r--r-- | bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch | 40 | ||||
-rw-r--r-- | kernel.spec | 20 | ||||
-rw-r--r-- | xsa270.patch | 55 |
4 files changed, 191 insertions, 62 deletions
diff --git a/arm64-96boards-Rock960-CE-board-support.patch b/arm64-96boards-Rock960-CE-board-support.patch index 7d0d338a1..e65156791 100644 --- a/arm64-96boards-Rock960-CE-board-support.patch +++ b/arm64-96boards-Rock960-CE-board-support.patch @@ -1198,4 +1198,142 @@ index 5a5d8e28ef55..f68254831ad9 100644 vqmmc-supply = <&vcc_sd>; -- 2.19.0.rc1 +From patchwork Tue Oct 16 14:00:20 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Daniel Lezcano <daniel.lezcano@linaro.org> +X-Patchwork-Id: 1000432 +Return-Path: <SRS0=e/xi=M4=vger.kernel.org=linux-kernel-owner@kernel.org> +Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) + by smtp.lore.kernel.org (Postfix) with ESMTP id 41BB8C04EBD + for <linux-kernel@archiver.kernel.org>; Tue, 16 Oct 2018 14:01:24 +0000 (UTC) +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by mail.kernel.org (Postfix) with ESMTP id 032862089E + for <linux-kernel@archiver.kernel.org>; Tue, 16 Oct 2018 14:01:24 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (1024-bit key) header.d=linaro.org header.i=@linaro.org + header.b="OwrJnI6D" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 032862089E +Authentication-Results: mail.kernel.org; + dmarc=fail (p=none dis=none) header.from=linaro.org +Authentication-Results: mail.kernel.org; + spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1727241AbeJPVv6 (ORCPT + <rfc822;linux-kernel@archiver.kernel.org>); + Tue, 16 Oct 2018 17:51:58 -0400 +Received: from mail-wr1-f68.google.com ([209.85.221.68]:43800 "EHLO + mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727149AbeJPVv6 (ORCPT + <rfc822;linux-kernel@vger.kernel.org>); + Tue, 16 Oct 2018 17:51:58 -0400 +Received: by mail-wr1-f68.google.com with SMTP id n1-v6so25672615wrt.10 + for <linux-kernel@vger.kernel.org>; + Tue, 16 Oct 2018 07:01:21 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=linaro.org; s=google; + h=from:to:cc:subject:date:message-id; + bh=AyjUgKMFmAFThaK4GvWsdrdl4JZ3kTa6zVPrOmGMjOA=; + b=OwrJnI6D/huHRM5jiagiGiKBxUHFUlMvwe1t2GexoIKOTqtFGY3vwPCkrAUWdnT5+f + n+wvqEq+enR14QpmLTY3VNYAsxMcDtJOZ2R2Cw0rRdiHypMeUGRanfszUimV9omTlSGH + ApMgMERT+Pim+X1tp/uH775sDaVLHsJDyJb2Y= +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id; + bh=AyjUgKMFmAFThaK4GvWsdrdl4JZ3kTa6zVPrOmGMjOA=; + b=DO/kT4iXCQgCsPC53FV7CMKKHaDQNQtZUIfHfJGQ2iRgCRNsZSYU6JYHxxjsqWSLyq + c46PNGLDG4qPZf/tveVt9wc9SPdKTk3klyT5NnQvdlNY8uv5/GTXINOWmNE0xD9hqvaP + ml6yJRUA51/KJU73p7XhGvWlMmEuStLUtXa4rlqKgush6lllYhSFpca2xkiKFhqcd+Bc + HHXRh2i0OVgTdmdb0+lSKyLXm74UHrhv1WEbgjGm+Mharwz/qsidTCXfqKPC7izgstBS + L+mjOACqna60eEsABW/p2nH9vxXAsU2ArAnmB714yeh9uckl1uRzYmMQCSD1LmmBN0q4 + 4UvQ== +X-Gm-Message-State: ABuFfojBZLkXjdlBc4AIjobar5Yk+68lR2+TEpPVGjsScLNzcmIj5eYO + yyEhPWYj3vc1MHjUcMfQLt7ahg== +X-Google-Smtp-Source: + ACcGV614RNSZy+OjIvsEaE9ONlZaDAeI1a8EpD+wP5Gt58g75Bh8DJgL6KJJ2ZjTenoZPwHLydiQBg== +X-Received: by 2002:adf:cd0c:: with SMTP id + w12-v6mr19534363wrm.67.1539698480294; + Tue, 16 Oct 2018 07:01:20 -0700 (PDT) +Received: from localhost.localdomain (221.56.88.92.rev.sfr.net. + [92.88.56.221]) + by smtp.gmail.com with ESMTPSA id + b81-v6sm10195012wmh.47.2018.10.16.07.01.18 + (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); + Tue, 16 Oct 2018 07:01:19 -0700 (PDT) +From: Daniel Lezcano <daniel.lezcano@linaro.org> +To: heiko@sntech.de +Cc: linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>, + Mark Rutland <mark.rutland@arm.com>, + Vicente Bergas <vicencb@gmail.com>, + Shawn Lin <shawn.lin@rock-chips.com>, + Ezequiel Garcia <ezequiel@collabora.com>, + Enric Balletbo i Serra <enric.balletbo@collabora.com>, + Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>, + devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED + DEVICE TREE BINDINGS), + linux-arm-kernel@lists.infradead.org (moderated list:ARM/Rockchip SoC + support), + linux-rockchip@lists.infradead.org (open list:ARM/Rockchip SoC + support) +Subject: [PATCH] DT: rockchip: Fix stability issues with the 'performance' + governor on rock960 +Date: Tue, 16 Oct 2018 16:00:20 +0200 +Message-Id: <1539698431-12616-1-git-send-email-daniel.lezcano@linaro.org> +X-Mailer: git-send-email 2.7.4 +Sender: linux-kernel-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-kernel.vger.kernel.org> +X-Mailing-List: linux-kernel@vger.kernel.org +When the performance governor is set as default, the rock960 hangs +around one minute after booting, whatever the activity is (idle, key +pressed, loaded, ...). + +Based on the commit log found at https://patchwork.kernel.org/patch/10092377/ + +"vdd_log has no consumer and therefore will not be set to a specific +voltage. Still the PWM output pin gets configured and thence the vdd_log +output voltage will changed from it's default. Depending on the idle +state of the PWM this will slightly over or undervoltage the logic supply +of the RK3399 and cause instability with GbE (undervoltage) and PCIe +(overvoltage). Since the default value set by a voltage divider is the +correct supply voltage and we don't need to change it during runtime we +remove the rail from the devicetree completely so the PWM pin will not +be configured." + +After removing the vdd-log from the rock960's specific DT, the board +does no longer hang and shows a stable behavior. + +Apply the same change for the rock960 by removing the vdd-log from the +DT. + +Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> +Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> +--- + arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi +index 6c8c4ab..56abbb0 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi +@@ -57,18 +57,6 @@ + regulator-always-on; + vin-supply = <&vcc_sys>; + }; +- +- vdd_log: vdd-log { +- compatible = "pwm-regulator"; +- pwms = <&pwm2 0 25000 0>; +- regulator-name = "vdd_log"; +- regulator-min-microvolt = <800000>; +- regulator-max-microvolt = <1400000>; +- regulator-always-on; +- regulator-boot-on; +- vin-supply = <&vcc_sys>; +- }; +- + }; + + &cpu_l0 { diff --git a/bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch b/bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch new file mode 100644 index 000000000..5aa9668bc --- /dev/null +++ b/bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch @@ -0,0 +1,40 @@ +From patchwork Tue Oct 9 13:24:46 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: drm/vc4: Set ->is_yuv to false when num_planes == 1 +From: Boris Brezillon <boris.brezillon@bootlin.com> +X-Patchwork-Id: 255528 +Message-Id: <20181009132446.21960-1-boris.brezillon@bootlin.com> +To: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, + dri-devel@lists.freedesktop.org, Eric Anholt <eric@anholt.net> +Cc: Boris Brezillon <boris.brezillon@bootlin.com>, stable@vger.kernel.org +Date: Tue, 9 Oct 2018 15:24:46 +0200 + +When vc4_plane_state is duplicated ->is_yuv is left assigned to its +previous value, and we never set it back to false when switching to +a non-YUV format. + +Fix that by setting ->is_yuv to false in the 'num_planes == 1' branch +of the vc4_plane_setup_clipping_and_scaling() function. + +Fixes: fc04023fafecf ("drm/vc4: Add support for YUV planes.") +Cc: <stable@vger.kernel.org> +Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> +Reviewed-by: Eric Anholt <eric@anholt.net> +--- + drivers/gpu/drm/vc4/vc4_plane.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c +index d04b3c3246ba..60d5ad19cedd 100644 +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -321,6 +321,7 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state) + if (vc4_state->is_unity) + vc4_state->x_scaling[0] = VC4_SCALING_PPF; + } else { ++ vc4_state->is_yuv = false; + vc4_state->x_scaling[1] = VC4_SCALING_NONE; + vc4_state->y_scaling[1] = VC4_SCALING_NONE; + } diff --git a/kernel.spec b/kernel.spec index 8713109ae..ef0f7997f 100644 --- a/kernel.spec +++ b/kernel.spec @@ -631,6 +631,8 @@ Patch331: bcm2835-cpufreq-add-CPU-frequency-control-driver.patch Patch332: bcm2835-hwmon-Add-support-for-RPi-voltage-sensor.patch +Patch334: bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch + # Patches enabling device specific brcm firmware nvram # https://www.spinics.net/lists/linux-wireless/msg178827.html Patch340: brcmfmac-Remove-firmware-loading-code-duplication.patch @@ -682,9 +684,6 @@ Patch528: 0008-console-dummycon-export-dummycon_-un-register_output.patch Patch529: 0009-fbcon-Only-defer-console-takeover-if-the-current-con.patch Patch530: 0010-fbcon-Do-not-takeover-the-console-from-atomic-contex.patch -# CVE-2018-15471 rhbz 1610555 1618414 -Patch531: xsa270.patch - # rhbz 1572944 Patch533: 0001-random-add-a-config-option-to-trust-the-CPU-s-hwrng.patch Patch534: 0001-random-make-CPU-trust-a-boot-parameter.patch @@ -1343,7 +1342,7 @@ BuildKernel() { %ifarch %{arm} aarch64 %{make} %{?make_opts} ARCH=$Arch dtbs dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb - find arch/$Arch/boot/dts -name '*.dtb' -type f | xargs rm -f + find arch/$Arch/boot/dts -name '*.dtb' -type f -delete %endif # Start installing the results @@ -1624,7 +1623,7 @@ BuildKernel() { ln -sf $DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build # prune junk from kernel-devel - find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -exec rm -f {} \; + find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete # build a BLS config for this kernel %{SOURCE43} "$KernelVer" "$RPM_BUILD_ROOT" "%{?variant}" @@ -1734,7 +1733,7 @@ make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install find $RPM_BUILD_ROOT/usr/include \ \( -name .install -o -name .check -o \ - -name ..install.cmd -o -name ..check.cmd \) | xargs rm -f + -name ..install.cmd -o -name ..check.cmd \) -delete %endif @@ -1744,7 +1743,7 @@ make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr/tmp-headers headers_in find $RPM_BUILD_ROOT/usr/tmp-headers/include \ \( -name .install -o -name .check -o \ - -name ..install.cmd -o -name ..check.cmd \) | xargs rm -f + -name ..install.cmd -o -name ..check.cmd \) -delete # Copy all the architectures we care about to their respective asm directories for arch in arm arm64 powerpc s390 x86 ; do @@ -1954,6 +1953,13 @@ fi # # %changelog +* Tue Oct 16 2018 Peter Robinson <pbrobinson@fedoraproject.org> +- Fixes to Rock960 series of devices, improves stability considerably +- Raspberry Pi graphics fix + +* Mon Oct 15 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.18.14-300 +- Linux v4.18.14 + * Fri Oct 12 2018 Peter Robinson <pbrobinson@fedoraproject.org> - Rebase device specific NVRAM files on brcm WiFi devices to latest diff --git a/xsa270.patch b/xsa270.patch deleted file mode 100644 index 867896f9d..000000000 --- a/xsa270.patch +++ /dev/null @@ -1,55 +0,0 @@ -From: Jan Beulich <jbeulich@suse.com> -Subject: xen-netback: fix input validation in xenvif_set_hash_mapping() - -Both len and off are frontend specified values, so we need to make -sure there's no overflow when adding the two for the bounds check. We -also want to avoid undefined behavior and hence use off to index into -->hash.mapping[] only after bounds checking. This at the same time -allows to take care of not applying off twice for the bounds checking -against vif->num_queues. - -It is also insufficient to bounds check copy_op.len, as this is len -truncated to 16 bits. - -This is XSA-270. - -Reported-by: Felix Wilhelm <fwilhelm@google.com> -Signed-off-by: Jan Beulich <jbeulich@suse.com> -Reviewed-by: Paul Durrant <paul.durrant@citrix.com> -Tested-by: Paul Durrant <paul.durrant@citrix.com> ---- -The bounds checking against vif->num_queues also occurs too early afaict -(it should be done after the grant copy). I have patches ready as public -follow-ups for both this and the (at least latent) issue of the mapping -array crossing a page boundary. - ---- a/drivers/net/xen-netback/hash.c -+++ b/drivers/net/xen-netback/hash.c -@@ -332,20 +332,22 @@ u32 xenvif_set_hash_mapping_size(struct - u32 xenvif_set_hash_mapping(struct xenvif *vif, u32 gref, u32 len, - u32 off) - { -- u32 *mapping = &vif->hash.mapping[off]; -+ u32 *mapping = vif->hash.mapping; - struct gnttab_copy copy_op = { - .source.u.ref = gref, - .source.domid = vif->domid, -- .dest.u.gmfn = virt_to_gfn(mapping), - .dest.domid = DOMID_SELF, -- .dest.offset = xen_offset_in_page(mapping), -- .len = len * sizeof(u32), -+ .len = len * sizeof(*mapping), - .flags = GNTCOPY_source_gref - }; - -- if ((off + len > vif->hash.size) || copy_op.len > XEN_PAGE_SIZE) -+ if ((off + len < off) || (off + len > vif->hash.size) || -+ len > XEN_PAGE_SIZE / sizeof(*mapping)) - return XEN_NETIF_CTRL_STATUS_INVALID_PARAMETER; - -+ copy_op.dest.u.gmfn = virt_to_gfn(mapping + off); -+ copy_op.dest.offset = xen_offset_in_page(mapping + off); -+ - while (len-- != 0) - if (mapping[off++] >= vif->num_queues) - return XEN_NETIF_CTRL_STATUS_INVALID_PARAMETER; |