From 68f9cff4572b758a2ff70c7eeb0adb9aff40f8f6 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Mon, 30 Apr 2018 10:58:41 -0500 Subject: [PATCH] Linux v4.17-rc3 --- 0001-qxl-fix-qxl_release_-map-unmap.patch | 61 --------- ...qxl-keep-separate-release_bo-pointer.patch | 120 ------------------ .../CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI | 1 + gitrev | 2 +- kernel-i686-PAE.config | 1 + kernel-i686-PAEdebug.config | 1 + kernel-i686-debug.config | 1 + kernel-i686.config | 1 + kernel-x86_64-debug.config | 1 + kernel-x86_64.config | 1 + kernel.spec | 11 +- mvebu-a37xx-fixes.patch | 62 --------- sources | 3 +- 13 files changed, 14 insertions(+), 252 deletions(-) delete mode 100644 0001-qxl-fix-qxl_release_-map-unmap.patch delete mode 100644 0002-qxl-keep-separate-release_bo-pointer.patch create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI diff --git a/0001-qxl-fix-qxl_release_-map-unmap.patch b/0001-qxl-fix-qxl_release_-map-unmap.patch deleted file mode 100644 index 952dbfa16..000000000 --- a/0001-qxl-fix-qxl_release_-map-unmap.patch +++ /dev/null @@ -1,61 +0,0 @@ -From aabf8665c5e88deefe8b27898bad089b67f8b08a Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Tue, 17 Apr 2018 09:11:12 +0200 -Subject: [PATCH 1/2] qxl: fix qxl_release_{map,unmap} - -s/PAGE_SIZE/PAGE_MASK/ - -Luckily release_offset is never larger than PAGE_SIZE, so the bug has no -bad side effects and managed to stay unnoticed for years that way ... - -Signed-off-by: Gerd Hoffmann ---- - drivers/gpu/drm/qxl/qxl_ioctl.c | 4 ++-- - drivers/gpu/drm/qxl/qxl_release.c | 6 +++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c -index e8c0b10372..ae37cfc56b 100644 ---- a/drivers/gpu/drm/qxl/qxl_ioctl.c -+++ b/drivers/gpu/drm/qxl/qxl_ioctl.c -@@ -182,9 +182,9 @@ static int qxl_process_single_command(struct qxl_device *qdev, - goto out_free_reloc; - - /* TODO copy slow path code from i915 */ -- fb_cmd = qxl_bo_kmap_atomic_page(qdev, cmd_bo, (release->release_offset & PAGE_SIZE)); -+ fb_cmd = qxl_bo_kmap_atomic_page(qdev, cmd_bo, (release->release_offset & PAGE_MASK)); - unwritten = __copy_from_user_inatomic_nocache -- (fb_cmd + sizeof(union qxl_release_info) + (release->release_offset & ~PAGE_SIZE), -+ (fb_cmd + sizeof(union qxl_release_info) + (release->release_offset & ~PAGE_MASK), - u64_to_user_ptr(cmd->command), cmd->command_size); - - { -diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c -index b223c8d0a4..91a10459da 100644 ---- a/drivers/gpu/drm/qxl/qxl_release.c -+++ b/drivers/gpu/drm/qxl/qxl_release.c -@@ -411,10 +411,10 @@ union qxl_release_info *qxl_release_map(struct qxl_device *qdev, - struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); - struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); - -- ptr = qxl_bo_kmap_atomic_page(qdev, bo, release->release_offset & PAGE_SIZE); -+ ptr = qxl_bo_kmap_atomic_page(qdev, bo, release->release_offset & PAGE_MASK); - if (!ptr) - return NULL; -- info = ptr + (release->release_offset & ~PAGE_SIZE); -+ info = ptr + (release->release_offset & ~PAGE_MASK); - return info; - } - -@@ -426,7 +426,7 @@ void qxl_release_unmap(struct qxl_device *qdev, - struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); - void *ptr; - -- ptr = ((void *)info) - (release->release_offset & ~PAGE_SIZE); -+ ptr = ((void *)info) - (release->release_offset & ~PAGE_MASK); - qxl_bo_kunmap_atomic_page(qdev, bo, ptr); - } - --- -2.9.3 - diff --git a/0002-qxl-keep-separate-release_bo-pointer.patch b/0002-qxl-keep-separate-release_bo-pointer.patch deleted file mode 100644 index 66b4bdb2d..000000000 --- a/0002-qxl-keep-separate-release_bo-pointer.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 0e305b67752775d6f47b2730bfba5bc77ac81f16 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Tue, 17 Apr 2018 22:36:48 +0200 -Subject: [PATCH 2/2] qxl: keep separate release_bo pointer - -qxl expects that list_first_entry(release->bos) returns the first -element qxl added to the list. ttm_eu_reserve_buffers() may reorder -the list though. - -Add a release_bo field to struct qxl_release and use that instead. - -Signed-off-by: Gerd Hoffmann ---- - drivers/gpu/drm/qxl/qxl_drv.h | 1 + - drivers/gpu/drm/qxl/qxl_cmd.c | 6 ++---- - drivers/gpu/drm/qxl/qxl_release.c | 12 ++++++------ - 3 files changed, 9 insertions(+), 10 deletions(-) - -diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h -index 00a1a66b05..864b456080 100644 ---- a/drivers/gpu/drm/qxl/qxl_drv.h -+++ b/drivers/gpu/drm/qxl/qxl_drv.h -@@ -167,6 +167,7 @@ struct qxl_release { - - int id; - int type; -+ struct qxl_bo *release_bo; - uint32_t release_offset; - uint32_t surface_release_id; - struct ww_acquire_ctx ticket; -diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c -index c0fb52c6d4..01665b98c5 100644 ---- a/drivers/gpu/drm/qxl/qxl_cmd.c -+++ b/drivers/gpu/drm/qxl/qxl_cmd.c -@@ -179,10 +179,9 @@ qxl_push_command_ring_release(struct qxl_device *qdev, struct qxl_release *relea - uint32_t type, bool interruptible) - { - struct qxl_command cmd; -- struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); - - cmd.type = type; -- cmd.data = qxl_bo_physical_address(qdev, to_qxl_bo(entry->tv.bo), release->release_offset); -+ cmd.data = qxl_bo_physical_address(qdev, release->release_bo, release->release_offset); - - return qxl_ring_push(qdev->command_ring, &cmd, interruptible); - } -@@ -192,10 +191,9 @@ qxl_push_cursor_ring_release(struct qxl_device *qdev, struct qxl_release *releas - uint32_t type, bool interruptible) - { - struct qxl_command cmd; -- struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); - - cmd.type = type; -- cmd.data = qxl_bo_physical_address(qdev, to_qxl_bo(entry->tv.bo), release->release_offset); -+ cmd.data = qxl_bo_physical_address(qdev, release->release_bo, release->release_offset); - - return qxl_ring_push(qdev->cursor_ring, &cmd, interruptible); - } -diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c -index 91a10459da..7c11855b74 100644 ---- a/drivers/gpu/drm/qxl/qxl_release.c -+++ b/drivers/gpu/drm/qxl/qxl_release.c -@@ -173,6 +173,7 @@ qxl_release_free_list(struct qxl_release *release) - list_del(&entry->tv.head); - kfree(entry); - } -+ release->release_bo = NULL; - } - - void -@@ -296,7 +297,6 @@ int qxl_alloc_surface_release_reserved(struct qxl_device *qdev, - { - if (surface_cmd_type == QXL_SURFACE_CMD_DESTROY && create_rel) { - int idr_ret; -- struct qxl_bo_list *entry = list_first_entry(&create_rel->bos, struct qxl_bo_list, tv.head); - struct qxl_bo *bo; - union qxl_release_info *info; - -@@ -304,8 +304,9 @@ int qxl_alloc_surface_release_reserved(struct qxl_device *qdev, - idr_ret = qxl_release_alloc(qdev, QXL_RELEASE_SURFACE_CMD, release); - if (idr_ret < 0) - return idr_ret; -- bo = to_qxl_bo(entry->tv.bo); -+ bo = create_rel->release_bo; - -+ (*release)->release_bo = bo; - (*release)->release_offset = create_rel->release_offset + 64; - - qxl_release_list_add(*release, bo); -@@ -365,6 +366,7 @@ int qxl_alloc_release_reserved(struct qxl_device *qdev, unsigned long size, - - bo = qxl_bo_ref(qdev->current_release_bo[cur_idx]); - -+ (*release)->release_bo = bo; - (*release)->release_offset = qdev->current_release_bo_offset[cur_idx] * release_size_per_bo[cur_idx]; - qdev->current_release_bo_offset[cur_idx]++; - -@@ -408,8 +410,7 @@ union qxl_release_info *qxl_release_map(struct qxl_device *qdev, - { - void *ptr; - union qxl_release_info *info; -- struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); -- struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); -+ struct qxl_bo *bo = release->release_bo; - - ptr = qxl_bo_kmap_atomic_page(qdev, bo, release->release_offset & PAGE_MASK); - if (!ptr) -@@ -422,8 +423,7 @@ void qxl_release_unmap(struct qxl_device *qdev, - struct qxl_release *release, - union qxl_release_info *info) - { -- struct qxl_bo_list *entry = list_first_entry(&release->bos, struct qxl_bo_list, tv.head); -- struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); -+ struct qxl_bo *bo = release->release_bo; - void *ptr; - - ptr = ((void *)info) - (release->release_offset & ~PAGE_MASK); --- -2.9.3 - diff --git a/configs/fedora/generic/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI b/configs/fedora/generic/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI new file mode 100644 index 000000000..a371306cb --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI @@ -0,0 +1 @@ +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m diff --git a/gitrev b/gitrev index 25991a138..2a21700e9 100644 --- a/gitrev +++ b/gitrev @@ -1 +1 @@ -0644f186fc9d77bb5bd198369e59fb28927a3692 +6da6c0db5316275015e8cc2959f12a17584aeb64 diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config index 4bd00a3e4..563b25788 100644 --- a/kernel-i686-PAE.config +++ b/kernel-i686-PAE.config @@ -5230,6 +5230,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_ZX_AUD96P22 is not set CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config index 51237fbf2..a6970df17 100644 --- a/kernel-i686-PAEdebug.config +++ b/kernel-i686-PAEdebug.config @@ -5253,6 +5253,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_ZX_AUD96P22 is not set CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config index 73abadf08..f11cdf372 100644 --- a/kernel-i686-debug.config +++ b/kernel-i686-debug.config @@ -5253,6 +5253,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_ZX_AUD96P22 is not set CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set diff --git a/kernel-i686.config b/kernel-i686.config index 9893cb666..6520df0ef 100644 --- a/kernel-i686.config +++ b/kernel-i686.config @@ -5230,6 +5230,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_ZX_AUD96P22 is not set CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config index 38583172b..26ce140c7 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug.config @@ -5341,6 +5341,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_ZX_AUD96P22 is not set CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set diff --git a/kernel-x86_64.config b/kernel-x86_64.config index 54cfebb3d..7ef6b0ced 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -5318,6 +5318,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_ZX_AUD96P22 is not set CONFIG_SND_SONICVIBES=m # CONFIG_SND_SPI is not set +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m # CONFIG_SND_SUPPORT_OLD_API is not set diff --git a/kernel.spec b/kernel.spec index 59ebd3e2e..eb86f9ce0 100644 --- a/kernel.spec +++ b/kernel.spec @@ -67,9 +67,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%global rcrev 2 +%global rcrev 3 # The git snapshot level -%define gitrev 3 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 4.%{upstream_sublevel}.0 %endif @@ -623,10 +623,6 @@ Patch503: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch # Drop this when configs are updated Patch504: 0001-Back-out-Kconfig.patch -# rhbz 1565354 -Patch505: 0001-qxl-fix-qxl_release_-map-unmap.patch -Patch506: 0002-qxl-keep-separate-release_bo-pointer.patch - # END OF PATCH DEFINITIONS %endif @@ -1875,6 +1871,9 @@ fi # # %changelog +* Mon Apr 30 2018 Justin M. Forbes - 4.17.0-0.rc3.git0.1 +- Linux v4.17-rc3 + * Mon Apr 30 2018 Justin M. Forbes - Disable debugging options. diff --git a/mvebu-a37xx-fixes.patch b/mvebu-a37xx-fixes.patch index c4390ccfe..0c04e8b00 100644 --- a/mvebu-a37xx-fixes.patch +++ b/mvebu-a37xx-fixes.patch @@ -1,65 +1,3 @@ -From patchwork Sun Apr 22 12:33:46 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: serial: mvebu-uart: Fix local flags handling on termios update -From: Marc Zyngier -X-Patchwork-Id: 10354521 -Message-Id: <20180422123346.15538-1-marc.zyngier@arm.com> -To: linux-arm-kernel@lists.infradead.org, - linux-kernel@vger.kernel.org -Cc: Gregory CLEMENT , - Allen Yan , - Greg Kroah-Hartman , - Miquel Raynal -Date: Sun, 22 Apr 2018 13:33:46 +0100 - -Commit 68a0db1d7da2 reworked the baud rate selection, but also added -a (not so) subtle change in the way the local flags (c_lflag in the -termios structure) are handled, forcing the new flags to always be the -same as the old ones. - -The reason for that particular change is both obscure and undocumented. -It also completely breaks userspace. Something as trivial as getty is -unusable: - - - Debian GNU/Linux 9 sy-borg ttyMV0 - - sy-borg login: root - root - [timeout] - - Debian GNU/Linux 9 sy-borg ttyMV0 - - -which is quite obvious in retrospect: getty cannot get in control of -the echo mode, is stuck in canonical mode, and times out without ever -seeing anything valid. It also begs the question of how this change was -ever tested. - -The fix is pretty obvious: stop messing with c_lflag, and the world -will be a happier place. - -Cc: stable@vger.kernel.org # 4.15+ -Fixes: 68a0db1d7da2 ("serial: mvebu-uart: add function to change baudrate") -Signed-off-by: Marc Zyngier ---- - drivers/tty/serial/mvebu-uart.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c -index 750e5645dc85..f503fab1e268 100644 ---- a/drivers/tty/serial/mvebu-uart.c -+++ b/drivers/tty/serial/mvebu-uart.c -@@ -495,7 +495,6 @@ static void mvebu_uart_set_termios(struct uart_port *port, - termios->c_iflag |= old->c_iflag & ~(INPCK | IGNPAR); - termios->c_cflag &= CREAD | CBAUD; - termios->c_cflag |= old->c_cflag & ~(CREAD | CBAUD); -- termios->c_lflag = old->c_lflag; - } - - spin_unlock_irqrestore(&port->lock, flags); From patchwork Sun Mar 25 19:57:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 diff --git a/sources b/sources index 05749faf1..016dbb75f 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ SHA512 (linux-4.16.tar.xz) = ab47849314b177d0eec9dbf261f33972b0d89fb92fb0650130ffa7abc2f36c0fab2d06317dc1683c51a472a9a631573a9b1e7258d6281a2ee189897827f14662 -SHA512 (patch-4.17-rc2.xz) = 9456b16b16dc389b7f53cef01078b537557bbf28fb3a0ce286fbfef1605eb498c966dd98cff9e98eb772598c39b2e62643b3ef591112dbb8eb2ec06cbd18c7c6 -SHA512 (patch-4.17-rc2-git3.xz) = 590477c87240a5e4a3626185cb3c443c81a8e69e151fbc946987b0e5c5a2536c521a5bdd94cffa4b0cf825590089d3cb491575da20b02a694e40526853feba0d +SHA512 (patch-4.17-rc3.xz) = 5b8a72386f295628e5ebdccbfb25caea60237233496d3c98769942f40c83e7339f35b51b084e75cc8ced15d26b5194345ea9c38f724b138aae2cf498924bd3e7