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 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/power/cpupower/Makefile b/tools/power/cpupower/Makefile
index 8358863259c5..0b85f5915ce8 100644
--- a/tools/power/cpupower/Makefile
+++ b/tools/power/cpupower/Makefile
@@ -64,7 +64,7 @@ DESTDIR ?=
Index: linux/tools/power/cpupower/Makefile
===================================================================
--- linux.orig/tools/power/cpupower/Makefile
+++ linux/tools/power/cpupower/Makefile
@@ -66,7 +66,7 @@ DESTDIR ?=
VERSION= $(shell ./utils/version-gen.sh)
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
negative cases.]
---
--- a/tools/power/cpupower/bench/system.c
+++ b/tools/power/cpupower/bench/system.c
Index: linux/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()
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/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);
}
@ -26,7 +26,7 @@ Index: linux/drivers/net/phy/marvell.c
static int m88e1149_config_init(struct phy_device *phydev)
{
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);
}
@ -36,7 +36,7 @@ Index: linux/drivers/net/phy/marvell.c
static int m88e1145_config_init_rgmii(struct phy_device *phydev)
{
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;
}
@ -44,7 +44,7 @@ Index: linux/drivers/net/phy/marvell.c
/* The VOD can be out of specification on link up. Poke an
* 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_stats = marvell_get_stats,
},
@ -52,7 +52,7 @@ Index: linux/drivers/net/phy/marvell.c
{
.phy_id = MARVELL_PHY_ID_88E1145,
.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_stats = marvell_get_stats,
},
@ -61,7 +61,7 @@ Index: linux/drivers/net/phy/marvell.c
{
.phy_id = MARVELL_PHY_ID_88E1149R,
.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_stats = marvell_get_stats,
},
@ -70,7 +70,7 @@ Index: linux/drivers/net/phy/marvell.c
{
.phy_id = MARVELL_PHY_ID_88E1240,
.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_stats = marvell_get_stats,
},
@ -78,7 +78,7 @@ Index: linux/drivers/net/phy/marvell.c
{
.phy_id = MARVELL_PHY_ID_88E1116R,
.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_88E1118, 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 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/Documentation/media/media_uapi.rst
+++ b/Documentation/media/media_uapi.rst
Index: linux/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
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"
format to detect missing firmware.
---
--- a/drivers/base/firmware_loader/main.c
+++ b/drivers/base/firmware_loader/main.c
@@ -322,21 +322,22 @@ fw_get_filesystem_firmware(struct device
Index: linux/drivers/base/firmware_loader/main.c
===================================================================
--- 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,
msize, id);
if (rc) {
@ -53,9 +55,11 @@ format to detect missing firmware.
return rc;
}
--- a/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
Index: linux/drivers/base/firmware_loader/fallback.c
===================================================================
--- 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) {
timeout = usermodehelper_read_lock_wait(timeout);
if (!timeout) {

View File

@ -10,23 +10,29 @@ dependencies of a module.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
[Lukas Wunner: Forward-ported to 4.11: drop parts applied upstream]
---
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -2500,3 +2500,4 @@ late_initcall(init_btrfs_fs);
Index: linux/fs/btrfs/super.c
===================================================================
--- 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_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c");
--- a/fs/crypto/crypto.c
+++ b/fs/crypto/crypto.c
@@ -468,3 +468,4 @@ static void __exit fscrypt_exit(void)
Index: linux/fs/crypto/crypto.c
===================================================================
--- 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_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-aes crypto-ecb");
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -5880,6 +5880,6 @@ static void __exit ext4_exit_fs(void)
Index: linux/fs/ext4/super.c
===================================================================
--- 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_DESCRIPTION("Fourth Extended Filesystem");
MODULE_LICENSE("GPL");
@ -34,17 +40,21 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+MODULE_SOFTDEP("pre: crypto-crc32c");
module_init(ext4_init_fs)
module_exit(ext4_exit_fs)
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -3134,4 +3134,5 @@ module_exit(exit_f2fs_fs)
Index: linux/fs/f2fs/super.c
===================================================================
--- 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_DESCRIPTION("Flash Friendly File System");
MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c");
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -2726,6 +2726,7 @@ static void __exit journal_exit(void)
Index: linux/fs/jbd2/journal.c
===================================================================
--- linux.orig/fs/jbd2/journal.c
+++ linux/fs/jbd2/journal.c
@@ -2745,6 +2745,7 @@ static void __exit journal_exit(void)
}
MODULE_LICENSE("GPL");
@ -52,9 +62,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
module_init(journal_init);
module_exit(journal_exit);
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -1334,5 +1334,8 @@ static void __exit exit_nfsd(void)
Index: linux/fs/nfsd/nfsctl.c
===================================================================
--- 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_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
sources.
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
Index: linux/scripts/Makefile.build
===================================================================
--- linux.orig/scripts/Makefile.build
+++ linux/scripts/Makefile.build
@@ -232,6 +232,11 @@ cmd_record_mcount = \
endif # CC_USING_RECORD_MCOUNT
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+
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -215,7 +215,7 @@ hdr-inst := -f $(srctree)/scripts/Makefi
Index: linux/scripts/Kbuild.include
===================================================================
--- 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.
# skip if -I has no parameter
addtree = $(if $(patsubst -I%,%,$(1)), \

View File

@ -20,8 +20,10 @@ References: https://bugs.debian.org/717557
References: https://bugs.debian.org/726861
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
Index: linux/scripts/Kbuild.include
===================================================================
--- linux.orig/scripts/Kbuild.include
+++ linux/scripts/Kbuild.include
@@ -121,7 +121,7 @@ CC_OPTION_CFLAGS = $(filter-out $(GCC_PL
# 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
# 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
# Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
cc-ldoption = $(call try-run,\
@ -69,9 +71,11 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
# ld-option
# Usage: KBUILD_LDFLAGS += $(call ld-option, -X, -Y)
--- a/Makefile
+++ b/Makefile
@@ -675,6 +675,8 @@ endif
Index: linux/Makefile
===================================================================
--- linux.orig/Makefile
+++ linux/Makefile
@@ -668,6 +668,8 @@ endif
KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \
$(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
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
# 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>
[bwh: Drop unnecessary changes]
---
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
Index: linux/tools/lib/bpf/Makefile
===================================================================
--- linux.orig/tools/lib/bpf/Makefile
+++ linux/tools/lib/bpf/Makefile
@@ -94,7 +94,7 @@ export prefix libdir src obj
libdir_SQ = $(subst ','\'',$(libdir))
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.
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=dd399ac9e343c7573c47d6820e4a23013c54749d
Applied-Upstream: yes
--- a/tools/lib/bpf/.gitignore
+++ b/tools/lib/bpf/.gitignore
Index: linux/tools/lib/bpf/.gitignore
===================================================================
--- linux.orig/tools/lib/bpf/.gitignore
+++ linux/tools/lib/bpf/.gitignore
@@ -1,2 +1,3 @@
libbpf_version.h
+libbpf.pc
FEATURE-DUMP.libbpf
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
Index: linux/tools/lib/bpf/Makefile
===================================================================
--- linux.orig/tools/lib/bpf/Makefile
+++ linux/tools/lib/bpf/Makefile
@@ -95,6 +95,7 @@ libdir_SQ = $(subst ','\'',$(libdir))
libdir_relative_SQ = $(subst ','\'',$(libdir_relative))
@ -67,8 +71,10 @@ Applied-Upstream: yes
$(RM) LIBBPF-CFLAGS
$(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf
Index: linux/tools/lib/bpf/libbpf.pc.template
===================================================================
--- /dev/null
+++ b/tools/lib/bpf/libbpf.pc.template
+++ linux/tools/lib/bpf/libbpf.pc.template
@@ -0,0 +1,12 @@
+# 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/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
$(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>
---
--- a/tools/power/cpupower/lib/cpupower.c
+++ b/tools/power/cpupower/lib/cpupower.c
Index: linux/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 @@
#include "cpupower.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
alternative may allow subverting module signing.
---
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1313,9 +1313,8 @@ static int check_version(const struct lo
Index: linux/kernel/module.c
===================================================================
--- linux.orig/kernel/module.c
+++ linux/kernel/module.c
@@ -1317,9 +1317,8 @@ static int check_version(const struct lo
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 +-
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 484d3ac3a206..d4eeae226f19 100644
--- a/drivers/net/wireless/mediatek/mt76/mac80211.c
+++ b/drivers/net/wireless/mediatek/mt76/mac80211.c
@@ -124,7 +124,7 @@ static void mt76_init_stream_cap(struct mt76_dev *dev,
Index: linux/drivers/net/wireless/mediatek/mt76/mac80211.c
===================================================================
--- linux.orig/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
bool vht)
{
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 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 644e978cbd3e..989c6208678f 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -152,8 +152,7 @@ source "drivers/usb/gadget/Kconfig"
Index: linux/drivers/usb/Kconfig
===================================================================
--- linux.orig/drivers/usb/Kconfig
+++ linux/drivers/usb/Kconfig
@@ -175,8 +175,7 @@ source "drivers/usb/roles/Kconfig"
config USB_LED_TRIG
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.
---
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
Index: linux/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 @@
#include <drm/drm_fb_helper.h>
@ -35,7 +37,7 @@ is missing, except for the pre-R600 case.
/*
* 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);
@ -64,7 +66,7 @@ is missing, except for the pre-R600 case.
static int radeon_kick_out_firmware_fb(struct pci_dev *pdev)
{
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))
return -EPROBE_DEFER;
@ -77,9 +79,11 @@ is missing, except for the pre-R600 case.
/* Get rid of things like offb */
ret = radeon_kick_out_firmware_fb(pdev);
if (ret)
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -40,6 +40,8 @@
Index: linux/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
===================================================================
--- 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/vga_switcheroo.h>
#include <drm/drm_crtc_helper.h>
@ -88,7 +92,7 @@ is missing, except for the pre-R600 case.
#include "amdgpu.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;
@ -117,7 +121,7 @@ is missing, except for the pre-R600 case.
static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev)
{
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;
}

