Refresh remaining patches

This commit is contained in:
Noah Meyerhans 2019-10-25 13:57:23 -07:00
parent 62e5e3199d
commit 8c9e9430c2
212 changed files with 2897 additions and 2312 deletions

View File

@ -14,11 +14,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
tools/power/cpupower/Makefile | 2 +- tools/power/cpupower/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/power/cpupower/Makefile b/tools/power/cpupower/Makefile Index: linux/tools/power/cpupower/Makefile
index 8358863259c5..0b85f5915ce8 100644 ===================================================================
--- a/tools/power/cpupower/Makefile --- linux.orig/tools/power/cpupower/Makefile
+++ b/tools/power/cpupower/Makefile +++ linux/tools/power/cpupower/Makefile
@@ -64,7 +64,7 @@ DESTDIR ?= @@ -66,7 +66,7 @@ DESTDIR ?=
VERSION= $(shell ./utils/version-gen.sh) VERSION= $(shell ./utils/version-gen.sh)
LIB_MAJ= 0.0.1 LIB_MAJ= 0.0.1

View File

@ -22,8 +22,10 @@ incorrect check has been fixed with upstream commit 53d1cd6b125f.
Keep in the patch the distinction and report for the zero and Keep in the patch the distinction and report for the zero and
negative cases.] negative cases.]
--- ---
--- a/tools/power/cpupower/bench/system.c Index: linux/tools/power/cpupower/bench/system.c
+++ b/tools/power/cpupower/bench/system.c ===================================================================
--- linux.orig/tools/power/cpupower/bench/system.c
+++ linux/tools/power/cpupower/bench/system.c
@@ -58,12 +58,19 @@ long long int get_time() @@ -58,12 +58,19 @@ long long int get_time()
int set_cpufreq_governor(char *governor, unsigned int cpu) int set_cpufreq_governor(char *governor, unsigned int cpu)

View File

@ -18,7 +18,7 @@ Index: linux/drivers/net/phy/marvell.c
=================================================================== ===================================================================
--- linux.orig/drivers/net/phy/marvell.c --- linux.orig/drivers/net/phy/marvell.c
+++ linux/drivers/net/phy/marvell.c +++ linux/drivers/net/phy/marvell.c
@@ -962,6 +962,7 @@ static int m88e1118_config_init(struct p @@ -950,6 +950,7 @@ static int m88e1118_config_init(struct p
return genphy_soft_reset(phydev); return genphy_soft_reset(phydev);
} }
@ -26,7 +26,7 @@ Index: linux/drivers/net/phy/marvell.c
static int m88e1149_config_init(struct phy_device *phydev) static int m88e1149_config_init(struct phy_device *phydev)
{ {
int err; int err;
@@ -987,7 +988,9 @@ static int m88e1149_config_init(struct p @@ -975,7 +976,9 @@ static int m88e1149_config_init(struct p
return genphy_soft_reset(phydev); return genphy_soft_reset(phydev);
} }
@ -36,7 +36,7 @@ Index: linux/drivers/net/phy/marvell.c
static int m88e1145_config_init_rgmii(struct phy_device *phydev) static int m88e1145_config_init_rgmii(struct phy_device *phydev)
{ {
int err; int err;
@@ -1062,6 +1065,7 @@ static int m88e1145_config_init(struct p @@ -1050,6 +1053,7 @@ static int m88e1145_config_init(struct p
return 0; return 0;
} }
@ -44,7 +44,7 @@ Index: linux/drivers/net/phy/marvell.c
/* The VOD can be out of specification on link up. Poke an /* The VOD can be out of specification on link up. Poke an
* undocumented register, in an undocumented page, with a magic value * undocumented register, in an undocumented page, with a magic value
@@ -2175,6 +2179,7 @@ static struct phy_driver marvell_drivers @@ -2165,6 +2169,7 @@ static struct phy_driver marvell_drivers
.get_strings = marvell_get_strings, .get_strings = marvell_get_strings,
.get_stats = marvell_get_stats, .get_stats = marvell_get_stats,
}, },
@ -52,7 +52,7 @@ Index: linux/drivers/net/phy/marvell.c
{ {
.phy_id = MARVELL_PHY_ID_88E1145, .phy_id = MARVELL_PHY_ID_88E1145,
.phy_id_mask = MARVELL_PHY_ID_MASK, .phy_id_mask = MARVELL_PHY_ID_MASK,
@@ -2195,6 +2200,8 @@ static struct phy_driver marvell_drivers @@ -2185,6 +2190,8 @@ static struct phy_driver marvell_drivers
.get_strings = marvell_get_strings, .get_strings = marvell_get_strings,
.get_stats = marvell_get_stats, .get_stats = marvell_get_stats,
}, },
@ -61,7 +61,7 @@ Index: linux/drivers/net/phy/marvell.c
{ {
.phy_id = MARVELL_PHY_ID_88E1149R, .phy_id = MARVELL_PHY_ID_88E1149R,
.phy_id_mask = MARVELL_PHY_ID_MASK, .phy_id_mask = MARVELL_PHY_ID_MASK,
@@ -2214,6 +2221,8 @@ static struct phy_driver marvell_drivers @@ -2204,6 +2211,8 @@ static struct phy_driver marvell_drivers
.get_strings = marvell_get_strings, .get_strings = marvell_get_strings,
.get_stats = marvell_get_stats, .get_stats = marvell_get_stats,
}, },
@ -70,7 +70,7 @@ Index: linux/drivers/net/phy/marvell.c
{ {
.phy_id = MARVELL_PHY_ID_88E1240, .phy_id = MARVELL_PHY_ID_88E1240,
.phy_id_mask = MARVELL_PHY_ID_MASK, .phy_id_mask = MARVELL_PHY_ID_MASK,
@@ -2233,6 +2242,7 @@ static struct phy_driver marvell_drivers @@ -2223,6 +2232,7 @@ static struct phy_driver marvell_drivers
.get_strings = marvell_get_strings, .get_strings = marvell_get_strings,
.get_stats = marvell_get_stats, .get_stats = marvell_get_stats,
}, },
@ -78,7 +78,7 @@ Index: linux/drivers/net/phy/marvell.c
{ {
.phy_id = MARVELL_PHY_ID_88E1116R, .phy_id = MARVELL_PHY_ID_88E1116R,
.phy_id_mask = MARVELL_PHY_ID_MASK, .phy_id_mask = MARVELL_PHY_ID_MASK,
@@ -2369,9 +2379,9 @@ static struct mdio_device_id __maybe_unu @@ -2359,9 +2369,9 @@ static struct mdio_device_id __maybe_unu
{ MARVELL_PHY_ID_88E1111, MARVELL_PHY_ID_MASK }, { MARVELL_PHY_ID_88E1111, MARVELL_PHY_ID_MASK },
{ MARVELL_PHY_ID_88E1118, MARVELL_PHY_ID_MASK }, { MARVELL_PHY_ID_88E1118, MARVELL_PHY_ID_MASK },
{ MARVELL_PHY_ID_88E1121R, MARVELL_PHY_ID_MASK }, { MARVELL_PHY_ID_88E1121R, MARVELL_PHY_ID_MASK },

View File

@ -33,8 +33,10 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Documentation/media/media_uapi.rst | 6 +++--- Documentation/media/media_uapi.rst | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-) 1 file changed, 3 insertions(+), 3 deletions(-)
--- a/Documentation/media/media_uapi.rst Index: linux/Documentation/media/media_uapi.rst
+++ b/Documentation/media/media_uapi.rst ===================================================================
--- linux.orig/Documentation/media/media_uapi.rst
+++ linux/Documentation/media/media_uapi.rst
@@ -10,9 +10,9 @@ Linux Media Infrastructure userspace API @@ -10,9 +10,9 @@ Linux Media Infrastructure userspace API
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document

View File

@ -21,9 +21,11 @@ This does not cover the case where we fall back to a user-mode helper
NOTE: hw-detect will depend on the "firmware: failed to load %s (%d)\n" NOTE: hw-detect will depend on the "firmware: failed to load %s (%d)\n"
format to detect missing firmware. format to detect missing firmware.
--- ---
--- a/drivers/base/firmware_loader/main.c Index: linux/drivers/base/firmware_loader/main.c
+++ b/drivers/base/firmware_loader/main.c ===================================================================
@@ -322,21 +322,22 @@ fw_get_filesystem_firmware(struct device --- linux.orig/drivers/base/firmware_loader/main.c
+++ linux/drivers/base/firmware_loader/main.c
@@ -328,21 +328,22 @@ fw_get_filesystem_firmware(struct device
rc = kernel_read_file_from_path(path, &fw_priv->data, &size, rc = kernel_read_file_from_path(path, &fw_priv->data, &size,
msize, id); msize, id);
if (rc) { if (rc) {
@ -53,9 +55,11 @@ format to detect missing firmware.
return rc; return rc;
} }
--- a/drivers/base/firmware_loader/fallback.c Index: linux/drivers/base/firmware_loader/fallback.c
+++ b/drivers/base/firmware_loader/fallback.c ===================================================================
@@ -609,7 +609,7 @@ static int fw_load_from_user_helper(stru --- linux.orig/drivers/base/firmware_loader/fallback.c
+++ linux/drivers/base/firmware_loader/fallback.c
@@ -604,7 +604,7 @@ static int fw_load_from_user_helper(stru
if (opt_flags & FW_OPT_NOWAIT) { if (opt_flags & FW_OPT_NOWAIT) {
timeout = usermodehelper_read_lock_wait(timeout); timeout = usermodehelper_read_lock_wait(timeout);
if (!timeout) { if (!timeout) {

View File

@ -10,23 +10,29 @@ dependencies of a module.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
[Lukas Wunner: Forward-ported to 4.11: drop parts applied upstream] [Lukas Wunner: Forward-ported to 4.11: drop parts applied upstream]
--- ---
--- a/fs/btrfs/super.c Index: linux/fs/btrfs/super.c
+++ b/fs/btrfs/super.c ===================================================================
@@ -2500,3 +2500,4 @@ late_initcall(init_btrfs_fs); --- linux.orig/fs/btrfs/super.c
+++ linux/fs/btrfs/super.c
@@ -2514,3 +2514,4 @@ late_initcall(init_btrfs_fs);
module_exit(exit_btrfs_fs) module_exit(exit_btrfs_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c"); +MODULE_SOFTDEP("pre: crypto-crc32c");
--- a/fs/crypto/crypto.c Index: linux/fs/crypto/crypto.c
+++ b/fs/crypto/crypto.c ===================================================================
@@ -468,3 +468,4 @@ static void __exit fscrypt_exit(void) --- linux.orig/fs/crypto/crypto.c
+++ linux/fs/crypto/crypto.c
@@ -502,3 +502,4 @@ static void __exit fscrypt_exit(void)
module_exit(fscrypt_exit); module_exit(fscrypt_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-aes crypto-ecb"); +MODULE_SOFTDEP("pre: crypto-aes crypto-ecb");
--- a/fs/ext4/super.c Index: linux/fs/ext4/super.c
+++ b/fs/ext4/super.c ===================================================================
@@ -5880,6 +5880,6 @@ static void __exit ext4_exit_fs(void) --- linux.orig/fs/ext4/super.c
+++ linux/fs/ext4/super.c
@@ -6082,6 +6082,6 @@ static void __exit ext4_exit_fs(void)
MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"); MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others");
MODULE_DESCRIPTION("Fourth Extended Filesystem"); MODULE_DESCRIPTION("Fourth Extended Filesystem");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
@ -34,17 +40,21 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+MODULE_SOFTDEP("pre: crypto-crc32c"); +MODULE_SOFTDEP("pre: crypto-crc32c");
module_init(ext4_init_fs) module_init(ext4_init_fs)
module_exit(ext4_exit_fs) module_exit(ext4_exit_fs)
--- a/fs/f2fs/super.c Index: linux/fs/f2fs/super.c
+++ b/fs/f2fs/super.c ===================================================================
@@ -3134,4 +3134,5 @@ module_exit(exit_f2fs_fs) --- linux.orig/fs/f2fs/super.c
+++ linux/fs/f2fs/super.c
@@ -3357,4 +3357,5 @@ module_exit(exit_f2fs_fs)
MODULE_AUTHOR("Samsung Electronics's Praesto Team"); MODULE_AUTHOR("Samsung Electronics's Praesto Team");
MODULE_DESCRIPTION("Flash Friendly File System"); MODULE_DESCRIPTION("Flash Friendly File System");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c"); +MODULE_SOFTDEP("pre: crypto-crc32c");
--- a/fs/jbd2/journal.c Index: linux/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c ===================================================================
@@ -2726,6 +2726,7 @@ static void __exit journal_exit(void) --- linux.orig/fs/jbd2/journal.c
+++ linux/fs/jbd2/journal.c
@@ -2745,6 +2745,7 @@ static void __exit journal_exit(void)
} }
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
@ -52,9 +62,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
module_init(journal_init); module_init(journal_init);
module_exit(journal_exit); module_exit(journal_exit);
--- a/fs/nfsd/nfsctl.c Index: linux/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c ===================================================================
@@ -1334,5 +1334,8 @@ static void __exit exit_nfsd(void) --- linux.orig/fs/nfsd/nfsctl.c
+++ linux/fs/nfsd/nfsctl.c
@@ -1337,5 +1337,8 @@ static void __exit exit_nfsd(void)
MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>"); MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");

View File

@ -7,8 +7,10 @@ We never rebuild anything in-tree when building an out-of-tree
modules, so external modules should not depend on the recordmcount modules, so external modules should not depend on the recordmcount
sources. sources.
--- a/scripts/Makefile.build Index: linux/scripts/Makefile.build
+++ b/scripts/Makefile.build ===================================================================
--- linux.orig/scripts/Makefile.build
+++ linux/scripts/Makefile.build
@@ -232,6 +232,11 @@ cmd_record_mcount = \ @@ -232,6 +232,11 @@ cmd_record_mcount = \
endif # CC_USING_RECORD_MCOUNT endif # CC_USING_RECORD_MCOUNT
endif # CONFIG_FTRACE_MCOUNT_RECORD endif # CONFIG_FTRACE_MCOUNT_RECORD

View File

@ -27,9 +27,11 @@ Fixes: db547ef19064 ("Kbuild: don't add obj tree in additional includes")
Cc: stable@vger.kernel.org # 4.8+ Cc: stable@vger.kernel.org # 4.8+
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/scripts/Kbuild.include Index: linux/scripts/Kbuild.include
+++ b/scripts/Kbuild.include ===================================================================
@@ -215,7 +215,7 @@ hdr-inst := -f $(srctree)/scripts/Makefi --- linux.orig/scripts/Kbuild.include
+++ linux/scripts/Kbuild.include
@@ -211,7 +211,7 @@ hdr-inst := -f $(srctree)/scripts/Makefi
# Prefix -I with $(srctree) if it is not an absolute path. # Prefix -I with $(srctree) if it is not an absolute path.
# skip if -I has no parameter # skip if -I has no parameter
addtree = $(if $(patsubst -I%,%,$(1)), \ addtree = $(if $(patsubst -I%,%,$(1)), \

View File

@ -20,8 +20,10 @@ References: https://bugs.debian.org/717557
References: https://bugs.debian.org/726861 References: https://bugs.debian.org/726861
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/scripts/Kbuild.include Index: linux/scripts/Kbuild.include
+++ b/scripts/Kbuild.include ===================================================================
--- linux.orig/scripts/Kbuild.include
+++ linux/scripts/Kbuild.include
@@ -121,7 +121,7 @@ CC_OPTION_CFLAGS = $(filter-out $(GCC_PL @@ -121,7 +121,7 @@ CC_OPTION_CFLAGS = $(filter-out $(GCC_PL
# Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
@ -60,7 +62,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
# cc-ifversion # cc-ifversion
# Usage: EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1) # Usage: EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
@@ -160,7 +161,7 @@ cc-if-fullversion = $(shell [ $(cc-fullv @@ -156,7 +157,7 @@ cc-ifversion = $(shell [ $(cc-version) $
# cc-ldoption # cc-ldoption
# Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both) # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
cc-ldoption = $(call try-run,\ cc-ldoption = $(call try-run,\
@ -69,9 +71,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
# ld-option # ld-option
# Usage: KBUILD_LDFLAGS += $(call ld-option, -X, -Y) # Usage: KBUILD_LDFLAGS += $(call ld-option, -X, -Y)
--- a/Makefile Index: linux/Makefile
+++ b/Makefile ===================================================================
@@ -675,6 +675,8 @@ endif --- linux.orig/Makefile
+++ linux/Makefile
@@ -668,6 +668,8 @@ endif
KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \ KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \
$(call cc-disable-warning,maybe-uninitialized,)) $(call cc-disable-warning,maybe-uninitialized,))
@ -80,7 +84,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
# Tell gcc to never replace conditional load with a non-conditional one # Tell gcc to never replace conditional load with a non-conditional one
KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0) KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
@@ -798,7 +800,7 @@ LDFLAGS_vmlinux += --gc-sections @@ -787,7 +789,7 @@ LDFLAGS_vmlinux += --gc-sections
endif endif
# arch Makefile may override CC so keep this after arch Makefile is included # arch Makefile may override CC so keep this after arch Makefile is included

View File

@ -13,8 +13,10 @@ be227b45fb228adff4371b8de9e3989904209ff4.
Signed-off-by: Hilko Bengen <bengen@debian.org> Signed-off-by: Hilko Bengen <bengen@debian.org>
[bwh: Drop unnecessary changes] [bwh: Drop unnecessary changes]
--- ---
--- a/tools/lib/bpf/Makefile Index: linux/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile ===================================================================
--- linux.orig/tools/lib/bpf/Makefile
+++ linux/tools/lib/bpf/Makefile
@@ -94,7 +94,7 @@ export prefix libdir src obj @@ -94,7 +94,7 @@ export prefix libdir src obj
libdir_SQ = $(subst ','\'',$(libdir)) libdir_SQ = $(subst ','\'',$(libdir))
libdir_relative_SQ = $(subst ','\'',$(libdir_relative)) libdir_relative_SQ = $(subst ','\'',$(libdir_relative))

View File

@ -4,14 +4,18 @@ Description: generate pkg-config file for libbpf
on pkg-config to find the library, its CFLAGS and LDFLAGS. on pkg-config to find the library, its CFLAGS and LDFLAGS.
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=dd399ac9e343c7573c47d6820e4a23013c54749d Origin: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=dd399ac9e343c7573c47d6820e4a23013c54749d
Applied-Upstream: yes Applied-Upstream: yes
--- a/tools/lib/bpf/.gitignore Index: linux/tools/lib/bpf/.gitignore
+++ b/tools/lib/bpf/.gitignore ===================================================================
--- linux.orig/tools/lib/bpf/.gitignore
+++ linux/tools/lib/bpf/.gitignore
@@ -1,2 +1,3 @@ @@ -1,2 +1,3 @@
libbpf_version.h libbpf_version.h
+libbpf.pc +libbpf.pc
FEATURE-DUMP.libbpf FEATURE-DUMP.libbpf
--- a/tools/lib/bpf/Makefile Index: linux/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile ===================================================================
--- linux.orig/tools/lib/bpf/Makefile
+++ linux/tools/lib/bpf/Makefile
@@ -95,6 +95,7 @@ libdir_SQ = $(subst ','\'',$(libdir)) @@ -95,6 +95,7 @@ libdir_SQ = $(subst ','\'',$(libdir))
libdir_relative_SQ = $(subst ','\'',$(libdir_relative)) libdir_relative_SQ = $(subst ','\'',$(libdir_relative))
@ -67,8 +71,10 @@ Applied-Upstream: yes
$(RM) LIBBPF-CFLAGS $(RM) LIBBPF-CFLAGS
$(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf
Index: linux/tools/lib/bpf/libbpf.pc.template
===================================================================
--- /dev/null --- /dev/null
+++ b/tools/lib/bpf/libbpf.pc.template +++ linux/tools/lib/bpf/libbpf.pc.template
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
+# SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) +# SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
+ +

View File

@ -11,7 +11,7 @@ Index: linux/tools/lib/bpf/Makefile
=================================================================== ===================================================================
--- linux.orig/tools/lib/bpf/Makefile --- linux.orig/tools/lib/bpf/Makefile
+++ linux/tools/lib/bpf/Makefile +++ linux/tools/lib/bpf/Makefile
@@ -161,7 +161,7 @@ $(BPF_IN): force elfdep bpfdep @@ -170,7 +170,7 @@ $(BPF_IN): force elfdep bpfdep
$(Q)$(MAKE) $(build)=libbpf $(Q)$(MAKE) $(build)=libbpf
$(OUTPUT)libbpf.so.$(LIBBPF_VERSION): $(BPF_IN) $(OUTPUT)libbpf.so.$(LIBBPF_VERSION): $(BPF_IN)

View File

@ -8,8 +8,10 @@ libcpupower is a shared library. Change its visibility to "hidden".
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/tools/power/cpupower/lib/cpupower.c Index: linux/tools/power/cpupower/lib/cpupower.c
+++ b/tools/power/cpupower/lib/cpupower.c ===================================================================
--- linux.orig/tools/power/cpupower/lib/cpupower.c
+++ linux/tools/power/cpupower/lib/cpupower.c
@@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
#include "cpupower.h" #include "cpupower.h"
#include "cpupower_intern.h" #include "cpupower_intern.h"

View File

@ -7,9 +7,11 @@ This partly reverts commit cd3caefb4663e3811d37cc2afad3cce642d60061.
We want to fail closed if a symbol version CRC is missing, as the We want to fail closed if a symbol version CRC is missing, as the
alternative may allow subverting module signing. alternative may allow subverting module signing.
--- ---
--- a/kernel/module.c Index: linux/kernel/module.c
+++ b/kernel/module.c ===================================================================
@@ -1313,9 +1313,8 @@ static int check_version(const struct lo --- linux.orig/kernel/module.c
+++ linux/kernel/module.c
@@ -1317,9 +1317,8 @@ static int check_version(const struct lo
goto bad_version; goto bad_version;
} }

View File

@ -15,11 +15,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/wireless/mediatek/mt76/mac80211.c | 2 +- drivers/net/wireless/mediatek/mt76/mac80211.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c b/drivers/net/wireless/mediatek/mt76/mac80211.c Index: linux/drivers/net/wireless/mediatek/mt76/mac80211.c
index 484d3ac3a206..d4eeae226f19 100644 ===================================================================
--- a/drivers/net/wireless/mediatek/mt76/mac80211.c --- linux.orig/drivers/net/wireless/mediatek/mt76/mac80211.c
+++ b/drivers/net/wireless/mediatek/mt76/mac80211.c +++ linux/drivers/net/wireless/mediatek/mt76/mac80211.c
@@ -124,7 +124,7 @@ static void mt76_init_stream_cap(struct mt76_dev *dev, @@ -124,7 +124,7 @@ static void mt76_init_stream_cap(struct
bool vht) bool vht)
{ {
struct ieee80211_sta_ht_cap *ht_cap = &sband->ht_cap; struct ieee80211_sta_ht_cap *ht_cap = &sband->ht_cap;

View File

@ -14,11 +14,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/usb/Kconfig | 3 +-- drivers/usb/Kconfig | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-) 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig Index: linux/drivers/usb/Kconfig
index 644e978cbd3e..989c6208678f 100644 ===================================================================
--- a/drivers/usb/Kconfig --- linux.orig/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig +++ linux/drivers/usb/Kconfig
@@ -152,8 +152,7 @@ source "drivers/usb/gadget/Kconfig" @@ -175,8 +175,7 @@ source "drivers/usb/roles/Kconfig"
config USB_LED_TRIG config USB_LED_TRIG
bool "USB LED Triggers" bool "USB LED Triggers"

View File

@ -24,8 +24,10 @@ Therefore, perform a basic check for the existence of
is missing, except for the pre-R600 case. is missing, except for the pre-R600 case.
--- ---
--- a/drivers/gpu/drm/radeon/radeon_drv.c Index: linux/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c ===================================================================
--- linux.orig/drivers/gpu/drm/radeon/radeon_drv.c
+++ linux/drivers/gpu/drm/radeon/radeon_drv.c
@@ -43,6 +43,8 @@ @@ -43,6 +43,8 @@
#include <drm/drm_fb_helper.h> #include <drm/drm_fb_helper.h>
@ -35,7 +37,7 @@ is missing, except for the pre-R600 case.
/* /*
* KMS wrapper. * KMS wrapper.
@@ -311,6 +313,28 @@ static struct drm_driver kms_driver; @@ -316,6 +318,28 @@ static struct drm_driver kms_driver;
bool radeon_device_is_virtual(void); bool radeon_device_is_virtual(void);
@ -64,7 +66,7 @@ is missing, except for the pre-R600 case.
static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) static int radeon_kick_out_firmware_fb(struct pci_dev *pdev)
{ {
struct apertures_struct *ap; struct apertures_struct *ap;
@@ -340,6 +364,12 @@ static int radeon_pci_probe(struct pci_d @@ -376,6 +400,12 @@ static int radeon_pci_probe(struct pci_d
if (vga_switcheroo_client_probe_defer(pdev)) if (vga_switcheroo_client_probe_defer(pdev))
return -EPROBE_DEFER; return -EPROBE_DEFER;
@ -77,9 +79,11 @@ is missing, except for the pre-R600 case.
/* Get rid of things like offb */ /* Get rid of things like offb */
ret = radeon_kick_out_firmware_fb(pdev); ret = radeon_kick_out_firmware_fb(pdev);
if (ret) if (ret)
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c Index: linux/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c ===================================================================
@@ -40,6 +40,8 @@ --- linux.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ linux/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -33,6 +33,8 @@
#include <linux/pm_runtime.h> #include <linux/pm_runtime.h>
#include <linux/vga_switcheroo.h> #include <linux/vga_switcheroo.h>
#include <drm/drm_crtc_helper.h> #include <drm/drm_crtc_helper.h>
@ -88,7 +92,7 @@ is missing, except for the pre-R600 case.
#include "amdgpu.h" #include "amdgpu.h"
#include "amdgpu_irq.h" #include "amdgpu_irq.h"
@@ -545,6 +547,28 @@ MODULE_DEVICE_TABLE(pci, pciidlist); @@ -793,6 +795,28 @@ MODULE_DEVICE_TABLE(pci, pciidlist);
static struct drm_driver kms_driver; static struct drm_driver kms_driver;
@ -117,7 +121,7 @@ is missing, except for the pre-R600 case.
static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev)
{ {
struct apertures_struct *ap; struct apertures_struct *ap;
@@ -579,6 +603,11 @@ static int amdgpu_pci_probe(struct pci_d @@ -833,6 +857,11 @@ static int amdgpu_pci_probe(struct pci_d
return -ENODEV; return -ENODEV;
} }

View File

@ -14,11 +14,11 @@ Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-s35390a.c | 6 ++++++ drivers/rtc/rtc-s35390a.c | 6 ++++++
1 file changed, 6 insertions(+) 1 file changed, 6 insertions(+)
diff --git a/drivers/rtc/rtc-s35390a.c b/drivers/rtc/rtc-s35390a.c Index: linux/drivers/rtc/rtc-s35390a.c
index fb795c454077..4ca37f281ed9 100644 ===================================================================
--- a/drivers/rtc/rtc-s35390a.c --- linux.orig/drivers/rtc/rtc-s35390a.c
+++ b/drivers/rtc/rtc-s35390a.c +++ linux/drivers/rtc/rtc-s35390a.c
@@ -289,6 +289,9 @@ static int s35390a_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alm) @@ -288,6 +288,9 @@ static int s35390a_rtc_set_alarm(struct
alm->time.tm_min, alm->time.tm_hour, alm->time.tm_mday, alm->time.tm_min, alm->time.tm_hour, alm->time.tm_mday,
alm->time.tm_mon, alm->time.tm_year, alm->time.tm_wday); alm->time.tm_mon, alm->time.tm_year, alm->time.tm_wday);
@ -28,7 +28,7 @@ index fb795c454077..4ca37f281ed9 100644
/* disable interrupt (which deasserts the irq line) */ /* disable interrupt (which deasserts the irq line) */
err = s35390a_set_reg(s35390a, S35390A_CMD_STATUS2, &sts, sizeof(sts)); err = s35390a_set_reg(s35390a, S35390A_CMD_STATUS2, &sts, sizeof(sts));
if (err < 0) if (err < 0)
@@ -500,6 +503,9 @@ static int s35390a_probe(struct i2c_client *client, @@ -502,6 +505,9 @@ static int s35390a_probe(struct i2c_clie
goto exit_dummy; goto exit_dummy;
} }
@ -38,6 +38,3 @@ index fb795c454077..4ca37f281ed9 100644
if (status1 & S35390A_FLAG_INT2) if (status1 & S35390A_FLAG_INT2)
rtc_update_irq(s35390a->rtc, 1, RTC_AF); rtc_update_irq(s35390a->rtc, 1, RTC_AF);
--
2.20.1

View File

@ -9,8 +9,10 @@ security restrictions that block bpf().
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/tools/build/feature/test-bpf.c Index: linux/tools/build/feature/test-bpf.c
+++ b/tools/build/feature/test-bpf.c ===================================================================
--- linux.orig/tools/build/feature/test-bpf.c
+++ linux/tools/build/feature/test-bpf.c
@@ -35,8 +35,10 @@ int main(void) @@ -35,8 +35,10 @@ int main(void)
attr.prog_flags = 0; attr.prog_flags = 0;

View File

@ -18,8 +18,10 @@ terminated. Use strlcpy() instead.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/tools/lib/api/fs/fs.c Index: linux/tools/lib/api/fs/fs.c
+++ b/tools/lib/api/fs/fs.c ===================================================================
--- linux.orig/tools/lib/api/fs/fs.c
+++ linux/tools/lib/api/fs/fs.c
@@ -12,6 +12,7 @@ @@ -12,6 +12,7 @@
#include <fcntl.h> #include <fcntl.h>
#include <unistd.h> #include <unistd.h>

View File

@ -5,9 +5,11 @@ Forwarded: no
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/tools/lib/traceevent/Makefile Index: linux/tools/lib/traceevent/Makefile
+++ b/tools/lib/traceevent/Makefile ===================================================================
@@ -173,7 +173,7 @@ $(TE_IN): force --- linux.orig/tools/lib/traceevent/Makefile
+++ linux/tools/lib/traceevent/Makefile
@@ -174,7 +174,7 @@ $(TE_IN): force
$(Q)$(MAKE) $(build)=libtraceevent $(Q)$(MAKE) $(build)=libtraceevent
$(OUTPUT)libtraceevent.so.$(EVENT_PARSE_VERSION): $(TE_IN) $(OUTPUT)libtraceevent.so.$(EVENT_PARSE_VERSION): $(TE_IN)
@ -16,7 +18,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
@ln -sf $(@F) $(OUTPUT)libtraceevent.so @ln -sf $(@F) $(OUTPUT)libtraceevent.so
@ln -sf $(@F) $(OUTPUT)libtraceevent.so.$(EP_VERSION) @ln -sf $(@F) $(OUTPUT)libtraceevent.so.$(EP_VERSION)
@@ -192,7 +192,7 @@ $(PLUGINS_IN): force @@ -193,7 +193,7 @@ $(PLUGINS_IN): force
$(Q)$(MAKE) $(build)=$(plugin_obj) $(Q)$(MAKE) $(build)=$(plugin_obj)
$(OUTPUT)%.so: $(OUTPUT)%-in.o $(OUTPUT)%.so: $(OUTPUT)%-in.o

View File

@ -7,9 +7,11 @@ This allows man pages to be built reproducibly.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/tools/perf/Documentation/Makefile Index: linux/tools/perf/Documentation/Makefile
+++ b/tools/perf/Documentation/Makefile ===================================================================
@@ -120,6 +120,9 @@ endif --- linux.orig/tools/perf/Documentation/Makefile
+++ linux/tools/perf/Documentation/Makefile
@@ -131,6 +131,9 @@ endif
ifdef DOCBOOK_SUPPRESS_SP ifdef DOCBOOK_SUPPRESS_SP
XMLTO_EXTRA += -m manpage-suppress-sp.xsl XMLTO_EXTRA += -m manpage-suppress-sp.xsl
endif endif
@ -19,8 +21,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
SHELL_PATH ?= $(SHELL) SHELL_PATH ?= $(SHELL)
# Shell quote; # Shell quote;
--- a/tools/perf/Documentation/asciidoc.conf Index: linux/tools/perf/Documentation/asciidoc.conf
+++ b/tools/perf/Documentation/asciidoc.conf ===================================================================
--- linux.orig/tools/perf/Documentation/asciidoc.conf
+++ linux/tools/perf/Documentation/asciidoc.conf
@@ -71,6 +71,9 @@ ifdef::backend-docbook[] @@ -71,6 +71,9 @@ ifdef::backend-docbook[]
[header] [header]
template::[header-declarations] template::[header-declarations]

View File

@ -9,29 +9,37 @@ them is useless and possibly misleading.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/tools/perf/scripts/perl/rw-by-file.pl Index: linux/tools/perf/scripts/perl/rw-by-file.pl
+++ b/tools/perf/scripts/perl/rw-by-file.pl ===================================================================
--- linux.orig/tools/perf/scripts/perl/rw-by-file.pl
+++ linux/tools/perf/scripts/perl/rw-by-file.pl
@@ -1,4 +1,3 @@ @@ -1,4 +1,3 @@
-#!/usr/bin/perl -w -#!/usr/bin/perl -w
# (c) 2009, Tom Zanussi <tzanussi@gmail.com> # (c) 2009, Tom Zanussi <tzanussi@gmail.com>
# Licensed under the terms of the GNU GPL License version 2 # Licensed under the terms of the GNU GPL License version 2
--- a/tools/perf/scripts/perl/rw-by-pid.pl Index: linux/tools/perf/scripts/perl/rw-by-pid.pl
+++ b/tools/perf/scripts/perl/rw-by-pid.pl ===================================================================
--- linux.orig/tools/perf/scripts/perl/rw-by-pid.pl
+++ linux/tools/perf/scripts/perl/rw-by-pid.pl
@@ -1,4 +1,3 @@ @@ -1,4 +1,3 @@
-#!/usr/bin/perl -w -#!/usr/bin/perl -w
# (c) 2009, Tom Zanussi <tzanussi@gmail.com> # (c) 2009, Tom Zanussi <tzanussi@gmail.com>
# Licensed under the terms of the GNU GPL License version 2 # Licensed under the terms of the GNU GPL License version 2
--- a/tools/perf/scripts/perl/rwtop.pl Index: linux/tools/perf/scripts/perl/rwtop.pl
+++ b/tools/perf/scripts/perl/rwtop.pl ===================================================================
--- linux.orig/tools/perf/scripts/perl/rwtop.pl
+++ linux/tools/perf/scripts/perl/rwtop.pl
@@ -1,4 +1,3 @@ @@ -1,4 +1,3 @@
-#!/usr/bin/perl -w -#!/usr/bin/perl -w
# (c) 2010, Tom Zanussi <tzanussi@gmail.com> # (c) 2010, Tom Zanussi <tzanussi@gmail.com>
# Licensed under the terms of the GNU GPL License version 2 # Licensed under the terms of the GNU GPL License version 2
--- a/tools/perf/scripts/perl/wakeup-latency.pl Index: linux/tools/perf/scripts/perl/wakeup-latency.pl
+++ b/tools/perf/scripts/perl/wakeup-latency.pl ===================================================================
--- linux.orig/tools/perf/scripts/perl/wakeup-latency.pl
+++ linux/tools/perf/scripts/perl/wakeup-latency.pl
@@ -1,4 +1,3 @@ @@ -1,4 +1,3 @@
-#!/usr/bin/perl -w -#!/usr/bin/perl -w
# (c) 2009, Tom Zanussi <tzanussi@gmail.com> # (c) 2009, Tom Zanussi <tzanussi@gmail.com>

View File

@ -5,8 +5,10 @@ Forwarded: no
Add references to TCP wrappers configuration in the manual page. Add references to TCP wrappers configuration in the manual page.
--- a/tools/usb/usbip/doc/usbipd.8 Index: linux/tools/usb/usbip/doc/usbipd.8
+++ b/tools/usb/usbip/doc/usbipd.8 ===================================================================
--- linux.orig/tools/usb/usbip/doc/usbipd.8
+++ linux/tools/usb/usbip/doc/usbipd.8
@@ -14,7 +14,8 @@ Devices have to explicitly be exported u @@ -14,7 +14,8 @@ Devices have to explicitly be exported u
before usbipd makes them available to other hosts. before usbipd makes them available to other hosts.

View File

@ -22,8 +22,10 @@ usbip_common.c has the same problem.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/tools/usb/usbip/libsrc/usbip_common.c Index: linux/tools/usb/usbip/libsrc/usbip_common.c
+++ b/tools/usb/usbip/libsrc/usbip_common.c ===================================================================
--- linux.orig/tools/usb/usbip/libsrc/usbip_common.c
+++ linux/tools/usb/usbip/libsrc/usbip_common.c
@@ -226,8 +226,8 @@ int read_usb_device(struct udev_device * @@ -226,8 +226,8 @@ int read_usb_device(struct udev_device *
path = udev_device_get_syspath(sdev); path = udev_device_get_syspath(sdev);
name = udev_device_get_sysname(sdev); name = udev_device_get_sysname(sdev);
@ -35,8 +37,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sscanf(name, "%u-%u", &busnum, &devnum); sscanf(name, "%u-%u", &busnum, &devnum);
udev->busnum = busnum; udev->busnum = busnum;
--- a/tools/usb/usbip/libsrc/usbip_device_driver.c Index: linux/tools/usb/usbip/libsrc/usbip_device_driver.c
+++ b/tools/usb/usbip/libsrc/usbip_device_driver.c ===================================================================
--- linux.orig/tools/usb/usbip/libsrc/usbip_device_driver.c
+++ linux/tools/usb/usbip/libsrc/usbip_device_driver.c
@@ -103,7 +103,7 @@ int read_usb_vudc_device(struct udev_dev @@ -103,7 +103,7 @@ int read_usb_vudc_device(struct udev_dev
copy_descr_attr16(dev, &descr, idProduct); copy_descr_attr16(dev, &descr, idProduct);
copy_descr_attr16(dev, &descr, bcdDevice); copy_descr_attr16(dev, &descr, bcdDevice);

View File

@ -37,10 +37,10 @@ Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 20 ++++++++++++++++++++ arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+) 1 file changed, 20 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts Index: linux/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
index b403e5d787cb..ac8438c2cff1 100644 ===================================================================
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts --- linux.orig/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts +++ linux/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
@@ -74,6 +74,10 @@ @@ -74,6 +74,10 @@
}; };
}; };

View File

@ -19,11 +19,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/arm/boot/dts/kirkwood-ts419.dtsi | 8 ++++++++ arch/arm/boot/dts/kirkwood-ts419.dtsi | 8 ++++++++
1 file changed, 8 insertions(+) 1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/kirkwood-ts419.dtsi b/arch/arm/boot/dts/kirkwood-ts419.dtsi Index: linux/arch/arm/boot/dts/kirkwood-ts419.dtsi
index 02bd53762705..532506cb0f4a 100644 ===================================================================
--- a/arch/arm/boot/dts/kirkwood-ts419.dtsi --- linux.orig/arch/arm/boot/dts/kirkwood-ts419.dtsi
+++ b/arch/arm/boot/dts/kirkwood-ts419.dtsi +++ linux/arch/arm/boot/dts/kirkwood-ts419.dtsi
@@ -73,3 +73,11 @@ @@ -69,3 +69,11 @@
phy-handle = <&ethphy1>; phy-handle = <&ethphy1>;
}; };
}; };

