From f2aff3716e93fdac690d335ec215711614696051 Mon Sep 17 00:00:00 2001 From: Pablo Greco Date: Jun 15 2019 13:03:31 +0000 Subject: Update to 4.19.51 --- diff --git a/.kernel.metadata b/.kernel.metadata index 162aa98..495aef9 100644 --- a/.kernel.metadata +++ b/.kernel.metadata @@ -1,2 +1,2 @@ 40f3e72192d59c0b7a4638cebd0ea55d35a782bb SOURCES/linux-4.19.tar.xz -bef71d1c2cd5bfc35cf110a0c077700905a343dc SOURCES/patch-4.19.43.xz +2b22769717e1835bd8c8b14c63f1478b0ff4dd2c SOURCES/patch-4.19.51.xz diff --git a/SOURCES/efi-secureboot.patch b/SOURCES/efi-secureboot.patch index c570376..23bc068 100644 --- a/SOURCES/efi-secureboot.patch +++ b/SOURCES/efi-secureboot.patch @@ -180,7 +180,7 @@ index f5083aa72eae..79da76d14ca3 100644 extern int efi_status_to_err(efi_status_t status); @@ -1557,12 +1567,6 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg, - bool efi_runtime_disabled(void); + extern void efi_call_virt_check_flags(unsigned long flags, const char *call); -enum efi_secureboot_mode { diff --git a/SOURCES/ena-fixes.patch b/SOURCES/ena-fixes.patch index ab2042a..bb42124 100644 --- a/SOURCES/ena-fixes.patch +++ b/SOURCES/ena-fixes.patch @@ -297,7 +297,7 @@ index 69a49784b204..0c9c0d3ce856 100644 + host_info->bdf = (pdev->bus->number << 8) | pdev->devfn; host_info->os_type = ENA_ADMIN_OS_LINUX; host_info->kernel_ver = LINUX_VERSION_CODE; - strncpy(host_info->kernel_ver_str, utsname()->version, + strlcpy(host_info->kernel_ver_str, utsname()->version, @@ -2230,7 +2232,9 @@ static void ena_config_host_info(struct ena_com_dev *ena_dev) host_info->driver_version = (DRV_MODULE_VER_MAJOR) | diff --git a/SOURCES/kernel-aarch64-debug.config b/SOURCES/kernel-aarch64-debug.config index 5a62d51..cf633d9 100644 --- a/SOURCES/kernel-aarch64-debug.config +++ b/SOURCES/kernel-aarch64-debug.config @@ -286,6 +286,8 @@ CONFIG_ARM64_4K_PAGES=y CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y CONFIG_ARM64_CRYPTO=y CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_ARM64_ERRATUM_1418040=y +CONFIG_ARM64_ERRATUM_1463225=y CONFIG_ARM64_ERRATUM_819472=y CONFIG_ARM64_ERRATUM_824069=y CONFIG_ARM64_ERRATUM_826319=y diff --git a/SOURCES/kernel-aarch64.config b/SOURCES/kernel-aarch64.config index 19782d9..49806ab 100644 --- a/SOURCES/kernel-aarch64.config +++ b/SOURCES/kernel-aarch64.config @@ -286,6 +286,8 @@ CONFIG_ARM64_4K_PAGES=y CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y CONFIG_ARM64_CRYPTO=y CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_ARM64_ERRATUM_1418040=y +CONFIG_ARM64_ERRATUM_1463225=y CONFIG_ARM64_ERRATUM_819472=y CONFIG_ARM64_ERRATUM_824069=y CONFIG_ARM64_ERRATUM_826319=y diff --git a/SOURCES/v3-drivers-ata-ahci_sunxi-Increased-SATA-AHCI-DMA-TX-RX-FIFOs.patch b/SOURCES/v3-drivers-ata-ahci_sunxi-Increased-SATA-AHCI-DMA-TX-RX-FIFOs.patch new file mode 100644 index 0000000..3b214d7 --- /dev/null +++ b/SOURCES/v3-drivers-ata-ahci_sunxi-Increased-SATA-AHCI-DMA-TX-RX-FIFOs.patch @@ -0,0 +1,206 @@ +From patchwork Mon May 13 14:24:10 2019 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Uenal Mutlu +X-Patchwork-Id: 10941009 +Return-Path: + +Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org + [172.30.200.125]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 64DB1933 + for ; + Mon, 13 May 2019 14:25:04 +0000 (UTC) +Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) + by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 53A7E28173 + for ; + Mon, 13 May 2019 14:25:04 +0000 (UTC) +Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) + id 44C8E2817F; Mon, 13 May 2019 14:25:04 +0000 (UTC) +X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on + pdx-wl-mail.web.codeaurora.org +X-Spam-Level: +X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,TVD_RCVD_SPACE_BRACKET + autolearn=ham version=3.3.1 +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1965627B13 + for ; + Mon, 13 May 2019 14:25:03 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: + List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: + Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: + Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: + References:List-Owner; bh=VkMtdWYKvqBKk3e5nsb2oSCQ7/i6ILGNJ9G30WzfwwM=; b=dhR + lLF1HS0z1Iw8ATlWJrNkYsB5lzCXeRq6NWJoiKGDnyFP0DzEsmK8hk/hM5gfqKJVzfbS20UAKtrWR + KFChW9BQjSSUmMlejAZlogUQCUraRP0z9dmMb2vrsMxdFfoUTB+Kpcabq0VPGrjaNwIU72gjW9tG7 + M69LjSV96H16B4wLhIQYo/CgMH1OHxHf4o4xaqVBr9UpqOcFNzwGKuaIISjuIriyhfWAbrrPMoRpL + sg+5X4JcQE17YkDdpau1e8zp6RQpsDbiai9Qv/vnFqJTXU8xo9ERq/qCyehQ1+EH+JWRWZ4ArzP5v + brG6fmI4tEB1dTuBRGj+WXa3B/Ccm2A==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) + id 1hQBsu-0006y7-6y; Mon, 13 May 2019 14:24:56 +0000 +Received: from mutluit.com ([82.211.8.197]) + by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) + id 1hQBsm-0006sz-Hf + for linux-arm-kernel@lists.infradead.org; Mon, 13 May 2019 14:24:51 +0000 +Received: from c22-local.mutluit.com (ip4d155212.dynamic.kabel-deutschland.de + [77.21.82.18]:58476) + by mutluit.com (s2.mutluit.com [82.211.8.197]:25) with ESMTP ([XMail 1.27 + ESMTP Server]) + id for from + ; + Mon, 13 May 2019 10:24:41 -0400 +From: Uenal Mutlu +To: Jens Axboe , Maxime Ripard , + Chen-Yu Tsai , linux-ide@vger.kernel.org, + linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org +Subject: [PATCH v3] drivers: ata: ahci_sunxi: Increased SATA/AHCI DMA TX/RX + FIFOs +Date: Mon, 13 May 2019 16:24:10 +0200 +Message-Id: <20190513142410.9299-1-um@mutluit.com> +X-Mailer: git-send-email 2.11.0 +X-Patchwork-Bot: notify +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20190513_072449_032044_164B56F7 +X-CRM114-Status: GOOD ( 12.14 ) +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.21 +Precedence: list +List-Id: +List-Unsubscribe: + , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: + , + +Cc: Mark Rutland , Uenal Mutlu , + Oliver Schinagl , + Andre Przywara , + Linus Walleij , + Pablo Greco , FUKAUMI Naoki , + Hans de Goede , linux-sunxi@googlegroups.com, + Jagan Teki , linux-amarula@amarulasolutions.com, + Stefan Monnier +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" +Sender: "linux-arm-kernel" +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +X-Virus-Scanned: ClamAV using ClamSMTP + +Increasing the SATA/AHCI DMA TX/RX FIFOs (P0DMACR.TXTS and .RXTS, ie. +TX_TRANSACTION_SIZE and RX_TRANSACTION_SIZE) from default 0x0 each +to 0x3 each, gives a write performance boost of 120 MiB/s to 132 MiB/s +from lame 36 MiB/s to 45 MiB/s previously. +Read performance is above 200 MiB/s. +[tested on SSD using dd bs=4K/8K/12K/16K/20K/24K/32K: peak-perf at 12K] + +Tested on the SBCs Banana Pi R1 (aka Lamobo R1) and Banana Pi M1 which +are based on the Allwinner A20 32bit-SoC (ARMv7-a / arm-linux-gnueabihf). +These devices are RaspberryPi-like small devices. + +This problem of slow SATA write-speed with these small devices lasts +for about 7 years now (beginning with the A10 SoC). Many commentators +throughout the years wrongly assumed the slow write speed was a +hardware limitation. This patch finally solves the problem, which +in fact was just a hard-to-find software problem due to lack of +SATA/AHCI documentation by the SoC-maker Allwinner Technology. + +Lists of the affected sunxi and other boards and SoCs with SATA using +the ahci_sunxi driver: + $ grep -i -e "^&ahci" arch/arm/boot/dts/sun*dts + and http://linux-sunxi.org/SATA#Devices_with_SATA_ports + See also http://linux-sunxi.org/Category:Devices_with_SATA_port + +Acked-by: Maxime Ripard +Reviewed-by: Hans de Goede +Signed-off-by: Uenal Mutlu +--- + +v3: + * Removed RFC from Subject line, and also the explicit call for RFC + in the text, thereby submitting the patch for official merging. + +v2: + * Commented the patch in-place in ahci_sunxi.c + * With bs=12K and no conv=... passed to dd, the write performance + rises further to 132 MiB/s + * Changed MB/s to MiB/s + * Posted the story behind the patch: + http://lkml.iu.edu/hypermail/linux/kernel/1905.1/03506.html + * Posted a dd test script to find optimal bs, and some results: + https://bit.ly/2YoOzEM + +v1: + * States bs=4K for dd and a write performance of 120 MiB/s +--- + drivers/ata/ahci_sunxi.c | 47 +++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 45 insertions(+), 2 deletions(-) + +diff --git a/drivers/ata/ahci_sunxi.c b/drivers/ata/ahci_sunxi.c +index 911710643305..018186a39a69 100644 +--- a/drivers/ata/ahci_sunxi.c ++++ b/drivers/ata/ahci_sunxi.c +@@ -157,8 +157,51 @@ static void ahci_sunxi_start_engine(struct ata_port *ap) + void __iomem *port_mmio = ahci_port_base(ap); + struct ahci_host_priv *hpriv = ap->host->private_data; + +- /* Setup DMA before DMA start */ +- sunxi_clrsetbits(hpriv->mmio + AHCI_P0DMACR, 0x0000ff00, 0x00004400); ++ /* Setup DMA before DMA start ++ * ++ * NOTE: A similar SoC with SATA/AHCI by Texas Instruments documents ++ * this Vendor Specific Port (P0DMACR, aka PxDMACR) in its ++ * User's Guide document (TMS320C674x/OMAP-L1x Processor ++ * Serial ATA (SATA) Controller, Literature Number: SPRUGJ8C, ++ * March 2011, Chapter 4.33 Port DMA Control Register (P0DMACR), ++ * p.68, https://www.ti.com/lit/ug/sprugj8c/sprugj8c.pdf) ++ * as equivalent to the following struct: ++ * ++ * struct AHCI_P0DMACR_t ++ * { ++ * unsigned TXTS : 4; ++ * unsigned RXTS : 4; ++ * unsigned TXABL : 4; ++ * unsigned RXABL : 4; ++ * unsigned Reserved : 16; ++ * }; ++ * ++ * TXTS: Transmit Transaction Size (TX_TRANSACTION_SIZE). ++ * This field defines the DMA transaction size in DWORDs for ++ * transmit (system bus read, device write) operation. [...] ++ * ++ * RXTS: Receive Transaction Size (RX_TRANSACTION_SIZE). ++ * This field defines the Port DMA transaction size in DWORDs ++ * for receive (system bus write, device read) operation. [...] ++ * ++ * TXABL: Transmit Burst Limit. ++ * This field allows software to limit the VBUSP master read ++ * burst size. [...] ++ * ++ * RXABL: Receive Burst Limit. ++ * Allows software to limit the VBUSP master write burst ++ * size. [...] ++ * ++ * Reserved: Reserved. ++ * ++ * ++ * NOTE: According to the above document, the following alternative ++ * to the code below could perhaps be a better option ++ * (or preparation) for possible further improvements later: ++ * sunxi_clrsetbits(hpriv->mmio + AHCI_P0DMACR, 0x0000ffff, ++ * 0x00000033); ++ */ ++ sunxi_clrsetbits(hpriv->mmio + AHCI_P0DMACR, 0x0000ffff, 0x00004433); + + /* Start DMA */ + sunxi_setbits(port_mmio + PORT_CMD, PORT_CMD_START); diff --git a/SOURCES/xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch b/SOURCES/xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch deleted file mode 100644 index 4c55bf2..0000000 --- a/SOURCES/xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: Konrad Rzeszutek Wilk -Date: Fri, 27 Mar 2015 13:31:11 -0400 -Subject: [PATCH] xen/pciback: Don't disable PCI_COMMAND on PCI device reset. - -There is no need for this at all. Worst it means that if -the guest tries to write to BARs it could lead (on certain -platforms) to PCI SERR errors. - -Please note that with af6fc858a35b90e89ea7a7ee58e66628c55c776b -"xen-pciback: limit guest control of command register" -a guest is still allowed to enable those control bits (safely), but -is not allowed to disable them and that therefore a well behaved -frontend which enables things before using them will still -function correctly. - -This is done via an write to the configuration register 0x4 which -triggers on the backend side: -command_write - \- pci_enable_device - \- pci_enable_device_flags - \- do_pci_enable_device - \- pcibios_enable_device - \-pci_enable_resourcess - [which enables the PCI_COMMAND_MEMORY|PCI_COMMAND_IO] - -However guests (and drivers) which don't do this could cause -problems, including the security issues which XSA-120 sought -to address. - -Reported-by: Jan Beulich -Signed-off-by: Konrad Rzeszutek Wilk ---- - drivers/xen/xen-pciback/pciback_ops.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c -index c4a0666de6f5..26e651336787 100644 ---- a/drivers/xen/xen-pciback/pciback_ops.c -+++ b/drivers/xen/xen-pciback/pciback_ops.c -@@ -119,8 +119,6 @@ void xen_pcibk_reset_device(struct pci_dev *dev) - if (pci_is_enabled(dev)) - pci_disable_device(dev); - -- pci_write_config_word(dev, PCI_COMMAND, 0); -- - dev->is_busmaster = 0; - } else { - pci_read_config_word(dev, PCI_COMMAND, &cmd); diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec index 5fe4ac6..3958d2f 100644 --- a/SPECS/kernel.spec +++ b/SPECS/kernel.spec @@ -54,7 +54,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 43 +%define stable_update 51 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -566,8 +566,6 @@ Patch119: namespaces-no-expert.patch Patch120: ath9k-rx-dma-stop-check.patch -Patch121: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch - Patch122: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch # This no longer applies, let's see if it needs to be updated @@ -665,6 +663,7 @@ Patch517: 0001-Bluetooth-btsdio-Do-not-bind-to-non-removable-BCM434.patch Patch10002: 9999-centos-a83t-hdmi.patch Patch11002: 9999-centos-r40sata.patch Patch11003: 9999-centos-r40-v40-dts-update.patch +Patch11004: v3-drivers-ata-ahci_sunxi-Increased-SATA-AHCI-DMA-TX-RX-FIFOs.patch ##end centos # END OF PATCH DEFINITIONS @@ -2243,6 +2242,11 @@ fi # # %changelog +* Sat Jun 15 2019 Pablo Greco - 4.19.51-300 +- Linux v4.19.51 +- Remove upstreamed patches +- Add sunxi-sata-performance-patch + * Thu May 23 2019 Pablo Greco - 4.19.43-300 - Prepare to build with CentOS 8