View File

@ -14,11 +14,11 @@ Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-s35390a.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/rtc/rtc-s35390a.c b/drivers/rtc/rtc-s35390a.c
index fb795c454077..4ca37f281ed9 100644
--- a/drivers/rtc/rtc-s35390a.c
+++ b/drivers/rtc/rtc-s35390a.c
@@ -289,6 +289,9 @@ static int s35390a_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alm)
Index: linux/drivers/rtc/rtc-s35390a.c
===================================================================
--- linux.orig/drivers/rtc/rtc-s35390a.c
+++ linux/drivers/rtc/rtc-s35390a.c
@@ -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_mon, alm->time.tm_year, alm->time.tm_wday);
@ -28,7 +28,7 @@ index fb795c454077..4ca37f281ed9 100644
/* disable interrupt (which deasserts the irq line) */
err = s35390a_set_reg(s35390a, S35390A_CMD_STATUS2, &sts, sizeof(sts));
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;
}
@ -38,6 +38,3 @@ index fb795c454077..4ca37f281ed9 100644
if (status1 & S35390A_FLAG_INT2)
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>
---
--- a/tools/build/feature/test-bpf.c
+++ b/tools/build/feature/test-bpf.c
Index: linux/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)
attr.prog_flags = 0;

View File

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

View File

@ -5,9 +5,11 @@ Forwarded: no
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/tools/lib/traceevent/Makefile
+++ b/tools/lib/traceevent/Makefile
@@ -173,7 +173,7 @@ $(TE_IN): force
Index: linux/tools/lib/traceevent/Makefile
===================================================================
--- linux.orig/tools/lib/traceevent/Makefile
+++ linux/tools/lib/traceevent/Makefile
@@ -174,7 +174,7 @@ $(TE_IN): force
$(Q)$(MAKE) $(build)=libtraceevent
$(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.$(EP_VERSION)
@@ -192,7 +192,7 @@ $(PLUGINS_IN): force
@@ -193,7 +193,7 @@ $(PLUGINS_IN): force
$(Q)$(MAKE) $(build)=$(plugin_obj)
$(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>
---
--- a/tools/perf/Documentation/Makefile
+++ b/tools/perf/Documentation/Makefile
@@ -120,6 +120,9 @@ endif
Index: linux/tools/perf/Documentation/Makefile
===================================================================
--- linux.orig/tools/perf/Documentation/Makefile
+++ linux/tools/perf/Documentation/Makefile
@@ -131,6 +131,9 @@ endif
ifdef DOCBOOK_SUPPRESS_SP
XMLTO_EXTRA += -m manpage-suppress-sp.xsl
endif
@ -19,8 +21,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
SHELL_PATH ?= $(SHELL)
# Shell quote;
--- a/tools/perf/Documentation/asciidoc.conf
+++ b/tools/perf/Documentation/asciidoc.conf
Index: linux/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[]
[header]
template::[header-declarations]

View File

@ -9,29 +9,37 @@ them is useless and possibly misleading.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/tools/perf/scripts/perl/rw-by-file.pl
+++ b/tools/perf/scripts/perl/rw-by-file.pl
Index: linux/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 @@
-#!/usr/bin/perl -w
# (c) 2009, Tom Zanussi <tzanussi@gmail.com>
# Licensed under the terms of the GNU GPL License version 2
--- a/tools/perf/scripts/perl/rw-by-pid.pl
+++ b/tools/perf/scripts/perl/rw-by-pid.pl
Index: linux/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 @@
-#!/usr/bin/perl -w
# (c) 2009, Tom Zanussi <tzanussi@gmail.com>
# Licensed under the terms of the GNU GPL License version 2
--- a/tools/perf/scripts/perl/rwtop.pl
+++ b/tools/perf/scripts/perl/rwtop.pl
Index: linux/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 @@
-#!/usr/bin/perl -w
# (c) 2010, Tom Zanussi <tzanussi@gmail.com>
# Licensed under the terms of the GNU GPL License version 2
--- a/tools/perf/scripts/perl/wakeup-latency.pl
+++ b/tools/perf/scripts/perl/wakeup-latency.pl
Index: linux/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 @@
-#!/usr/bin/perl -w
# (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.
--- a/tools/usb/usbip/doc/usbipd.8
+++ b/tools/usb/usbip/doc/usbipd.8
Index: linux/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
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>
---
--- a/tools/usb/usbip/libsrc/usbip_common.c
+++ b/tools/usb/usbip/libsrc/usbip_common.c
Index: linux/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 *
path = udev_device_get_syspath(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);
udev->busnum = busnum;
--- a/tools/usb/usbip/libsrc/usbip_device_driver.c
+++ b/tools/usb/usbip/libsrc/usbip_device_driver.c
Index: linux/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
copy_descr_attr16(dev, &descr, idProduct);
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 ++++++++++++++++++++
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 b403e5d787cb..ac8438c2cff1 100644
--- 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
===================================================================
--- linux.orig/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
+++ linux/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
@@ -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 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/kirkwood-ts419.dtsi b/arch/arm/boot/dts/kirkwood-ts419.dtsi
index 02bd53762705..532506cb0f4a 100644
--- a/arch/arm/boot/dts/kirkwood-ts419.dtsi
+++ b/arch/arm/boot/dts/kirkwood-ts419.dtsi
@@ -73,3 +73,11 @@
Index: linux/arch/arm/boot/dts/kirkwood-ts419.dtsi
===================================================================
--- linux.orig/arch/arm/boot/dts/kirkwood-ts419.dtsi
+++ linux/arch/arm/boot/dts/kirkwood-ts419.dtsi
@@ -69,3 +69,11 @@
phy-handle = <&ethphy1>;
};
};

View File

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

View File