View File

@ -17,10 +17,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/arm/mm/flush.c | 1 + arch/arm/mm/flush.c | 1 +
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c Index: linux/arch/arm/mm/flush.c
index 58469623b015..5345f86c56d2 100644 ===================================================================
--- a/arch/arm/mm/flush.c --- linux.orig/arch/arm/mm/flush.c
+++ b/arch/arm/mm/flush.c +++ linux/arch/arm/mm/flush.c
@@ -295,6 +295,7 @@ void __sync_icache_dcache(pte_t pteval) @@ -295,6 +295,7 @@ void __sync_icache_dcache(pte_t pteval)
if (pte_exec(pteval)) if (pte_exec(pteval))
__flush_icache_all(); __flush_icache_all();

View File

@ -24,8 +24,10 @@ Signed-off-by: Geoff Levand <geoff@infradead.org>
arch/arm64/kernel/acpi.c | 40 ++++++++++++++++++++++++++++++++++++---- arch/arm64/kernel/acpi.c | 40 ++++++++++++++++++++++++++++++++++++----
1 file changed, 36 insertions(+), 4 deletions(-) 1 file changed, 36 insertions(+), 4 deletions(-)
--- a/arch/arm64/kernel/acpi.c Index: linux/arch/arm64/kernel/acpi.c
+++ b/arch/arm64/kernel/acpi.c ===================================================================
--- linux.orig/arch/arm64/kernel/acpi.c
+++ linux/arch/arm64/kernel/acpi.c
@@ -33,6 +33,8 @@ @@ -33,6 +33,8 @@
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/smp_plat.h> #include <asm/smp_plat.h>
@ -35,7 +37,7 @@ Signed-off-by: Geoff Levand <geoff@infradead.org>
int acpi_noirq = 1; /* skip ACPI IRQ initialization */ int acpi_noirq = 1; /* skip ACPI IRQ initialization */
int acpi_disabled = 1; int acpi_disabled = 1;
EXPORT_SYMBOL(acpi_disabled); EXPORT_SYMBOL(acpi_disabled);
@@ -175,6 +177,33 @@ out: @@ -179,6 +181,33 @@ out:
} }
/* /*
@ -69,7 +71,7 @@ Signed-off-by: Geoff Levand <geoff@infradead.org>
* acpi_boot_table_init() called from setup_arch(), always. * acpi_boot_table_init() called from setup_arch(), always.
* 1. find RSDP and get its address, and then find XSDT * 1. find RSDP and get its address, and then find XSDT
* 2. extract all tables and checksums them all * 2. extract all tables and checksums them all
@@ -229,11 +258,14 @@ done: @@ -233,11 +262,14 @@ done:
if (acpi_disabled) { if (acpi_disabled) {
if (earlycon_acpi_spcr_enable) if (earlycon_acpi_spcr_enable)
early_init_dt_scan_chosen_stdout(); early_init_dt_scan_chosen_stdout();

View File

@ -14,11 +14,11 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 1 + arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 1 +
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi Index: linux/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index bf9b719481c4..8171c0a7f265 100644 ===================================================================
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi --- linux.orig/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ linux/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -200,6 +200,7 @@ @@ -159,6 +159,7 @@
timer { timer {
compatible = "arm,armv8-timer"; compatible = "arm,armv8-timer";

View File

@ -27,11 +27,11 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3399-firefly.dts | 2 +- arch/arm64/boot/dts/rockchip/rk3399-firefly.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts Index: linux/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
index 86ff1eb..d8a2f0b 100644 ===================================================================
--- a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts --- linux.orig/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts +++ linux/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
@@ -421,7 +421,7 @@ @@ -455,7 +455,7 @@
vdd_cpu_b: regulator@40 { vdd_cpu_b: regulator@40 {
compatible = "silergy,syr827"; compatible = "silergy,syr827";
reg = <0x40>; reg = <0x40>;
@ -40,6 +40,3 @@ index 86ff1eb..d8a2f0b 100644
regulator-name = "vdd_cpu_b"; regulator-name = "vdd_cpu_b";
regulator-min-microvolt = <712500>; regulator-min-microvolt = <712500>;
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
--
cgit v1.1

View File

@ -21,11 +21,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c | 3 +++ drivers/scsi/hisi_sas/hisi_sas_main.c | 3 +++
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index fd9d82c9033d..e9747379384b 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -906,6 +906,9 @@ static void hisi_sas_phy_set_linkrate(struct hisi_hba *hisi_hba, int phy_no, @@ -906,6 +906,9 @@ static void hisi_sas_phy_set_linkrate(st
_r.maximum_linkrate = max; _r.maximum_linkrate = max;
_r.minimum_linkrate = min; _r.minimum_linkrate = min;
@ -35,6 +35,3 @@ index fd9d82c9033d..e9747379384b 100644
hisi_hba->hw->phy_disable(hisi_hba, phy_no); hisi_hba->hw->phy_disable(hisi_hba, phy_no);
msleep(100); msleep(100);
hisi_hba->hw->phy_set_linkrate(hisi_hba, phy_no, &_r); hisi_hba->hw->phy_set_linkrate(hisi_hba, phy_no, &_r);
--
2.20.1

View File

@ -15,11 +15,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c | 7 +++++-- drivers/scsi/hisi_sas/hisi_sas_main.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-) 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index e9747379384b..6a959a927e9d 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -288,13 +288,13 @@ static int hisi_sas_task_prep(struct sas_task *task, @@ -288,13 +288,13 @@ static int hisi_sas_task_prep(struct sas
int *pass) int *pass)
{ {
struct domain_device *device = task->dev; struct domain_device *device = task->dev;
@ -35,7 +35,7 @@ index e9747379384b..6a959a927e9d 100644
int dlvry_queue_slot, dlvry_queue, rc, slot_idx; int dlvry_queue_slot, dlvry_queue, rc, slot_idx;
int n_elem = 0, n_elem_req = 0, n_elem_resp = 0; int n_elem = 0, n_elem_req = 0, n_elem_resp = 0;
struct hisi_sas_dq *dq; struct hisi_sas_dq *dq;
@@ -315,6 +315,9 @@ static int hisi_sas_task_prep(struct sas_task *task, @@ -315,6 +315,9 @@ static int hisi_sas_task_prep(struct sas
return -ECOMM; return -ECOMM;
} }
@ -45,6 +45,3 @@ index e9747379384b..6a959a927e9d 100644
if (DEV_IS_GONE(sas_dev)) { if (DEV_IS_GONE(sas_dev)) {
if (sas_dev) if (sas_dev)
dev_info(dev, "task prep: device %d not ready\n", dev_info(dev, "task prep: device %d not ready\n",
--
2.20.1

View File

@ -20,11 +20,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c | 55 ++++++++++++++++++++++----- drivers/scsi/hisi_sas/hisi_sas_main.c | 55 ++++++++++++++++++++++-----
1 file changed, 46 insertions(+), 9 deletions(-) 1 file changed, 46 insertions(+), 9 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index 6a959a927e9d..2f57a318a71b 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -958,8 +958,7 @@ static int hisi_sas_control_phy(struct asd_sas_phy *sas_phy, enum phy_func func, @@ -958,8 +958,7 @@ static int hisi_sas_control_phy(struct a
static void hisi_sas_task_done(struct sas_task *task) static void hisi_sas_task_done(struct sas_task *task)
{ {
@ -34,7 +34,7 @@ index 6a959a927e9d..2f57a318a71b 100644
complete(&task->slow_task->completion); complete(&task->slow_task->completion);
} }
@@ -968,13 +967,17 @@ static void hisi_sas_tmf_timedout(struct timer_list *t) @@ -968,13 +967,17 @@ static void hisi_sas_tmf_timedout(struct
struct sas_task_slow *slow = from_timer(slow, t, timer); struct sas_task_slow *slow = from_timer(slow, t, timer);
struct sas_task *task = slow->task; struct sas_task *task = slow->task;
unsigned long flags; unsigned long flags;
@ -54,7 +54,7 @@ index 6a959a927e9d..2f57a318a71b 100644
} }
#define TASK_TIMEOUT 20 #define TASK_TIMEOUT 20
@@ -1025,10 +1028,18 @@ static int hisi_sas_exec_internal_tmf_task(struct domain_device *device, @@ -1025,10 +1028,18 @@ static int hisi_sas_exec_internal_tmf_ta
if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) { if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) {
if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) { if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) {
struct hisi_sas_slot *slot = task->lldd_task; struct hisi_sas_slot *slot = task->lldd_task;
@ -74,7 +74,7 @@ index 6a959a927e9d..2f57a318a71b 100644
goto ex_err; goto ex_err;
} else } else
@@ -1404,6 +1415,17 @@ static int hisi_sas_abort_task(struct sas_task *task) @@ -1404,6 +1415,17 @@ static int hisi_sas_abort_task(struct sa
spin_lock_irqsave(&task->task_state_lock, flags); spin_lock_irqsave(&task->task_state_lock, flags);
if (task->task_state_flags & SAS_TASK_STATE_DONE) { if (task->task_state_flags & SAS_TASK_STATE_DONE) {
@ -92,7 +92,7 @@ index 6a959a927e9d..2f57a318a71b 100644
spin_unlock_irqrestore(&task->task_state_lock, flags); spin_unlock_irqrestore(&task->task_state_lock, flags);
rc = TMF_RESP_FUNC_COMPLETE; rc = TMF_RESP_FUNC_COMPLETE;
goto out; goto out;
@@ -1459,12 +1481,19 @@ static int hisi_sas_abort_task(struct sas_task *task) @@ -1459,12 +1481,19 @@ static int hisi_sas_abort_task(struct sa
/* SMP */ /* SMP */
struct hisi_sas_slot *slot = task->lldd_task; struct hisi_sas_slot *slot = task->lldd_task;
u32 tag = slot->idx; u32 tag = slot->idx;
@ -114,15 +114,14 @@ index 6a959a927e9d..2f57a318a71b 100644
} }
out: out:
@@ -1830,9 +1859,17 @@ hisi_sas_internal_task_abort(struct hisi_hba *hisi_hba, @@ -1830,9 +1859,17 @@ hisi_sas_internal_task_abort(struct hisi
if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) { if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) {
if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) { if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) {
struct hisi_sas_slot *slot = task->lldd_task; struct hisi_sas_slot *slot = task->lldd_task;
-
- if (slot)
+ struct hisi_sas_cq *cq = + struct hisi_sas_cq *cq =
+ &hisi_hba->cq[slot->dlvry_queue]; + &hisi_hba->cq[slot->dlvry_queue];
+
- if (slot)
+ if (slot) { + if (slot) {
+ /* + /*
+ * flush tasklet to avoid free'ing task + * flush tasklet to avoid free'ing task
@ -134,6 +133,3 @@ index 6a959a927e9d..2f57a318a71b 100644
dev_err(dev, "internal task abort: timeout and not done.\n"); dev_err(dev, "internal task abort: timeout and not done.\n");
res = -EIO; res = -EIO;
goto exit; goto exit;
--
2.20.1

View File

@ -24,11 +24,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-) 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 1c4ea58da1ae..c4774d63d5d0 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -2481,7 +2481,6 @@ slot_complete_v2_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -2481,7 +2481,6 @@ slot_complete_v2_hw(struct hisi_hba *his
} }
out: out:
@ -36,7 +36,7 @@ index 1c4ea58da1ae..c4774d63d5d0 100644
sts = ts->stat; sts = ts->stat;
spin_lock_irqsave(&task->task_state_lock, flags); spin_lock_irqsave(&task->task_state_lock, flags);
if (task->task_state_flags & SAS_TASK_STATE_ABORTED) { if (task->task_state_flags & SAS_TASK_STATE_ABORTED) {
@@ -2491,6 +2490,7 @@ slot_complete_v2_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -2491,6 +2490,7 @@ out:
} }
task->task_state_flags |= SAS_TASK_STATE_DONE; task->task_state_flags |= SAS_TASK_STATE_DONE;
spin_unlock_irqrestore(&task->task_state_lock, flags); spin_unlock_irqrestore(&task->task_state_lock, flags);
@ -44,11 +44,11 @@ index 1c4ea58da1ae..c4774d63d5d0 100644
if (!is_internal && (task->task_proto != SAS_PROTOCOL_SMP)) { if (!is_internal && (task->task_proto != SAS_PROTOCOL_SMP)) {
spin_lock_irqsave(&device->done_lock, flags); spin_lock_irqsave(&device->done_lock, flags);
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 3922b17e2ea3..fb2a5969181b 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -1749,7 +1749,6 @@ slot_complete_v3_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -1749,7 +1749,6 @@ slot_complete_v3_hw(struct hisi_hba *his
} }
out: out:
@ -56,7 +56,7 @@ index 3922b17e2ea3..fb2a5969181b 100644
sts = ts->stat; sts = ts->stat;
spin_lock_irqsave(&task->task_state_lock, flags); spin_lock_irqsave(&task->task_state_lock, flags);
if (task->task_state_flags & SAS_TASK_STATE_ABORTED) { if (task->task_state_flags & SAS_TASK_STATE_ABORTED) {
@@ -1759,6 +1758,7 @@ slot_complete_v3_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -1759,6 +1758,7 @@ out:
} }
task->task_state_flags |= SAS_TASK_STATE_DONE; task->task_state_flags |= SAS_TASK_STATE_DONE;
spin_unlock_irqrestore(&task->task_state_lock, flags); spin_unlock_irqrestore(&task->task_state_lock, flags);
@ -64,6 +64,3 @@ index 3922b17e2ea3..fb2a5969181b 100644
if (!is_internal && (task->task_proto != SAS_PROTOCOL_SMP)) { if (!is_internal && (task->task_proto != SAS_PROTOCOL_SMP)) {
spin_lock_irqsave(&device->done_lock, flags); spin_lock_irqsave(&device->done_lock, flags);
--
2.20.1

View File

@ -14,11 +14,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index fb2a5969181b..06824bde9c8d 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -441,7 +441,7 @@ static void init_reg_v3_hw(struct hisi_hba *hisi_hba) @@ -441,7 +441,7 @@ static void init_reg_v3_hw(struct hisi_h
hisi_sas_write32(hisi_hba, ENT_INT_SRC_MSK1, 0xfefefefe); hisi_sas_write32(hisi_hba, ENT_INT_SRC_MSK1, 0xfefefefe);
hisi_sas_write32(hisi_hba, ENT_INT_SRC_MSK2, 0xfefefefe); hisi_sas_write32(hisi_hba, ENT_INT_SRC_MSK2, 0xfefefefe);
if (pdev->revision >= 0x21) if (pdev->revision >= 0x21)
@ -27,6 +27,3 @@ index fb2a5969181b..06824bde9c8d 100644
else else
hisi_sas_write32(hisi_hba, ENT_INT_SRC_MSK3, 0xfffe20ff); hisi_sas_write32(hisi_hba, ENT_INT_SRC_MSK3, 0xfffe20ff);
hisi_sas_write32(hisi_hba, CHNL_PHYUPDOWN_INT_MSK, 0x0); hisi_sas_write32(hisi_hba, CHNL_PHYUPDOWN_INT_MSK, 0x0);
--
2.20.1

View File

@ -21,10 +21,10 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 8 ++- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 8 ++-
5 files changed, 70 insertions(+), 40 deletions(-) 5 files changed, 70 insertions(+), 40 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h Index: linux/drivers/scsi/hisi_sas/hisi_sas.h
index 6c7d2e201abe..0ddb53c8a2e2 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas.h --- linux.orig/drivers/scsi/hisi_sas/hisi_sas.h
+++ b/drivers/scsi/hisi_sas/hisi_sas.h +++ linux/drivers/scsi/hisi_sas/hisi_sas.h
@@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
#define HISI_SAS_MAX_DEVICES HISI_SAS_MAX_ITCT_ENTRIES #define HISI_SAS_MAX_DEVICES HISI_SAS_MAX_ITCT_ENTRIES
#define HISI_SAS_RESET_BIT 0 #define HISI_SAS_RESET_BIT 0
@ -42,11 +42,11 @@ index 6c7d2e201abe..0ddb53c8a2e2 100644
struct domain_device *device); struct domain_device *device);
struct hisi_sas_device *(*alloc_dev)(struct domain_device *device); struct hisi_sas_device *(*alloc_dev)(struct domain_device *device);
void (*sl_notify)(struct hisi_hba *hisi_hba, int phy_no); void (*sl_notify)(struct hisi_hba *hisi_hba, int phy_no);
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index 2f57a318a71b..c2998d3ac37f 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -184,7 +184,14 @@ static void hisi_sas_slot_index_clear(struct hisi_hba *hisi_hba, int slot_idx) @@ -184,7 +184,14 @@ static void hisi_sas_slot_index_clear(st
static void hisi_sas_slot_index_free(struct hisi_hba *hisi_hba, int slot_idx) static void hisi_sas_slot_index_free(struct hisi_hba *hisi_hba, int slot_idx)
{ {
@ -62,7 +62,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
} }
static void hisi_sas_slot_index_set(struct hisi_hba *hisi_hba, int slot_idx) static void hisi_sas_slot_index_set(struct hisi_hba *hisi_hba, int slot_idx)
@@ -194,24 +201,34 @@ static void hisi_sas_slot_index_set(struct hisi_hba *hisi_hba, int slot_idx) @@ -194,24 +201,34 @@ static void hisi_sas_slot_index_set(stru
set_bit(slot_idx, bitmap); set_bit(slot_idx, bitmap);
} }
@ -105,7 +105,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
} }
static void hisi_sas_slot_index_init(struct hisi_hba *hisi_hba) static void hisi_sas_slot_index_init(struct hisi_hba *hisi_hba)
@@ -250,9 +267,7 @@ void hisi_sas_slot_task_free(struct hisi_hba *hisi_hba, struct sas_task *task, @@ -250,9 +267,7 @@ void hisi_sas_slot_task_free(struct hisi
memset(slot, 0, offsetof(struct hisi_sas_slot, buf)); memset(slot, 0, offsetof(struct hisi_sas_slot, buf));
@ -115,7 +115,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
} }
EXPORT_SYMBOL_GPL(hisi_sas_slot_task_free); EXPORT_SYMBOL_GPL(hisi_sas_slot_task_free);
@@ -385,16 +400,27 @@ static int hisi_sas_task_prep(struct sas_task *task, @@ -385,16 +400,27 @@ static int hisi_sas_task_prep(struct sas
goto err_out_dma_unmap; goto err_out_dma_unmap;
} }
@ -150,7 +150,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
slot = &hisi_hba->slot_info[slot_idx]; slot = &hisi_hba->slot_info[slot_idx];
spin_lock_irqsave(&dq->lock, flags); spin_lock_irqsave(&dq->lock, flags);
@@ -455,9 +481,7 @@ static int hisi_sas_task_prep(struct sas_task *task, @@ -455,9 +481,7 @@ static int hisi_sas_task_prep(struct sas
return 0; return 0;
err_out_tag: err_out_tag:
@ -160,7 +160,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
err_out_dma_unmap: err_out_dma_unmap:
if (!sas_protocol_ata(task->task_proto)) { if (!sas_protocol_ata(task->task_proto)) {
if (task->num_scatter) { if (task->num_scatter) {
@@ -1742,14 +1766,11 @@ hisi_sas_internal_abort_task_exec(struct hisi_hba *hisi_hba, int device_id, @@ -1742,14 +1766,11 @@ hisi_sas_internal_abort_task_exec(struct
port = to_hisi_sas_port(sas_port); port = to_hisi_sas_port(sas_port);
/* simply get a slot and send abort command */ /* simply get a slot and send abort command */
@ -178,7 +178,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
slot = &hisi_hba->slot_info[slot_idx]; slot = &hisi_hba->slot_info[slot_idx];
spin_lock_irqsave(&dq->lock, flags_dq); spin_lock_irqsave(&dq->lock, flags_dq);
@@ -1785,7 +1806,6 @@ hisi_sas_internal_abort_task_exec(struct hisi_hba *hisi_hba, int device_id, @@ -1785,7 +1806,6 @@ hisi_sas_internal_abort_task_exec(struct
spin_lock_irqsave(&task->task_state_lock, flags); spin_lock_irqsave(&task->task_state_lock, flags);
task->task_state_flags |= SAS_TASK_AT_INITIATOR; task->task_state_flags |= SAS_TASK_AT_INITIATOR;
spin_unlock_irqrestore(&task->task_state_lock, flags); spin_unlock_irqrestore(&task->task_state_lock, flags);
@ -186,7 +186,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
WRITE_ONCE(slot->ready, 1); WRITE_ONCE(slot->ready, 1);
/* send abort command to the chip */ /* send abort command to the chip */
spin_lock_irqsave(&dq->lock, flags); spin_lock_irqsave(&dq->lock, flags);
@@ -1796,9 +1816,7 @@ hisi_sas_internal_abort_task_exec(struct hisi_hba *hisi_hba, int device_id, @@ -1796,9 +1816,7 @@ hisi_sas_internal_abort_task_exec(struct
return 0; return 0;
err_out_tag: err_out_tag:
@ -196,7 +196,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
err_out: err_out:
dev_err(dev, "internal abort task prep: failed[%d]!\n", rc); dev_err(dev, "internal abort task prep: failed[%d]!\n", rc);
@@ -2174,6 +2192,8 @@ int hisi_sas_alloc(struct hisi_hba *hisi_hba, struct Scsi_Host *shost) @@ -2174,6 +2192,8 @@ int hisi_sas_alloc(struct hisi_hba *hisi
hisi_sas_init_mem(hisi_hba); hisi_sas_init_mem(hisi_hba);
hisi_sas_slot_index_init(hisi_hba); hisi_sas_slot_index_init(hisi_hba);
@ -205,7 +205,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
hisi_hba->wq = create_singlethread_workqueue(dev_name(dev)); hisi_hba->wq = create_singlethread_workqueue(dev_name(dev));
if (!hisi_hba->wq) { if (!hisi_hba->wq) {
@@ -2377,8 +2397,15 @@ int hisi_sas_probe(struct platform_device *pdev, @@ -2377,8 +2397,15 @@ int hisi_sas_probe(struct platform_devic
shost->max_channel = 1; shost->max_channel = 1;
shost->max_cmd_len = 16; shost->max_cmd_len = 16;
shost->sg_tablesize = min_t(u16, SG_ALL, HISI_SAS_SGE_PAGE_CNT); shost->sg_tablesize = min_t(u16, SG_ALL, HISI_SAS_SGE_PAGE_CNT);
@ -223,11 +223,11 @@ index 2f57a318a71b..c2998d3ac37f 100644
sha->sas_ha_name = DRV_NAME; sha->sas_ha_name = DRV_NAME;
sha->dev = hisi_hba->dev; sha->dev = hisi_hba->dev;
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
index 410eccf0bc5e..8df822a4a1bd 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -1807,7 +1807,6 @@ static struct scsi_host_template sht_v1_hw = { @@ -1807,7 +1807,6 @@ static struct scsi_host_template sht_v1_
.scan_start = hisi_sas_scan_start, .scan_start = hisi_sas_scan_start,
.change_queue_depth = sas_change_queue_depth, .change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param, .bios_param = sas_bios_param,
@ -235,11 +235,11 @@ index 410eccf0bc5e..8df822a4a1bd 100644
.this_id = -1, .this_id = -1,
.sg_tablesize = SG_ALL, .sg_tablesize = SG_ALL,
.max_sectors = SCSI_DEFAULT_MAX_SECTORS, .max_sectors = SCSI_DEFAULT_MAX_SECTORS,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index c4774d63d5d0..58a564c75a35 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -770,7 +770,7 @@ static u32 hisi_sas_phy_read32(struct hisi_hba *hisi_hba, @@ -770,7 +770,7 @@ static u32 hisi_sas_phy_read32(struct hi
/* This function needs to be protected from pre-emption. */ /* This function needs to be protected from pre-emption. */
static int static int
@ -248,7 +248,7 @@ index c4774d63d5d0..58a564c75a35 100644
struct domain_device *device) struct domain_device *device)
{ {
int sata_dev = dev_is_sata(device); int sata_dev = dev_is_sata(device);
@@ -778,6 +778,7 @@ slot_index_alloc_quirk_v2_hw(struct hisi_hba *hisi_hba, int *slot_idx, @@ -778,6 +778,7 @@ slot_index_alloc_quirk_v2_hw(struct hisi
struct hisi_sas_device *sas_dev = device->lldd_dev; struct hisi_sas_device *sas_dev = device->lldd_dev;
int sata_idx = sas_dev->sata_idx; int sata_idx = sas_dev->sata_idx;
int start, end; int start, end;
@ -256,7 +256,7 @@ index c4774d63d5d0..58a564c75a35 100644
if (!sata_dev) { if (!sata_dev) {
/* /*
@@ -801,6 +802,7 @@ slot_index_alloc_quirk_v2_hw(struct hisi_hba *hisi_hba, int *slot_idx, @@ -801,6 +802,7 @@ slot_index_alloc_quirk_v2_hw(struct hisi
end = 64 * (sata_idx + 2); end = 64 * (sata_idx + 2);
} }
@ -264,7 +264,7 @@ index c4774d63d5d0..58a564c75a35 100644
while (1) { while (1) {
start = find_next_zero_bit(bitmap, start = find_next_zero_bit(bitmap,
hisi_hba->slot_index_count, start); hisi_hba->slot_index_count, start);
@@ -815,8 +817,8 @@ slot_index_alloc_quirk_v2_hw(struct hisi_hba *hisi_hba, int *slot_idx, @@ -815,8 +817,8 @@ slot_index_alloc_quirk_v2_hw(struct hisi
} }
set_bit(start, bitmap); set_bit(start, bitmap);
@ -275,7 +275,7 @@ index c4774d63d5d0..58a564c75a35 100644
} }
static bool sata_index_alloc_v2_hw(struct hisi_hba *hisi_hba, int *idx) static bool sata_index_alloc_v2_hw(struct hisi_hba *hisi_hba, int *idx)
@@ -3558,7 +3560,6 @@ static struct scsi_host_template sht_v2_hw = { @@ -3558,7 +3560,6 @@ static struct scsi_host_template sht_v2_
.scan_start = hisi_sas_scan_start, .scan_start = hisi_sas_scan_start,
.change_queue_depth = sas_change_queue_depth, .change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param, .bios_param = sas_bios_param,
@ -283,11 +283,11 @@ index c4774d63d5d0..58a564c75a35 100644
.this_id = -1, .this_id = -1,
.sg_tablesize = SG_ALL, .sg_tablesize = SG_ALL,
.max_sectors = SCSI_DEFAULT_MAX_SECTORS, .max_sectors = SCSI_DEFAULT_MAX_SECTORS,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 06824bde9c8d..a0fc2d5de787 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2096,7 +2096,6 @@ static struct scsi_host_template sht_v3_hw = { @@ -2096,7 +2096,6 @@ static struct scsi_host_template sht_v3_
.scan_start = hisi_sas_scan_start, .scan_start = hisi_sas_scan_start,
.change_queue_depth = sas_change_queue_depth, .change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param, .bios_param = sas_bios_param,
@ -295,7 +295,7 @@ index 06824bde9c8d..a0fc2d5de787 100644
.this_id = -1, .this_id = -1,
.sg_tablesize = SG_ALL, .sg_tablesize = SG_ALL,
.max_sectors = SCSI_DEFAULT_MAX_SECTORS, .max_sectors = SCSI_DEFAULT_MAX_SECTORS,
@@ -2106,6 +2105,7 @@ static struct scsi_host_template sht_v3_hw = { @@ -2106,6 +2105,7 @@ static struct scsi_host_template sht_v3_
.target_destroy = sas_target_destroy, .target_destroy = sas_target_destroy,
.ioctl = sas_ioctl, .ioctl = sas_ioctl,
.shost_attrs = host_attrs, .shost_attrs = host_attrs,
@ -303,7 +303,7 @@ index 06824bde9c8d..a0fc2d5de787 100644
}; };
static const struct hisi_sas_hw hisi_sas_v3_hw = { static const struct hisi_sas_hw hisi_sas_v3_hw = {
@@ -2243,8 +2243,10 @@ hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id) @@ -2243,8 +2243,10 @@ hisi_sas_v3_probe(struct pci_dev *pdev,
shost->max_channel = 1; shost->max_channel = 1;
shost->max_cmd_len = 16; shost->max_cmd_len = 16;
shost->sg_tablesize = min_t(u16, SG_ALL, HISI_SAS_SGE_PAGE_CNT); shost->sg_tablesize = min_t(u16, SG_ALL, HISI_SAS_SGE_PAGE_CNT);
@ -316,6 +316,3 @@ index 06824bde9c8d..a0fc2d5de787 100644
sha->sas_ha_name = DRV_NAME; sha->sas_ha_name = DRV_NAME;
sha->dev = dev; sha->dev = dev;
--
2.20.1

View File

@ -24,10 +24,10 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 3 +++ drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 3 +++
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index a0fc2d5de787..c3e0be90e19f 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -127,6 +127,7 @@ @@ -127,6 +127,7 @@
#define PHY_CTRL_RESET_OFF 0 #define PHY_CTRL_RESET_OFF 0
#define PHY_CTRL_RESET_MSK (0x1 << PHY_CTRL_RESET_OFF) #define PHY_CTRL_RESET_MSK (0x1 << PHY_CTRL_RESET_OFF)
@ -36,7 +36,7 @@ index a0fc2d5de787..c3e0be90e19f 100644
#define SL_CONTROL (PORT_BASE + 0x94) #define SL_CONTROL (PORT_BASE + 0x94)
#define SL_CONTROL_NOTIFY_EN_OFF 0 #define SL_CONTROL_NOTIFY_EN_OFF 0
#define SL_CONTROL_NOTIFY_EN_MSK (0x1 << SL_CONTROL_NOTIFY_EN_OFF) #define SL_CONTROL_NOTIFY_EN_MSK (0x1 << SL_CONTROL_NOTIFY_EN_OFF)
@@ -431,6 +432,7 @@ static void init_reg_v3_hw(struct hisi_hba *hisi_hba) @@ -431,6 +432,7 @@ static void init_reg_v3_hw(struct hisi_h
(u32)((1ULL << hisi_hba->queue_count) - 1)); (u32)((1ULL << hisi_hba->queue_count) - 1));
hisi_sas_write32(hisi_hba, CFG_MAX_TAG, 0xfff0400); hisi_sas_write32(hisi_hba, CFG_MAX_TAG, 0xfff0400);
hisi_sas_write32(hisi_hba, HGC_SAS_TXFAIL_RETRY_CTRL, 0x108); hisi_sas_write32(hisi_hba, HGC_SAS_TXFAIL_RETRY_CTRL, 0x108);
@ -44,7 +44,7 @@ index a0fc2d5de787..c3e0be90e19f 100644
hisi_sas_write32(hisi_hba, INT_COAL_EN, 0x1); hisi_sas_write32(hisi_hba, INT_COAL_EN, 0x1);
hisi_sas_write32(hisi_hba, OQ_INT_COAL_TIME, 0x1); hisi_sas_write32(hisi_hba, OQ_INT_COAL_TIME, 0x1);
hisi_sas_write32(hisi_hba, OQ_INT_COAL_CNT, 0x1); hisi_sas_write32(hisi_hba, OQ_INT_COAL_CNT, 0x1);
@@ -495,6 +497,7 @@ static void init_reg_v3_hw(struct hisi_hba *hisi_hba) @@ -495,6 +497,7 @@ static void init_reg_v3_hw(struct hisi_h
hisi_sas_phy_write32(hisi_hba, i, SAS_SSP_CON_TIMER_CFG, 0x32); hisi_sas_phy_write32(hisi_hba, i, SAS_SSP_CON_TIMER_CFG, 0x32);
/* used for 12G negotiate */ /* used for 12G negotiate */
hisi_sas_phy_write32(hisi_hba, i, COARSETUNE_TIME, 0x1e); hisi_sas_phy_write32(hisi_hba, i, COARSETUNE_TIME, 0x1e);
@ -52,6 +52,3 @@ index a0fc2d5de787..c3e0be90e19f 100644
} }
for (i = 0; i < hisi_hba->queue_count; i++) { for (i = 0; i < hisi_hba->queue_count; i++) {
--
2.20.1

View File

@ -15,11 +15,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 4 +++- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-) 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 58a564c75a35..77a85ead483e 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -806,8 +806,10 @@ slot_index_alloc_quirk_v2_hw(struct hisi_hba *hisi_hba, @@ -806,8 +806,10 @@ slot_index_alloc_quirk_v2_hw(struct hisi
while (1) { while (1) {
start = find_next_zero_bit(bitmap, start = find_next_zero_bit(bitmap,
hisi_hba->slot_index_count, start); hisi_hba->slot_index_count, start);
@ -31,6 +31,3 @@ index 58a564c75a35..77a85ead483e 100644
/* /*
* SAS IPTT bit0 should be 1, and SATA IPTT bit0 should be 0. * SAS IPTT bit0 should be 1, and SATA IPTT bit0 should be 0.
*/ */
--
2.20.1

View File

@ -14,11 +14,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 13 +++++-------- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-) 1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index c3e0be90e19f..43005d39abe6 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2199,14 +2199,11 @@ hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id) @@ -2199,14 +2199,11 @@ hisi_sas_v3_probe(struct pci_dev *pdev,
if (rc) if (rc)
goto err_out_disable_device; goto err_out_disable_device;
@ -38,6 +38,3 @@ index c3e0be90e19f..43005d39abe6 100644
} }
shost = hisi_sas_shost_alloc_pci(pdev); shost = hisi_sas_shost_alloc_pci(pdev);
--
2.20.1

View File

@ -20,11 +20,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 7 ++++++- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 7 ++++++-
5 files changed, 18 insertions(+), 10 deletions(-) 5 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h Index: linux/drivers/scsi/hisi_sas/hisi_sas.h
index 0ddb53c8a2e2..94a9e13c069c 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas.h --- linux.orig/drivers/scsi/hisi_sas/hisi_sas.h
+++ b/drivers/scsi/hisi_sas/hisi_sas.h +++ linux/drivers/scsi/hisi_sas/hisi_sas.h
@@ -468,7 +468,6 @@ extern int hisi_sas_remove(struct platform_device *pdev); @@ -468,7 +468,6 @@ extern int hisi_sas_remove(struct platfo
extern int hisi_sas_slave_configure(struct scsi_device *sdev); extern int hisi_sas_slave_configure(struct scsi_device *sdev);
extern int hisi_sas_scan_finished(struct Scsi_Host *shost, unsigned long time); extern int hisi_sas_scan_finished(struct Scsi_Host *shost, unsigned long time);
extern void hisi_sas_scan_start(struct Scsi_Host *shost); extern void hisi_sas_scan_start(struct Scsi_Host *shost);
@ -32,11 +32,11 @@ index 0ddb53c8a2e2..94a9e13c069c 100644
extern int hisi_sas_host_reset(struct Scsi_Host *shost, int reset_type); extern int hisi_sas_host_reset(struct Scsi_Host *shost, int reset_type);
extern void hisi_sas_phy_down(struct hisi_hba *hisi_hba, int phy_no, int rdy); extern void hisi_sas_phy_down(struct hisi_hba *hisi_hba, int phy_no, int rdy);
extern void hisi_sas_slot_task_free(struct hisi_hba *hisi_hba, extern void hisi_sas_slot_task_free(struct hisi_hba *hisi_hba,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index c2998d3ac37f..dc71f8d83551 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -2009,12 +2009,6 @@ EXPORT_SYMBOL_GPL(hisi_sas_kill_tasklets); @@ -2009,12 +2009,6 @@ EXPORT_SYMBOL_GPL(hisi_sas_kill_tasklets
struct scsi_transport_template *hisi_sas_stt; struct scsi_transport_template *hisi_sas_stt;
EXPORT_SYMBOL_GPL(hisi_sas_stt); EXPORT_SYMBOL_GPL(hisi_sas_stt);
@ -49,11 +49,11 @@ index c2998d3ac37f..dc71f8d83551 100644
static struct sas_domain_function_template hisi_sas_transport_ops = { static struct sas_domain_function_template hisi_sas_transport_ops = {
.lldd_dev_found = hisi_sas_dev_found, .lldd_dev_found = hisi_sas_dev_found,
.lldd_dev_gone = hisi_sas_dev_gone, .lldd_dev_gone = hisi_sas_dev_gone,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
index 8df822a4a1bd..e8e3a876e493 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -1797,6 +1797,11 @@ static int hisi_sas_v1_init(struct hisi_hba *hisi_hba) @@ -1797,6 +1797,11 @@ static int hisi_sas_v1_init(struct hisi_
return 0; return 0;
} }
@ -65,7 +65,7 @@ index 8df822a4a1bd..e8e3a876e493 100644
static struct scsi_host_template sht_v1_hw = { static struct scsi_host_template sht_v1_hw = {
.name = DRV_NAME, .name = DRV_NAME,
.module = THIS_MODULE, .module = THIS_MODULE,
@@ -1815,7 +1820,7 @@ static struct scsi_host_template sht_v1_hw = { @@ -1815,7 +1820,7 @@ static struct scsi_host_template sht_v1_
.eh_target_reset_handler = sas_eh_target_reset_handler, .eh_target_reset_handler = sas_eh_target_reset_handler,
.target_destroy = sas_target_destroy, .target_destroy = sas_target_destroy,
.ioctl = sas_ioctl, .ioctl = sas_ioctl,
@ -74,11 +74,11 @@ index 8df822a4a1bd..e8e3a876e493 100644
}; };
static const struct hisi_sas_hw hisi_sas_v1_hw = { static const struct hisi_sas_hw hisi_sas_v1_hw = {
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 77a85ead483e..574a269e2865 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -3552,6 +3552,11 @@ static void wait_cmds_complete_timeout_v2_hw(struct hisi_hba *hisi_hba, @@ -3552,6 +3552,11 @@ static void wait_cmds_complete_timeout_v
dev_dbg(dev, "wait commands complete %dms\n", time); dev_dbg(dev, "wait commands complete %dms\n", time);
} }
@ -90,7 +90,7 @@ index 77a85ead483e..574a269e2865 100644
static struct scsi_host_template sht_v2_hw = { static struct scsi_host_template sht_v2_hw = {
.name = DRV_NAME, .name = DRV_NAME,
.module = THIS_MODULE, .module = THIS_MODULE,
@@ -3570,7 +3575,7 @@ static struct scsi_host_template sht_v2_hw = { @@ -3570,7 +3575,7 @@ static struct scsi_host_template sht_v2_
.eh_target_reset_handler = sas_eh_target_reset_handler, .eh_target_reset_handler = sas_eh_target_reset_handler,
.target_destroy = sas_target_destroy, .target_destroy = sas_target_destroy,
.ioctl = sas_ioctl, .ioctl = sas_ioctl,
@ -99,11 +99,11 @@ index 77a85ead483e..574a269e2865 100644
}; };
static const struct hisi_sas_hw hisi_sas_v2_hw = { static const struct hisi_sas_hw hisi_sas_v2_hw = {
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 43005d39abe6..1d0896959fbb 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2089,6 +2089,11 @@ static void wait_cmds_complete_timeout_v3_hw(struct hisi_hba *hisi_hba, @@ -2089,6 +2089,11 @@ static void wait_cmds_complete_timeout_v
dev_dbg(dev, "wait commands complete %dms\n", time); dev_dbg(dev, "wait commands complete %dms\n", time);
} }
@ -115,7 +115,7 @@ index 43005d39abe6..1d0896959fbb 100644
static struct scsi_host_template sht_v3_hw = { static struct scsi_host_template sht_v3_hw = {
.name = DRV_NAME, .name = DRV_NAME,
.module = THIS_MODULE, .module = THIS_MODULE,
@@ -2107,7 +2112,7 @@ static struct scsi_host_template sht_v3_hw = { @@ -2107,7 +2112,7 @@ static struct scsi_host_template sht_v3_
.eh_target_reset_handler = sas_eh_target_reset_handler, .eh_target_reset_handler = sas_eh_target_reset_handler,
.target_destroy = sas_target_destroy, .target_destroy = sas_target_destroy,
.ioctl = sas_ioctl, .ioctl = sas_ioctl,
@ -124,6 +124,3 @@ index 43005d39abe6..1d0896959fbb 100644
.tag_alloc_policy = BLK_TAG_ALLOC_RR, .tag_alloc_policy = BLK_TAG_ALLOC_RR,
}; };
--
2.20.1

View File

@ -17,10 +17,10 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 29 +++++++++++++++++++++----- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 29 +++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-) 1 file changed, 24 insertions(+), 5 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 1d0896959fbb..b70190936f1b 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -42,6 +42,7 @@ @@ -42,6 +42,7 @@
#define MAX_CON_TIME_LIMIT_TIME 0xa4 #define MAX_CON_TIME_LIMIT_TIME 0xa4
#define BUS_INACTIVE_LIMIT_TIME 0xa8 #define BUS_INACTIVE_LIMIT_TIME 0xa8
@ -39,7 +39,7 @@ index 1d0896959fbb..b70190936f1b 100644
static u32 hisi_sas_read32(struct hisi_hba *hisi_hba, u32 off) static u32 hisi_sas_read32(struct hisi_hba *hisi_hba, u32 off)
{ {
void __iomem *regs = hisi_hba->regs + off; void __iomem *regs = hisi_hba->regs + off;
@@ -436,6 +440,8 @@ static void init_reg_v3_hw(struct hisi_hba *hisi_hba) @@ -436,6 +440,8 @@ static void init_reg_v3_hw(struct hisi_h
hisi_sas_write32(hisi_hba, INT_COAL_EN, 0x1); hisi_sas_write32(hisi_hba, INT_COAL_EN, 0x1);
hisi_sas_write32(hisi_hba, OQ_INT_COAL_TIME, 0x1); hisi_sas_write32(hisi_hba, OQ_INT_COAL_TIME, 0x1);
hisi_sas_write32(hisi_hba, OQ_INT_COAL_CNT, 0x1); hisi_sas_write32(hisi_hba, OQ_INT_COAL_CNT, 0x1);
@ -48,7 +48,7 @@ index 1d0896959fbb..b70190936f1b 100644
hisi_sas_write32(hisi_hba, OQ_INT_SRC, 0xffff); hisi_sas_write32(hisi_hba, OQ_INT_SRC, 0xffff);
hisi_sas_write32(hisi_hba, ENT_INT_SRC1, 0xffffffff); hisi_sas_write32(hisi_hba, ENT_INT_SRC1, 0xffffffff);
hisi_sas_write32(hisi_hba, ENT_INT_SRC2, 0xffffffff); hisi_sas_write32(hisi_hba, ENT_INT_SRC2, 0xffffffff);
@@ -1878,10 +1884,12 @@ static int interrupt_init_v3_hw(struct hisi_hba *hisi_hba) @@ -1878,10 +1884,12 @@ static int interrupt_init_v3_hw(struct h
for (i = 0; i < hisi_hba->queue_count; i++) { for (i = 0; i < hisi_hba->queue_count; i++) {
struct hisi_sas_cq *cq = &hisi_hba->cq[i]; struct hisi_sas_cq *cq = &hisi_hba->cq[i];
struct tasklet_struct *t = &cq->tasklet; struct tasklet_struct *t = &cq->tasklet;
@ -64,7 +64,7 @@ index 1d0896959fbb..b70190936f1b 100644
if (rc) { if (rc) {
dev_err(dev, dev_err(dev,
"could not request cq%d interrupt, rc=%d\n", "could not request cq%d interrupt, rc=%d\n",
@@ -1898,8 +1906,9 @@ static int interrupt_init_v3_hw(struct hisi_hba *hisi_hba) @@ -1898,8 +1906,9 @@ static int interrupt_init_v3_hw(struct h
free_cq_irqs: free_cq_irqs:
for (k = 0; k < i; k++) { for (k = 0; k < i; k++) {
struct hisi_sas_cq *cq = &hisi_hba->cq[k]; struct hisi_sas_cq *cq = &hisi_hba->cq[k];
@ -75,7 +75,7 @@ index 1d0896959fbb..b70190936f1b 100644
} }
free_irq(pci_irq_vector(pdev, 11), hisi_hba); free_irq(pci_irq_vector(pdev, 11), hisi_hba);
free_chnl_interrupt: free_chnl_interrupt:
@@ -2089,8 +2098,16 @@ static void wait_cmds_complete_timeout_v3_hw(struct hisi_hba *hisi_hba, @@ -2089,8 +2098,16 @@ static void wait_cmds_complete_timeout_v
dev_dbg(dev, "wait commands complete %dms\n", time); dev_dbg(dev, "wait commands complete %dms\n", time);
} }
@ -92,7 +92,7 @@ index 1d0896959fbb..b70190936f1b 100644
NULL NULL
}; };
@@ -2303,8 +2320,9 @@ hisi_sas_v3_destroy_irqs(struct pci_dev *pdev, struct hisi_hba *hisi_hba) @@ -2303,8 +2320,9 @@ hisi_sas_v3_destroy_irqs(struct pci_dev
free_irq(pci_irq_vector(pdev, 11), hisi_hba); free_irq(pci_irq_vector(pdev, 11), hisi_hba);
for (i = 0; i < hisi_hba->queue_count; i++) { for (i = 0; i < hisi_hba->queue_count; i++) {
struct hisi_sas_cq *cq = &hisi_hba->cq[i]; struct hisi_sas_cq *cq = &hisi_hba->cq[i];
@ -103,7 +103,7 @@ index 1d0896959fbb..b70190936f1b 100644
} }
pci_free_irq_vectors(pdev); pci_free_irq_vectors(pdev);
} }
@@ -2626,6 +2644,7 @@ static struct pci_driver sas_v3_pci_driver = { @@ -2626,6 +2644,7 @@ static struct pci_driver sas_v3_pci_driv
}; };
module_pci_driver(sas_v3_pci_driver); module_pci_driver(sas_v3_pci_driver);
@ -111,6 +111,3 @@ index 1d0896959fbb..b70190936f1b 100644
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("John Garry <john.garry@huawei.com>"); MODULE_AUTHOR("John Garry <john.garry@huawei.com>");
--
2.20.1

View File

@ -21,10 +21,10 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 100 +++++++++++++++++++++++++ drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 100 +++++++++++++++++++++++++
2 files changed, 102 insertions(+) 2 files changed, 102 insertions(+)
diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h Index: linux/drivers/scsi/hisi_sas/hisi_sas.h
index 94a9e13c069c..535c61391250 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas.h --- linux.orig/drivers/scsi/hisi_sas/hisi_sas.h
+++ b/drivers/scsi/hisi_sas/hisi_sas.h +++ linux/drivers/scsi/hisi_sas/hisi_sas.h
@@ -322,6 +322,8 @@ struct hisi_hba { @@ -322,6 +322,8 @@ struct hisi_hba {
unsigned long sata_dev_bitmap[BITS_TO_LONGS(HISI_SAS_MAX_DEVICES)]; unsigned long sata_dev_bitmap[BITS_TO_LONGS(HISI_SAS_MAX_DEVICES)];
struct work_struct rst_work; struct work_struct rst_work;
@ -34,11 +34,11 @@ index 94a9e13c069c..535c61391250 100644
}; };
/* Generic HW DMA host memory structures */ /* Generic HW DMA host memory structures */
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index b70190936f1b..7d7cb73e4bee 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2105,9 +2105,109 @@ static ssize_t intr_conv_v3_hw_show(struct device *dev, @@ -2105,9 +2105,109 @@ static ssize_t intr_conv_v3_hw_show(stru
} }
static DEVICE_ATTR_RO(intr_conv_v3_hw); static DEVICE_ATTR_RO(intr_conv_v3_hw);
@ -148,6 +148,3 @@ index b70190936f1b..7d7cb73e4bee 100644
NULL NULL
}; };
--
2.20.1

View File

@ -17,11 +17,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c | 44 ++++++++++++++------------- drivers/scsi/hisi_sas/hisi_sas_main.c | 44 ++++++++++++++-------------
1 file changed, 23 insertions(+), 21 deletions(-) 1 file changed, 23 insertions(+), 21 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index dc71f8d83551..15360d797760 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -303,36 +303,19 @@ static int hisi_sas_task_prep(struct sas_task *task, @@ -303,36 +303,19 @@ static int hisi_sas_task_prep(struct sas
int *pass) int *pass)
{ {
struct domain_device *device = task->dev; struct domain_device *device = task->dev;
@ -60,7 +60,7 @@ index dc71f8d83551..15360d797760 100644
if (DEV_IS_GONE(sas_dev)) { if (DEV_IS_GONE(sas_dev)) {
if (sas_dev) if (sas_dev)
dev_info(dev, "task prep: device %d not ready\n", dev_info(dev, "task prep: device %d not ready\n",
@@ -507,10 +490,29 @@ static int hisi_sas_task_exec(struct sas_task *task, gfp_t gfp_flags, @@ -507,10 +490,29 @@ static int hisi_sas_task_exec(struct sas
u32 rc; u32 rc;
u32 pass = 0; u32 pass = 0;
unsigned long flags; unsigned long flags;
@ -92,6 +92,3 @@ index dc71f8d83551..15360d797760 100644
if (unlikely(test_bit(HISI_SAS_REJECT_CMD_BIT, &hisi_hba->flags))) { if (unlikely(test_bit(HISI_SAS_REJECT_CMD_BIT, &hisi_hba->flags))) {
if (in_softirq()) if (in_softirq())
return -EINVAL; return -EINVAL;
--
2.20.1

View File

@ -22,10 +22,10 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 37 +++++++++------ drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 37 +++++++++------
5 files changed, 71 insertions(+), 55 deletions(-) 5 files changed, 71 insertions(+), 55 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h Index: linux/drivers/scsi/hisi_sas/hisi_sas.h
index 535c61391250..912d2342a5fe 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas.h --- linux.orig/drivers/scsi/hisi_sas/hisi_sas.h
+++ b/drivers/scsi/hisi_sas/hisi_sas.h +++ linux/drivers/scsi/hisi_sas/hisi_sas.h
@@ -211,7 +211,7 @@ struct hisi_sas_slot { @@ -211,7 +211,7 @@ struct hisi_sas_slot {
/* Do not reorder/change members after here */ /* Do not reorder/change members after here */
void *buf; void *buf;
@ -35,11 +35,11 @@ index 535c61391250..912d2342a5fe 100644
}; };
struct hisi_sas_hw { struct hisi_sas_hw {
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index 15360d797760..ab6c7938e172 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -1463,12 +1463,12 @@ static int hisi_sas_abort_task(struct sas_task *task) @@ -1463,12 +1463,12 @@ static int hisi_sas_abort_task(struct sa
if (task->lldd_task && task->task_proto & SAS_PROTOCOL_SSP) { if (task->lldd_task && task->task_proto & SAS_PROTOCOL_SSP) {
struct scsi_cmnd *cmnd = task->uldd_task; struct scsi_cmnd *cmnd = task->uldd_task;
struct hisi_sas_slot *slot = task->lldd_task; struct hisi_sas_slot *slot = task->lldd_task;
@ -54,7 +54,7 @@ index 15360d797760..ab6c7938e172 100644
rc = hisi_sas_debug_issue_ssp_tmf(task->dev, lun.scsi_lun, rc = hisi_sas_debug_issue_ssp_tmf(task->dev, lun.scsi_lun,
&tmf_task); &tmf_task);
@@ -1722,7 +1722,7 @@ static int hisi_sas_query_task(struct sas_task *task) @@ -1722,7 +1722,7 @@ static int hisi_sas_query_task(struct sa
int_to_scsilun(cmnd->device->lun, &lun); int_to_scsilun(cmnd->device->lun, &lun);
tmf_task.tmf = TMF_QUERY_TASK; tmf_task.tmf = TMF_QUERY_TASK;
@ -63,11 +63,11 @@ index 15360d797760..ab6c7938e172 100644
rc = hisi_sas_debug_issue_ssp_tmf(device, rc = hisi_sas_debug_issue_ssp_tmf(device,
lun.scsi_lun, lun.scsi_lun,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
index e8e3a876e493..cb1198f0ddde 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -510,6 +510,7 @@ static void setup_itct_v1_hw(struct hisi_hba *hisi_hba, @@ -510,6 +510,7 @@ static void setup_itct_v1_hw(struct hisi
struct hisi_sas_itct *itct = &hisi_hba->itct[device_id]; struct hisi_sas_itct *itct = &hisi_hba->itct[device_id];
struct asd_sas_port *sas_port = device->port; struct asd_sas_port *sas_port = device->port;
struct hisi_sas_port *port = to_hisi_sas_port(sas_port); struct hisi_sas_port *port = to_hisi_sas_port(sas_port);
@ -75,7 +75,7 @@ index e8e3a876e493..cb1198f0ddde 100644
memset(itct, 0, sizeof(*itct)); memset(itct, 0, sizeof(*itct));
@@ -534,8 +535,8 @@ static void setup_itct_v1_hw(struct hisi_hba *hisi_hba, @@ -534,8 +535,8 @@ static void setup_itct_v1_hw(struct hisi
itct->qw0 = cpu_to_le64(qw0); itct->qw0 = cpu_to_le64(qw0);
/* qw1 */ /* qw1 */
@ -86,7 +86,7 @@ index e8e3a876e493..cb1198f0ddde 100644
/* qw2 */ /* qw2 */
itct->qw2 = cpu_to_le64((500ULL << ITCT_HDR_IT_NEXUS_LOSS_TL_OFF) | itct->qw2 = cpu_to_le64((500ULL << ITCT_HDR_IT_NEXUS_LOSS_TL_OFF) |
@@ -561,7 +562,7 @@ static void clear_itct_v1_hw(struct hisi_hba *hisi_hba, @@ -561,7 +562,7 @@ static void clear_itct_v1_hw(struct hisi
reg_val &= ~CFG_AGING_TIME_ITCT_REL_MSK; reg_val &= ~CFG_AGING_TIME_ITCT_REL_MSK;
hisi_sas_write32(hisi_hba, CFG_AGING_TIME, reg_val); hisi_sas_write32(hisi_hba, CFG_AGING_TIME, reg_val);
@ -95,7 +95,7 @@ index e8e3a876e493..cb1198f0ddde 100644
qw0 &= ~ITCT_HDR_VALID_MSK; qw0 &= ~ITCT_HDR_VALID_MSK;
itct->qw0 = cpu_to_le64(qw0); itct->qw0 = cpu_to_le64(qw0);
} }
@@ -1100,7 +1101,7 @@ static void slot_err_v1_hw(struct hisi_hba *hisi_hba, @@ -1100,7 +1101,7 @@ static void slot_err_v1_hw(struct hisi_h
case SAS_PROTOCOL_SSP: case SAS_PROTOCOL_SSP:
{ {
int error = -1; int error = -1;
@ -104,7 +104,7 @@ index e8e3a876e493..cb1198f0ddde 100644
u32 dma_tx_err_type = ((dma_err_type & u32 dma_tx_err_type = ((dma_err_type &
ERR_HDR_DMA_TX_ERR_TYPE_MSK)) >> ERR_HDR_DMA_TX_ERR_TYPE_MSK)) >>
ERR_HDR_DMA_TX_ERR_TYPE_OFF; ERR_HDR_DMA_TX_ERR_TYPE_OFF;
@@ -1108,9 +1109,9 @@ static void slot_err_v1_hw(struct hisi_hba *hisi_hba, @@ -1108,9 +1109,9 @@ static void slot_err_v1_hw(struct hisi_h
ERR_HDR_DMA_RX_ERR_TYPE_MSK)) >> ERR_HDR_DMA_RX_ERR_TYPE_MSK)) >>
ERR_HDR_DMA_RX_ERR_TYPE_OFF; ERR_HDR_DMA_RX_ERR_TYPE_OFF;
u32 trans_tx_fail_type = u32 trans_tx_fail_type =
@ -116,7 +116,7 @@ index e8e3a876e493..cb1198f0ddde 100644
if (dma_tx_err_type) { if (dma_tx_err_type) {
/* dma tx err */ /* dma tx err */
@@ -1558,7 +1559,7 @@ static irqreturn_t cq_interrupt_v1_hw(int irq, void *p) @@ -1558,7 +1559,7 @@ static irqreturn_t cq_interrupt_v1_hw(in
u32 cmplt_hdr_data; u32 cmplt_hdr_data;
complete_hdr = &complete_queue[rd_point]; complete_hdr = &complete_queue[rd_point];
@ -125,11 +125,11 @@ index e8e3a876e493..cb1198f0ddde 100644
idx = (cmplt_hdr_data & CMPLT_HDR_IPTT_MSK) >> idx = (cmplt_hdr_data & CMPLT_HDR_IPTT_MSK) >>
CMPLT_HDR_IPTT_OFF; CMPLT_HDR_IPTT_OFF;
slot = &hisi_hba->slot_info[idx]; slot = &hisi_hba->slot_info[idx];
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 574a269e2865..c17dd500fba1 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -934,6 +934,7 @@ static void setup_itct_v2_hw(struct hisi_hba *hisi_hba, @@ -934,6 +934,7 @@ static void setup_itct_v2_hw(struct hisi
struct domain_device *parent_dev = device->parent; struct domain_device *parent_dev = device->parent;
struct asd_sas_port *sas_port = device->port; struct asd_sas_port *sas_port = device->port;
struct hisi_sas_port *port = to_hisi_sas_port(sas_port); struct hisi_sas_port *port = to_hisi_sas_port(sas_port);
@ -137,7 +137,7 @@ index 574a269e2865..c17dd500fba1 100644
memset(itct, 0, sizeof(*itct)); memset(itct, 0, sizeof(*itct));
@@ -966,8 +967,8 @@ static void setup_itct_v2_hw(struct hisi_hba *hisi_hba, @@ -966,8 +967,8 @@ static void setup_itct_v2_hw(struct hisi
itct->qw0 = cpu_to_le64(qw0); itct->qw0 = cpu_to_le64(qw0);
/* qw1 */ /* qw1 */
@ -148,7 +148,7 @@ index 574a269e2865..c17dd500fba1 100644
/* qw2 */ /* qw2 */
if (!dev_is_sata(device)) if (!dev_is_sata(device))
@@ -2044,11 +2045,11 @@ static void slot_err_v2_hw(struct hisi_hba *hisi_hba, @@ -2044,11 +2045,11 @@ static void slot_err_v2_hw(struct hisi_h
struct task_status_struct *ts = &task->task_status; struct task_status_struct *ts = &task->task_status;
struct hisi_sas_err_record_v2 *err_record = struct hisi_sas_err_record_v2 *err_record =
hisi_sas_status_buf_addr_mem(slot); hisi_sas_status_buf_addr_mem(slot);
@ -165,7 +165,7 @@ index 574a269e2865..c17dd500fba1 100644
int error = -1; int error = -1;
if (err_phase == 1) { if (err_phase == 1) {
@@ -2059,8 +2060,7 @@ static void slot_err_v2_hw(struct hisi_hba *hisi_hba, @@ -2059,8 +2060,7 @@ static void slot_err_v2_hw(struct hisi_h
trans_tx_fail_type); trans_tx_fail_type);
} else if (err_phase == 2) { } else if (err_phase == 2) {
/* error in RX phase, the priority is: DW1 > DW3 > DW2 */ /* error in RX phase, the priority is: DW1 > DW3 > DW2 */
@ -175,7 +175,7 @@ index 574a269e2865..c17dd500fba1 100644
if (error == -1) { if (error == -1) {
error = parse_dma_rx_err_code_v2_hw( error = parse_dma_rx_err_code_v2_hw(
dma_rx_err_type); dma_rx_err_type);
@@ -2358,6 +2358,7 @@ slot_complete_v2_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -2358,6 +2358,7 @@ slot_complete_v2_hw(struct hisi_hba *his
&complete_queue[slot->cmplt_queue_slot]; &complete_queue[slot->cmplt_queue_slot];
unsigned long flags; unsigned long flags;
bool is_internal = slot->is_internal; bool is_internal = slot->is_internal;
@ -183,7 +183,7 @@ index 574a269e2865..c17dd500fba1 100644
if (unlikely(!task || !task->lldd_task || !task->dev)) if (unlikely(!task || !task->lldd_task || !task->dev))
return -EINVAL; return -EINVAL;
@@ -2382,8 +2383,9 @@ slot_complete_v2_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -2382,8 +2383,9 @@ slot_complete_v2_hw(struct hisi_hba *his
} }
/* Use SAS+TMF status codes */ /* Use SAS+TMF status codes */
@ -195,7 +195,7 @@ index 574a269e2865..c17dd500fba1 100644
case STAT_IO_ABORTED: case STAT_IO_ABORTED:
/* this io has been aborted by abort command */ /* this io has been aborted by abort command */
ts->stat = SAS_ABORTED_TASK; ts->stat = SAS_ABORTED_TASK;
@@ -2408,9 +2410,8 @@ slot_complete_v2_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -2408,9 +2410,8 @@ slot_complete_v2_hw(struct hisi_hba *his
break; break;
} }
@ -207,7 +207,7 @@ index 574a269e2865..c17dd500fba1 100644
>> CMPLT_HDR_ERR_PHASE_OFF; >> CMPLT_HDR_ERR_PHASE_OFF;
u32 *error_info = hisi_sas_status_buf_addr_mem(slot); u32 *error_info = hisi_sas_status_buf_addr_mem(slot);
@@ -2526,22 +2527,23 @@ static void prep_ata_v2_hw(struct hisi_hba *hisi_hba, @@ -2526,22 +2527,23 @@ static void prep_ata_v2_hw(struct hisi_h
struct hisi_sas_tmf_task *tmf = slot->tmf; struct hisi_sas_tmf_task *tmf = slot->tmf;
u8 *buf_cmd; u8 *buf_cmd;
int has_data = 0, hdr_tag = 0; int has_data = 0, hdr_tag = 0;
@ -238,7 +238,7 @@ index 574a269e2865..c17dd500fba1 100644
/* dw1 */ /* dw1 */
switch (task->data_dir) { switch (task->data_dir) {
case DMA_TO_DEVICE: case DMA_TO_DEVICE:
@@ -3152,20 +3154,24 @@ static void cq_tasklet_v2_hw(unsigned long val) @@ -3152,20 +3154,24 @@ static void cq_tasklet_v2_hw(unsigned lo
/* Check for NCQ completion */ /* Check for NCQ completion */
if (complete_hdr->act) { if (complete_hdr->act) {
@ -269,7 +269,7 @@ index 574a269e2865..c17dd500fba1 100644
slot = &hisi_hba->slot_info[iptt]; slot = &hisi_hba->slot_info[iptt];
slot->cmplt_queue_slot = rd_point; slot->cmplt_queue_slot = rd_point;
@@ -3176,7 +3182,9 @@ static void cq_tasklet_v2_hw(unsigned long val) @@ -3176,7 +3182,9 @@ static void cq_tasklet_v2_hw(unsigned lo
ncq_tag_count = ffs(act_tmp); ncq_tag_count = ffs(act_tmp);
} }
} else { } else {
@ -280,7 +280,7 @@ index 574a269e2865..c17dd500fba1 100644
slot = &hisi_hba->slot_info[iptt]; slot = &hisi_hba->slot_info[iptt];
slot->cmplt_queue_slot = rd_point; slot->cmplt_queue_slot = rd_point;
slot->cmplt_queue = queue; slot->cmplt_queue = queue;
@@ -3552,7 +3560,7 @@ static void wait_cmds_complete_timeout_v2_hw(struct hisi_hba *hisi_hba, @@ -3552,7 +3560,7 @@ static void wait_cmds_complete_timeout_v
dev_dbg(dev, "wait commands complete %dms\n", time); dev_dbg(dev, "wait commands complete %dms\n", time);
} }
@ -289,11 +289,11 @@ index 574a269e2865..c17dd500fba1 100644
&dev_attr_phy_event_threshold, &dev_attr_phy_event_threshold,
NULL NULL
}; };
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 7d7cb73e4bee..23f40b57b298 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -628,6 +628,7 @@ static void setup_itct_v3_hw(struct hisi_hba *hisi_hba, @@ -628,6 +628,7 @@ static void setup_itct_v3_hw(struct hisi
struct domain_device *parent_dev = device->parent; struct domain_device *parent_dev = device->parent;
struct asd_sas_port *sas_port = device->port; struct asd_sas_port *sas_port = device->port;
struct hisi_sas_port *port = to_hisi_sas_port(sas_port); struct hisi_sas_port *port = to_hisi_sas_port(sas_port);
@ -301,7 +301,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
memset(itct, 0, sizeof(*itct)); memset(itct, 0, sizeof(*itct));
@@ -660,8 +661,8 @@ static void setup_itct_v3_hw(struct hisi_hba *hisi_hba, @@ -660,8 +661,8 @@ static void setup_itct_v3_hw(struct hisi
itct->qw0 = cpu_to_le64(qw0); itct->qw0 = cpu_to_le64(qw0);
/* qw1 */ /* qw1 */
@ -312,7 +312,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
/* qw2 */ /* qw2 */
if (!dev_is_sata(device)) if (!dev_is_sata(device))
@@ -1590,15 +1591,16 @@ slot_err_v3_hw(struct hisi_hba *hisi_hba, struct sas_task *task, @@ -1590,15 +1591,16 @@ slot_err_v3_hw(struct hisi_hba *hisi_hba
&complete_queue[slot->cmplt_queue_slot]; &complete_queue[slot->cmplt_queue_slot];
struct hisi_sas_err_record_v3 *record = struct hisi_sas_err_record_v3 *record =
hisi_sas_status_buf_addr_mem(slot); hisi_sas_status_buf_addr_mem(slot);
@ -332,7 +332,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
ts->stat = SAS_QUEUE_FULL; ts->stat = SAS_QUEUE_FULL;
slot->abort = 1; slot->abort = 1;
} else { } else {
@@ -1612,7 +1614,7 @@ slot_err_v3_hw(struct hisi_hba *hisi_hba, struct sas_task *task, @@ -1612,7 +1614,7 @@ slot_err_v3_hw(struct hisi_hba *hisi_hba
if (dma_rx_err_type & RX_DATA_LEN_UNDERFLOW_MSK) { if (dma_rx_err_type & RX_DATA_LEN_UNDERFLOW_MSK) {
ts->residual = trans_tx_fail_type; ts->residual = trans_tx_fail_type;
ts->stat = SAS_DATA_UNDERRUN; ts->stat = SAS_DATA_UNDERRUN;
@ -341,7 +341,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
ts->stat = SAS_PHY_DOWN; ts->stat = SAS_PHY_DOWN;
slot->abort = 1; slot->abort = 1;
} else { } else {
@@ -1645,6 +1647,7 @@ slot_complete_v3_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -1645,6 +1647,7 @@ slot_complete_v3_hw(struct hisi_hba *his
&complete_queue[slot->cmplt_queue_slot]; &complete_queue[slot->cmplt_queue_slot];
unsigned long flags; unsigned long flags;
bool is_internal = slot->is_internal; bool is_internal = slot->is_internal;
@ -349,7 +349,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
if (unlikely(!task || !task->lldd_task || !task->dev)) if (unlikely(!task || !task->lldd_task || !task->dev))
return -EINVAL; return -EINVAL;
@@ -1668,11 +1671,14 @@ slot_complete_v3_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -1668,11 +1671,14 @@ slot_complete_v3_hw(struct hisi_hba *his
goto out; goto out;
} }
@ -366,7 +366,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
case STAT_IO_ABORTED: case STAT_IO_ABORTED:
/* this IO has been aborted by abort command */ /* this IO has been aborted by abort command */
ts->stat = SAS_ABORTED_TASK; ts->stat = SAS_ABORTED_TASK;
@@ -1695,7 +1701,7 @@ slot_complete_v3_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -1695,7 +1701,7 @@ slot_complete_v3_hw(struct hisi_hba *his
} }
/* check for erroneous completion */ /* check for erroneous completion */
@ -375,7 +375,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
u32 *error_info = hisi_sas_status_buf_addr_mem(slot); u32 *error_info = hisi_sas_status_buf_addr_mem(slot);
slot_err_v3_hw(hisi_hba, task, slot); slot_err_v3_hw(hisi_hba, task, slot);
@@ -1704,8 +1710,7 @@ slot_complete_v3_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot) @@ -1704,8 +1710,7 @@ slot_complete_v3_hw(struct hisi_hba *his
"CQ hdr: 0x%x 0x%x 0x%x 0x%x " "CQ hdr: 0x%x 0x%x 0x%x 0x%x "
"Error info: 0x%x 0x%x 0x%x 0x%x\n", "Error info: 0x%x 0x%x 0x%x 0x%x\n",
slot->idx, task, sas_dev->device_id, slot->idx, task, sas_dev->device_id,
@ -385,7 +385,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
error_info[0], error_info[1], error_info[0], error_info[1],
error_info[2], error_info[3]); error_info[2], error_info[3]);
if (unlikely(slot->abort)) if (unlikely(slot->abort))
@@ -1803,11 +1808,13 @@ static void cq_tasklet_v3_hw(unsigned long val) @@ -1803,11 +1808,13 @@ static void cq_tasklet_v3_hw(unsigned lo
while (rd_point != wr_point) { while (rd_point != wr_point) {
struct hisi_sas_complete_v3_hdr *complete_hdr; struct hisi_sas_complete_v3_hdr *complete_hdr;
struct device *dev = hisi_hba->dev; struct device *dev = hisi_hba->dev;
@ -400,7 +400,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
if (likely(iptt < HISI_SAS_COMMAND_ENTRIES_V3_HW)) { if (likely(iptt < HISI_SAS_COMMAND_ENTRIES_V3_HW)) {
slot = &hisi_hba->slot_info[iptt]; slot = &hisi_hba->slot_info[iptt];
slot->cmplt_queue_slot = rd_point; slot->cmplt_queue_slot = rd_point;
@@ -2203,7 +2210,7 @@ static ssize_t intr_coal_count_v3_hw_store(struct device *dev, @@ -2203,7 +2210,7 @@ static ssize_t intr_coal_count_v3_hw_sto
} }
static DEVICE_ATTR_RW(intr_coal_count_v3_hw); static DEVICE_ATTR_RW(intr_coal_count_v3_hw);
@ -409,7 +409,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
&dev_attr_phy_event_threshold, &dev_attr_phy_event_threshold,
&dev_attr_intr_conv_v3_hw, &dev_attr_intr_conv_v3_hw,
&dev_attr_intr_coal_ticks_v3_hw, &dev_attr_intr_coal_ticks_v3_hw,
@@ -2649,7 +2656,7 @@ static int hisi_sas_v3_suspend(struct pci_dev *pdev, pm_message_t state) @@ -2649,7 +2656,7 @@ static int hisi_sas_v3_suspend(struct pc
struct hisi_hba *hisi_hba = sha->lldd_ha; struct hisi_hba *hisi_hba = sha->lldd_ha;
struct device *dev = hisi_hba->dev; struct device *dev = hisi_hba->dev;
struct Scsi_Host *shost = hisi_hba->shost; struct Scsi_Host *shost = hisi_hba->shost;
@ -418,7 +418,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
int rc; int rc;
if (!pdev->pm_cap) { if (!pdev->pm_cap) {
@@ -2695,7 +2702,7 @@ static int hisi_sas_v3_resume(struct pci_dev *pdev) @@ -2695,7 +2702,7 @@ static int hisi_sas_v3_resume(struct pci
struct Scsi_Host *shost = hisi_hba->shost; struct Scsi_Host *shost = hisi_hba->shost;
struct device *dev = hisi_hba->dev; struct device *dev = hisi_hba->dev;
unsigned int rc; unsigned int rc;
@ -427,6 +427,3 @@ index 7d7cb73e4bee..23f40b57b298 100644
dev_warn(dev, "resuming from operating state [D%d]\n", dev_warn(dev, "resuming from operating state [D%d]\n",
device_state); device_state);
--
2.20.1

View File

@ -14,11 +14,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c | 146 ++++++++++++++++---------- drivers/scsi/hisi_sas/hisi_sas_main.c | 146 ++++++++++++++++----------
1 file changed, 90 insertions(+), 56 deletions(-) 1 file changed, 90 insertions(+), 56 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index ab6c7938e172..18062e4ab9a5 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -297,6 +297,90 @@ static void hisi_sas_task_prep_abort(struct hisi_hba *hisi_hba, @@ -297,6 +297,90 @@ static void hisi_sas_task_prep_abort(str
device_id, abort_flag, tag_to_abort); device_id, abort_flag, tag_to_abort);
} }
@ -109,7 +109,7 @@ index ab6c7938e172..18062e4ab9a5 100644
static int hisi_sas_task_prep(struct sas_task *task, static int hisi_sas_task_prep(struct sas_task *task,
struct hisi_sas_dq **dq_pointer, struct hisi_sas_dq **dq_pointer,
bool is_tmf, struct hisi_sas_tmf_task *tmf, bool is_tmf, struct hisi_sas_tmf_task *tmf,
@@ -339,49 +423,10 @@ static int hisi_sas_task_prep(struct sas_task *task, @@ -339,49 +423,10 @@ static int hisi_sas_task_prep(struct sas
return -ECOMM; return -ECOMM;
} }
@ -163,7 +163,7 @@ index ab6c7938e172..18062e4ab9a5 100644
if (hisi_hba->hw->slot_index_alloc) if (hisi_hba->hw->slot_index_alloc)
rc = hisi_hba->hw->slot_index_alloc(hisi_hba, device); rc = hisi_hba->hw->slot_index_alloc(hisi_hba, device);
@@ -466,19 +511,8 @@ static int hisi_sas_task_prep(struct sas_task *task, @@ -466,19 +511,8 @@ static int hisi_sas_task_prep(struct sas
err_out_tag: err_out_tag:
hisi_sas_slot_index_free(hisi_hba, slot_idx); hisi_sas_slot_index_free(hisi_hba, slot_idx);
err_out_dma_unmap: err_out_dma_unmap:
@ -185,6 +185,3 @@ index ab6c7938e172..18062e4ab9a5 100644
prep_out: prep_out:
dev_err(dev, "task prep: failed[%d]!\n", rc); dev_err(dev, "task prep: failed[%d]!\n", rc);
return rc; return rc;
--
2.20.1

View File

@ -21,11 +21,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 3 +-- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 3 +--
4 files changed, 3 insertions(+), 5 deletions(-) 4 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index 18062e4ab9a5..764d651879cf 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -2426,7 +2426,6 @@ int hisi_sas_probe(struct platform_device *pdev, @@ -2426,7 +2426,6 @@ int hisi_sas_probe(struct platform_devic
shost->max_lun = ~0; shost->max_lun = ~0;
shost->max_channel = 1; shost->max_channel = 1;
shost->max_cmd_len = 16; shost->max_cmd_len = 16;
@ -33,11 +33,11 @@ index 18062e4ab9a5..764d651879cf 100644
if (hisi_hba->hw->slot_index_alloc) { if (hisi_hba->hw->slot_index_alloc) {
shost->can_queue = hisi_hba->hw->max_command_entries; shost->can_queue = hisi_hba->hw->max_command_entries;
shost->cmd_per_lun = hisi_hba->hw->max_command_entries; shost->cmd_per_lun = hisi_hba->hw->max_command_entries;
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
index cb1198f0ddde..ef23d26b2271 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -1814,7 +1814,7 @@ static struct scsi_host_template sht_v1_hw = { @@ -1814,7 +1814,7 @@ static struct scsi_host_template sht_v1_
.change_queue_depth = sas_change_queue_depth, .change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param, .bios_param = sas_bios_param,
.this_id = -1, .this_id = -1,
@ -46,11 +46,11 @@ index cb1198f0ddde..ef23d26b2271 100644
.max_sectors = SCSI_DEFAULT_MAX_SECTORS, .max_sectors = SCSI_DEFAULT_MAX_SECTORS,
.use_clustering = ENABLE_CLUSTERING, .use_clustering = ENABLE_CLUSTERING,
.eh_device_reset_handler = sas_eh_device_reset_handler, .eh_device_reset_handler = sas_eh_device_reset_handler,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index c17dd500fba1..0341fa72d97e 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -3576,7 +3576,7 @@ static struct scsi_host_template sht_v2_hw = { @@ -3576,7 +3576,7 @@ static struct scsi_host_template sht_v2_
.change_queue_depth = sas_change_queue_depth, .change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param, .bios_param = sas_bios_param,
.this_id = -1, .this_id = -1,
@ -59,11 +59,11 @@ index c17dd500fba1..0341fa72d97e 100644
.max_sectors = SCSI_DEFAULT_MAX_SECTORS, .max_sectors = SCSI_DEFAULT_MAX_SECTORS,
.use_clustering = ENABLE_CLUSTERING, .use_clustering = ENABLE_CLUSTERING,
.eh_device_reset_handler = sas_eh_device_reset_handler, .eh_device_reset_handler = sas_eh_device_reset_handler,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 23f40b57b298..6d584f232204 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2229,7 +2229,7 @@ static struct scsi_host_template sht_v3_hw = { @@ -2229,7 +2229,7 @@ static struct scsi_host_template sht_v3_
.change_queue_depth = sas_change_queue_depth, .change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param, .bios_param = sas_bios_param,
.this_id = -1, .this_id = -1,
@ -72,7 +72,7 @@ index 23f40b57b298..6d584f232204 100644
.max_sectors = SCSI_DEFAULT_MAX_SECTORS, .max_sectors = SCSI_DEFAULT_MAX_SECTORS,
.use_clustering = ENABLE_CLUSTERING, .use_clustering = ENABLE_CLUSTERING,
.eh_device_reset_handler = sas_eh_device_reset_handler, .eh_device_reset_handler = sas_eh_device_reset_handler,
@@ -2371,7 +2371,6 @@ hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id) @@ -2371,7 +2371,6 @@ hisi_sas_v3_probe(struct pci_dev *pdev,
shost->max_lun = ~0; shost->max_lun = ~0;
shost->max_channel = 1; shost->max_channel = 1;
shost->max_cmd_len = 16; shost->max_cmd_len = 16;
@ -80,6 +80,3 @@ index 23f40b57b298..6d584f232204 100644
shost->can_queue = hisi_hba->hw->max_command_entries - shost->can_queue = hisi_hba->hw->max_command_entries -
HISI_SAS_RESERVED_IPTT_CNT; HISI_SAS_RESERVED_IPTT_CNT;
shost->cmd_per_lun = hisi_hba->hw->max_command_entries - shost->cmd_per_lun = hisi_hba->hw->max_command_entries -
--
2.20.1

View File

@ -17,11 +17,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
.../net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 13 ------------- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 13 -------------
1 file changed, 13 deletions(-) 1 file changed, 13 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 340baf6a470c..1dada183456c 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -5812,19 +5812,6 @@ static int hclge_reset_ae_dev(struct hnae3_ae_dev *ae_dev) @@ -5814,19 +5814,6 @@ static int hclge_reset_ae_dev(struct hna
return ret; return ret;
} }
@ -41,6 +41,3 @@ index 340baf6a470c..1dada183456c 100644
ret = hclge_map_tqp(hdev); ret = hclge_map_tqp(hdev);
if (ret) { if (ret) {
dev_err(&pdev->dev, "Map tqp error, ret = %d.\n", ret); dev_err(&pdev->dev, "Map tqp error, ret = %d.\n", ret);
--
2.20.1

View File

@ -14,10 +14,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 2 +- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
index 398971a062f4..a75b70ce41f8 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
SUPPORTED_Asym_Pause | \ SUPPORTED_Asym_Pause | \
PHY_10BT_FEATURES | \ PHY_10BT_FEATURES | \
@ -27,6 +27,3 @@ index 398971a062f4..a75b70ce41f8 100644
enum hclge_mdio_c22_op_seq { enum hclge_mdio_c22_op_seq {
HCLGE_MDIO_C22_WRITE = 1, HCLGE_MDIO_C22_WRITE = 1,
--
2.20.1

View File

@ -15,11 +15,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 4 ++++ drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 4 ++++
1 file changed, 4 insertions(+) 1 file changed, 4 insertions(+)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
index a75b70ce41f8..bdbec85265f4 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
@@ -181,6 +181,10 @@ static void hclge_mac_adjust_link(struct net_device *netdev) @@ -181,6 +181,10 @@ static void hclge_mac_adjust_link(struct
int duplex, speed; int duplex, speed;
int ret; int ret;
@ -30,6 +30,3 @@ index a75b70ce41f8..bdbec85265f4 100644
speed = netdev->phydev->speed; speed = netdev->phydev->speed;
duplex = netdev->phydev->duplex; duplex = netdev->phydev->duplex;
--
2.20.1

View File

@ -21,10 +21,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
.../hisilicon/hns3/hns3pf/hclge_main.h | 3 ++ .../hisilicon/hns3/hns3pf/hclge_main.h | 3 ++
3 files changed, 38 insertions(+), 11 deletions(-) 3 files changed, 38 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h
index 821d4c2f84bd..827e8b13b545 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h
@@ -365,7 +365,9 @@ struct hclge_pf_res_cmd { @@ -365,7 +365,9 @@ struct hclge_pf_res_cmd {
#define HCLGE_PF_VEC_NUM_M GENMASK(7, 0) #define HCLGE_PF_VEC_NUM_M GENMASK(7, 0)
__le16 pf_intr_vector_number; __le16 pf_intr_vector_number;
@ -44,11 +44,11 @@ index 821d4c2f84bd..827e8b13b545 100644
#define HCLGE_TYPE_CRQ 0 #define HCLGE_TYPE_CRQ 0
#define HCLGE_TYPE_CSQ 1 #define HCLGE_TYPE_CSQ 1
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 1dada183456c..47cbf06ea405 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -932,6 +932,18 @@ static int hclge_query_pf_resource(struct hclge_dev *hdev) @@ -931,6 +931,18 @@ static int hclge_query_pf_resource(struc
hdev->num_tqps = __le16_to_cpu(req->tqp_num); hdev->num_tqps = __le16_to_cpu(req->tqp_num);
hdev->pkt_buf_size = __le16_to_cpu(req->buf_size) << HCLGE_BUF_UNIT_S; hdev->pkt_buf_size = __le16_to_cpu(req->buf_size) << HCLGE_BUF_UNIT_S;
@ -67,7 +67,7 @@ index 1dada183456c..47cbf06ea405 100644
if (hnae3_dev_roce_supported(hdev)) { if (hnae3_dev_roce_supported(hdev)) {
hdev->roce_base_msix_offset = hdev->roce_base_msix_offset =
hnae3_get_field(__le16_to_cpu(req->msixcap_localid_ba_rocee), hnae3_get_field(__le16_to_cpu(req->msixcap_localid_ba_rocee),
@@ -1592,9 +1604,10 @@ static bool hclge_is_rx_buf_ok(struct hclge_dev *hdev, @@ -1591,9 +1603,10 @@ static bool hclge_is_rx_buf_ok(struct h
pfc_enable_num = hclge_get_pfc_enalbe_num(hdev); pfc_enable_num = hclge_get_pfc_enalbe_num(hdev);
if (hnae3_dev_dcb_supported(hdev)) if (hnae3_dev_dcb_supported(hdev))
@ -80,7 +80,7 @@ index 1dada183456c..47cbf06ea405 100644
shared_buf_tc = pfc_enable_num * hdev->mps + shared_buf_tc = pfc_enable_num * hdev->mps +
(tc_num - pfc_enable_num) * hdev->mps / 2 + (tc_num - pfc_enable_num) * hdev->mps / 2 +
@@ -1607,8 +1620,15 @@ static bool hclge_is_rx_buf_ok(struct hclge_dev *hdev, @@ -1606,8 +1619,15 @@ static bool hclge_is_rx_buf_ok(struct h
shared_buf = rx_all - rx_priv; shared_buf = rx_all - rx_priv;
buf_alloc->s_buf.buf_size = shared_buf; buf_alloc->s_buf.buf_size = shared_buf;
@ -98,7 +98,7 @@ index 1dada183456c..47cbf06ea405 100644
for (i = 0; i < HCLGE_MAX_TC_NUM; i++) { for (i = 0; i < HCLGE_MAX_TC_NUM; i++) {
if ((hdev->hw_tc_map & BIT(i)) && if ((hdev->hw_tc_map & BIT(i)) &&
@@ -1635,11 +1655,11 @@ static int hclge_tx_buffer_calc(struct hclge_dev *hdev, @@ -1634,11 +1654,11 @@ static int hclge_tx_buffer_calc(struct h
for (i = 0; i < HCLGE_MAX_TC_NUM; i++) { for (i = 0; i < HCLGE_MAX_TC_NUM; i++) {
struct hclge_priv_buf *priv = &buf_alloc->priv_buf[i]; struct hclge_priv_buf *priv = &buf_alloc->priv_buf[i];
@ -112,7 +112,7 @@ index 1dada183456c..47cbf06ea405 100644
else else
priv->tx_buf_size = 0; priv->tx_buf_size = 0;
@@ -1685,11 +1705,12 @@ static int hclge_rx_buffer_calc(struct hclge_dev *hdev, @@ -1684,11 +1704,12 @@ static int hclge_rx_buffer_calc(struct h
priv->wl.low = aligned_mps; priv->wl.low = aligned_mps;
priv->wl.high = priv->wl.low + aligned_mps; priv->wl.high = priv->wl.low + aligned_mps;
priv->buf_size = priv->wl.high + priv->buf_size = priv->wl.high +
@ -127,7 +127,7 @@ index 1dada183456c..47cbf06ea405 100644
} }
} else { } else {
priv->enable = 0; priv->enable = 0;
@@ -1721,11 +1742,11 @@ static int hclge_rx_buffer_calc(struct hclge_dev *hdev, @@ -1720,11 +1741,11 @@ static int hclge_rx_buffer_calc(struct h
if (hdev->tm_info.hw_pfc_map & BIT(i)) { if (hdev->tm_info.hw_pfc_map & BIT(i)) {
priv->wl.low = 128; priv->wl.low = 128;
priv->wl.high = priv->wl.low + aligned_mps; priv->wl.high = priv->wl.low + aligned_mps;
@ -141,10 +141,10 @@ index 1dada183456c..47cbf06ea405 100644
} }
} }
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
index 1528fb3fa6be..629ee0148d4e 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
@@ -545,6 +545,9 @@ struct hclge_dev { @@ -545,6 +545,9 @@ struct hclge_dev {
u32 flag; u32 flag;
@ -155,6 +155,3 @@ index 1528fb3fa6be..629ee0148d4e 100644
u32 mps; /* Max packet size */ u32 mps; /* Max packet size */
enum hclge_mta_dmac_sel_type mta_mac_sel_type; enum hclge_mta_dmac_sel_type mta_mac_sel_type;
--
2.20.1

View File

@ -15,11 +15,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
.../hisilicon/hns3/hns3pf/hclge_main.c | 45 ++++++++++++------- .../hisilicon/hns3/hns3pf/hclge_main.c | 45 ++++++++++++-------
1 file changed, 28 insertions(+), 17 deletions(-) 1 file changed, 28 insertions(+), 17 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 47cbf06ea405..42a38ca966d1 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -31,6 +31,10 @@ static int hclge_set_mta_filter_mode(struct hclge_dev *hdev, @@ -31,6 +31,10 @@ static int hclge_set_mta_filter_mode(str
enum hclge_mta_dmac_sel_type mta_mac_sel, enum hclge_mta_dmac_sel_type mta_mac_sel,
bool enable); bool enable);
static int hclge_set_mtu(struct hnae3_handle *handle, int new_mtu); static int hclge_set_mtu(struct hnae3_handle *handle, int new_mtu);
@ -30,7 +30,7 @@ index 47cbf06ea405..42a38ca966d1 100644
static int hclge_init_vlan_config(struct hclge_dev *hdev); static int hclge_init_vlan_config(struct hclge_dev *hdev);
static int hclge_reset_ae_dev(struct hnae3_ae_dev *ae_dev); static int hclge_reset_ae_dev(struct hnae3_ae_dev *ae_dev);
@@ -938,12 +942,16 @@ static int hclge_query_pf_resource(struct hclge_dev *hdev) @@ -937,12 +941,16 @@ static int hclge_query_pf_resource(struc
else else
hdev->tx_buf_size = HCLGE_DEFAULT_TX_BUF; hdev->tx_buf_size = HCLGE_DEFAULT_TX_BUF;
@ -47,7 +47,7 @@ index 47cbf06ea405..42a38ca966d1 100644
if (hnae3_dev_roce_supported(hdev)) { if (hnae3_dev_roce_supported(hdev)) {
hdev->roce_base_msix_offset = hdev->roce_base_msix_offset =
hnae3_get_field(__le16_to_cpu(req->msixcap_localid_ba_rocee), hnae3_get_field(__le16_to_cpu(req->msixcap_localid_ba_rocee),
@@ -1596,48 +1604,50 @@ static bool hclge_is_rx_buf_ok(struct hclge_dev *hdev, @@ -1595,48 +1603,50 @@ static bool hclge_is_rx_buf_ok(struct h
{ {
u32 shared_buf_min, shared_buf_tc, shared_std; u32 shared_buf_min, shared_buf_tc, shared_std;
int tc_num, pfc_enable_num; int tc_num, pfc_enable_num;
@ -111,7 +111,7 @@ index 47cbf06ea405..42a38ca966d1 100644
} }
} }
@@ -1677,7 +1687,6 @@ static int hclge_tx_buffer_calc(struct hclge_dev *hdev, @@ -1676,7 +1686,6 @@ static int hclge_tx_buffer_calc(struct h
static int hclge_rx_buffer_calc(struct hclge_dev *hdev, static int hclge_rx_buffer_calc(struct hclge_dev *hdev,
struct hclge_pkt_buf_alloc *buf_alloc) struct hclge_pkt_buf_alloc *buf_alloc)
{ {
@ -119,7 +119,7 @@ index 47cbf06ea405..42a38ca966d1 100644
u32 rx_all = hdev->pkt_buf_size, aligned_mps; u32 rx_all = hdev->pkt_buf_size, aligned_mps;
int no_pfc_priv_num, pfc_priv_num; int no_pfc_priv_num, pfc_priv_num;
struct hclge_priv_buf *priv; struct hclge_priv_buf *priv;
@@ -1703,9 +1712,11 @@ static int hclge_rx_buffer_calc(struct hclge_dev *hdev, @@ -1702,9 +1711,11 @@ static int hclge_rx_buffer_calc(struct h
priv->enable = 1; priv->enable = 1;
if (hdev->tm_info.hw_pfc_map & BIT(i)) { if (hdev->tm_info.hw_pfc_map & BIT(i)) {
priv->wl.low = aligned_mps; priv->wl.low = aligned_mps;
@ -133,7 +133,7 @@ index 47cbf06ea405..42a38ca966d1 100644
} else { } else {
priv->wl.low = 0; priv->wl.low = 0;
priv->wl.high = 2 * aligned_mps; priv->wl.high = 2 * aligned_mps;
@@ -1740,7 +1751,7 @@ static int hclge_rx_buffer_calc(struct hclge_dev *hdev, @@ -1739,7 +1750,7 @@ static int hclge_rx_buffer_calc(struct h
priv->enable = 1; priv->enable = 1;
if (hdev->tm_info.hw_pfc_map & BIT(i)) { if (hdev->tm_info.hw_pfc_map & BIT(i)) {
@ -142,6 +142,3 @@ index 47cbf06ea405..42a38ca966d1 100644
priv->wl.high = priv->wl.low + aligned_mps; priv->wl.high = priv->wl.low + aligned_mps;
priv->buf_size = priv->wl.high + hdev->dv_buf_size; priv->buf_size = priv->wl.high + hdev->dv_buf_size;
} else { } else {
--
2.20.1

View File

@ -25,11 +25,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 5 +++-- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-) 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 42a38ca966d1..79232f584531 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -1621,10 +1621,11 @@ static bool hclge_is_rx_buf_ok(struct hclge_dev *hdev, @@ -1620,10 +1620,11 @@ static bool hclge_is_rx_buf_ok(struct h
shared_buf_tc = pfc_enable_num * aligned_mps + shared_buf_tc = pfc_enable_num * aligned_mps +
(tc_num - pfc_enable_num) * aligned_mps / 2 + (tc_num - pfc_enable_num) * aligned_mps / 2 +
aligned_mps; aligned_mps;
@ -43,6 +43,3 @@ index 42a38ca966d1..79232f584531 100644
return false; return false;
shared_buf = rounddown(rx_all - rx_priv, HCLGE_BUF_SIZE_UNIT); shared_buf = rounddown(rx_all - rx_priv, HCLGE_BUF_SIZE_UNIT);
--
2.20.1

View File

@ -15,11 +15,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 2 +- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 79232f584531..8cc08ffee76f 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -1201,7 +1201,7 @@ static int hclge_configure(struct hclge_dev *hdev) @@ -1200,7 +1200,7 @@ static int hclge_configure(struct hclge_
hdev->pfc_max = hdev->tc_max; hdev->pfc_max = hdev->tc_max;
} }
@ -28,6 +28,3 @@ index 79232f584531..8cc08ffee76f 100644
/* Currently not support uncontiuous tc */ /* Currently not support uncontiuous tc */
for (i = 0; i < hdev->tm_info.num_tc; i++) for (i = 0; i < hdev->tm_info.num_tc; i++)
--
2.20.1

View File

@ -15,11 +15,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 4 ++-- drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c
index e9d5a4f96304..499131840041 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c
@@ -26,7 +26,7 @@ static int hclgevf_get_mbx_resp(struct hclgevf_dev *hdev, u16 code0, u16 code1, @@ -26,7 +26,7 @@ static int hclgevf_get_mbx_resp(struct h
u8 *resp_data, u16 resp_len) u8 *resp_data, u16 resp_len)
{ {
#define HCLGEVF_MAX_TRY_TIMES 500 #define HCLGEVF_MAX_TRY_TIMES 500
@ -28,7 +28,7 @@ index e9d5a4f96304..499131840041 100644
struct hclgevf_mbx_resp_status *mbx_resp; struct hclgevf_mbx_resp_status *mbx_resp;
u16 r_code0, r_code1; u16 r_code0, r_code1;
int i = 0; int i = 0;
@@ -40,7 +40,7 @@ static int hclgevf_get_mbx_resp(struct hclgevf_dev *hdev, u16 code0, u16 code1, @@ -40,7 +40,7 @@ static int hclgevf_get_mbx_resp(struct h
} }
while ((!hdev->mbx_resp.received_resp) && (i < HCLGEVF_MAX_TRY_TIMES)) { while ((!hdev->mbx_resp.received_resp) && (i < HCLGEVF_MAX_TRY_TIMES)) {
@ -37,6 +37,3 @@ index e9d5a4f96304..499131840041 100644
i++; i++;
} }
--
2.20.1

View File

@ -13,11 +13,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 2 +- drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
index 5570fb5dc2eb..dca51d9cfa4f 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
@@ -1360,7 +1360,7 @@ static int hclgevf_configure(struct hclgevf_dev *hdev) @@ -1360,7 +1360,7 @@ static int hclgevf_configure(struct hclg
static int hclgevf_alloc_hdev(struct hnae3_ae_dev *ae_dev) static int hclgevf_alloc_hdev(struct hnae3_ae_dev *ae_dev)
{ {
struct pci_dev *pdev = ae_dev->pdev; struct pci_dev *pdev = ae_dev->pdev;
@ -26,6 +26,3 @@ index 5570fb5dc2eb..dca51d9cfa4f 100644
hdev = devm_kzalloc(&pdev->dev, sizeof(*hdev), GFP_KERNEL); hdev = devm_kzalloc(&pdev->dev, sizeof(*hdev), GFP_KERNEL);
if (!hdev) if (!hdev)
--
2.20.1

View File

@ -23,11 +23,11 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 6 +++++- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-) 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
index 0ccfa6a84535..895c43fd1d81 100644 ===================================================================
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c --- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ linux/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
@@ -3439,11 +3439,15 @@ static int hns3_reset_notify_down_enet(struct hnae3_handle *handle) @@ -3439,11 +3439,15 @@ static int hns3_reset_notify_down_enet(s
static int hns3_reset_notify_up_enet(struct hnae3_handle *handle) static int hns3_reset_notify_up_enet(struct hnae3_handle *handle)
{ {
struct hnae3_knic_private_info *kinfo = &handle->kinfo; struct hnae3_knic_private_info *kinfo = &handle->kinfo;
@ -44,6 +44,3 @@ index 0ccfa6a84535..895c43fd1d81 100644
netdev_err(kinfo->netdev, netdev_err(kinfo->netdev,
"hns net up fail, ret=%d!\n", ret); "hns net up fail, ret=%d!\n", ret);
return ret; return ret;
--
2.20.1

View File

@ -14,11 +14,11 @@ Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 10 +++++++--- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-) 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c Index: linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
index a442b29e7611..c7843d9817de 100644 ===================================================================
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c --- linux.orig/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c +++ linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
@@ -3499,13 +3499,16 @@ static int hns_roce_v2_modify_qp(struct ib_qp *ibqp, @@ -3499,13 +3499,16 @@ static int hns_roce_v2_modify_qp(struct
roce_set_field(qpc_mask->byte_160_sq_ci_pi, roce_set_field(qpc_mask->byte_160_sq_ci_pi,
V2_QPC_BYTE_160_SQ_PRODUCER_IDX_M, V2_QPC_BYTE_160_SQ_PRODUCER_IDX_M,
V2_QPC_BYTE_160_SQ_PRODUCER_IDX_S, 0); V2_QPC_BYTE_160_SQ_PRODUCER_IDX_S, 0);
@ -37,7 +37,7 @@ index a442b29e7611..c7843d9817de 100644
} }
if (attr_mask & IB_QP_AV) { if (attr_mask & IB_QP_AV) {
@@ -3967,7 +3970,8 @@ static void hns_roce_set_qps_to_err(struct hns_roce_dev *hr_dev, u32 qpn) @@ -3967,7 +3970,8 @@ static void hns_roce_set_qps_to_err(stru
if (hr_qp->ibqp.uobject) { if (hr_qp->ibqp.uobject) {
if (hr_qp->sdb_en == 1) { if (hr_qp->sdb_en == 1) {
hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr); hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr);
@ -47,6 +47,3 @@ index a442b29e7611..c7843d9817de 100644
} else { } else {
dev_warn(hr_dev->dev, "flush cqe is unsupported in userspace!\n"); dev_warn(hr_dev->dev, "flush cqe is unsupported in userspace!\n");
return; return;
--
2.20.1

View File

@ -13,11 +13,11 @@ Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_qp.c | 3 ++- drivers/infiniband/hw/hns/hns_roce_qp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c Index: linux/drivers/infiniband/hw/hns/hns_roce_qp.c
index efb7e961ca65..de1676e25828 100644 ===================================================================
--- a/drivers/infiniband/hw/hns/hns_roce_qp.c --- linux.orig/drivers/infiniband/hw/hns/hns_roce_qp.c
+++ b/drivers/infiniband/hw/hns/hns_roce_qp.c +++ linux/drivers/infiniband/hw/hns/hns_roce_qp.c
@@ -503,7 +503,8 @@ static int hns_roce_qp_has_sq(struct ib_qp_init_attr *attr) @@ -503,7 +503,8 @@ static int hns_roce_qp_has_sq(struct ib_
static int hns_roce_qp_has_rq(struct ib_qp_init_attr *attr) static int hns_roce_qp_has_rq(struct ib_qp_init_attr *attr)
{ {
if (attr->qp_type == IB_QPT_XRC_INI || if (attr->qp_type == IB_QPT_XRC_INI ||
@ -27,6 +27,3 @@ index efb7e961ca65..de1676e25828 100644
return 0; return 0;
return 1; return 1;
--
2.20.1

View File

@ -16,11 +16,11 @@ Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 14 ++++++++++---- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-) 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c Index: linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
index c7843d9817de..627f77a6e0a9 100644 ===================================================================
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c --- linux.orig/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c +++ linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
@@ -3398,10 +3398,16 @@ static int modify_qp_rtr_to_rts(struct ib_qp *ibqp, @@ -3398,10 +3398,16 @@ static int modify_qp_rtr_to_rts(struct i
V2_QPC_BYTE_212_LSN_S, 0); V2_QPC_BYTE_212_LSN_S, 0);
if (attr_mask & IB_QP_TIMEOUT) { if (attr_mask & IB_QP_TIMEOUT) {
@ -41,6 +41,3 @@ index c7843d9817de..627f77a6e0a9 100644
} }
roce_set_field(context->byte_172_sq_psn, V2_QPC_BYTE_172_SQ_CUR_PSN_M, roce_set_field(context->byte_172_sq_psn, V2_QPC_BYTE_172_SQ_CUR_PSN_M,
--
2.20.1

View File

@ -13,11 +13,11 @@ Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 2 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c Index: linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
index 627f77a6e0a9..e521cc740120 100644 ===================================================================
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c --- linux.orig/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c +++ linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
@@ -1235,7 +1235,7 @@ static int hns_roce_v2_profile(struct hns_roce_dev *hr_dev) @@ -1235,7 +1235,7 @@ static int hns_roce_v2_profile(struct hn
caps->mpt_ba_pg_sz = 0; caps->mpt_ba_pg_sz = 0;
caps->mpt_buf_pg_sz = 0; caps->mpt_buf_pg_sz = 0;
caps->mpt_hop_num = HNS_ROCE_CONTEXT_HOP_NUM; caps->mpt_hop_num = HNS_ROCE_CONTEXT_HOP_NUM;
@ -26,6 +26,3 @@ index 627f77a6e0a9..e521cc740120 100644
caps->pbl_buf_pg_sz = 0; caps->pbl_buf_pg_sz = 0;
caps->pbl_hop_num = HNS_ROCE_PBL_HOP_NUM; caps->pbl_hop_num = HNS_ROCE_PBL_HOP_NUM;
caps->mtt_ba_pg_sz = 0; caps->mtt_ba_pg_sz = 0;
--
2.20.1

View File

@ -15,11 +15,11 @@ Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_qp.c | 19 ++++++++++--------- drivers/infiniband/hw/hns/hns_roce_qp.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-) 1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c Index: linux/drivers/infiniband/hw/hns/hns_roce_qp.c
index de1676e25828..b3ad35310925 100644 ===================================================================
--- a/drivers/infiniband/hw/hns/hns_roce_qp.c --- linux.orig/drivers/infiniband/hw/hns/hns_roce_qp.c
+++ b/drivers/infiniband/hw/hns/hns_roce_qp.c +++ linux/drivers/infiniband/hw/hns/hns_roce_qp.c
@@ -652,6 +652,10 @@ static int hns_roce_create_qp_common(struct hns_roce_dev *hr_dev, @@ -652,6 +652,10 @@ static int hns_roce_create_qp_common(str
dev_err(dev, "rq record doorbell map failed!\n"); dev_err(dev, "rq record doorbell map failed!\n");
goto err_sq_dbmap; goto err_sq_dbmap;
} }
@ -30,7 +30,7 @@ index de1676e25828..b3ad35310925 100644
} }
} else { } else {
if (init_attr->create_flags & if (init_attr->create_flags &
@@ -760,16 +764,11 @@ static int hns_roce_create_qp_common(struct hns_roce_dev *hr_dev, @@ -760,16 +764,11 @@ static int hns_roce_create_qp_common(str
else else
hr_qp->doorbell_qpn = cpu_to_le64(hr_qp->qpn); hr_qp->doorbell_qpn = cpu_to_le64(hr_qp->qpn);
@ -50,7 +50,7 @@ index de1676e25828..b3ad35310925 100644
} }
hr_qp->event = hns_roce_ib_qp_event; hr_qp->event = hns_roce_ib_qp_event;
@@ -946,7 +945,9 @@ int hns_roce_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, @@ -946,7 +945,9 @@ int hns_roce_modify_qp(struct ib_qp *ibq
(attr_mask & IB_QP_STATE) && new_state == IB_QPS_ERR) { (attr_mask & IB_QP_STATE) && new_state == IB_QPS_ERR) {
if (hr_qp->sdb_en == 1) { if (hr_qp->sdb_en == 1) {
hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr); hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr);
@ -61,6 +61,3 @@ index de1676e25828..b3ad35310925 100644
} else { } else {
dev_warn(dev, "flush cqe is not supported in userspace!\n"); dev_warn(dev, "flush cqe is not supported in userspace!\n");
goto out; goto out;
--
2.20.1

View File

@ -27,11 +27,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c | 8 ++++---- drivers/scsi/hisi_sas/hisi_sas_main.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-) 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index 764d651879cf..3c03de9d18dd 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -1088,11 +1088,11 @@ static int hisi_sas_exec_internal_tmf_task(struct domain_device *device, @@ -1088,11 +1088,11 @@ static int hisi_sas_exec_internal_tmf_ta
if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) { if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) {
if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) { if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) {
struct hisi_sas_slot *slot = task->lldd_task; struct hisi_sas_slot *slot = task->lldd_task;
@ -45,7 +45,7 @@ index 764d651879cf..3c03de9d18dd 100644
/* /*
* flush tasklet to avoid free'ing task * flush tasklet to avoid free'ing task
* before using task in IO completion * before using task in IO completion
@@ -1913,10 +1913,10 @@ hisi_sas_internal_task_abort(struct hisi_hba *hisi_hba, @@ -1913,10 +1913,10 @@ hisi_sas_internal_task_abort(struct hisi
if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) { if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) {
if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) { if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) {
struct hisi_sas_slot *slot = task->lldd_task; struct hisi_sas_slot *slot = task->lldd_task;
@ -58,6 +58,3 @@ index 764d651879cf..3c03de9d18dd 100644
/* /*
* flush tasklet to avoid free'ing task * flush tasklet to avoid free'ing task
* before using task in IO completion * before using task in IO completion
--
2.20.1

View File

@ -22,11 +22,11 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 8 +++++--- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 8 +++++---
2 files changed, 11 insertions(+), 5 deletions(-) 2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
index 3c03de9d18dd..8aeb92d9144e 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -2339,6 +2339,7 @@ static struct Scsi_Host *hisi_sas_shost_alloc(struct platform_device *pdev, @@ -2339,6 +2339,7 @@ static struct Scsi_Host *hisi_sas_shost_
struct Scsi_Host *shost; struct Scsi_Host *shost;
struct hisi_hba *hisi_hba; struct hisi_hba *hisi_hba;
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
@ -34,7 +34,7 @@ index 3c03de9d18dd..8aeb92d9144e 100644
shost = scsi_host_alloc(hw->sht, sizeof(*hisi_hba)); shost = scsi_host_alloc(hw->sht, sizeof(*hisi_hba));
if (!shost) { if (!shost) {
@@ -2359,8 +2360,11 @@ static struct Scsi_Host *hisi_sas_shost_alloc(struct platform_device *pdev, @@ -2359,8 +2360,11 @@ static struct Scsi_Host *hisi_sas_shost_
if (hisi_sas_get_fw_info(hisi_hba) < 0) if (hisi_sas_get_fw_info(hisi_hba) < 0)
goto err_out; goto err_out;
@ -48,11 +48,11 @@ index 3c03de9d18dd..8aeb92d9144e 100644
dev_err(dev, "No usable DMA addressing method\n"); dev_err(dev, "No usable DMA addressing method\n");
goto err_out; goto err_out;
} }
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 6d584f232204..434f017afadc 100644 ===================================================================
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2328,10 +2328,12 @@ hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id) @@ -2328,10 +2328,12 @@ hisi_sas_v3_probe(struct pci_dev *pdev,
if (rc) if (rc)
goto err_out_disable_device; goto err_out_disable_device;
@ -68,6 +68,3 @@ index 6d584f232204..434f017afadc 100644
goto err_out_regions; goto err_out_regions;
} }
--
2.20.1

View File

@ -85,8 +85,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
arch/mips/mm/tlbex.c | 10 ++++++++++ arch/mips/mm/tlbex.c | 10 ++++++++++
8 files changed, 100 insertions(+) 8 files changed, 100 insertions(+)
--- a/arch/mips/Kconfig Index: linux/arch/mips/Kconfig
+++ b/arch/mips/Kconfig ===================================================================
--- linux.orig/arch/mips/Kconfig
+++ linux/arch/mips/Kconfig
@@ -1397,6 +1397,21 @@ config LOONGSON3_ENHANCEMENT @@ -1397,6 +1397,21 @@ config LOONGSON3_ENHANCEMENT
please say 'N' here. If you want a high-performance kernel to run on please say 'N' here. If you want a high-performance kernel to run on
new Loongson 3 machines only, please say 'Y' here. new Loongson 3 machines only, please say 'Y' here.
@ -109,8 +111,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
config CPU_LOONGSON2E config CPU_LOONGSON2E
bool "Loongson 2E" bool "Loongson 2E"
depends on SYS_HAS_CPU_LOONGSON2E depends on SYS_HAS_CPU_LOONGSON2E
--- a/arch/mips/include/asm/atomic.h Index: linux/arch/mips/include/asm/atomic.h
+++ b/arch/mips/include/asm/atomic.h ===================================================================
--- linux.orig/arch/mips/include/asm/atomic.h
+++ linux/arch/mips/include/asm/atomic.h
@@ -58,6 +58,7 @@ static __inline__ void atomic_##op(int i @@ -58,6 +58,7 @@ static __inline__ void atomic_##op(int i
if (kernel_uses_llsc) { \ if (kernel_uses_llsc) { \
int temp; \ int temp; \
@ -159,8 +163,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
__asm__ __volatile__( \ __asm__ __volatile__( \
" .set "MIPS_ISA_LEVEL" \n" \ " .set "MIPS_ISA_LEVEL" \n" \
"1: lld %1, %2 # atomic64_fetch_" #op "\n" \ "1: lld %1, %2 # atomic64_fetch_" #op "\n" \
--- a/arch/mips/include/asm/barrier.h Index: linux/arch/mips/include/asm/barrier.h
+++ b/arch/mips/include/asm/barrier.h ===================================================================
--- linux.orig/arch/mips/include/asm/barrier.h
+++ linux/arch/mips/include/asm/barrier.h
@@ -222,6 +222,42 @@ @@ -222,6 +222,42 @@
#define __smp_mb__before_atomic() __smp_mb__before_llsc() #define __smp_mb__before_atomic() __smp_mb__before_llsc()
#define __smp_mb__after_atomic() smp_llsc_mb() #define __smp_mb__after_atomic() smp_llsc_mb()
@ -204,8 +210,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
#include <asm-generic/barrier.h> #include <asm-generic/barrier.h>
#endif /* __ASM_BARRIER_H */ #endif /* __ASM_BARRIER_H */
--- a/arch/mips/include/asm/bitops.h Index: linux/arch/mips/include/asm/bitops.h
+++ b/arch/mips/include/asm/bitops.h ===================================================================
--- linux.orig/arch/mips/include/asm/bitops.h
+++ linux/arch/mips/include/asm/bitops.h
@@ -68,6 +68,7 @@ static inline void set_bit(unsigned long @@ -68,6 +68,7 @@ static inline void set_bit(unsigned long
: "ir" (1UL << bit), GCC_OFF_SMALL_ASM() (*m)); : "ir" (1UL << bit), GCC_OFF_SMALL_ASM() (*m));
#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) #if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6)
@ -246,8 +254,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
do { do {
__asm__ __volatile__( __asm__ __volatile__(
" .set "MIPS_ISA_ARCH_LEVEL" \n" " .set "MIPS_ISA_ARCH_LEVEL" \n"
--- a/arch/mips/include/asm/futex.h Index: linux/arch/mips/include/asm/futex.h
+++ b/arch/mips/include/asm/futex.h ===================================================================
--- linux.orig/arch/mips/include/asm/futex.h
+++ linux/arch/mips/include/asm/futex.h
@@ -50,6 +50,7 @@ @@ -50,6 +50,7 @@
"i" (-EFAULT) \ "i" (-EFAULT) \
: "memory"); \ : "memory"); \
@ -272,8 +282,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
} else } else
return -ENOSYS; return -ENOSYS;
--- a/arch/mips/include/asm/pgtable.h Index: linux/arch/mips/include/asm/pgtable.h
+++ b/arch/mips/include/asm/pgtable.h ===================================================================
--- linux.orig/arch/mips/include/asm/pgtable.h
+++ linux/arch/mips/include/asm/pgtable.h
@@ -229,6 +229,7 @@ static inline void set_pte(pte_t *ptep, @@ -229,6 +229,7 @@ static inline void set_pte(pte_t *ptep,
: [buddy] "+m" (buddy->pte), [tmp] "=&r" (tmp) : [buddy] "+m" (buddy->pte), [tmp] "=&r" (tmp)
: [global] "r" (page_global)); : [global] "r" (page_global));
@ -290,8 +302,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
} }
#else /* !CONFIG_SMP */ #else /* !CONFIG_SMP */
if (pte_none(*buddy)) if (pte_none(*buddy))
--- a/arch/mips/loongson64/Platform Index: linux/arch/mips/loongson64/Platform
+++ b/arch/mips/loongson64/Platform ===================================================================
--- linux.orig/arch/mips/loongson64/Platform
+++ linux/arch/mips/loongson64/Platform
@@ -23,6 +23,29 @@ ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS @@ -23,6 +23,29 @@ ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS
endif endif
@ -322,9 +336,11 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
# #
# binutils from v2.25 on and gcc starting from v4.9.0 treat -march=loongson3a # binutils from v2.25 on and gcc starting from v4.9.0 treat -march=loongson3a
# as MIPS64 R2; older versions as just R1. This leaves the possibility open # as MIPS64 R2; older versions as just R1. This leaves the possibility open
--- a/arch/mips/mm/tlbex.c Index: linux/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c ===================================================================
@@ -931,6 +931,8 @@ build_get_pgd_vmalloc64(u32 **p, struct --- linux.orig/arch/mips/mm/tlbex.c
+++ linux/arch/mips/mm/tlbex.c
@@ -943,6 +943,8 @@ build_get_pgd_vmalloc64(u32 **p, struct
* to mimic that here by taking a load/istream page * to mimic that here by taking a load/istream page
* fault. * fault.
*/ */
@ -333,7 +349,7 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
UASM_i_LA(p, ptr, (unsigned long)tlb_do_page_fault_0); UASM_i_LA(p, ptr, (unsigned long)tlb_do_page_fault_0);
uasm_i_jr(p, ptr); uasm_i_jr(p, ptr);
@@ -1645,6 +1647,8 @@ static void @@ -1663,6 +1665,8 @@ static void
iPTE_LW(u32 **p, unsigned int pte, unsigned int ptr) iPTE_LW(u32 **p, unsigned int pte, unsigned int ptr)
{ {
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
@ -342,7 +358,7 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
# ifdef CONFIG_PHYS_ADDR_T_64BIT # ifdef CONFIG_PHYS_ADDR_T_64BIT
if (cpu_has_64bits) if (cpu_has_64bits)
uasm_i_lld(p, pte, 0, ptr); uasm_i_lld(p, pte, 0, ptr);
@@ -2258,6 +2262,8 @@ static void build_r4000_tlb_load_handler @@ -2276,6 +2280,8 @@ static void build_r4000_tlb_load_handler
#endif #endif
uasm_l_nopage_tlbl(&l, p); uasm_l_nopage_tlbl(&l, p);
@ -351,7 +367,7 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
build_restore_work_registers(&p); build_restore_work_registers(&p);
#ifdef CONFIG_CPU_MICROMIPS #ifdef CONFIG_CPU_MICROMIPS
if ((unsigned long)tlb_do_page_fault_0 & 1) { if ((unsigned long)tlb_do_page_fault_0 & 1) {
@@ -2312,6 +2318,8 @@ static void build_r4000_tlb_store_handle @@ -2330,6 +2336,8 @@ static void build_r4000_tlb_store_handle
#endif #endif
uasm_l_nopage_tlbs(&l, p); uasm_l_nopage_tlbs(&l, p);
@ -360,7 +376,7 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
build_restore_work_registers(&p); build_restore_work_registers(&p);
#ifdef CONFIG_CPU_MICROMIPS #ifdef CONFIG_CPU_MICROMIPS
if ((unsigned long)tlb_do_page_fault_1 & 1) { if ((unsigned long)tlb_do_page_fault_1 & 1) {
@@ -2367,6 +2375,8 @@ static void build_r4000_tlb_modify_handl @@ -2385,6 +2393,8 @@ static void build_r4000_tlb_modify_handl
#endif #endif
uasm_l_nopage_tlbm(&l, p); uasm_l_nopage_tlbm(&l, p);

View File

@ -24,11 +24,11 @@ Tested-by: Michal Kubecek <mkubecek@suse.cz>
arch/powerpc/boot/Makefile | 2 +- arch/powerpc/boot/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile Index: linux/arch/powerpc/boot/Makefile
index 0fb96c26136f..ba4182fb185d 100644 ===================================================================
--- a/arch/powerpc/boot/Makefile --- linux.orig/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile +++ linux/arch/powerpc/boot/Makefile
@@ -63,7 +63,7 @@ ifeq ($(call cc-option-yn, -fstack-protector),y) @@ -68,7 +68,7 @@ ifeq ($(call cc-option-yn, -fstack-prote
BOOTCFLAGS += -fno-stack-protector BOOTCFLAGS += -fno-stack-protector
endif endif

View File

@ -13,8 +13,10 @@ error.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/arch/powerpc/Makefile Index: linux/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile ===================================================================
--- linux.orig/arch/powerpc/Makefile
+++ linux/arch/powerpc/Makefile
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
# Rewritten by Cort Dougan and Paul Mackerras # Rewritten by Cort Dougan and Paul Mackerras
# #

View File

@ -15,8 +15,10 @@ Signed-off-by: James Clarke <jrtc27@jrtc27.com>
arch/powerpc/lib/Makefile | 2 +- arch/powerpc/lib/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/powerpc/lib/Makefile Index: linux/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile ===================================================================
--- linux.orig/arch/powerpc/lib/Makefile
+++ linux/arch/powerpc/lib/Makefile
@@ -35,7 +35,7 @@ obj64-$(CONFIG_KPROBES_SANITY_TEST) += t @@ -35,7 +35,7 @@ obj64-$(CONFIG_KPROBES_SANITY_TEST) += t
obj-y += checksum_$(BITS).o checksum_wrappers.o \ obj-y += checksum_$(BITS).o checksum_wrappers.o \
string_$(BITS).o memcmp_$(BITS).o string_$(BITS).o memcmp_$(BITS).o

View File

@ -14,9 +14,11 @@ Signed-off-by: James Clarke <jrtc27@jrtc27.com>
arch/powerpc/lib/sstep.c | 4 ++++ arch/powerpc/lib/sstep.c | 4 ++++
1 file changed, 4 insertions(+) 1 file changed, 4 insertions(+)
--- a/arch/powerpc/lib/sstep.c Index: linux/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c ===================================================================
@@ -2671,12 +2671,16 @@ void emulate_update_regs(struct pt_regs --- linux.orig/arch/powerpc/lib/sstep.c
+++ linux/arch/powerpc/lib/sstep.c
@@ -2681,12 +2681,16 @@ void emulate_update_regs(struct pt_regs
case BARRIER_EIEIO: case BARRIER_EIEIO:
eieio(); eieio();
break; break;

View File

@ -15,8 +15,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/powerpc/Makefile | 2 ++ arch/powerpc/Makefile | 2 ++
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
--- a/arch/powerpc/Makefile Index: linux/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile ===================================================================
--- linux.orig/arch/powerpc/Makefile
+++ linux/arch/powerpc/Makefile
@@ -403,7 +403,9 @@ vdso_install: @@ -403,7 +403,9 @@ vdso_install:
ifdef CONFIG_PPC64 ifdef CONFIG_PPC64
$(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso64 $@ $(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso64 $@

View File

@ -23,8 +23,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/sh/boot/romimage/Makefile | 4 ++-- arch/sh/boot/romimage/Makefile | 4 ++--
4 files changed, 18 insertions(+), 18 deletions(-) 4 files changed, 18 insertions(+), 18 deletions(-)
--- a/arch/sh/Makefile Index: linux/arch/sh/Makefile
+++ b/arch/sh/Makefile ===================================================================
--- linux.orig/arch/sh/Makefile
+++ linux/arch/sh/Makefile
@@ -119,16 +119,16 @@ LDFLAGS_vmlinux += --defsym phys_stext= @@ -119,16 +119,16 @@ LDFLAGS_vmlinux += --defsym phys_stext=
endif endif
@ -47,8 +49,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
head-y := arch/sh/kernel/head_$(BITS).o head-y := arch/sh/kernel/head_$(BITS).o
--- a/arch/sh/boot/Makefile Index: linux/arch/sh/boot/Makefile
+++ b/arch/sh/boot/Makefile ===================================================================
--- linux.orig/arch/sh/boot/Makefile
+++ linux/arch/sh/boot/Makefile
@@ -19,12 +19,12 @@ CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000 @@ -19,12 +19,12 @@ CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000
CONFIG_ENTRY_OFFSET ?= 0x00001000 CONFIG_ENTRY_OFFSET ?= 0x00001000
CONFIG_PHYSICAL_START ?= $(CONFIG_MEMORY_START) CONFIG_PHYSICAL_START ?= $(CONFIG_MEMORY_START)
@ -81,8 +85,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
CONFIG_PHYSICAL_START CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET \ CONFIG_PHYSICAL_START CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET \
- KERNEL_MEMORY suffix-y - KERNEL_MEMORY suffix-y
+ KERNEL_MEMORY suffix_y + KERNEL_MEMORY suffix_y
--- a/arch/sh/boot/compressed/Makefile Index: linux/arch/sh/boot/compressed/Makefile
+++ b/arch/sh/boot/compressed/Makefile ===================================================================
--- linux.orig/arch/sh/boot/compressed/Makefile
+++ linux/arch/sh/boot/compressed/Makefile
@@ -33,7 +33,7 @@ ORIG_CFLAGS := $(KBUILD_CFLAGS) @@ -33,7 +33,7 @@ ORIG_CFLAGS := $(KBUILD_CFLAGS)
KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
endif endif
@ -102,8 +108,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE -$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE
+$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE +$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
$(call if_changed,ld) $(call if_changed,ld)
--- a/arch/sh/boot/romimage/Makefile Index: linux/arch/sh/boot/romimage/Makefile
+++ b/arch/sh/boot/romimage/Makefile ===================================================================
--- linux.orig/arch/sh/boot/romimage/Makefile
+++ linux/arch/sh/boot/romimage/Makefile
@@ -13,7 +13,7 @@ mmcif-obj-$(CONFIG_CPU_SUBTYPE_SH7724) : @@ -13,7 +13,7 @@ mmcif-obj-$(CONFIG_CPU_SUBTYPE_SH7724) :
load-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-load-y) load-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-load-y)
obj-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-obj-y) obj-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-obj-y)

View File

@ -41,8 +41,10 @@ Reviewed-by: Chris Wilson <chris.p.wilson@intel.com>
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 57 +++++++++++++++------- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 57 +++++++++++++++-------
3 files changed, 68 insertions(+), 19 deletions(-) 3 files changed, 68 insertions(+), 19 deletions(-)
--- a/drivers/gpu/drm/i915/i915_drv.h Index: linux/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h ===================================================================
--- linux.orig/drivers/gpu/drm/i915/i915_drv.h
+++ linux/drivers/gpu/drm/i915/i915_drv.h
@@ -2496,6 +2496,12 @@ intel_info(const struct drm_i915_private @@ -2496,6 +2496,12 @@ intel_info(const struct drm_i915_private
#define IS_GEN9_LP(dev_priv) (IS_GEN9(dev_priv) && IS_LP(dev_priv)) #define IS_GEN9_LP(dev_priv) (IS_GEN9(dev_priv) && IS_LP(dev_priv))
#define IS_GEN9_BC(dev_priv) (IS_GEN9(dev_priv) && !IS_LP(dev_priv)) #define IS_GEN9_BC(dev_priv) (IS_GEN9(dev_priv) && !IS_LP(dev_priv))
@ -71,9 +73,11 @@ Reviewed-by: Chris Wilson <chris.p.wilson@intel.com>
int i915_gem_object_unbind(struct drm_i915_gem_object *obj); int i915_gem_object_unbind(struct drm_i915_gem_object *obj);
void i915_gem_release_mmap(struct drm_i915_gem_object *obj); void i915_gem_release_mmap(struct drm_i915_gem_object *obj);
--- a/drivers/gpu/drm/i915/i915_gem.c Index: linux/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c ===================================================================
@@ -4414,6 +4414,20 @@ i915_gem_object_ggtt_pin(struct drm_i915 --- linux.orig/drivers/gpu/drm/i915/i915_gem.c
+++ linux/drivers/gpu/drm/i915/i915_gem.c
@@ -4425,6 +4425,20 @@ i915_gem_object_ggtt_pin(struct drm_i915
{ {
struct drm_i915_private *dev_priv = to_i915(obj->base.dev); struct drm_i915_private *dev_priv = to_i915(obj->base.dev);
struct i915_address_space *vm = &dev_priv->ggtt.vm; struct i915_address_space *vm = &dev_priv->ggtt.vm;
@ -94,7 +98,7 @@ Reviewed-by: Chris Wilson <chris.p.wilson@intel.com>
struct i915_vma *vma; struct i915_vma *vma;
int ret; int ret;
@@ -4477,7 +4491,7 @@ i915_gem_object_ggtt_pin(struct drm_i915 @@ -4488,7 +4502,7 @@ i915_gem_object_ggtt_pin(struct drm_i915
return ERR_PTR(ret); return ERR_PTR(ret);
} }
@ -103,8 +107,10 @@ Reviewed-by: Chris Wilson <chris.p.wilson@intel.com>
if (ret) if (ret)
return ERR_PTR(ret); return ERR_PTR(ret);
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c Index: linux/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c ===================================================================
--- linux.orig/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ linux/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -1894,6 +1894,33 @@ static int i915_reset_gen7_sol_offsets(s @@ -1894,6 +1894,33 @@ static int i915_reset_gen7_sol_offsets(s
return 0; return 0;
} }

View File

@ -31,9 +31,11 @@ Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
drivers/gpu/drm/i915/intel_pm.c | 107 ++++++++++++++++++++++++++++++- drivers/gpu/drm/i915/intel_pm.c | 107 ++++++++++++++++++++++++++++++-
6 files changed, 126 insertions(+), 4 deletions(-) 6 files changed, 126 insertions(+), 4 deletions(-)
--- a/drivers/gpu/drm/i915/i915_drv.c Index: linux/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c ===================================================================
@@ -1621,6 +1621,7 @@ static int i915_drm_suspend_late(struct --- linux.orig/drivers/gpu/drm/i915/i915_drv.c
+++ linux/drivers/gpu/drm/i915/i915_drv.c
@@ -1627,6 +1627,7 @@ static int i915_drm_suspend_late(struct
i915_gem_suspend_late(dev_priv); i915_gem_suspend_late(dev_priv);
intel_display_set_init_power(dev_priv, false); intel_display_set_init_power(dev_priv, false);
@ -41,7 +43,7 @@ Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
intel_uncore_suspend(dev_priv); intel_uncore_suspend(dev_priv);
/* /*
@@ -1847,6 +1848,8 @@ static int i915_drm_resume_early(struct @@ -1853,6 +1854,8 @@ static int i915_drm_resume_early(struct
else else
intel_display_set_init_power(dev_priv, true); intel_display_set_init_power(dev_priv, true);
@ -50,8 +52,10 @@ Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
intel_engines_sanitize(dev_priv); intel_engines_sanitize(dev_priv);
enable_rpm_wakeref_asserts(dev_priv); enable_rpm_wakeref_asserts(dev_priv);
--- a/drivers/gpu/drm/i915/i915_drv.h Index: linux/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h ===================================================================
--- linux.orig/drivers/gpu/drm/i915/i915_drv.h
+++ linux/drivers/gpu/drm/i915/i915_drv.h
@@ -801,6 +801,7 @@ struct intel_rps { @@ -801,6 +801,7 @@ struct intel_rps {
struct intel_rc6 { struct intel_rc6 {
@ -75,8 +79,10 @@ Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
#define HAS_GMBUS_IRQ(dev_priv) (INTEL_GEN(dev_priv) >= 4) #define HAS_GMBUS_IRQ(dev_priv) (INTEL_GEN(dev_priv) >= 4)
#define HAS_GMBUS_BURST_READ(dev_priv) (INTEL_GEN(dev_priv) >= 10 || \ #define HAS_GMBUS_BURST_READ(dev_priv) (INTEL_GEN(dev_priv) >= 10 || \
--- a/drivers/gpu/drm/i915/i915_gem.c Index: linux/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c ===================================================================
--- linux.orig/drivers/gpu/drm/i915/i915_gem.c
+++ linux/drivers/gpu/drm/i915/i915_gem.c
@@ -174,6 +174,11 @@ static u32 __i915_gem_park(struct drm_i9 @@ -174,6 +174,11 @@ static u32 __i915_gem_park(struct drm_i9
if (INTEL_GEN(i915) >= 6) if (INTEL_GEN(i915) >= 6)
gen6_rps_idle(i915); gen6_rps_idle(i915);
@ -99,8 +105,10 @@ Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
i915->gt.awake = true; i915->gt.awake = true;
if (unlikely(++i915->gt.epoch == 0)) /* keep 0 as invalid */ if (unlikely(++i915->gt.epoch == 0)) /* keep 0 as invalid */
i915->gt.epoch = 1; i915->gt.epoch = 1;
--- a/drivers/gpu/drm/i915/i915_reg.h Index: linux/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h ===================================================================
--- linux.orig/drivers/gpu/drm/i915/i915_reg.h
+++ linux/drivers/gpu/drm/i915/i915_reg.h
@@ -387,6 +387,8 @@ static inline bool i915_mmio_reg_valid(i @@ -387,6 +387,8 @@ static inline bool i915_mmio_reg_valid(i
#define ECOCHK_PPGTT_WT_HSW (0x2 << 3) #define ECOCHK_PPGTT_WT_HSW (0x2 << 3)
#define ECOCHK_PPGTT_WB_HSW (0x3 << 3) #define ECOCHK_PPGTT_WB_HSW (0x3 << 3)
@ -110,8 +118,10 @@ Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
#define GAC_ECO_BITS _MMIO(0x14090) #define GAC_ECO_BITS _MMIO(0x14090)
#define ECOBITS_SNB_BIT (1 << 13) #define ECOBITS_SNB_BIT (1 << 13)
#define ECOBITS_PPGTT_CACHE64B (3 << 8) #define ECOBITS_PPGTT_CACHE64B (3 << 8)
--- a/drivers/gpu/drm/i915/intel_drv.h Index: linux/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h ===================================================================
--- linux.orig/drivers/gpu/drm/i915/intel_drv.h
+++ linux/drivers/gpu/drm/i915/intel_drv.h
@@ -2064,6 +2064,9 @@ void intel_sanitize_gt_powersave(struct @@ -2064,6 +2064,9 @@ void intel_sanitize_gt_powersave(struct
void intel_enable_gt_powersave(struct drm_i915_private *dev_priv); void intel_enable_gt_powersave(struct drm_i915_private *dev_priv);
void intel_disable_gt_powersave(struct drm_i915_private *dev_priv); void intel_disable_gt_powersave(struct drm_i915_private *dev_priv);
@ -122,8 +132,10 @@ Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
void gen6_rps_busy(struct drm_i915_private *dev_priv); void gen6_rps_busy(struct drm_i915_private *dev_priv);
void gen6_rps_reset_ei(struct drm_i915_private *dev_priv); void gen6_rps_reset_ei(struct drm_i915_private *dev_priv);
void gen6_rps_idle(struct drm_i915_private *dev_priv); void gen6_rps_idle(struct drm_i915_private *dev_priv);
--- a/drivers/gpu/drm/i915/intel_pm.c Index: linux/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c ===================================================================
--- linux.orig/drivers/gpu/drm/i915/intel_pm.c
+++ linux/drivers/gpu/drm/i915/intel_pm.c
@@ -8196,6 +8196,95 @@ static void intel_init_emon(struct drm_i @@ -8196,6 +8196,95 @@ static void intel_init_emon(struct drm_i
dev_priv->ips.corr = (lcfuse & LCFUSE_HIV_MASK); dev_priv->ips.corr = (lcfuse & LCFUSE_HIV_MASK);
} }

View File

@ -20,8 +20,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
virt/kvm/kvm_main.c | 30 +++++++++++++-------------- virt/kvm/kvm_main.c | 30 +++++++++++++--------------
6 files changed, 28 insertions(+), 30 deletions(-) 6 files changed, 28 insertions(+), 30 deletions(-)
--- a/Documentation/virtual/kvm/locking.txt Index: linux/Documentation/virtual/kvm/locking.txt
+++ b/Documentation/virtual/kvm/locking.txt ===================================================================
--- linux.orig/Documentation/virtual/kvm/locking.txt
+++ linux/Documentation/virtual/kvm/locking.txt
@@ -15,8 +15,6 @@ The acquisition orders for mutexes are a @@ -15,8 +15,6 @@ The acquisition orders for mutexes are a
On x86, vcpu->mutex is taken outside kvm->arch.hyperv.hv_lock. On x86, vcpu->mutex is taken outside kvm->arch.hyperv.hv_lock.
@ -40,9 +42,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Arch: any Arch: any
Protects: - vm_list Protects: - vm_list
--- a/arch/s390/kvm/kvm-s390.c Index: linux/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c ===================================================================
@@ -2108,13 +2108,13 @@ int kvm_arch_init_vm(struct kvm *kvm, un --- linux.orig/arch/s390/kvm/kvm-s390.c
+++ linux/arch/s390/kvm/kvm-s390.c
@@ -2110,13 +2110,13 @@ int kvm_arch_init_vm(struct kvm *kvm, un
kvm->arch.sca = (struct bsca_block *) get_zeroed_page(alloc_flags); kvm->arch.sca = (struct bsca_block *) get_zeroed_page(alloc_flags);
if (!kvm->arch.sca) if (!kvm->arch.sca)
goto out_err; goto out_err;
@ -58,8 +62,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
sprintf(debug_name, "kvm-%u", current->pid); sprintf(debug_name, "kvm-%u", current->pid);
--- a/arch/x86/kvm/mmu.c Index: linux/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c ===================================================================
--- linux.orig/arch/x86/kvm/mmu.c
+++ linux/arch/x86/kvm/mmu.c
@@ -5819,7 +5819,7 @@ mmu_shrink_scan(struct shrinker *shrink, @@ -5819,7 +5819,7 @@ mmu_shrink_scan(struct shrinker *shrink,
int nr_to_scan = sc->nr_to_scan; int nr_to_scan = sc->nr_to_scan;
unsigned long freed = 0; unsigned long freed = 0;
@ -78,9 +84,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
return freed; return freed;
} }
--- a/arch/x86/kvm/x86.c Index: linux/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c ===================================================================
@@ -6498,7 +6498,7 @@ static void kvm_hyperv_tsc_notifier(void --- linux.orig/arch/x86/kvm/x86.c
+++ linux/arch/x86/kvm/x86.c
@@ -6529,7 +6529,7 @@ static void kvm_hyperv_tsc_notifier(void
struct kvm_vcpu *vcpu; struct kvm_vcpu *vcpu;
int cpu; int cpu;
@ -89,7 +97,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
list_for_each_entry(kvm, &vm_list, vm_list) list_for_each_entry(kvm, &vm_list, vm_list)
kvm_make_mclock_inprogress_request(kvm); kvm_make_mclock_inprogress_request(kvm);
@@ -6524,7 +6524,7 @@ static void kvm_hyperv_tsc_notifier(void @@ -6555,7 +6555,7 @@ static void kvm_hyperv_tsc_notifier(void
spin_unlock(&ka->pvclock_gtod_sync_lock); spin_unlock(&ka->pvclock_gtod_sync_lock);
} }
@ -98,7 +106,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
} }
#endif #endif
@@ -6582,17 +6582,17 @@ static int kvmclock_cpufreq_notifier(str @@ -6613,17 +6613,17 @@ static int kvmclock_cpufreq_notifier(str
smp_call_function_single(freq->cpu, tsc_khz_changed, freq, 1); smp_call_function_single(freq->cpu, tsc_khz_changed, freq, 1);
@ -119,7 +127,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
if (freq->old < freq->new && send_ipi) { if (freq->old < freq->new && send_ipi) {
/* /*
@@ -6718,12 +6718,12 @@ static void pvclock_gtod_update_fn(struc @@ -6749,12 +6749,12 @@ static void pvclock_gtod_update_fn(struc
struct kvm_vcpu *vcpu; struct kvm_vcpu *vcpu;
int i; int i;
@ -134,8 +142,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
} }
static DECLARE_WORK(pvclock_gtod_work, pvclock_gtod_update_fn); static DECLARE_WORK(pvclock_gtod_work, pvclock_gtod_update_fn);
--- a/include/linux/kvm_host.h Index: linux/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h ===================================================================
--- linux.orig/include/linux/kvm_host.h
+++ linux/include/linux/kvm_host.h
@@ -141,7 +141,7 @@ static inline bool is_error_page(struct @@ -141,7 +141,7 @@ static inline bool is_error_page(struct
extern struct kmem_cache *kvm_vcpu_cache; extern struct kmem_cache *kvm_vcpu_cache;
@ -145,8 +155,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
extern struct list_head vm_list; extern struct list_head vm_list;
struct kvm_io_range { struct kvm_io_range {
--- a/virt/kvm/kvm_main.c Index: linux/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c ===================================================================
--- linux.orig/virt/kvm/kvm_main.c
+++ linux/virt/kvm/kvm_main.c
@@ -92,7 +92,7 @@ EXPORT_SYMBOL_GPL(halt_poll_ns_shrink); @@ -92,7 +92,7 @@ EXPORT_SYMBOL_GPL(halt_poll_ns_shrink);
* kvm->lock --> kvm->slots_lock --> kvm->irq_lock * kvm->lock --> kvm->slots_lock --> kvm->irq_lock
*/ */

View File

@ -37,8 +37,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kvm/x86.c | 9 ++ arch/x86/kvm/x86.c | 9 ++
6 files changed, 200 insertions(+), 13 deletions(-) 6 files changed, 200 insertions(+), 13 deletions(-)
--- a/Documentation/admin-guide/kernel-parameters.txt Index: linux/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt ===================================================================
--- linux.orig/Documentation/admin-guide/kernel-parameters.txt
+++ linux/Documentation/admin-guide/kernel-parameters.txt
@@ -1956,6 +1956,19 @@ @@ -1956,6 +1956,19 @@
KVM MMU at runtime. KVM MMU at runtime.
Default is 0 (off) Default is 0 (off)
@ -59,7 +61,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kvm-amd.nested= [KVM,AMD] Allow nested virtualization in KVM/SVM. kvm-amd.nested= [KVM,AMD] Allow nested virtualization in KVM/SVM.
Default is 1 (enabled) Default is 1 (enabled)
@@ -2522,6 +2535,12 @@ @@ -2524,6 +2537,12 @@
l1tf=off [X86] l1tf=off [X86]
mds=off [X86] mds=off [X86]
tsx_async_abort=off [X86] tsx_async_abort=off [X86]
@ -72,8 +74,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
auto (default) auto (default)
Mitigate all CPU vulnerabilities, but leave SMT Mitigate all CPU vulnerabilities, but leave SMT
--- a/arch/x86/include/asm/kvm_host.h Index: linux/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h ===================================================================
--- linux.orig/arch/x86/include/asm/kvm_host.h
+++ linux/arch/x86/include/asm/kvm_host.h
@@ -293,6 +293,7 @@ struct kvm_mmu_page { @@ -293,6 +293,7 @@ struct kvm_mmu_page {
/* hold the gfn of each spte inside spt */ /* hold the gfn of each spte inside spt */
gfn_t *gfns; gfn_t *gfns;
@ -82,7 +86,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
int root_count; /* Currently serving as active root */ int root_count; /* Currently serving as active root */
unsigned int unsync_children; unsigned int unsync_children;
struct kvm_rmap_head parent_ptes; /* rmap pointers to parent sptes */ struct kvm_rmap_head parent_ptes; /* rmap pointers to parent sptes */
@@ -887,6 +888,7 @@ struct kvm_vm_stat { @@ -890,6 +891,7 @@ struct kvm_vm_stat {
ulong mmu_unsync; ulong mmu_unsync;
ulong remote_tlb_flush; ulong remote_tlb_flush;
ulong lpages; ulong lpages;
@ -90,8 +94,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
ulong max_mmu_page_hash_collisions; ulong max_mmu_page_hash_collisions;
}; };
--- a/arch/x86/kernel/cpu/bugs.c Index: linux/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c ===================================================================
--- linux.orig/arch/x86/kernel/cpu/bugs.c
+++ linux/arch/x86/kernel/cpu/bugs.c
@@ -1225,6 +1225,9 @@ void x86_spec_ctrl_setup_ap(void) @@ -1225,6 +1225,9 @@ void x86_spec_ctrl_setup_ap(void)
x86_amd_ssb_disable(); x86_amd_ssb_disable();
} }
@ -129,8 +135,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
static ssize_t mds_show_state(char *buf) static ssize_t mds_show_state(char *buf)
{ {
--- a/arch/x86/kvm/mmu.c Index: linux/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c ===================================================================
--- linux.orig/arch/x86/kvm/mmu.c
+++ linux/arch/x86/kvm/mmu.c
@@ -49,6 +49,20 @@ @@ -49,6 +49,20 @@
#include <asm/kvm_page_track.h> #include <asm/kvm_page_track.h>
#include "trace.h" #include "trace.h"
@ -387,8 +395,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kvm_mmu_reset_all_pte_masks(); kvm_mmu_reset_all_pte_masks();
pte_list_desc_cache = kmem_cache_create("pte_list_desc", pte_list_desc_cache = kmem_cache_create("pte_list_desc",
--- a/arch/x86/kvm/paging_tmpl.h Index: linux/arch/x86/kvm/paging_tmpl.h
+++ b/arch/x86/kvm/paging_tmpl.h ===================================================================
--- linux.orig/arch/x86/kvm/paging_tmpl.h
+++ linux/arch/x86/kvm/paging_tmpl.h
@@ -596,13 +596,14 @@ static void FNAME(pte_prefetch)(struct k @@ -596,13 +596,14 @@ static void FNAME(pte_prefetch)(struct k
static int FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr, static int FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr,
struct guest_walker *gw, struct guest_walker *gw,
@ -465,8 +475,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kvm_mmu_audit(vcpu, AUDIT_POST_PAGE_FAULT); kvm_mmu_audit(vcpu, AUDIT_POST_PAGE_FAULT);
out_unlock: out_unlock:
--- a/arch/x86/kvm/x86.c Index: linux/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c ===================================================================
--- linux.orig/arch/x86/kvm/x86.c
+++ linux/arch/x86/kvm/x86.c
@@ -206,6 +206,7 @@ struct kvm_stats_debugfs_item debugfs_en @@ -206,6 +206,7 @@ struct kvm_stats_debugfs_item debugfs_en
{ "mmu_unsync", VM_STAT(mmu_unsync) }, { "mmu_unsync", VM_STAT(mmu_unsync) },
{ "remote_tlb_flush", VM_STAT(remote_tlb_flush) }, { "remote_tlb_flush", VM_STAT(remote_tlb_flush) },
@ -475,7 +487,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
{ "max_mmu_page_hash_collisions", { "max_mmu_page_hash_collisions",
VM_STAT(max_mmu_page_hash_collisions) }, VM_STAT(max_mmu_page_hash_collisions) },
{ NULL } { NULL }
@@ -1116,6 +1117,14 @@ u64 kvm_get_arch_capabilities(void) @@ -1131,6 +1132,14 @@ u64 kvm_get_arch_capabilities(void)
rdmsrl_safe(MSR_IA32_ARCH_CAPABILITIES, &data); rdmsrl_safe(MSR_IA32_ARCH_CAPABILITIES, &data);
/* /*

View File

@ -26,8 +26,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
virt/kvm/kvm_main.c | 30 +++- virt/kvm/kvm_main.c | 30 +++-
6 files changed, 183 insertions(+), 1 deletion(-) 6 files changed, 183 insertions(+), 1 deletion(-)
--- a/Documentation/admin-guide/kernel-parameters.txt Index: linux/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt ===================================================================
--- linux.orig/Documentation/admin-guide/kernel-parameters.txt
+++ linux/Documentation/admin-guide/kernel-parameters.txt
@@ -1969,6 +1969,12 @@ @@ -1969,6 +1969,12 @@
If the software workaround is enabled for the host, If the software workaround is enabled for the host,
guests do need not to enable it for nested guests. guests do need not to enable it for nested guests.
@ -41,8 +43,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kvm-amd.nested= [KVM,AMD] Allow nested virtualization in KVM/SVM. kvm-amd.nested= [KVM,AMD] Allow nested virtualization in KVM/SVM.
Default is 1 (enabled) Default is 1 (enabled)
--- a/arch/x86/include/asm/kvm_host.h Index: linux/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h ===================================================================
--- linux.orig/arch/x86/include/asm/kvm_host.h
+++ linux/arch/x86/include/asm/kvm_host.h
@@ -281,6 +281,7 @@ struct kvm_rmap_head { @@ -281,6 +281,7 @@ struct kvm_rmap_head {
struct kvm_mmu_page { struct kvm_mmu_page {
struct list_head link; struct list_head link;
@ -51,7 +55,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/* /*
* The following two entries are used to key the shadow page in the * The following two entries are used to key the shadow page in the
@@ -805,6 +806,7 @@ struct kvm_arch { @@ -808,6 +809,7 @@ struct kvm_arch {
*/ */
struct list_head active_mmu_pages; struct list_head active_mmu_pages;
struct list_head zapped_obsolete_pages; struct list_head zapped_obsolete_pages;
@ -59,7 +63,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
struct kvm_page_track_notifier_node mmu_sp_tracker; struct kvm_page_track_notifier_node mmu_sp_tracker;
struct kvm_page_track_notifier_head track_notifier_head; struct kvm_page_track_notifier_head track_notifier_head;
@@ -875,6 +877,8 @@ struct kvm_arch { @@ -878,6 +880,8 @@ struct kvm_arch {
bool x2apic_broadcast_quirk_disabled; bool x2apic_broadcast_quirk_disabled;
bool guest_can_read_msr_platform_info; bool guest_can_read_msr_platform_info;
@ -68,8 +72,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}; };
struct kvm_vm_stat { struct kvm_vm_stat {
--- a/arch/x86/kvm/mmu.c Index: linux/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c ===================================================================
--- linux.orig/arch/x86/kvm/mmu.c
+++ linux/arch/x86/kvm/mmu.c
@@ -40,6 +40,7 @@ @@ -40,6 +40,7 @@
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/hash.h> #include <linux/hash.h>
@ -131,7 +137,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
} }
mutex_unlock(&kvm_lock); mutex_unlock(&kvm_lock);
} }
@@ -6087,3 +6103,116 @@ void kvm_mmu_module_exit(void) @@ -6086,3 +6102,116 @@ void kvm_mmu_module_exit(void)
unregister_shrinker(&mmu_shrinker); unregister_shrinker(&mmu_shrinker);
mmu_audit_disable(); mmu_audit_disable();
} }
@ -248,8 +254,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+ if (kvm->arch.nx_lpage_recovery_thread) + if (kvm->arch.nx_lpage_recovery_thread)
+ kthread_stop(kvm->arch.nx_lpage_recovery_thread); + kthread_stop(kvm->arch.nx_lpage_recovery_thread);
+} +}
--- a/arch/x86/kvm/mmu.h Index: linux/arch/x86/kvm/mmu.h
+++ b/arch/x86/kvm/mmu.h ===================================================================
--- linux.orig/arch/x86/kvm/mmu.h
+++ linux/arch/x86/kvm/mmu.h
@@ -216,4 +216,8 @@ void kvm_mmu_gfn_allow_lpage(struct kvm_ @@ -216,4 +216,8 @@ void kvm_mmu_gfn_allow_lpage(struct kvm_
bool kvm_mmu_slot_gfn_write_protect(struct kvm *kvm, bool kvm_mmu_slot_gfn_write_protect(struct kvm *kvm,
struct kvm_memory_slot *slot, u64 gfn); struct kvm_memory_slot *slot, u64 gfn);
@ -259,9 +267,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+void kvm_mmu_pre_destroy_vm(struct kvm *kvm); +void kvm_mmu_pre_destroy_vm(struct kvm *kvm);
+ +
#endif #endif
--- a/arch/x86/kvm/x86.c Index: linux/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c ===================================================================
@@ -8960,6 +8960,7 @@ int kvm_arch_init_vm(struct kvm *kvm, un --- linux.orig/arch/x86/kvm/x86.c
+++ linux/arch/x86/kvm/x86.c
@@ -8985,6 +8985,7 @@ int kvm_arch_init_vm(struct kvm *kvm, un
INIT_HLIST_HEAD(&kvm->arch.mask_notifier_list); INIT_HLIST_HEAD(&kvm->arch.mask_notifier_list);
INIT_LIST_HEAD(&kvm->arch.active_mmu_pages); INIT_LIST_HEAD(&kvm->arch.active_mmu_pages);
INIT_LIST_HEAD(&kvm->arch.zapped_obsolete_pages); INIT_LIST_HEAD(&kvm->arch.zapped_obsolete_pages);
@ -269,7 +279,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
INIT_LIST_HEAD(&kvm->arch.assigned_dev_head); INIT_LIST_HEAD(&kvm->arch.assigned_dev_head);
atomic_set(&kvm->arch.noncoherent_dma_count, 0); atomic_set(&kvm->arch.noncoherent_dma_count, 0);
@@ -8991,6 +8992,11 @@ int kvm_arch_init_vm(struct kvm *kvm, un @@ -9016,6 +9017,11 @@ int kvm_arch_init_vm(struct kvm *kvm, un
return 0; return 0;
} }
@ -281,7 +291,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
static void kvm_unload_vcpu_mmu(struct kvm_vcpu *vcpu) static void kvm_unload_vcpu_mmu(struct kvm_vcpu *vcpu)
{ {
vcpu_load(vcpu); vcpu_load(vcpu);
@@ -9092,6 +9098,11 @@ int x86_set_memory_region(struct kvm *kv @@ -9117,6 +9123,11 @@ int x86_set_memory_region(struct kvm *kv
} }
EXPORT_SYMBOL_GPL(x86_set_memory_region); EXPORT_SYMBOL_GPL(x86_set_memory_region);
@ -293,8 +303,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
void kvm_arch_destroy_vm(struct kvm *kvm) void kvm_arch_destroy_vm(struct kvm *kvm)
{ {
if (current->mm == kvm->mm) { if (current->mm == kvm->mm) {
--- a/virt/kvm/kvm_main.c Index: linux/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c ===================================================================
--- linux.orig/virt/kvm/kvm_main.c
+++ linux/virt/kvm/kvm_main.c
@@ -625,6 +625,23 @@ static int kvm_create_vm_debugfs(struct @@ -625,6 +625,23 @@ static int kvm_create_vm_debugfs(struct
return 0; return 0;
} }

View File

@ -13,9 +13,11 @@ Fixes: 52ffe0ff02fc ("Support x86(32-bit) cross platform callchain unwind.")
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- ---
--- a/tools/perf/arch/x86/util/unwind-libunwind.c Index: linux/tools/perf/arch/x86/util/unwind-libunwind.c
+++ b/tools/perf/arch/x86/util/unwind-libunwind.c ===================================================================
@@ -66,7 +66,7 @@ int LIBUNWIND__ARCH_REG_ID(int regnum) --- linux.orig/tools/perf/arch/x86/util/unwind-libunwind.c
+++ linux/tools/perf/arch/x86/util/unwind-libunwind.c
@@ -67,7 +67,7 @@ int LIBUNWIND__ARCH_REG_ID(int regnum)
break; break;
default: default:
pr_err("unwind: invalid reg id %d\n", regnum); pr_err("unwind: invalid reg id %d\n", regnum);
@ -24,7 +26,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
} }
return id; return id;
@@ -106,7 +106,7 @@ int LIBUNWIND__ARCH_REG_ID(int regnum) @@ -107,7 +107,7 @@ int LIBUNWIND__ARCH_REG_ID(int regnum)
break; break;
default: default:
pr_err("unwind: invalid reg id %d\n", regnum); pr_err("unwind: invalid reg id %d\n", regnum);

View File

@ -17,9 +17,11 @@ Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/ideapad-laptop.c | 7 +++++++ drivers/platform/x86/ideapad-laptop.c | 7 +++++++
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
--- a/drivers/platform/x86/ideapad-laptop.c Index: linux/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c ===================================================================
@@ -872,6 +872,13 @@ static const struct dmi_system_id no_hw_ --- linux.orig/drivers/platform/x86/ideapad-laptop.c
+++ linux/drivers/platform/x86/ideapad-laptop.c
@@ -1098,6 +1098,13 @@ static const struct dmi_system_id no_hw_
}, },
}, },
{ {

View File

@ -15,9 +15,11 @@ Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/ideapad-laptop.c | 7 +++++++ drivers/platform/x86/ideapad-laptop.c | 7 +++++++
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
--- a/drivers/platform/x86/ideapad-laptop.c Index: linux/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c ===================================================================
@@ -872,6 +872,13 @@ static const struct dmi_system_id no_hw_ --- linux.orig/drivers/platform/x86/ideapad-laptop.c
+++ linux/drivers/platform/x86/ideapad-laptop.c
@@ -1098,6 +1098,13 @@ static const struct dmi_system_id no_hw_
}, },
}, },
{ {

View File

@ -17,9 +17,11 @@ Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/ideapad-laptop.c | 7 +++++++ drivers/platform/x86/ideapad-laptop.c | 7 +++++++
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
--- a/drivers/platform/x86/ideapad-laptop.c Index: linux/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c ===================================================================
@@ -879,6 +879,13 @@ static const struct dmi_system_id no_hw_ --- linux.orig/drivers/platform/x86/ideapad-laptop.c
+++ linux/drivers/platform/x86/ideapad-laptop.c
@@ -1105,6 +1105,13 @@ static const struct dmi_system_id no_hw_
}, },
}, },
{ {

View File

@ -15,9 +15,11 @@ Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/ideapad-laptop.c | 70 +++++++++++++++++++++++++++++++++++ drivers/platform/x86/ideapad-laptop.c | 70 +++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+) 1 file changed, 70 insertions(+)
--- a/drivers/platform/x86/ideapad-laptop.c Index: linux/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c ===================================================================
@@ -872,6 +872,27 @@ static const struct dmi_system_id no_hw_ --- linux.orig/drivers/platform/x86/ideapad-laptop.c
+++ linux/drivers/platform/x86/ideapad-laptop.c
@@ -1098,6 +1098,27 @@ static const struct dmi_system_id no_hw_
}, },
}, },
{ {
@ -45,7 +47,7 @@ Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
.ident = "Lenovo V310-15ISK", .ident = "Lenovo V310-15ISK",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
@@ -886,6 +907,41 @@ static const struct dmi_system_id no_hw_ @@ -1112,6 +1133,41 @@ static const struct dmi_system_id no_hw_
}, },
}, },
{ {
@ -87,7 +89,7 @@ Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
.ident = "Lenovo ideapad 310-15IKB", .ident = "Lenovo ideapad 310-15IKB",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
@@ -893,6 +949,20 @@ static const struct dmi_system_id no_hw_ @@ -1119,6 +1175,20 @@ static const struct dmi_system_id no_hw_
}, },
}, },
{ {

View File

@ -15,9 +15,11 @@ Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/ideapad-laptop.c | 7 +++++++ drivers/platform/x86/ideapad-laptop.c | 7 +++++++
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
--- a/drivers/platform/x86/ideapad-laptop.c Index: linux/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c ===================================================================
@@ -921,6 +921,13 @@ static const struct dmi_system_id no_hw_ --- linux.orig/drivers/platform/x86/ideapad-laptop.c
+++ linux/drivers/platform/x86/ideapad-laptop.c
@@ -1182,6 +1182,13 @@ static const struct dmi_system_id no_hw_
}, },
}, },
{ {

View File

@ -15,9 +15,11 @@ Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/ideapad-laptop.c | 7 +++++++ drivers/platform/x86/ideapad-laptop.c | 7 +++++++
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
--- a/drivers/platform/x86/ideapad-laptop.c Index: linux/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c ===================================================================
@@ -928,6 +928,13 @@ static const struct dmi_system_id no_hw_ --- linux.orig/drivers/platform/x86/ideapad-laptop.c
+++ linux/drivers/platform/x86/ideapad-laptop.c
@@ -1189,6 +1189,13 @@ static const struct dmi_system_id no_hw_
}, },
}, },
{ {

View File

@ -9,9 +9,11 @@ It broke feature detection that was working just fine for us.
tools/perf/Makefile.config | 2 +- tools/perf/Makefile.config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/tools/perf/Makefile.config Index: linux/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config ===================================================================
@@ -38,7 +38,7 @@ ifeq ($(SRCARCH),x86) --- linux.orig/tools/perf/Makefile.config
+++ linux/tools/perf/Makefile.config
@@ -42,7 +42,7 @@ ifeq ($(SRCARCH),x86)
LIBUNWIND_LIBS = -lunwind-x86_64 -lunwind -llzma LIBUNWIND_LIBS = -lunwind-x86_64 -lunwind -llzma
$(call detected,CONFIG_X86_64) $(call detected,CONFIG_X86_64)
else else

View File

@ -18,8 +18,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kvm/x86.c | 8 ++++++++ arch/x86/kvm/x86.c | 8 ++++++++
2 files changed, 16 insertions(+) 2 files changed, 16 insertions(+)
--- a/arch/x86/kvm/cpuid.c Index: linux/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c ===================================================================
--- linux.orig/arch/x86/kvm/cpuid.c
+++ linux/arch/x86/kvm/cpuid.c
@@ -501,8 +501,16 @@ static inline int __do_cpuid_ent(struct @@ -501,8 +501,16 @@ static inline int __do_cpuid_ent(struct
/* PKU is not yet implemented for shadow paging. */ /* PKU is not yet implemented for shadow paging. */
if (!tdp_enabled || !boot_cpu_has(X86_FEATURE_OSPKE)) if (!tdp_enabled || !boot_cpu_has(X86_FEATURE_OSPKE))
@ -37,9 +39,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/* /*
* We emulate ARCH_CAPABILITIES in software even * We emulate ARCH_CAPABILITIES in software even
* if the host doesn't support it. * if the host doesn't support it.
--- a/arch/x86/kvm/x86.c Index: linux/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c ===================================================================
@@ -1127,8 +1127,16 @@ u64 kvm_get_arch_capabilities(void) --- linux.orig/arch/x86/kvm/x86.c
+++ linux/arch/x86/kvm/x86.c
@@ -1142,8 +1142,16 @@ u64 kvm_get_arch_capabilities(void)
if (l1tf_vmx_mitigation != VMENTER_L1D_FLUSH_NEVER) if (l1tf_vmx_mitigation != VMENTER_L1D_FLUSH_NEVER)
data |= ARCH_CAP_SKIP_VMENTRY_L1DFLUSH; data |= ARCH_CAP_SKIP_VMENTRY_L1DFLUSH;

View File

@ -32,9 +32,11 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
6 files changed, 174 insertions(+), 1 deletion(-) 6 files changed, 174 insertions(+), 1 deletion(-)
create mode 100644 arch/x86/kernel/cpu/tsx.c create mode 100644 arch/x86/kernel/cpu/tsx.c
--- a/Documentation/admin-guide/kernel-parameters.txt Index: linux/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt ===================================================================
@@ -4685,6 +4685,32 @@ --- linux.orig/Documentation/admin-guide/kernel-parameters.txt
+++ linux/Documentation/admin-guide/kernel-parameters.txt
@@ -4694,6 +4694,32 @@
marks the TSC unconditionally unstable at bootup and marks the TSC unconditionally unstable at bootup and
avoids any further wobbles once the TSC watchdog notices. avoids any further wobbles once the TSC watchdog notices.
@ -67,8 +69,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
turbografx.map[2|3]= [HW,JOY] turbografx.map[2|3]= [HW,JOY]
TurboGraFX parallel port interface TurboGraFX parallel port interface
Format: Format:
--- a/arch/x86/kernel/cpu/Makefile Index: linux/arch/x86/kernel/cpu/Makefile
+++ b/arch/x86/kernel/cpu/Makefile ===================================================================
--- linux.orig/arch/x86/kernel/cpu/Makefile
+++ linux/arch/x86/kernel/cpu/Makefile
@@ -28,7 +28,7 @@ obj-y += cpuid-deps.o @@ -28,7 +28,7 @@ obj-y += cpuid-deps.o
obj-$(CONFIG_PROC_FS) += proc.o obj-$(CONFIG_PROC_FS) += proc.o
obj-$(CONFIG_X86_FEATURE_NAMES) += capflags.o powerflags.o obj-$(CONFIG_X86_FEATURE_NAMES) += capflags.o powerflags.o
@ -78,8 +82,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
obj-$(CONFIG_CPU_SUP_AMD) += amd.o obj-$(CONFIG_CPU_SUP_AMD) += amd.o
obj-$(CONFIG_CPU_SUP_CYRIX_32) += cyrix.o obj-$(CONFIG_CPU_SUP_CYRIX_32) += cyrix.o
obj-$(CONFIG_CPU_SUP_CENTAUR) += centaur.o obj-$(CONFIG_CPU_SUP_CENTAUR) += centaur.o
--- a/arch/x86/kernel/cpu/common.c Index: linux/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c ===================================================================
--- linux.orig/arch/x86/kernel/cpu/common.c
+++ linux/arch/x86/kernel/cpu/common.c
@@ -1482,6 +1482,7 @@ void __init identify_boot_cpu(void) @@ -1482,6 +1482,7 @@ void __init identify_boot_cpu(void)
enable_sep_cpu(); enable_sep_cpu();
#endif #endif
@ -88,8 +94,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
} }
void identify_secondary_cpu(struct cpuinfo_x86 *c) void identify_secondary_cpu(struct cpuinfo_x86 *c)
--- a/arch/x86/kernel/cpu/cpu.h Index: linux/arch/x86/kernel/cpu/cpu.h
+++ b/arch/x86/kernel/cpu/cpu.h ===================================================================
--- linux.orig/arch/x86/kernel/cpu/cpu.h
+++ linux/arch/x86/kernel/cpu/cpu.h
@@ -45,6 +45,22 @@ struct _tlb_table { @@ -45,6 +45,22 @@ struct _tlb_table {
extern const struct cpu_dev *const __x86_cpu_dev_start[], extern const struct cpu_dev *const __x86_cpu_dev_start[],
*const __x86_cpu_dev_end[]; *const __x86_cpu_dev_end[];
@ -113,8 +121,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
extern void get_cpu_cap(struct cpuinfo_x86 *c); extern void get_cpu_cap(struct cpuinfo_x86 *c);
extern void get_cpu_address_sizes(struct cpuinfo_x86 *c); extern void get_cpu_address_sizes(struct cpuinfo_x86 *c);
extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c); extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c);
--- a/arch/x86/kernel/cpu/intel.c Index: linux/arch/x86/kernel/cpu/intel.c
+++ b/arch/x86/kernel/cpu/intel.c ===================================================================
--- linux.orig/arch/x86/kernel/cpu/intel.c
+++ linux/arch/x86/kernel/cpu/intel.c
@@ -766,6 +766,11 @@ static void init_intel(struct cpuinfo_x8 @@ -766,6 +766,11 @@ static void init_intel(struct cpuinfo_x8
init_intel_energy_perf(c); init_intel_energy_perf(c);
@ -127,8 +137,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
} }
#ifdef CONFIG_X86_32 #ifdef CONFIG_X86_32
Index: linux/arch/x86/kernel/cpu/tsx.c
===================================================================
--- /dev/null --- /dev/null
+++ b/arch/x86/kernel/cpu/tsx.c +++ linux/arch/x86/kernel/cpu/tsx.c
@@ -0,0 +1,125 @@ @@ -0,0 +1,125 @@
+// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0
+/* +/*

View File

@ -30,9 +30,11 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
arch/x86/kvm/x86.c | 19 +++++++++++++++++++ arch/x86/kvm/x86.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+) 1 file changed, 19 insertions(+)
--- a/arch/x86/kvm/x86.c Index: linux/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c ===================================================================
@@ -1134,6 +1134,25 @@ u64 kvm_get_arch_capabilities(void) --- linux.orig/arch/x86/kvm/x86.c
+++ linux/arch/x86/kvm/x86.c
@@ -1149,6 +1149,25 @@ u64 kvm_get_arch_capabilities(void)
if (!boot_cpu_has_bug(X86_BUG_MDS)) if (!boot_cpu_has_bug(X86_BUG_MDS))
data |= ARCH_CAP_MDS_NO; data |= ARCH_CAP_MDS_NO;

View File

@ -23,9 +23,11 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
arch/x86/kernel/cpu/tsx.c | 7 ++++++- arch/x86/kernel/cpu/tsx.c | 7 ++++++-
2 files changed, 9 insertions(+), 1 deletion(-) 2 files changed, 9 insertions(+), 1 deletion(-)
--- a/Documentation/admin-guide/kernel-parameters.txt Index: linux/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt ===================================================================
@@ -4706,6 +4706,9 @@ --- linux.orig/Documentation/admin-guide/kernel-parameters.txt
+++ linux/Documentation/admin-guide/kernel-parameters.txt
@@ -4715,6 +4715,9 @@
update. This new MSR allows for the reliable update. This new MSR allows for the reliable
deactivation of the TSX functionality.) deactivation of the TSX functionality.)
@ -35,8 +37,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Not specifying this option is equivalent to tsx=off. Not specifying this option is equivalent to tsx=off.
See Documentation/admin-guide/hw-vuln/tsx_async_abort.rst See Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
--- a/arch/x86/kernel/cpu/tsx.c Index: linux/arch/x86/kernel/cpu/tsx.c
+++ b/arch/x86/kernel/cpu/tsx.c ===================================================================
--- linux.orig/arch/x86/kernel/cpu/tsx.c
+++ linux/arch/x86/kernel/cpu/tsx.c
@@ -75,7 +75,7 @@ static bool __init tsx_ctrl_is_supported @@ -75,7 +75,7 @@ static bool __init tsx_ctrl_is_supported
void __init tsx_init(void) void __init tsx_init(void)

View File

@ -30,8 +30,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
create mode 100644 Documentation/admin-guide/hw-vuln/tsx_async_abort.rst create mode 100644 Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
create mode 100644 Documentation/x86/tsx_async_abort.rst create mode 100644 Documentation/x86/tsx_async_abort.rst
--- a/Documentation/ABI/testing/sysfs-devices-system-cpu Index: linux/Documentation/ABI/testing/sysfs-devices-system-cpu
+++ b/Documentation/ABI/testing/sysfs-devices-system-cpu ===================================================================
--- linux.orig/Documentation/ABI/testing/sysfs-devices-system-cpu
+++ linux/Documentation/ABI/testing/sysfs-devices-system-cpu
@@ -478,6 +478,7 @@ What: /sys/devices/system/cpu/vulnerabi @@ -478,6 +478,7 @@ What: /sys/devices/system/cpu/vulnerabi
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass /sys/devices/system/cpu/vulnerabilities/spec_store_bypass
/sys/devices/system/cpu/vulnerabilities/l1tf /sys/devices/system/cpu/vulnerabilities/l1tf
@ -40,15 +42,19 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Date: January 2018 Date: January 2018
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description: Information about CPU vulnerabilities Description: Information about CPU vulnerabilities
--- a/Documentation/admin-guide/hw-vuln/index.rst Index: linux/Documentation/admin-guide/hw-vuln/index.rst
+++ b/Documentation/admin-guide/hw-vuln/index.rst ===================================================================
--- linux.orig/Documentation/admin-guide/hw-vuln/index.rst
+++ linux/Documentation/admin-guide/hw-vuln/index.rst
@@ -12,3 +12,4 @@ are configurable at compile, boot or run @@ -12,3 +12,4 @@ are configurable at compile, boot or run
spectre spectre
l1tf l1tf
mds mds
+ tsx_async_abort + tsx_async_abort
Index: linux/Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
===================================================================
--- /dev/null --- /dev/null
+++ b/Documentation/admin-guide/hw-vuln/tsx_async_abort.rst +++ linux/Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
@@ -0,0 +1,276 @@ @@ -0,0 +1,276 @@
+.. SPDX-License-Identifier: GPL-2.0 +.. SPDX-License-Identifier: GPL-2.0
+ +
@ -326,17 +332,19 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
+The kernel's default action for vulnerable processors is: +The kernel's default action for vulnerable processors is:
+ +
+ - Deploy TSX disable mitigation (tsx_async_abort=full tsx=off). + - Deploy TSX disable mitigation (tsx_async_abort=full tsx=off).
--- a/Documentation/admin-guide/kernel-parameters.txt Index: linux/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt ===================================================================
@@ -2521,6 +2521,7 @@ --- linux.orig/Documentation/admin-guide/kernel-parameters.txt
spec_store_bypass_disable=off [X86,PPC] +++ linux/Documentation/admin-guide/kernel-parameters.txt
@@ -2523,6 +2523,7 @@
ssbd=force-off [ARM64]
l1tf=off [X86] l1tf=off [X86]
mds=off [X86] mds=off [X86]
+ tsx_async_abort=off [X86] + tsx_async_abort=off [X86]
auto (default) auto (default)
Mitigate all CPU vulnerabilities, but leave SMT Mitigate all CPU vulnerabilities, but leave SMT
@@ -2536,6 +2537,7 @@ @@ -2538,6 +2539,7 @@
be fully mitigated, even if it means losing SMT. be fully mitigated, even if it means losing SMT.
Equivalent to: l1tf=flush,nosmt [X86] Equivalent to: l1tf=flush,nosmt [X86]
mds=full,nosmt [X86] mds=full,nosmt [X86]
@ -344,7 +352,7 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
mminit_loglevel= mminit_loglevel=
[KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this
@@ -4714,6 +4716,42 @@ @@ -4723,6 +4725,42 @@
See Documentation/admin-guide/hw-vuln/tsx_async_abort.rst See Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
for more details. for more details.
@ -387,15 +395,19 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
turbografx.map[2|3]= [HW,JOY] turbografx.map[2|3]= [HW,JOY]
TurboGraFX parallel port interface TurboGraFX parallel port interface
Format: Format:
--- a/Documentation/x86/index.rst Index: linux/Documentation/x86/index.rst
+++ b/Documentation/x86/index.rst ===================================================================
--- linux.orig/Documentation/x86/index.rst
+++ linux/Documentation/x86/index.rst
@@ -6,3 +6,4 @@ x86 architecture specifics @@ -6,3 +6,4 @@ x86 architecture specifics
:maxdepth: 1 :maxdepth: 1
mds mds
+ tsx_async_abort + tsx_async_abort
Index: linux/Documentation/x86/tsx_async_abort.rst
===================================================================
--- /dev/null --- /dev/null
+++ b/Documentation/x86/tsx_async_abort.rst +++ linux/Documentation/x86/tsx_async_abort.rst
@@ -0,0 +1,117 @@ @@ -0,0 +1,117 @@
+.. SPDX-License-Identifier: GPL-2.0 +.. SPDX-License-Identifier: GPL-2.0
+ +

View File

@ -32,8 +32,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
arch/x86/kernel/cpu/tsx.c | 22 +++++++++++++------ arch/x86/kernel/cpu/tsx.c | 22 +++++++++++++------
2 files changed, 61 insertions(+), 6 deletions(-) 2 files changed, 61 insertions(+), 6 deletions(-)
--- a/arch/x86/Kconfig Index: linux/arch/x86/Kconfig
+++ b/arch/x86/Kconfig ===================================================================
--- linux.orig/arch/x86/Kconfig
+++ linux/arch/x86/Kconfig
@@ -1903,6 +1903,51 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS @@ -1903,6 +1903,51 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS
If unsure, say y. If unsure, say y.
@ -86,8 +88,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
config EFI config EFI
bool "EFI runtime service support" bool "EFI runtime service support"
depends on ACPI depends on ACPI
--- a/arch/x86/kernel/cpu/tsx.c Index: linux/arch/x86/kernel/cpu/tsx.c
+++ b/arch/x86/kernel/cpu/tsx.c ===================================================================
--- linux.orig/arch/x86/kernel/cpu/tsx.c
+++ linux/arch/x86/kernel/cpu/tsx.c
@@ -73,6 +73,14 @@ static bool __init tsx_ctrl_is_supported @@ -73,6 +73,14 @@ static bool __init tsx_ctrl_is_supported
return !!(ia32_cap & ARCH_CAP_TSX_CTRL_MSR); return !!(ia32_cap & ARCH_CAP_TSX_CTRL_MSR);
} }

View File

@ -11,11 +11,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
tools/power/x86/turbostat/turbostat.c | 28 +++++++++++++++++---------- tools/power/x86/turbostat/turbostat.c | 28 +++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-) 1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c Index: linux/tools/power/x86/turbostat/turbostat.c
index 980bd9d20646..b4f32dd37c67 100644 ===================================================================
--- a/tools/power/x86/turbostat/turbostat.c --- linux.orig/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c +++ linux/tools/power/x86/turbostat/turbostat.c
@@ -2554,7 +2554,8 @@ int get_thread_siblings(struct cpu_topology *thiscpu) @@ -2554,7 +2554,8 @@ int get_thread_siblings(struct cpu_topol
filep = fopen_or_die(path, "r"); filep = fopen_or_die(path, "r");
do { do {
offset -= BITMASK_SIZE; offset -= BITMASK_SIZE;
@ -92,7 +92,7 @@ index 980bd9d20646..b4f32dd37c67 100644
fprintf(outf, "cpufreq intel_pstate no_turbo: %d\n", turbo); fprintf(outf, "cpufreq intel_pstate no_turbo: %d\n", turbo);
fclose(input); fclose(input);
} }
@@ -5293,7 +5299,8 @@ void probe_sysfs(void) @@ -5296,7 +5302,8 @@ void probe_sysfs(void)
input = fopen(path, "r"); input = fopen(path, "r");
if (input == NULL) if (input == NULL)
continue; continue;
@ -102,7 +102,7 @@ index 980bd9d20646..b4f32dd37c67 100644
/* truncate "C1-HSW\n" to "C1", or truncate "C1\n" to "C1" */ /* truncate "C1-HSW\n" to "C1", or truncate "C1\n" to "C1" */
sp = strchr(name_buf, '-'); sp = strchr(name_buf, '-');
@@ -5320,7 +5327,8 @@ void probe_sysfs(void) @@ -5323,7 +5330,8 @@ void probe_sysfs(void)
input = fopen(path, "r"); input = fopen(path, "r");
if (input == NULL) if (input == NULL)
continue; continue;

View File

@ -14,9 +14,11 @@ We need to allow it to be autoloaded on this model only, and then
un-blacklist it in udev. un-blacklist it in udev.
--- ---
--- a/drivers/video/fbdev/via/via-core.c Index: linux/drivers/video/fbdev/via/via-core.c
+++ b/drivers/video/fbdev/via/via-core.c ===================================================================
@@ -753,7 +753,14 @@ static struct pci_device_id via_pci_tabl --- linux.orig/drivers/video/fbdev/via/via-core.c
+++ linux/drivers/video/fbdev/via/via-core.c
@@ -752,7 +752,14 @@ static const struct pci_device_id via_pc
.driver_data = UNICHROME_VX900 }, .driver_data = UNICHROME_VX900 },
{ } { }
}; };

View File

@ -16,8 +16,10 @@ crash on CPUs without the AMD-specific 3D-Now instructions.
Make CONFIG_X86_USE_3DNOW depend on CONFIG_X86_GENERIC being disabled. Make CONFIG_X86_USE_3DNOW depend on CONFIG_X86_GENERIC being disabled.
--- ---
--- a/arch/x86/Kconfig.cpu Index: linux/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu ===================================================================
--- linux.orig/arch/x86/Kconfig.cpu
+++ linux/arch/x86/Kconfig.cpu
@@ -337,7 +337,7 @@ config X86_USE_PPRO_CHECKSUM @@ -337,7 +337,7 @@ config X86_USE_PPRO_CHECKSUM
config X86_USE_3DNOW config X86_USE_3DNOW

View File

@ -10,8 +10,10 @@ The KVM state structures will change, but we ignore ABI changes there
since they won't affect out-of-tree modules. since they won't affect out-of-tree modules.
--- ---
--- a/arch/powerpc/include/asm/paca.h Index: linux/arch/powerpc/include/asm/paca.h
+++ b/arch/powerpc/include/asm/paca.h ===================================================================
--- linux.orig/arch/powerpc/include/asm/paca.h
+++ linux/arch/powerpc/include/asm/paca.h
@@ -173,7 +173,7 @@ struct paca_struct { @@ -173,7 +173,7 @@ struct paca_struct {
u8 pmcregs_in_use; /* pseries puts this in lppaca */ u8 pmcregs_in_use; /* pseries puts this in lppaca */
#endif #endif
@ -21,8 +23,10 @@ since they won't affect out-of-tree modules.
u64 tm_scratch; /* TM scratch area for reclaim */ u64 tm_scratch; /* TM scratch area for reclaim */
#endif #endif
--- a/arch/powerpc/include/asm/processor.h Index: linux/arch/powerpc/include/asm/processor.h
+++ b/arch/powerpc/include/asm/processor.h ===================================================================
--- linux.orig/arch/powerpc/include/asm/processor.h
+++ linux/arch/powerpc/include/asm/processor.h
@@ -293,7 +293,7 @@ struct thread_struct { @@ -293,7 +293,7 @@ struct thread_struct {
call or trap return */ call or trap return */
int used_spe; /* set if process has used spe */ int used_spe; /* set if process has used spe */

View File

@ -13,9 +13,11 @@ issues are found, we have a fail-safe.
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com> Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
[bwh: Remove unneeded binary sysctl bits] [bwh: Remove unneeded binary sysctl bits]
--- ---
--- a/kernel/fork.c Index: linux/kernel/fork.c
+++ b/kernel/fork.c ===================================================================
@@ -102,6 +102,11 @@ --- linux.orig/kernel/fork.c
+++ linux/kernel/fork.c
@@ -103,6 +103,11 @@
#define CREATE_TRACE_POINTS #define CREATE_TRACE_POINTS
#include <trace/events/task.h> #include <trace/events/task.h>
@ -27,7 +29,7 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
/* /*
* Minimum number of threads to boot the kernel * Minimum number of threads to boot the kernel
@@ -1550,6 +1555,10 @@ static __latent_entropy struct task_stru @@ -1675,6 +1680,10 @@ static __latent_entropy struct task_stru
if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS))
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
@ -38,7 +40,7 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
/* /*
* Thread groups must share signals as well, and detached threads * Thread groups must share signals as well, and detached threads
* can only be started up within the thread group. * can only be started up within the thread group.
@@ -2343,6 +2352,12 @@ SYSCALL_DEFINE1(unshare, unsigned long, @@ -2504,6 +2513,12 @@ int ksys_unshare(unsigned long unshare_f
if (unshare_flags & CLONE_NEWNS) if (unshare_flags & CLONE_NEWNS)
unshare_flags |= CLONE_FS; unshare_flags |= CLONE_FS;
@ -51,8 +53,10 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
err = check_unshare_flags(unshare_flags); err = check_unshare_flags(unshare_flags);
if (err) if (err)
goto bad_unshare_out; goto bad_unshare_out;
--- a/kernel/sysctl.c Index: linux/kernel/sysctl.c
+++ b/kernel/sysctl.c ===================================================================
--- linux.orig/kernel/sysctl.c
+++ linux/kernel/sysctl.c
@@ -105,6 +105,9 @@ extern int core_uses_pid; @@ -105,6 +105,9 @@ extern int core_uses_pid;
extern char core_pattern[]; extern char core_pattern[];
extern unsigned int core_pipe_limit; extern unsigned int core_pipe_limit;
@ -63,7 +67,7 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
extern int pid_max; extern int pid_max;
extern int pid_max_min, pid_max_max; extern int pid_max_min, pid_max_max;
extern int percpu_pagelist_fraction; extern int percpu_pagelist_fraction;
@@ -512,6 +515,15 @@ static struct ctl_table kern_table[] = { @@ -515,6 +518,15 @@ static struct ctl_table kern_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = proc_dointvec, .proc_handler = proc_dointvec,
}, },
@ -79,8 +83,10 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
#endif #endif
#ifdef CONFIG_PROC_SYSCTL #ifdef CONFIG_PROC_SYSCTL
{ {
--- a/kernel/user_namespace.c Index: linux/kernel/user_namespace.c
+++ b/kernel/user_namespace.c ===================================================================
--- linux.orig/kernel/user_namespace.c
+++ linux/kernel/user_namespace.c
@@ -26,6 +26,9 @@ @@ -26,6 +26,9 @@
#include <linux/bsearch.h> #include <linux/bsearch.h>
#include <linux/sort.h> #include <linux/sort.h>

View File

@ -19,9 +19,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/ieee802154/socket.c | 2 +- net/ieee802154/socket.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-) 1 files changed, 1 insertions(+), 1 deletions(-)
--- a/net/ieee802154/socket.c Index: linux/net/ieee802154/socket.c
+++ b/net/ieee802154/socket.c ===================================================================
@@ -1122,4 +1122,4 @@ module_init(af_ieee802154_init); --- linux.orig/net/ieee802154/socket.c
+++ linux/net/ieee802154/socket.c
@@ -1144,4 +1144,4 @@ module_init(af_ieee802154_init);
module_exit(af_ieee802154_remove); module_exit(af_ieee802154_remove);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");

View File

@ -14,8 +14,10 @@ need them.
- Change config symbol types to tristate - Change config symbol types to tristate
--- ---
--- a/drivers/android/Kconfig Index: linux/drivers/android/Kconfig
+++ b/drivers/android/Kconfig ===================================================================
--- linux.orig/drivers/android/Kconfig
+++ linux/drivers/android/Kconfig
@@ -9,7 +9,7 @@ config ANDROID @@ -9,7 +9,7 @@ config ANDROID
if ANDROID if ANDROID
@ -25,8 +27,10 @@ need them.
depends on MMU depends on MMU
default n default n
---help--- ---help---
--- a/drivers/android/Makefile Index: linux/drivers/android/Makefile
+++ b/drivers/android/Makefile ===================================================================
--- linux.orig/drivers/android/Makefile
+++ linux/drivers/android/Makefile
@@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
ccflags-y += -I$(src) # needed for trace events ccflags-y += -I$(src) # needed for trace events
@ -35,8 +39,10 @@ need them.
+obj-$(CONFIG_ANDROID_BINDER_IPC) += binder_linux.o +obj-$(CONFIG_ANDROID_BINDER_IPC) += binder_linux.o
+binder_linux-y := binder.o binder_alloc.o +binder_linux-y := binder.o binder_alloc.o
+binder_linux-$(CONFIG_ANDROID_BINDER_IPC_SELFTEST) += binder_alloc_selftest.o +binder_linux-$(CONFIG_ANDROID_BINDER_IPC_SELFTEST) += binder_alloc_selftest.o
--- a/drivers/staging/android/Kconfig Index: linux/drivers/staging/android/Kconfig
+++ b/drivers/staging/android/Kconfig ===================================================================
--- linux.orig/drivers/staging/android/Kconfig
+++ linux/drivers/staging/android/Kconfig
@@ -3,7 +3,7 @@ menu "Android" @@ -3,7 +3,7 @@ menu "Android"
if ANDROID if ANDROID
@ -46,8 +52,10 @@ need them.
default n default n
depends on SHMEM depends on SHMEM
help help
--- a/drivers/staging/android/Makefile Index: linux/drivers/staging/android/Makefile
+++ b/drivers/staging/android/Makefile ===================================================================
--- linux.orig/drivers/staging/android/Makefile
+++ linux/drivers/staging/android/Makefile
@@ -2,5 +2,6 @@ ccflags-y += -I$(src) # needed for tra @@ -2,5 +2,6 @@ ccflags-y += -I$(src) # needed for tra
obj-y += ion/ obj-y += ion/
@ -56,8 +64,10 @@ need them.
+obj-$(CONFIG_ASHMEM) += ashmem_linux.o +obj-$(CONFIG_ASHMEM) += ashmem_linux.o
+ashmem_linux-y += ashmem.o +ashmem_linux-y += ashmem.o
obj-$(CONFIG_ANDROID_VSOC) += vsoc.o obj-$(CONFIG_ANDROID_VSOC) += vsoc.o
--- a/drivers/staging/android/ashmem.c Index: linux/drivers/staging/android/ashmem.c
+++ b/drivers/staging/android/ashmem.c ===================================================================
--- linux.orig/drivers/staging/android/ashmem.c
+++ linux/drivers/staging/android/ashmem.c
@@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/mutex.h> #include <linux/mutex.h>
@ -66,14 +76,16 @@ need them.
#include "ashmem.h" #include "ashmem.h"
#define ASHMEM_NAME_PREFIX "dev/ashmem/" #define ASHMEM_NAME_PREFIX "dev/ashmem/"
@@ -903,3 +904,5 @@ out: @@ -924,3 +925,5 @@ out:
return ret; return ret;
} }
device_initcall(ashmem_init); device_initcall(ashmem_init);
+ +
+MODULE_LICENSE("GPL v2"); +MODULE_LICENSE("GPL v2");
--- a/drivers/android/binder_alloc.c Index: linux/drivers/android/binder_alloc.c
+++ b/drivers/android/binder_alloc.c ===================================================================
--- linux.orig/drivers/android/binder_alloc.c
+++ linux/drivers/android/binder_alloc.c
@@ -44,7 +44,7 @@ enum { @@ -44,7 +44,7 @@ enum {
}; };
static uint32_t binder_alloc_debug_mask = BINDER_DEBUG_USER_ERROR; static uint32_t binder_alloc_debug_mask = BINDER_DEBUG_USER_ERROR;

View File

@ -6,9 +6,11 @@ Forwarded: not-needed
[bwh: This was added without a description, but I think it is dealing [bwh: This was added without a description, but I think it is dealing
with a similar issue to powerpcspe-omit-uimage.patch] with a similar issue to powerpcspe-omit-uimage.patch]
--- a/arch/sh/Makefile Index: linux/arch/sh/Makefile
+++ b/arch/sh/Makefile ===================================================================
@@ -75,7 +75,6 @@ --- linux.orig/arch/sh/Makefile
+++ linux/arch/sh/Makefile
@@ -89,7 +89,6 @@ OBJCOPYFLAGS := -O binary -R .note -R .n
# Give the various platforms the opportunity to set default image types # Give the various platforms the opportunity to set default image types
defaultimage-$(CONFIG_SUPERH32) := zImage defaultimage-$(CONFIG_SUPERH32) := zImage

View File

@ -15,9 +15,11 @@ Signed-off-by: Adam Borowski <kilobyte@angband.pl>
fs/btrfs/disk-io.c | 8 ++++++++ fs/btrfs/disk-io.c | 8 ++++++++
1 file changed, 8 insertions(+) 1 file changed, 8 insertions(+)
--- a/fs/btrfs/disk-io.c Index: linux/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c ===================================================================
@@ -3060,6 +3060,15 @@ retry_root_backup: --- linux.orig/fs/btrfs/disk-io.c
+++ linux/fs/btrfs/disk-io.c
@@ -3089,6 +3089,15 @@ retry_root_backup:
btrfs_set_and_info(fs_info, SSD, "enabling ssd optimizations"); btrfs_set_and_info(fs_info, SSD, "enabling ssd optimizations");
} }

Some files were not shown because too many files have changed in this diff Show More