@ -24,8 +24,10 @@ Signed-off-by: Geoff Levand <geoff@infradead.org>
arch/arm64/kernel/acpi.c | 40 ++++++++++++++++++++++++++++++++++++----
1 file changed, 36 insertions(+), 4 deletions(-)
--- a/arch/arm64/kernel/acpi.c
+++ b/arch/arm64/kernel/acpi.c
Index: linux/arch/arm64/kernel/acpi.c
===================================================================
--- linux.orig/arch/arm64/kernel/acpi.c
+++ linux/arch/arm64/kernel/acpi.c
@@ -33,6 +33,8 @@
#include <asm/pgtable.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_disabled = 1;
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.
* 1. find RSDP and get its address, and then find XSDT
* 2. extract all tables and checksums them all
@@ -229,11 +258,14 @@ done:
@@ -233,11 +262,14 @@ done:
if (acpi_disabled) {
if (earlycon_acpi_spcr_enable)
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 +
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 bf9b719481c4..8171c0a7f265 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -200,6 +200,7 @@
Index: linux/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
===================================================================
--- linux.orig/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ linux/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -159,6 +159,7 @@
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 +-
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 86ff1eb..d8a2f0b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
@@ -421,7 +421,7 @@
Index: linux/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
===================================================================
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
+++ linux/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
@@ -455,7 +455,7 @@
vdd_cpu_b: regulator@40 {
compatible = "silergy,syr827";
reg = <0x40>;
@ -40,6 +40,3 @@ index 86ff1eb..d8a2f0b 100644
regulator-name = "vdd_cpu_b";
regulator-min-microvolt = <712500>;
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 +++
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 fd9d82c9033d..e9747379384b 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/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,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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(st
_r.maximum_linkrate = max;
_r.minimum_linkrate = min;
@ -35,6 +35,3 @@ index fd9d82c9033d..e9747379384b 100644
hisi_hba->hw->phy_disable(hisi_hba, phy_no);
msleep(100);
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 +++++--
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 e9747379384b..6a959a927e9d 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -288,13 +288,13 @@ static int hisi_sas_task_prep(struct sas_task *task,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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
int *pass)
{
struct domain_device *device = task->dev;
@ -35,7 +35,7 @@ index e9747379384b..6a959a927e9d 100644
int dlvry_queue_slot, dlvry_queue, rc, slot_idx;
int n_elem = 0, n_elem_req = 0, n_elem_resp = 0;
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;
}
@ -45,6 +45,3 @@ index e9747379384b..6a959a927e9d 100644
if (DEV_IS_GONE(sas_dev)) {
if (sas_dev)
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 ++++++++++++++++++++++-----
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 6a959a927e9d..2f57a318a71b 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/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,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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 a
static void hisi_sas_task_done(struct sas_task *task)
{
@ -34,7 +34,7 @@ index 6a959a927e9d..2f57a318a71b 100644
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 *task = slow->task;
unsigned long flags;
@ -54,7 +54,7 @@ index 6a959a927e9d..2f57a318a71b 100644
}
#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_DONE)) {
struct hisi_sas_slot *slot = task->lldd_task;
@ -74,7 +74,7 @@ index 6a959a927e9d..2f57a318a71b 100644
goto ex_err;
} 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);
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);
rc = TMF_RESP_FUNC_COMPLETE;
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 */
struct hisi_sas_slot *slot = task->lldd_task;
u32 tag = slot->idx;
@ -114,15 +114,14 @@ index 6a959a927e9d..2f57a318a71b 100644
}
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_DONE)) {
struct hisi_sas_slot *slot = task->lldd_task;
-
- if (slot)
+ struct hisi_sas_cq *cq =
+ &hisi_hba->cq[slot->dlvry_queue];
+
- if (slot)
+ if (slot) {
+ /*
+ * 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");
res = -EIO;
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 +-
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 1c4ea58da1ae..c4774d63d5d0 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/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)
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
===================================================================
--- linux.orig/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 *his
}
out:
@ -36,7 +36,7 @@ index 1c4ea58da1ae..c4774d63d5d0 100644
sts = ts->stat;
spin_lock_irqsave(&task->task_state_lock, flags);
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;
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)) {
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 3922b17e2ea3..fb2a5969181b 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/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)
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
===================================================================
--- linux.orig/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 *his
}
out:
@ -56,7 +56,7 @@ index 3922b17e2ea3..fb2a5969181b 100644
sts = ts->stat;
spin_lock_irqsave(&task->task_state_lock, flags);
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;
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)) {
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 +-
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 fb2a5969181b..06824bde9c8d 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -441,7 +441,7 @@ static void init_reg_v3_hw(struct hisi_hba *hisi_hba)
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
===================================================================
--- linux.orig/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_h
hisi_sas_write32(hisi_hba, ENT_INT_SRC_MSK1, 0xfefefefe);
hisi_sas_write32(hisi_hba, ENT_INT_SRC_MSK2, 0xfefefefe);
if (pdev->revision >= 0x21)
@ -27,6 +27,3 @@ index fb2a5969181b..06824bde9c8d 100644
else
hisi_sas_write32(hisi_hba, ENT_INT_SRC_MSK3, 0xfffe20ff);
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 ++-
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 6c7d2e201abe..0ddb53c8a2e2 100644
--- 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
===================================================================
--- linux.orig/drivers/scsi/hisi_sas/hisi_sas.h
+++ linux/drivers/scsi/hisi_sas/hisi_sas.h
@@ -34,6 +34,7 @@
#define HISI_SAS_MAX_DEVICES HISI_SAS_MAX_ITCT_ENTRIES
#define HISI_SAS_RESET_BIT 0
@ -42,11 +42,11 @@ index 6c7d2e201abe..0ddb53c8a2e2 100644
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);
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 2f57a318a71b..c2998d3ac37f 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/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)
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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(st
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)
@@ -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);
}
@ -105,7 +105,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
}
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));
@ -115,7 +115,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
}
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;
}
@ -150,7 +150,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
slot = &hisi_hba->slot_info[slot_idx];
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;
err_out_tag:
@ -160,7 +160,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
err_out_dma_unmap:
if (!sas_protocol_ata(task->task_proto)) {
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);
/* simply get a slot and send abort command */
@ -178,7 +178,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
slot = &hisi_hba->slot_info[slot_idx];
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);
task->task_state_flags |= SAS_TASK_AT_INITIATOR;
spin_unlock_irqrestore(&task->task_state_lock, flags);
@ -186,7 +186,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
WRITE_ONCE(slot->ready, 1);
/* send abort command to the chip */
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;
err_out_tag:
@ -196,7 +196,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
err_out:
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_slot_index_init(hisi_hba);
@ -205,7 +205,7 @@ index 2f57a318a71b..c2998d3ac37f 100644
hisi_hba->wq = create_singlethread_workqueue(dev_name(dev));
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_cmd_len = 16;
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->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 410eccf0bc5e..8df822a4a1bd 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -1807,7 +1807,6 @@ static struct scsi_host_template sht_v1_hw = {
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
===================================================================
--- linux.orig/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_
.scan_start = hisi_sas_scan_start,
.change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param,
@ -235,11 +235,11 @@ index 410eccf0bc5e..8df822a4a1bd 100644
.this_id = -1,
.sg_tablesize = SG_ALL,
.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 c4774d63d5d0..58a564c75a35 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -770,7 +770,7 @@ static u32 hisi_sas_phy_read32(struct hisi_hba *hisi_hba,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
===================================================================
--- linux.orig/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 hi
/* This function needs to be protected from pre-emption. */
static int
@ -248,7 +248,7 @@ index c4774d63d5d0..58a564c75a35 100644
struct domain_device *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;
int sata_idx = sas_dev->sata_idx;
int start, end;
@ -256,7 +256,7 @@ index c4774d63d5d0..58a564c75a35 100644
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);
}
@ -264,7 +264,7 @@ index c4774d63d5d0..58a564c75a35 100644
while (1) {
start = find_next_zero_bit(bitmap,
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);
@ -275,7 +275,7 @@ index c4774d63d5d0..58a564c75a35 100644
}
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,
.change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param,
@ -283,11 +283,11 @@ index c4774d63d5d0..58a564c75a35 100644
.this_id = -1,
.sg_tablesize = SG_ALL,
.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 06824bde9c8d..a0fc2d5de787 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2096,7 +2096,6 @@ static struct scsi_host_template sht_v3_hw = {
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
===================================================================
--- linux.orig/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_
.scan_start = hisi_sas_scan_start,
.change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param,
@ -295,7 +295,7 @@ index 06824bde9c8d..a0fc2d5de787 100644
.this_id = -1,
.sg_tablesize = SG_ALL,
.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,
.ioctl = sas_ioctl,
.shost_attrs = host_attrs,
@ -303,7 +303,7 @@ index 06824bde9c8d..a0fc2d5de787 100644
};
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_cmd_len = 16;
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->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 +++
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 a0fc2d5de787..c3e0be90e19f 100644
--- 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
===================================================================
--- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -127,6 +127,7 @@
#define PHY_CTRL_RESET_OFF 0
#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_NOTIFY_EN_OFF 0
#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));
hisi_sas_write32(hisi_hba, CFG_MAX_TAG, 0xfff0400);
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, OQ_INT_COAL_TIME, 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);
/* used for 12G negotiate */
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++) {
--
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 +++-
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 58a564c75a35..77a85ead483e 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -806,8 +806,10 @@ slot_index_alloc_quirk_v2_hw(struct hisi_hba *hisi_hba,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
===================================================================
--- linux.orig/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
while (1) {
start = find_next_zero_bit(bitmap,
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.
*/
--
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 +++++--------
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 c3e0be90e19f..43005d39abe6 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/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)
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
===================================================================
--- linux.orig/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,
if (rc)
goto err_out_disable_device;
@ -38,6 +38,3 @@ index c3e0be90e19f..43005d39abe6 100644
}
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 ++++++-
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 0ddb53c8a2e2..94a9e13c069c 100644
--- a/drivers/scsi/hisi_sas/hisi_sas.h
+++ b/drivers/scsi/hisi_sas/hisi_sas.h
@@ -468,7 +468,6 @@ extern int hisi_sas_remove(struct platform_device *pdev);
Index: linux/drivers/scsi/hisi_sas/hisi_sas.h
===================================================================
--- linux.orig/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 platfo
extern int hisi_sas_slave_configure(struct scsi_device *sdev);
extern int hisi_sas_scan_finished(struct Scsi_Host *shost, unsigned long time);
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 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,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
index c2998d3ac37f..dc71f8d83551 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -2009,12 +2009,6 @@ EXPORT_SYMBOL_GPL(hisi_sas_kill_tasklets);
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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
struct scsi_transport_template *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 = {
.lldd_dev_found = hisi_sas_dev_found,
.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 8df822a4a1bd..e8e3a876e493 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -1797,6 +1797,11 @@ static int hisi_sas_v1_init(struct hisi_hba *hisi_hba)
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
===================================================================
--- linux.orig/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_
return 0;
}
@ -65,7 +65,7 @@ index 8df822a4a1bd..e8e3a876e493 100644
static struct scsi_host_template sht_v1_hw = {
.name = DRV_NAME,
.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,
.target_destroy = sas_target_destroy,
.ioctl = sas_ioctl,
@ -74,11 +74,11 @@ index 8df822a4a1bd..e8e3a876e493 100644
};
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 77a85ead483e..574a269e2865 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/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,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
===================================================================
--- linux.orig/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_v
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 = {
.name = DRV_NAME,
.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,
.target_destroy = sas_target_destroy,
.ioctl = sas_ioctl,
@ -99,11 +99,11 @@ index 77a85ead483e..574a269e2865 100644
};
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 43005d39abe6..1d0896959fbb 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/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,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
===================================================================
--- linux.orig/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_v
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 = {
.name = DRV_NAME,
.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,
.target_destroy = sas_target_destroy,
.ioctl = sas_ioctl,
@ -124,6 +124,3 @@ index 43005d39abe6..1d0896959fbb 100644
.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 +++++++++++++++++++++-----
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 1d0896959fbb..b70190936f1b 100644
--- 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
===================================================================
--- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -42,6 +42,7 @@
#define MAX_CON_TIME_LIMIT_TIME 0xa4
#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)
{
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, OQ_INT_COAL_TIME, 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, ENT_INT_SRC1, 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++) {
struct hisi_sas_cq *cq = &hisi_hba->cq[i];
struct tasklet_struct *t = &cq->tasklet;
@ -64,7 +64,7 @@ index 1d0896959fbb..b70190936f1b 100644
if (rc) {
dev_err(dev,
"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:
for (k = 0; k < i; 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_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);
}
@ -92,7 +92,7 @@ index 1d0896959fbb..b70190936f1b 100644
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);
for (i = 0; i < hisi_hba->queue_count; i++) {
struct hisi_sas_cq *cq = &hisi_hba->cq[i];
@ -103,7 +103,7 @@ index 1d0896959fbb..b70190936f1b 100644
}
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);
@ -111,6 +111,3 @@ index 1d0896959fbb..b70190936f1b 100644
MODULE_LICENSE("GPL");
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 +++++++++++++++++++++++++
2 files changed, 102 insertions(+)
diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h
index 94a9e13c069c..535c61391250 100644
--- 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
===================================================================
--- linux.orig/drivers/scsi/hisi_sas/hisi_sas.h
+++ linux/drivers/scsi/hisi_sas/hisi_sas.h
@@ -322,6 +322,8 @@ struct hisi_hba {
unsigned long sata_dev_bitmap[BITS_TO_LONGS(HISI_SAS_MAX_DEVICES)];
struct work_struct rst_work;
@ -34,11 +34,11 @@ index 94a9e13c069c..535c61391250 100644
};
/* 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 b70190936f1b..7d7cb73e4bee 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2105,9 +2105,109 @@ static ssize_t intr_conv_v3_hw_show(struct device *dev,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
===================================================================
--- linux.orig/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(stru
}
static DEVICE_ATTR_RO(intr_conv_v3_hw);
@ -148,6 +148,3 @@ index b70190936f1b..7d7cb73e4bee 100644
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 ++++++++++++++-------------
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 dc71f8d83551..15360d797760 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -303,36 +303,19 @@ static int hisi_sas_task_prep(struct sas_task *task,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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
int *pass)
{
struct domain_device *device = task->dev;
@ -60,7 +60,7 @@ index dc71f8d83551..15360d797760 100644
if (DEV_IS_GONE(sas_dev)) {
if (sas_dev)
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 pass = 0;
unsigned long flags;
@ -92,6 +92,3 @@ index dc71f8d83551..15360d797760 100644
if (unlikely(test_bit(HISI_SAS_REJECT_CMD_BIT, &hisi_hba->flags))) {
if (in_softirq())
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 +++++++++------
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 535c61391250..912d2342a5fe 100644
--- 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
===================================================================
--- linux.orig/drivers/scsi/hisi_sas/hisi_sas.h
+++ linux/drivers/scsi/hisi_sas/hisi_sas.h
@@ -211,7 +211,7 @@ struct hisi_sas_slot {
/* Do not reorder/change members after here */
void *buf;
@ -35,11 +35,11 @@ index 535c61391250..912d2342a5fe 100644
};
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 15360d797760..ab6c7938e172 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -1463,12 +1463,12 @@ static int hisi_sas_abort_task(struct sas_task *task)
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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 sa
if (task->lldd_task && task->task_proto & SAS_PROTOCOL_SSP) {
struct scsi_cmnd *cmnd = task->uldd_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,
&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);
tmf_task.tmf = TMF_QUERY_TASK;
@ -63,11 +63,11 @@ index 15360d797760..ab6c7938e172 100644
rc = hisi_sas_debug_issue_ssp_tmf(device,
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 e8e3a876e493..cb1198f0ddde 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -510,6 +510,7 @@ static void setup_itct_v1_hw(struct hisi_hba *hisi_hba,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
===================================================================
--- linux.orig/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
struct hisi_sas_itct *itct = &hisi_hba->itct[device_id];
struct asd_sas_port *sas_port = device->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));
@@ -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);
/* qw1 */
@ -86,7 +86,7 @@ index e8e3a876e493..cb1198f0ddde 100644
/* qw2 */
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;
hisi_sas_write32(hisi_hba, CFG_AGING_TIME, reg_val);
@ -95,7 +95,7 @@ index e8e3a876e493..cb1198f0ddde 100644
qw0 &= ~ITCT_HDR_VALID_MSK;
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:
{
int error = -1;
@ -104,7 +104,7 @@ index e8e3a876e493..cb1198f0ddde 100644
u32 dma_tx_err_type = ((dma_err_type &
ERR_HDR_DMA_TX_ERR_TYPE_MSK)) >>
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_OFF;
u32 trans_tx_fail_type =
@ -116,7 +116,7 @@ index e8e3a876e493..cb1198f0ddde 100644
if (dma_tx_err_type) {
/* 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;
complete_hdr = &complete_queue[rd_point];
@ -125,11 +125,11 @@ index e8e3a876e493..cb1198f0ddde 100644
idx = (cmplt_hdr_data & CMPLT_HDR_IPTT_MSK) >>
CMPLT_HDR_IPTT_OFF;
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 574a269e2865..c17dd500fba1 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -934,6 +934,7 @@ static void setup_itct_v2_hw(struct hisi_hba *hisi_hba,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
===================================================================
--- linux.orig/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
struct domain_device *parent_dev = device->parent;
struct asd_sas_port *sas_port = device->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));
@@ -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);
/* qw1 */
@ -148,7 +148,7 @@ index 574a269e2865..c17dd500fba1 100644
/* qw2 */
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 hisi_sas_err_record_v2 *err_record =
hisi_sas_status_buf_addr_mem(slot);
@ -165,7 +165,7 @@ index 574a269e2865..c17dd500fba1 100644
int error = -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);
} else if (err_phase == 2) {
/* error in RX phase, the priority is: DW1 > DW3 > DW2 */
@ -175,7 +175,7 @@ index 574a269e2865..c17dd500fba1 100644
if (error == -1) {
error = parse_dma_rx_err_code_v2_hw(
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];
unsigned long flags;
bool is_internal = slot->is_internal;
@ -183,7 +183,7 @@ index 574a269e2865..c17dd500fba1 100644
if (unlikely(!task || !task->lldd_task || !task->dev))
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 */
@ -195,7 +195,7 @@ index 574a269e2865..c17dd500fba1 100644
case STAT_IO_ABORTED:
/* this io has been aborted by abort command */
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;
}
@ -207,7 +207,7 @@ index 574a269e2865..c17dd500fba1 100644
>> CMPLT_HDR_ERR_PHASE_OFF;
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;
u8 *buf_cmd;
int has_data = 0, hdr_tag = 0;
@ -238,7 +238,7 @@ index 574a269e2865..c17dd500fba1 100644
/* dw1 */
switch (task->data_dir) {
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 */
if (complete_hdr->act) {
@ -269,7 +269,7 @@ index 574a269e2865..c17dd500fba1 100644
slot = &hisi_hba->slot_info[iptt];
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);
}
} else {
@ -280,7 +280,7 @@ index 574a269e2865..c17dd500fba1 100644
slot = &hisi_hba->slot_info[iptt];
slot->cmplt_queue_slot = rd_point;
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);
}
@ -289,11 +289,11 @@ index 574a269e2865..c17dd500fba1 100644
&dev_attr_phy_event_threshold,
NULL
};
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 7d7cb73e4bee..23f40b57b298 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -628,6 +628,7 @@ static void setup_itct_v3_hw(struct hisi_hba *hisi_hba,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
===================================================================
--- linux.orig/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
struct domain_device *parent_dev = device->parent;
struct asd_sas_port *sas_port = device->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));
@@ -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);
/* qw1 */
@ -312,7 +312,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
/* qw2 */
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];
struct hisi_sas_err_record_v3 *record =
hisi_sas_status_buf_addr_mem(slot);
@ -332,7 +332,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
ts->stat = SAS_QUEUE_FULL;
slot->abort = 1;
} 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) {
ts->residual = trans_tx_fail_type;
ts->stat = SAS_DATA_UNDERRUN;
@ -341,7 +341,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
ts->stat = SAS_PHY_DOWN;
slot->abort = 1;
} 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];
unsigned long flags;
bool is_internal = slot->is_internal;
@ -349,7 +349,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
if (unlikely(!task || !task->lldd_task || !task->dev))
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;
}
@ -366,7 +366,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
case STAT_IO_ABORTED:
/* this IO has been aborted by abort command */
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 */
@ -375,7 +375,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
u32 *error_info = hisi_sas_status_buf_addr_mem(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 "
"Error info: 0x%x 0x%x 0x%x 0x%x\n",
slot->idx, task, sas_dev->device_id,
@ -385,7 +385,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
error_info[0], error_info[1],
error_info[2], error_info[3]);
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) {
struct hisi_sas_complete_v3_hdr *complete_hdr;
struct device *dev = hisi_hba->dev;
@ -400,7 +400,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
if (likely(iptt < HISI_SAS_COMMAND_ENTRIES_V3_HW)) {
slot = &hisi_hba->slot_info[iptt];
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);
@ -409,7 +409,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
&dev_attr_phy_event_threshold,
&dev_attr_intr_conv_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 device *dev = hisi_hba->dev;
struct Scsi_Host *shost = hisi_hba->shost;
@ -418,7 +418,7 @@ index 7d7cb73e4bee..23f40b57b298 100644
int rc;
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 device *dev = hisi_hba->dev;
unsigned int rc;
@ -427,6 +427,3 @@ index 7d7cb73e4bee..23f40b57b298 100644
dev_warn(dev, "resuming from operating state [D%d]\n",
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 ++++++++++++++++----------
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 ab6c7938e172..18062e4ab9a5 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -297,6 +297,90 @@ static void hisi_sas_task_prep_abort(struct hisi_hba *hisi_hba,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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(str
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,
struct hisi_sas_dq **dq_pointer,
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;
}
@ -163,7 +163,7 @@ index ab6c7938e172..18062e4ab9a5 100644
if (hisi_hba->hw->slot_index_alloc)
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:
hisi_sas_slot_index_free(hisi_hba, slot_idx);
err_out_dma_unmap:
@ -185,6 +185,3 @@ index ab6c7938e172..18062e4ab9a5 100644
prep_out:
dev_err(dev, "task prep: failed[%d]!\n", 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 +--
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 18062e4ab9a5..764d651879cf 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -2426,7 +2426,6 @@ int hisi_sas_probe(struct platform_device *pdev,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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_devic
shost->max_lun = ~0;
shost->max_channel = 1;
shost->max_cmd_len = 16;
@ -33,11 +33,11 @@ index 18062e4ab9a5..764d651879cf 100644
if (hisi_hba->hw->slot_index_alloc) {
shost->can_queue = 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 cb1198f0ddde..ef23d26b2271 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -1814,7 +1814,7 @@ static struct scsi_host_template sht_v1_hw = {
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
===================================================================
--- linux.orig/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_
.change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param,
.this_id = -1,
@ -46,11 +46,11 @@ index cb1198f0ddde..ef23d26b2271 100644
.max_sectors = SCSI_DEFAULT_MAX_SECTORS,
.use_clustering = ENABLE_CLUSTERING,
.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 c17dd500fba1..0341fa72d97e 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -3576,7 +3576,7 @@ static struct scsi_host_template sht_v2_hw = {
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
===================================================================
--- linux.orig/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_
.change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param,
.this_id = -1,
@ -59,11 +59,11 @@ index c17dd500fba1..0341fa72d97e 100644
.max_sectors = SCSI_DEFAULT_MAX_SECTORS,
.use_clustering = ENABLE_CLUSTERING,
.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 23f40b57b298..6d584f232204 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -2229,7 +2229,7 @@ static struct scsi_host_template sht_v3_hw = {
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
===================================================================
--- linux.orig/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_
.change_queue_depth = sas_change_queue_depth,
.bios_param = sas_bios_param,
.this_id = -1,
@ -72,7 +72,7 @@ index 23f40b57b298..6d584f232204 100644
.max_sectors = SCSI_DEFAULT_MAX_SECTORS,
.use_clustering = ENABLE_CLUSTERING,
.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_channel = 1;
shost->max_cmd_len = 16;
@ -80,6 +80,3 @@ index 23f40b57b298..6d584f232204 100644
shost->can_queue = hisi_hba->hw->max_command_entries -
HISI_SAS_RESERVED_IPTT_CNT;
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 -------------
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 340baf6a470c..1dada183456c 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/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)
Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
===================================================================
--- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -5814,19 +5814,6 @@ static int hclge_reset_ae_dev(struct hna
return ret;
}
@ -41,6 +41,3 @@ index 340baf6a470c..1dada183456c 100644
ret = hclge_map_tqp(hdev);
if (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 +-
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 398971a062f4..a75b70ce41f8 100644
--- 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
===================================================================
--- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
+++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
@@ -14,7 +14,7 @@
SUPPORTED_Asym_Pause | \
PHY_10BT_FEATURES | \
@ -27,6 +27,3 @@ index 398971a062f4..a75b70ce41f8 100644
enum hclge_mdio_c22_op_seq {
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 ++++
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 a75b70ce41f8..bdbec85265f4 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
@@ -181,6 +181,10 @@ static void hclge_mac_adjust_link(struct net_device *netdev)
Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
===================================================================
--- linux.orig/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
int duplex, speed;
int ret;
@ -30,6 +30,3 @@ index a75b70ce41f8..bdbec85265f4 100644
speed = netdev->phydev->speed;
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 ++
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 821d4c2f84bd..827e8b13b545 100644
--- 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
===================================================================
--- linux.orig/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 {
#define HCLGE_PF_VEC_NUM_M GENMASK(7, 0)
__le16 pf_intr_vector_number;
@ -44,11 +44,11 @@ index 821d4c2f84bd..827e8b13b545 100644
#define HCLGE_TYPE_CRQ 0
#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 1dada183456c..47cbf06ea405 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -932,6 +932,18 @@ static int hclge_query_pf_resource(struct hclge_dev *hdev)
Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
===================================================================
--- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -931,6 +931,18 @@ static int hclge_query_pf_resource(struc
hdev->num_tqps = __le16_to_cpu(req->tqp_num);
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)) {
hdev->roce_base_msix_offset =
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);
if (hnae3_dev_dcb_supported(hdev))
@ -80,7 +80,7 @@ index 1dada183456c..47cbf06ea405 100644
shared_buf_tc = pfc_enable_num * hdev->mps +
(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;
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++) {
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++) {
struct hclge_priv_buf *priv = &buf_alloc->priv_buf[i];
@ -112,7 +112,7 @@ index 1dada183456c..47cbf06ea405 100644
else
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.high = priv->wl.low + aligned_mps;
priv->buf_size = priv->wl.high +
@ -127,7 +127,7 @@ index 1dada183456c..47cbf06ea405 100644
}
} else {
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)) {
priv->wl.low = 128;
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 1528fb3fa6be..629ee0148d4e 100644
--- 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
===================================================================
--- linux.orig/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 {
u32 flag;
@ -155,6 +155,3 @@ index 1528fb3fa6be..629ee0148d4e 100644
u32 mps; /* Max packet size */
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 ++++++++++++-------
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 47cbf06ea405..42a38ca966d1 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -31,6 +31,10 @@ static int hclge_set_mta_filter_mode(struct hclge_dev *hdev,
Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
===================================================================
--- linux.orig/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(str
enum hclge_mta_dmac_sel_type mta_mac_sel,
bool enable);
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_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
hdev->tx_buf_size = HCLGE_DEFAULT_TX_BUF;
@ -47,7 +47,7 @@ index 47cbf06ea405..42a38ca966d1 100644
if (hnae3_dev_roce_supported(hdev)) {
hdev->roce_base_msix_offset =
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;
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,
struct hclge_pkt_buf_alloc *buf_alloc)
{
@ -119,7 +119,7 @@ index 47cbf06ea405..42a38ca966d1 100644
u32 rx_all = hdev->pkt_buf_size, aligned_mps;
int no_pfc_priv_num, pfc_priv_num;
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;
if (hdev->tm_info.hw_pfc_map & BIT(i)) {
priv->wl.low = aligned_mps;
@ -133,7 +133,7 @@ index 47cbf06ea405..42a38ca966d1 100644
} else {
priv->wl.low = 0;
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;
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->buf_size = priv->wl.high + hdev->dv_buf_size;
} 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 +++--
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 42a38ca966d1..79232f584531 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -1621,10 +1621,11 @@ static bool hclge_is_rx_buf_ok(struct hclge_dev *hdev,
Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
===================================================================
--- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -1620,10 +1620,11 @@ static bool hclge_is_rx_buf_ok(struct h
shared_buf_tc = pfc_enable_num * aligned_mps +
(tc_num - pfc_enable_num) * aligned_mps / 2 +
aligned_mps;
@ -43,6 +43,3 @@ index 42a38ca966d1..79232f584531 100644
return false;
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 +-
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 79232f584531..8cc08ffee76f 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -1201,7 +1201,7 @@ static int hclge_configure(struct hclge_dev *hdev)
Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
===================================================================
--- linux.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -1200,7 +1200,7 @@ static int hclge_configure(struct hclge_
hdev->pfc_max = hdev->tc_max;
}
@ -28,6 +28,3 @@ index 79232f584531..8cc08ffee76f 100644
/* Currently not support uncontiuous tc */
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 ++--
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 e9d5a4f96304..499131840041 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c
+++ b/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,
Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c
===================================================================
--- linux.orig/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 h
u8 *resp_data, u16 resp_len)
{
#define HCLGEVF_MAX_TRY_TIMES 500
@ -28,7 +28,7 @@ index e9d5a4f96304..499131840041 100644
struct hclgevf_mbx_resp_status *mbx_resp;
u16 r_code0, r_code1;
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)) {
@ -37,6 +37,3 @@ index e9d5a4f96304..499131840041 100644
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 +-
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 5570fb5dc2eb..dca51d9cfa4f 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
@@ -1360,7 +1360,7 @@ static int hclgevf_configure(struct hclgevf_dev *hdev)
Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
===================================================================
--- linux.orig/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 hclg
static int hclgevf_alloc_hdev(struct hnae3_ae_dev *ae_dev)
{
struct pci_dev *pdev = ae_dev->pdev;
@ -26,6 +26,3 @@ index 5570fb5dc2eb..dca51d9cfa4f 100644
hdev = devm_kzalloc(&pdev->dev, sizeof(*hdev), GFP_KERNEL);
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 +++++-
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 0ccfa6a84535..895c43fd1d81 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
@@ -3439,11 +3439,15 @@ static int hns3_reset_notify_down_enet(struct hnae3_handle *handle)
Index: linux/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
===================================================================
--- linux.orig/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(s
static int hns3_reset_notify_up_enet(struct hnae3_handle *handle)
{
struct hnae3_knic_private_info *kinfo = &handle->kinfo;
@ -44,6 +44,3 @@ index 0ccfa6a84535..895c43fd1d81 100644
netdev_err(kinfo->netdev,
"hns net up fail, ret=%d!\n", 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 +++++++---
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 a442b29e7611..c7843d9817de 100644
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
@@ -3499,13 +3499,16 @@ static int hns_roce_v2_modify_qp(struct ib_qp *ibqp,
Index: linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
===================================================================
--- linux.orig/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
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_S, 0);
@ -37,7 +37,7 @@ index a442b29e7611..c7843d9817de 100644
}
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->sdb_en == 1) {
hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr);
@ -47,6 +47,3 @@ index a442b29e7611..c7843d9817de 100644
} else {
dev_warn(hr_dev->dev, "flush cqe is unsupported in userspace!\n");
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 ++-
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 efb7e961ca65..de1676e25828 100644
--- a/drivers/infiniband/hw/hns/hns_roce_qp.c
+++ b/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)
Index: linux/drivers/infiniband/hw/hns/hns_roce_qp.c
===================================================================
--- linux.orig/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_
static int hns_roce_qp_has_rq(struct ib_qp_init_attr *attr)
{
if (attr->qp_type == IB_QPT_XRC_INI ||
@ -27,6 +27,3 @@ index efb7e961ca65..de1676e25828 100644
return 0;
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 ++++++++++----
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 c7843d9817de..627f77a6e0a9 100644
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
@@ -3398,10 +3398,16 @@ static int modify_qp_rtr_to_rts(struct ib_qp *ibqp,
Index: linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
===================================================================
--- linux.orig/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 i
V2_QPC_BYTE_212_LSN_S, 0);
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,
--
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 +-
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 627f77a6e0a9..e521cc740120 100644
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
+++ b/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)
Index: linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
===================================================================
--- linux.orig/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 hn
caps->mpt_ba_pg_sz = 0;
caps->mpt_buf_pg_sz = 0;
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_hop_num = HNS_ROCE_PBL_HOP_NUM;
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 ++++++++++---------
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 de1676e25828..b3ad35310925 100644
--- a/drivers/infiniband/hw/hns/hns_roce_qp.c
+++ b/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,
Index: linux/drivers/infiniband/hw/hns/hns_roce_qp.c
===================================================================
--- linux.orig/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(str
dev_err(dev, "rq record doorbell map failed!\n");
goto err_sq_dbmap;
}
@ -30,7 +30,7 @@ index de1676e25828..b3ad35310925 100644
}
} else {
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
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;
@@ -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) {
if (hr_qp->sdb_en == 1) {
hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr);
@ -61,6 +61,3 @@ index de1676e25828..b3ad35310925 100644
} else {
dev_warn(dev, "flush cqe is not supported in userspace!\n");
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 ++++----
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 764d651879cf..3c03de9d18dd 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -1088,11 +1088,11 @@ static int hisi_sas_exec_internal_tmf_task(struct domain_device *device,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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_ta
if ((task->task_state_flags & SAS_TASK_STATE_ABORTED)) {
if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) {
struct hisi_sas_slot *slot = task->lldd_task;
@ -45,7 +45,7 @@ index 764d651879cf..3c03de9d18dd 100644
/*
* flush tasklet to avoid free'ing task
* 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_DONE)) {
struct hisi_sas_slot *slot = task->lldd_task;
@ -58,6 +58,3 @@ index 764d651879cf..3c03de9d18dd 100644
/*
* flush tasklet to avoid free'ing task
* 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 +++++---
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 3c03de9d18dd..8aeb92d9144e 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -2339,6 +2339,7 @@ static struct Scsi_Host *hisi_sas_shost_alloc(struct platform_device *pdev,
Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c
===================================================================
--- linux.orig/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_
struct Scsi_Host *shost;
struct hisi_hba *hisi_hba;
struct device *dev = &pdev->dev;
@ -34,7 +34,7 @@ index 3c03de9d18dd..8aeb92d9144e 100644
shost = scsi_host_alloc(hw->sht, sizeof(*hisi_hba));
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)
goto err_out;
@ -48,11 +48,11 @@ index 3c03de9d18dd..8aeb92d9144e 100644
dev_err(dev, "No usable DMA addressing method\n");
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 6d584f232204..434f017afadc 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/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)
Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
===================================================================
--- linux.orig/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,
if (rc)
goto err_out_disable_device;
@ -68,6 +68,3 @@ index 6d584f232204..434f017afadc 100644
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 ++++++++++
8 files changed, 100 insertions(+)
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
Index: linux/arch/mips/Kconfig
===================================================================
--- linux.orig/arch/mips/Kconfig
+++ linux/arch/mips/Kconfig
@@ -1397,6 +1397,21 @@ config LOONGSON3_ENHANCEMENT
please say 'N' here. If you want a high-performance kernel to run on
new Loongson 3 machines only, please say 'Y' here.
@ -109,8 +111,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
config CPU_LOONGSON2E
bool "Loongson 2E"
depends on SYS_HAS_CPU_LOONGSON2E
--- a/arch/mips/include/asm/atomic.h
+++ b/arch/mips/include/asm/atomic.h
Index: linux/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
if (kernel_uses_llsc) { \
int temp; \
@ -159,8 +163,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
__asm__ __volatile__( \
" .set "MIPS_ISA_LEVEL" \n" \
"1: lld %1, %2 # atomic64_fetch_" #op "\n" \
--- a/arch/mips/include/asm/barrier.h
+++ b/arch/mips/include/asm/barrier.h
Index: linux/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 @@
#define __smp_mb__before_atomic() __smp_mb__before_llsc()
#define __smp_mb__after_atomic() smp_llsc_mb()
@ -204,8 +210,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
#include <asm-generic/barrier.h>
#endif /* __ASM_BARRIER_H */
--- a/arch/mips/include/asm/bitops.h
+++ b/arch/mips/include/asm/bitops.h
Index: linux/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
: "ir" (1UL << bit), GCC_OFF_SMALL_ASM() (*m));
#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6)
@ -246,8 +254,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
do {
__asm__ __volatile__(
" .set "MIPS_ISA_ARCH_LEVEL" \n"
--- a/arch/mips/include/asm/futex.h
+++ b/arch/mips/include/asm/futex.h
Index: linux/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 @@
"i" (-EFAULT) \
: "memory"); \
@ -272,8 +282,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
} else
return -ENOSYS;
--- a/arch/mips/include/asm/pgtable.h
+++ b/arch/mips/include/asm/pgtable.h
Index: linux/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,
: [buddy] "+m" (buddy->pte), [tmp] "=&r" (tmp)
: [global] "r" (page_global));
@ -290,8 +302,10 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
}
#else /* !CONFIG_SMP */
if (pte_none(*buddy))
--- a/arch/mips/loongson64/Platform
+++ b/arch/mips/loongson64/Platform
Index: linux/arch/mips/loongson64/Platform
===================================================================
--- linux.orig/arch/mips/loongson64/Platform
+++ linux/arch/mips/loongson64/Platform
@@ -23,6 +23,29 @@ ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS
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
# as MIPS64 R2; older versions as just R1. This leaves the possibility open
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -931,6 +931,8 @@ build_get_pgd_vmalloc64(u32 **p, struct
Index: linux/arch/mips/mm/tlbex.c
===================================================================
--- 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
* 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_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)
{
#ifdef CONFIG_SMP
@ -342,7 +358,7 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
# ifdef CONFIG_PHYS_ADDR_T_64BIT
if (cpu_has_64bits)
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
uasm_l_nopage_tlbl(&l, p);
@ -351,7 +367,7 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
build_restore_work_registers(&p);
#ifdef CONFIG_CPU_MICROMIPS
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
uasm_l_nopage_tlbs(&l, p);
@ -360,7 +376,7 @@ Cc: Xu Chenghua <xuchenghua@loongson.cn>
build_restore_work_registers(&p);
#ifdef CONFIG_CPU_MICROMIPS
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
uasm_l_nopage_tlbm(&l, p);

View File

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

View File

@ -13,8 +13,10 @@ error.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
Index: linux/arch/powerpc/Makefile
===================================================================
--- linux.orig/arch/powerpc/Makefile
+++ linux/arch/powerpc/Makefile
@@ -12,7 +12,7 @@
# 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 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
Index: linux/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
obj-y += checksum_$(BITS).o checksum_wrappers.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 ++++
1 file changed, 4 insertions(+)
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -2671,12 +2671,16 @@ void emulate_update_regs(struct pt_regs
Index: linux/arch/powerpc/lib/sstep.c
===================================================================
--- 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:
eieio();
break;

View File

@ -15,8 +15,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/powerpc/Makefile | 2 ++
1 file changed, 2 insertions(+)
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
Index: linux/arch/powerpc/Makefile
===================================================================
--- linux.orig/arch/powerpc/Makefile
+++ linux/arch/powerpc/Makefile
@@ -403,7 +403,9 @@ vdso_install:
ifdef CONFIG_PPC64
$(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 ++--
4 files changed, 18 insertions(+), 18 deletions(-)
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
Index: linux/arch/sh/Makefile
===================================================================
--- linux.orig/arch/sh/Makefile
+++ linux/arch/sh/Makefile
@@ -119,16 +119,16 @@ LDFLAGS_vmlinux += --defsym phys_stext=
endif
@ -47,8 +49,10 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
head-y := arch/sh/kernel/head_$(BITS).o
--- a/arch/sh/boot/Makefile
+++ b/arch/sh/boot/Makefile
Index: linux/arch/sh/boot/Makefile
===================================================================
--- linux.orig/arch/sh/boot/Makefile
+++ linux/arch/sh/boot/Makefile
@@ -19,12 +19,12 @@ CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000
CONFIG_ENTRY_OFFSET ?= 0x00001000
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 \
- KERNEL_MEMORY suffix-y
+ KERNEL_MEMORY suffix_y
--- a/arch/sh/boot/compressed/Makefile
+++ b/arch/sh/boot/compressed/Makefile
Index: linux/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)
KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
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
$(call if_changed,ld)
--- a/arch/sh/boot/romimage/Makefile
+++ b/arch/sh/boot/romimage/Makefile
Index: linux/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) :
load-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-load-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 +++++++++++++++-------
3 files changed, 68 insertions(+), 19 deletions(-)
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
Index: linux/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
#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))
@ -71,9 +73,11 @@ Reviewed-by: Chris Wilson <chris.p.wilson@intel.com>
int i915_gem_object_unbind(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
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4414,6 +4414,20 @@ i915_gem_object_ggtt_pin(struct drm_i915
Index: linux/drivers/gpu/drm/i915/i915_gem.c
===================================================================
--- 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 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;
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);
}
@ -103,8 +107,10 @@ Reviewed-by: Chris Wilson <chris.p.wilson@intel.com>
if (ret)
return ERR_PTR(ret);
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
Index: linux/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
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 ++++++++++++++++++++++++++++++-
6 files changed, 126 insertions(+), 4 deletions(-)
--- a/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
Index: linux/drivers/gpu/drm/i915/i915_drv.c
===================================================================
--- 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);
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);
/*
@@ -1847,6 +1848,8 @@ static int i915_drm_resume_early(struct
@@ -1853,6 +1854,8 @@ static int i915_drm_resume_early(struct
else
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);
enable_rpm_wakeref_asserts(dev_priv);
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
Index: linux/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 {
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_BURST_READ(dev_priv) (INTEL_GEN(dev_priv) >= 10 || \
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
Index: linux/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
if (INTEL_GEN(i915) >= 6)
gen6_rps_idle(i915);
@ -99,8 +105,10 @@ Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
i915->gt.awake = true;
if (unlikely(++i915->gt.epoch == 0)) /* keep 0 as invalid */
i915->gt.epoch = 1;
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
Index: linux/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
#define ECOCHK_PPGTT_WT_HSW (0x2 << 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 ECOBITS_SNB_BIT (1 << 13)
#define ECOBITS_PPGTT_CACHE64B (3 << 8)
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
Index: linux/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
void intel_enable_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_reset_ei(struct drm_i915_private *dev_priv);
void gen6_rps_idle(struct drm_i915_private *dev_priv);
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
Index: linux/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
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 +++++++++++++--------------
6 files changed, 28 insertions(+), 30 deletions(-)
--- a/Documentation/virtual/kvm/locking.txt
+++ b/Documentation/virtual/kvm/locking.txt
Index: linux/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
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
Protects: - vm_list
--- a/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
Index: linux/arch/s390/kvm/kvm-s390.c
===================================================================
--- 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);
if (!kvm->arch.sca)
goto out_err;
@ -58,8 +62,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
sprintf(debug_name, "kvm-%u", current->pid);
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
Index: linux/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,
int nr_to_scan = sc->nr_to_scan;
unsigned long freed = 0;
@ -78,9 +84,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
return freed;
}
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -6498,7 +6498,7 @@ static void kvm_hyperv_tsc_notifier(void
Index: linux/arch/x86/kvm/x86.c
===================================================================
--- 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;
int cpu;
@ -89,7 +97,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
list_for_each_entry(kvm, &vm_list, vm_list)
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);
}
@ -98,7 +106,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
#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);
@ -119,7 +127,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
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;
int i;
@ -134,8 +142,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
static DECLARE_WORK(pvclock_gtod_work, pvclock_gtod_update_fn);
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
Index: linux/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
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;
struct kvm_io_range {
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
Index: linux/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);
* 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 ++
6 files changed, 200 insertions(+), 13 deletions(-)
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
Index: linux/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 @@
KVM MMU at runtime.
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.
Default is 1 (enabled)
@@ -2522,6 +2535,12 @@
@@ -2524,6 +2537,12 @@
l1tf=off [X86]
mds=off [X86]
tsx_async_abort=off [X86]
@ -72,8 +74,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
auto (default)
Mitigate all CPU vulnerabilities, but leave SMT
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
Index: linux/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 {
/* hold the gfn of each spte inside spt */
gfn_t *gfns;
@ -82,7 +86,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
int root_count; /* Currently serving as active root */
unsigned int unsync_children;
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 remote_tlb_flush;
ulong lpages;
@ -90,8 +94,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
ulong max_mmu_page_hash_collisions;
};
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
Index: linux/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)
x86_amd_ssb_disable();
}
@ -129,8 +135,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
static ssize_t mds_show_state(char *buf)
{
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
Index: linux/arch/x86/kvm/mmu.c
===================================================================
--- linux.orig/arch/x86/kvm/mmu.c
+++ linux/arch/x86/kvm/mmu.c
@@ -49,6 +49,20 @@
#include <asm/kvm_page_track.h>
#include "trace.h"
@ -387,8 +395,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kvm_mmu_reset_all_pte_masks();
pte_list_desc_cache = kmem_cache_create("pte_list_desc",
--- a/arch/x86/kvm/paging_tmpl.h
+++ b/arch/x86/kvm/paging_tmpl.h
Index: linux/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
static int FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr,
struct guest_walker *gw,
@ -465,8 +475,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kvm_mmu_audit(vcpu, AUDIT_POST_PAGE_FAULT);
out_unlock:
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
Index: linux/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
{ "mmu_unsync", VM_STAT(mmu_unsync) },
{ "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",
VM_STAT(max_mmu_page_hash_collisions) },
{ 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);
/*

View File

@ -26,8 +26,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
virt/kvm/kvm_main.c | 30 +++-
6 files changed, 183 insertions(+), 1 deletion(-)
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
Index: linux/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 @@
If the software workaround is enabled for the host,
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.
Default is 1 (enabled)
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
Index: linux/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 {
struct kvm_mmu_page {
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
@@ -805,6 +806,7 @@ struct kvm_arch {
@@ -808,6 +809,7 @@ struct kvm_arch {
*/
struct list_head active_mmu_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_head track_notifier_head;
@@ -875,6 +877,8 @@ struct kvm_arch {
@@ -878,6 +880,8 @@ struct kvm_arch {
bool x2apic_broadcast_quirk_disabled;
bool guest_can_read_msr_platform_info;
@ -68,8 +72,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
};
struct kvm_vm_stat {
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
Index: linux/arch/x86/kvm/mmu.c
===================================================================
--- linux.orig/arch/x86/kvm/mmu.c
+++ linux/arch/x86/kvm/mmu.c
@@ -40,6 +40,7 @@
#include <linux/uaccess.h>
#include <linux/hash.h>
@ -131,7 +137,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
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);
mmu_audit_disable();
}
@ -248,8 +254,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+ if (kvm->arch.nx_lpage_recovery_thread)
+ kthread_stop(kvm->arch.nx_lpage_recovery_thread);
+}
--- a/arch/x86/kvm/mmu.h
+++ b/arch/x86/kvm/mmu.h
Index: linux/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_
bool kvm_mmu_slot_gfn_write_protect(struct kvm *kvm,
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);
+
#endif
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8960,6 +8960,7 @@ int kvm_arch_init_vm(struct kvm *kvm, un
Index: linux/arch/x86/kvm/x86.c
===================================================================
--- 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_LIST_HEAD(&kvm->arch.active_mmu_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);
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;
}
@ -281,7 +291,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
static void kvm_unload_vcpu_mmu(struct kvm_vcpu *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);
@ -293,8 +303,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
void kvm_arch_destroy_vm(struct kvm *kvm)
{
if (current->mm == kvm->mm) {
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
Index: linux/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
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>
---
--- a/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)
Index: linux/tools/perf/arch/x86/util/unwind-libunwind.c
===================================================================
--- 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;
default:
pr_err("unwind: invalid reg id %d\n", regnum);
@ -24,7 +26,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
}
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;
default:
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 +++++++
1 file changed, 7 insertions(+)
--- a/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_
Index: linux/drivers/platform/x86/ideapad-laptop.c
===================================================================
--- 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 +++++++
1 file changed, 7 insertions(+)
--- a/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_
Index: linux/drivers/platform/x86/ideapad-laptop.c
===================================================================
--- 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 +++++++
1 file changed, 7 insertions(+)
--- a/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_
Index: linux/drivers/platform/x86/ideapad-laptop.c
===================================================================
--- 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 +++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)
--- a/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_
Index: linux/drivers/platform/x86/ideapad-laptop.c
===================================================================
--- 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",
.matches = {
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",
.matches = {
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 +++++++
1 file changed, 7 insertions(+)
--- a/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_
Index: linux/drivers/platform/x86/ideapad-laptop.c
===================================================================
--- 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 +++++++
1 file changed, 7 insertions(+)
--- a/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_
Index: linux/drivers/platform/x86/ideapad-laptop.c
===================================================================
--- 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 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -38,7 +38,7 @@ ifeq ($(SRCARCH),x86)
Index: linux/tools/perf/Makefile.config
===================================================================
--- 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
$(call detected,CONFIG_X86_64)
else

View File

@ -18,8 +18,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kvm/x86.c | 8 ++++++++
2 files changed, 16 insertions(+)
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
Index: linux/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
/* PKU is not yet implemented for shadow paging. */
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
* if the host doesn't support it.
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1127,8 +1127,16 @@ u64 kvm_get_arch_capabilities(void)
Index: linux/arch/x86/kvm/x86.c
===================================================================
--- 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)
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(-)
create mode 100644 arch/x86/kernel/cpu/tsx.c
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4685,6 +4685,32 @@
Index: linux/Documentation/admin-guide/kernel-parameters.txt
===================================================================
--- 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
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 parallel port interface
Format:
--- a/arch/x86/kernel/cpu/Makefile
+++ b/arch/x86/kernel/cpu/Makefile
Index: linux/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
obj-$(CONFIG_PROC_FS) += proc.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_CYRIX_32) += cyrix.o
obj-$(CONFIG_CPU_SUP_CENTAUR) += centaur.o
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
Index: linux/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)
enable_sep_cpu();
#endif
@ -88,8 +94,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
}
void identify_secondary_cpu(struct cpuinfo_x86 *c)
--- a/arch/x86/kernel/cpu/cpu.h
+++ b/arch/x86/kernel/cpu/cpu.h
Index: linux/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 {
extern const struct cpu_dev *const __x86_cpu_dev_start[],
*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_address_sizes(struct cpuinfo_x86 *c);
extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c);
--- a/arch/x86/kernel/cpu/intel.c
+++ b/arch/x86/kernel/cpu/intel.c
Index: linux/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
init_intel_energy_perf(c);
@ -127,8 +137,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
}
#ifdef CONFIG_X86_32
Index: linux/arch/x86/kernel/cpu/tsx.c
===================================================================
--- /dev/null
+++ b/arch/x86/kernel/cpu/tsx.c
+++ linux/arch/x86/kernel/cpu/tsx.c
@@ -0,0 +1,125 @@
+// 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 +++++++++++++++++++
1 file changed, 19 insertions(+)
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1134,6 +1134,25 @@ u64 kvm_get_arch_capabilities(void)
Index: linux/arch/x86/kvm/x86.c
===================================================================
--- 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))
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 ++++++-
2 files changed, 9 insertions(+), 1 deletion(-)
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -4706,6 +4706,9 @@
Index: linux/Documentation/admin-guide/kernel-parameters.txt
===================================================================
--- 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
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.
See Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
--- a/arch/x86/kernel/cpu/tsx.c
+++ b/arch/x86/kernel/cpu/tsx.c
Index: linux/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
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/x86/tsx_async_abort.rst
--- a/Documentation/ABI/testing/sysfs-devices-system-cpu
+++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
Index: linux/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
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
/sys/devices/system/cpu/vulnerabilities/l1tf
@ -40,15 +42,19 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Date: January 2018
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description: Information about CPU vulnerabilities
--- a/Documentation/admin-guide/hw-vuln/index.rst
+++ b/Documentation/admin-guide/hw-vuln/index.rst
Index: linux/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
spectre
l1tf
mds
+ tsx_async_abort
Index: linux/Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
===================================================================
--- /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 @@
+.. 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:
+
+ - Deploy TSX disable mitigation (tsx_async_abort=full tsx=off).
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -2521,6 +2521,7 @@
spec_store_bypass_disable=off [X86,PPC]
Index: linux/Documentation/admin-guide/kernel-parameters.txt
===================================================================
--- linux.orig/Documentation/admin-guide/kernel-parameters.txt
+++ linux/Documentation/admin-guide/kernel-parameters.txt
@@ -2523,6 +2523,7 @@
ssbd=force-off [ARM64]
l1tf=off [X86]
mds=off [X86]
+ tsx_async_abort=off [X86]
auto (default)
Mitigate all CPU vulnerabilities, but leave SMT
@@ -2536,6 +2537,7 @@
@@ -2538,6 +2539,7 @@
be fully mitigated, even if it means losing SMT.
Equivalent to: l1tf=flush,nosmt [X86]
mds=full,nosmt [X86]
@ -344,7 +352,7 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
mminit_loglevel=
[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
for more details.
@ -387,15 +395,19 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
turbografx.map[2|3]= [HW,JOY]
TurboGraFX parallel port interface
Format:
--- a/Documentation/x86/index.rst
+++ b/Documentation/x86/index.rst
Index: linux/Documentation/x86/index.rst
===================================================================
--- linux.orig/Documentation/x86/index.rst
+++ linux/Documentation/x86/index.rst
@@ -6,3 +6,4 @@ x86 architecture specifics
:maxdepth: 1
mds
+ tsx_async_abort
Index: linux/Documentation/x86/tsx_async_abort.rst
===================================================================
--- /dev/null
+++ b/Documentation/x86/tsx_async_abort.rst
+++ linux/Documentation/x86/tsx_async_abort.rst
@@ -0,0 +1,117 @@
+.. 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 +++++++++++++------
2 files changed, 61 insertions(+), 6 deletions(-)
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
Index: linux/arch/x86/Kconfig
===================================================================
--- linux.orig/arch/x86/Kconfig
+++ linux/arch/x86/Kconfig
@@ -1903,6 +1903,51 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS
If unsure, say y.
@ -86,8 +88,10 @@ Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
config EFI
bool "EFI runtime service support"
depends on ACPI
--- a/arch/x86/kernel/cpu/tsx.c
+++ b/arch/x86/kernel/cpu/tsx.c
Index: linux/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
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 +++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
index 980bd9d20646..b4f32dd37c67 100644
--- a/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c
@@ -2554,7 +2554,8 @@ int get_thread_siblings(struct cpu_topology *thiscpu)
Index: linux/tools/power/x86/turbostat/turbostat.c
===================================================================
--- linux.orig/tools/power/x86/turbostat/turbostat.c
+++ linux/tools/power/x86/turbostat/turbostat.c
@@ -2554,7 +2554,8 @@ int get_thread_siblings(struct cpu_topol
filep = fopen_or_die(path, "r");
do {
offset -= BITMASK_SIZE;
@ -92,7 +92,7 @@ index 980bd9d20646..b4f32dd37c67 100644
fprintf(outf, "cpufreq intel_pstate no_turbo: %d\n", turbo);
fclose(input);
}
@@ -5293,7 +5299,8 @@ void probe_sysfs(void)
@@ -5296,7 +5302,8 @@ void probe_sysfs(void)
input = fopen(path, "r");
if (input == NULL)
continue;
@ -102,7 +102,7 @@ index 980bd9d20646..b4f32dd37c67 100644
/* truncate "C1-HSW\n" to "C1", or truncate "C1\n" to "C1" */
sp = strchr(name_buf, '-');
@@ -5320,7 +5327,8 @@ void probe_sysfs(void)
@@ -5323,7 +5330,8 @@ void probe_sysfs(void)
input = fopen(path, "r");
if (input == NULL)
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.
---
--- a/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
Index: linux/drivers/video/fbdev/via/via-core.c
===================================================================
--- 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 },
{ }
};

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.
---
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
Index: linux/arch/x86/Kconfig.cpu
===================================================================
--- linux.orig/arch/x86/Kconfig.cpu
+++ linux/arch/x86/Kconfig.cpu
@@ -337,7 +337,7 @@ config X86_USE_PPRO_CHECKSUM
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.
---
--- a/arch/powerpc/include/asm/paca.h
+++ b/arch/powerpc/include/asm/paca.h
Index: linux/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 {
u8 pmcregs_in_use; /* pseries puts this in lppaca */
#endif
@ -21,8 +23,10 @@ since they won't affect out-of-tree modules.
u64 tm_scratch; /* TM scratch area for reclaim */
#endif
--- a/arch/powerpc/include/asm/processor.h
+++ b/arch/powerpc/include/asm/processor.h
Index: linux/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 {
call or trap return */
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>
[bwh: Remove unneeded binary sysctl bits]
---
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -102,6 +102,11 @@
Index: linux/kernel/fork.c
===================================================================
--- linux.orig/kernel/fork.c
+++ linux/kernel/fork.c
@@ -103,6 +103,11 @@
#define CREATE_TRACE_POINTS
#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
@@ -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))
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
* 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)
unshare_flags |= CLONE_FS;
@ -51,8 +53,10 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
err = check_unshare_flags(unshare_flags);
if (err)
goto bad_unshare_out;
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
Index: linux/kernel/sysctl.c
===================================================================
--- linux.orig/kernel/sysctl.c
+++ linux/kernel/sysctl.c
@@ -105,6 +105,9 @@ extern int core_uses_pid;
extern char core_pattern[];
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_min, pid_max_max;
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,
.proc_handler = proc_dointvec,
},
@ -79,8 +83,10 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
#endif
#ifdef CONFIG_PROC_SYSCTL
{
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
Index: linux/kernel/user_namespace.c
===================================================================
--- linux.orig/kernel/user_namespace.c
+++ linux/kernel/user_namespace.c
@@ -26,6 +26,9 @@
#include <linux/bsearch.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 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--- a/net/ieee802154/socket.c
+++ b/net/ieee802154/socket.c
@@ -1122,4 +1122,4 @@ module_init(af_ieee802154_init);
Index: linux/net/ieee802154/socket.c
===================================================================
--- 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_LICENSE("GPL");

View File

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

View File

@ -15,9 +15,11 @@ Signed-off-by: Adam Borowski <kilobyte@angband.pl>
fs/btrfs/disk-io.c | 8 ++++++++
1 file changed, 8 insertions(+)
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -3060,6 +3060,15 @@ retry_root_backup:
Index: linux/fs/btrfs/disk-io.c
===================================================================
--- 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");
}

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