From: Greg Kroah-Hartman Date: Mon, 28 Oct 2019 13:53:18 +0000 (+0100) Subject: drop broken mips patches from 4.4, 4.9, and 4.14 X-Git-Tag: v4.4.198~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e034cbed3d89edf3da4091190a9b4eafd7e0aa12;p=thirdparty%2Fkernel%2Fstable-queue.git drop broken mips patches from 4.4, 4.9, and 4.14 --- diff --git a/queue-4.14/mips-elf_hwcap-export-userspace-ases.patch b/queue-4.14/mips-elf_hwcap-export-userspace-ases.patch deleted file mode 100644 index e6fe8145cc0..00000000000 --- a/queue-4.14/mips-elf_hwcap-export-userspace-ases.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 464b795b806edbff048ecc66e7b3f2c62491bfef Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 22 Oct 2019 00:49:52 +0800 -Subject: MIPS: elf_hwcap: Export userspace ASEs - -From: Jiaxun Yang - -[ Upstream commit 38dffe1e4dde1d3174fdce09d67370412843ebb5 ] - -A Golang developer reported MIPS hwcap isn't reflecting instructions -that the processor actually supported so programs can't apply optimized -code at runtime. - -Thus we export the ASEs that can be used in userspace programs. - -Reported-by: Meng Zhuo -Signed-off-by: Jiaxun Yang -Cc: linux-mips@vger.kernel.org -Cc: Paul Burton -Cc: # 4.14+ -Signed-off-by: Paul Burton -Signed-off-by: Sasha Levin ---- - arch/mips/include/uapi/asm/hwcap.h | 11 ++++++++++ - arch/mips/kernel/cpu-probe.c | 33 ++++++++++++++++++++++++++++++ - 2 files changed, 44 insertions(+) - -diff --git a/arch/mips/include/uapi/asm/hwcap.h b/arch/mips/include/uapi/asm/hwcap.h -index 600ad8fd68356..2475294c3d185 100644 ---- a/arch/mips/include/uapi/asm/hwcap.h -+++ b/arch/mips/include/uapi/asm/hwcap.h -@@ -5,5 +5,16 @@ - /* HWCAP flags */ - #define HWCAP_MIPS_R6 (1 << 0) - #define HWCAP_MIPS_MSA (1 << 1) -+#define HWCAP_MIPS_MIPS16 (1 << 3) -+#define HWCAP_MIPS_MDMX (1 << 4) -+#define HWCAP_MIPS_MIPS3D (1 << 5) -+#define HWCAP_MIPS_SMARTMIPS (1 << 6) -+#define HWCAP_MIPS_DSP (1 << 7) -+#define HWCAP_MIPS_DSP2 (1 << 8) -+#define HWCAP_MIPS_DSP3 (1 << 9) -+#define HWCAP_MIPS_MIPS16E2 (1 << 10) -+#define HWCAP_LOONGSON_MMI (1 << 11) -+#define HWCAP_LOONGSON_EXT (1 << 12) -+#define HWCAP_LOONGSON_EXT2 (1 << 13) - - #endif /* _UAPI_ASM_HWCAP_H */ -diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c -index 3007ae1bb616a..c38cd62879f4e 100644 ---- a/arch/mips/kernel/cpu-probe.c -+++ b/arch/mips/kernel/cpu-probe.c -@@ -2080,6 +2080,39 @@ void cpu_probe(void) - elf_hwcap |= HWCAP_MIPS_MSA; - } - -+ if (cpu_has_mips16) -+ elf_hwcap |= HWCAP_MIPS_MIPS16; -+ -+ if (cpu_has_mdmx) -+ elf_hwcap |= HWCAP_MIPS_MDMX; -+ -+ if (cpu_has_mips3d) -+ elf_hwcap |= HWCAP_MIPS_MIPS3D; -+ -+ if (cpu_has_smartmips) -+ elf_hwcap |= HWCAP_MIPS_SMARTMIPS; -+ -+ if (cpu_has_dsp) -+ elf_hwcap |= HWCAP_MIPS_DSP; -+ -+ if (cpu_has_dsp2) -+ elf_hwcap |= HWCAP_MIPS_DSP2; -+ -+ if (cpu_has_dsp3) -+ elf_hwcap |= HWCAP_MIPS_DSP3; -+ -+ if (cpu_has_loongson_mmi) -+ elf_hwcap |= HWCAP_LOONGSON_MMI; -+ -+ if (cpu_has_loongson_mmi) -+ elf_hwcap |= HWCAP_LOONGSON_CAM; -+ -+ if (cpu_has_loongson_ext) -+ elf_hwcap |= HWCAP_LOONGSON_EXT; -+ -+ if (cpu_has_loongson_ext) -+ elf_hwcap |= HWCAP_LOONGSON_EXT2; -+ - if (cpu_has_vz) - cpu_probe_vz(c); - --- -2.20.1 - diff --git a/queue-4.14/mips-treat-loongson-extensions-as-ases.patch b/queue-4.14/mips-treat-loongson-extensions-as-ases.patch deleted file mode 100644 index b9240ac311c..00000000000 --- a/queue-4.14/mips-treat-loongson-extensions-as-ases.patch +++ /dev/null @@ -1,115 +0,0 @@ -From e1181941c9050705d92fb686abd21cc3f2bee885 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 22 Oct 2019 00:49:51 +0800 -Subject: MIPS: Treat Loongson Extensions as ASEs - -From: Jiaxun Yang - -[ Upstream commit d2f965549006acb865c4638f1f030ebcefdc71f6 ] - -Recently, binutils had split Loongson-3 Extensions into four ASEs: -MMI, CAM, EXT, EXT2. This patch do the samething in kernel and expose -them in cpuinfo so applications can probe supported ASEs at runtime. - -Signed-off-by: Jiaxun Yang -Cc: Huacai Chen -Cc: Yunqiang Su -Cc: stable@vger.kernel.org # v4.14+ -Signed-off-by: Paul Burton -Cc: linux-mips@vger.kernel.org -Signed-off-by: Sasha Levin ---- - arch/mips/include/asm/cpu-features.h | 16 ++++++++++++++++ - arch/mips/include/asm/cpu.h | 4 ++++ - arch/mips/kernel/cpu-probe.c | 4 ++++ - arch/mips/kernel/proc.c | 4 ++++ - 4 files changed, 28 insertions(+) - -diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h -index 721b698bfe3cf..1befd483d5a3b 100644 ---- a/arch/mips/include/asm/cpu-features.h -+++ b/arch/mips/include/asm/cpu-features.h -@@ -348,6 +348,22 @@ - #define cpu_has_dsp3 (cpu_data[0].ases & MIPS_ASE_DSP3) - #endif - -+#ifndef cpu_has_loongson_mmi -+#define cpu_has_loongson_mmi __ase(MIPS_ASE_LOONGSON_MMI) -+#endif -+ -+#ifndef cpu_has_loongson_cam -+#define cpu_has_loongson_cam __ase(MIPS_ASE_LOONGSON_CAM) -+#endif -+ -+#ifndef cpu_has_loongson_ext -+#define cpu_has_loongson_ext __ase(MIPS_ASE_LOONGSON_EXT) -+#endif -+ -+#ifndef cpu_has_loongson_ext2 -+#define cpu_has_loongson_ext2 __ase(MIPS_ASE_LOONGSON_EXT2) -+#endif -+ - #ifndef cpu_has_mipsmt - #define cpu_has_mipsmt (cpu_data[0].ases & MIPS_ASE_MIPSMT) - #endif -diff --git a/arch/mips/include/asm/cpu.h b/arch/mips/include/asm/cpu.h -index d39324c4adf13..a6fdf13585916 100644 ---- a/arch/mips/include/asm/cpu.h -+++ b/arch/mips/include/asm/cpu.h -@@ -433,5 +433,9 @@ enum cpu_type_enum { - #define MIPS_ASE_MSA 0x00000100 /* MIPS SIMD Architecture */ - #define MIPS_ASE_DSP3 0x00000200 /* Signal Processing ASE Rev 3*/ - #define MIPS_ASE_MIPS16E2 0x00000400 /* MIPS16e2 */ -+#define MIPS_ASE_LOONGSON_MMI 0x00000800 /* Loongson MultiMedia extensions Instructions */ -+#define MIPS_ASE_LOONGSON_CAM 0x00001000 /* Loongson CAM */ -+#define MIPS_ASE_LOONGSON_EXT 0x00002000 /* Loongson EXTensions */ -+#define MIPS_ASE_LOONGSON_EXT2 0x00004000 /* Loongson EXTensions R2 */ - - #endif /* _ASM_CPU_H */ -diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c -index cf3fd549e16d0..3007ae1bb616a 100644 ---- a/arch/mips/kernel/cpu-probe.c -+++ b/arch/mips/kernel/cpu-probe.c -@@ -1478,6 +1478,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu) - __cpu_name[cpu] = "ICT Loongson-3"; - set_elf_platform(cpu, "loongson3a"); - set_isa(c, MIPS_CPU_ISA_M64R1); -+ c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_EXT); - break; - case PRID_REV_LOONGSON3B_R1: - case PRID_REV_LOONGSON3B_R2: -@@ -1485,6 +1486,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu) - __cpu_name[cpu] = "ICT Loongson-3"; - set_elf_platform(cpu, "loongson3b"); - set_isa(c, MIPS_CPU_ISA_M64R1); -+ c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_EXT); - break; - } - -@@ -1845,6 +1847,8 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) - decode_configs(c); - c->options |= MIPS_CPU_FTLB | MIPS_CPU_TLBINV | MIPS_CPU_LDPTE; - c->writecombine = _CACHE_UNCACHED_ACCELERATED; -+ c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_CAM | -+ MIPS_ASE_LOONGSON_EXT | MIPS_ASE_LOONGSON_EXT2); - break; - default: - panic("Unknown Loongson Processor ID!"); -diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c -index b2de408a259e4..f8d36710cd581 100644 ---- a/arch/mips/kernel/proc.c -+++ b/arch/mips/kernel/proc.c -@@ -124,6 +124,10 @@ static int show_cpuinfo(struct seq_file *m, void *v) - if (cpu_has_eva) seq_printf(m, "%s", " eva"); - if (cpu_has_htw) seq_printf(m, "%s", " htw"); - if (cpu_has_xpa) seq_printf(m, "%s", " xpa"); -+ if (cpu_has_loongson_mmi) seq_printf(m, "%s", " loongson-mmi"); -+ if (cpu_has_loongson_cam) seq_printf(m, "%s", " loongson-cam"); -+ if (cpu_has_loongson_ext) seq_printf(m, "%s", " loongson-ext"); -+ if (cpu_has_loongson_ext2) seq_printf(m, "%s", " loongson-ext2"); - seq_printf(m, "\n"); - - if (cpu_has_mmips) { --- -2.20.1 - diff --git a/queue-4.14/series b/queue-4.14/series index 632ce4a84d2..9668e393311 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -23,8 +23,6 @@ net-i82596-fix-dma_alloc_attr-for-sni_82596.patch net-stmmac-disable-enable-ptp_ref_clk-in-suspend-resume-flow.patch sctp-change-sctp_prot-.no_autobind-with-true.patch net-avoid-potential-infinite-loop-in-tc_ctl_action.patch -mips-treat-loongson-extensions-as-ases.patch -mips-elf_hwcap-export-userspace-ases.patch loop-add-loop_set_direct_io-to-compat-ioctl.patch memfd-fix-locking-when-tagging-pins.patch usb-legousbtower-fix-memleak-on-disconnect.patch diff --git a/queue-4.4/mips-elf_hwcap-export-userspace-ases.patch b/queue-4.4/mips-elf_hwcap-export-userspace-ases.patch deleted file mode 100644 index 972f52150db..00000000000 --- a/queue-4.4/mips-elf_hwcap-export-userspace-ases.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 27b621b79a9464c52efb81938becba2335dc5c4d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 22 Oct 2019 00:49:54 +0800 -Subject: MIPS: elf_hwcap: Export userspace ASEs - -From: Jiaxun Yang - -[ Upstream commit 38dffe1e4dde1d3174fdce09d67370412843ebb5 ] - -A Golang developer reported MIPS hwcap isn't reflecting instructions -that the processor actually supported so programs can't apply optimized -code at runtime. - -Thus we export the ASEs that can be used in userspace programs. - -Reported-by: Meng Zhuo -Signed-off-by: Jiaxun Yang -Cc: linux-mips@vger.kernel.org -Cc: Paul Burton -Cc: # 4.14+ -Signed-off-by: Paul Burton -Signed-off-by: Sasha Levin ---- - arch/mips/include/uapi/asm/hwcap.h | 11 +++++++++++ - arch/mips/kernel/cpu-probe.c | 25 +++++++++++++++++++++++++ - 2 files changed, 36 insertions(+) - -diff --git a/arch/mips/include/uapi/asm/hwcap.h b/arch/mips/include/uapi/asm/hwcap.h -index c7484a7ca686d..2b6f8d569d00f 100644 ---- a/arch/mips/include/uapi/asm/hwcap.h -+++ b/arch/mips/include/uapi/asm/hwcap.h -@@ -4,5 +4,16 @@ - /* HWCAP flags */ - #define HWCAP_MIPS_R6 (1 << 0) - #define HWCAP_MIPS_MSA (1 << 1) -+#define HWCAP_MIPS_MIPS16 (1 << 3) -+#define HWCAP_MIPS_MDMX (1 << 4) -+#define HWCAP_MIPS_MIPS3D (1 << 5) -+#define HWCAP_MIPS_SMARTMIPS (1 << 6) -+#define HWCAP_MIPS_DSP (1 << 7) -+#define HWCAP_MIPS_DSP2 (1 << 8) -+#define HWCAP_MIPS_DSP3 (1 << 9) -+#define HWCAP_MIPS_MIPS16E2 (1 << 10) -+#define HWCAP_LOONGSON_MMI (1 << 11) -+#define HWCAP_LOONGSON_EXT (1 << 12) -+#define HWCAP_LOONGSON_EXT2 (1 << 13) - - #endif /* _UAPI_ASM_HWCAP_H */ -diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c -index ee71bda53d4e6..3903737e08cc8 100644 ---- a/arch/mips/kernel/cpu-probe.c -+++ b/arch/mips/kernel/cpu-probe.c -@@ -1540,6 +1540,31 @@ void cpu_probe(void) - elf_hwcap |= HWCAP_MIPS_MSA; - } - -+ if (cpu_has_mips16) -+ elf_hwcap |= HWCAP_MIPS_MIPS16; -+ -+ if (cpu_has_mdmx) -+ elf_hwcap |= HWCAP_MIPS_MDMX; -+ -+ if (cpu_has_mips3d) -+ elf_hwcap |= HWCAP_MIPS_MIPS3D; -+ -+ if (cpu_has_smartmips) -+ elf_hwcap |= HWCAP_MIPS_SMARTMIPS; -+ -+ if (cpu_has_dsp) -+ elf_hwcap |= HWCAP_MIPS_DSP; -+ -+ if (cpu_has_dsp2) -+ elf_hwcap |= HWCAP_MIPS_DSP2; -+ -+ if (cpu_has_loongson_mmi) -+ elf_hwcap |= HWCAP_LOONGSON_MMI; -+ -+ if (cpu_has_loongson_ext) -+ elf_hwcap |= HWCAP_LOONGSON_EXT; -+ -+ - cpu_probe_vmbits(c); - - #ifdef CONFIG_64BIT --- -2.20.1 - diff --git a/queue-4.4/mips-treat-loongson-extensions-as-ases.patch b/queue-4.4/mips-treat-loongson-extensions-as-ases.patch deleted file mode 100644 index 73cf8d557ea..00000000000 --- a/queue-4.4/mips-treat-loongson-extensions-as-ases.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 278095d0c766d24c15a890d7817a6c4b8bb33d44 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 22 Oct 2019 00:49:53 +0800 -Subject: MIPS: Treat Loongson Extensions as ASEs - -From: Jiaxun Yang - -[ Upstream commit d2f965549006acb865c4638f1f030ebcefdc71f6 ] - -Recently, binutils had split Loongson-3 Extensions into four ASEs: -MMI, CAM, EXT, EXT2. This patch do the samething in kernel and expose -them in cpuinfo so applications can probe supported ASEs at runtime. - -Signed-off-by: Jiaxun Yang -Cc: Huacai Chen -Cc: Yunqiang Su -Cc: stable@vger.kernel.org # v4.14+ -Signed-off-by: Paul Burton -Cc: linux-mips@vger.kernel.org -Signed-off-by: Sasha Levin ---- - arch/mips/include/asm/cpu-features.h | 8 ++++++++ - arch/mips/include/asm/cpu.h | 2 ++ - arch/mips/kernel/cpu-probe.c | 2 ++ - arch/mips/kernel/proc.c | 2 ++ - 4 files changed, 14 insertions(+) - -diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h -index d1e04c943f5f7..ff60510357f63 100644 ---- a/arch/mips/include/asm/cpu-features.h -+++ b/arch/mips/include/asm/cpu-features.h -@@ -307,6 +307,14 @@ - #define cpu_has_dsp2 (cpu_data[0].ases & MIPS_ASE_DSP2P) - #endif - -+#ifndef cpu_has_loongson_mmi -+#define cpu_has_loongson_mmi __ase(MIPS_ASE_LOONGSON_MMI) -+#endif -+ -+#ifndef cpu_has_loongson_ext -+#define cpu_has_loongson_ext __ase(MIPS_ASE_LOONGSON_EXT) -+#endif -+ - #ifndef cpu_has_mipsmt - #define cpu_has_mipsmt (cpu_data[0].ases & MIPS_ASE_MIPSMT) - #endif -diff --git a/arch/mips/include/asm/cpu.h b/arch/mips/include/asm/cpu.h -index 82ad15f110492..08cb7a5661d07 100644 ---- a/arch/mips/include/asm/cpu.h -+++ b/arch/mips/include/asm/cpu.h -@@ -399,5 +399,7 @@ enum cpu_type_enum { - #define MIPS_ASE_DSP2P 0x00000040 /* Signal Processing ASE Rev 2 */ - #define MIPS_ASE_VZ 0x00000080 /* Virtualization ASE */ - #define MIPS_ASE_MSA 0x00000100 /* MIPS SIMD Architecture */ -+#define MIPS_ASE_LOONGSON_MMI 0x00000800 /* Loongson MultiMedia extensions Instructions */ -+#define MIPS_ASE_LOONGSON_EXT 0x00002000 /* Loongson EXTensions */ - - #endif /* _ASM_CPU_H */ -diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c -index 6b9064499bd3d..ee71bda53d4e6 100644 ---- a/arch/mips/kernel/cpu-probe.c -+++ b/arch/mips/kernel/cpu-probe.c -@@ -1016,6 +1016,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu) - __cpu_name[cpu] = "ICT Loongson-3"; - set_elf_platform(cpu, "loongson3a"); - set_isa(c, MIPS_CPU_ISA_M64R1); -+ c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_EXT); - break; - case PRID_REV_LOONGSON3B_R1: - case PRID_REV_LOONGSON3B_R2: -@@ -1023,6 +1024,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu) - __cpu_name[cpu] = "ICT Loongson-3"; - set_elf_platform(cpu, "loongson3b"); - set_isa(c, MIPS_CPU_ISA_M64R1); -+ c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_EXT); - break; - } - -diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c -index f1fab6ff53e63..33c6cdff2331e 100644 ---- a/arch/mips/kernel/proc.c -+++ b/arch/mips/kernel/proc.c -@@ -121,6 +121,8 @@ static int show_cpuinfo(struct seq_file *m, void *v) - if (cpu_has_eva) seq_printf(m, "%s", " eva"); - if (cpu_has_htw) seq_printf(m, "%s", " htw"); - if (cpu_has_xpa) seq_printf(m, "%s", " xpa"); -+ if (cpu_has_loongson_mmi) seq_printf(m, "%s", " loongson-mmi"); -+ if (cpu_has_loongson_ext) seq_printf(m, "%s", " loongson-ext"); - seq_printf(m, "\n"); - - if (cpu_has_mmips) { --- -2.20.1 - diff --git a/queue-4.4/series b/queue-4.4/series index 3a6b3509e1f..442ed8d4021 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -7,8 +7,6 @@ nl80211-fix-null-pointer-dereference.patch mips-loongson-fix-the-link-time-qualifier-of-serial_.patch net-hisilicon-fix-usage-of-uninitialized-variable-in.patch namespace-fix-namespace.pl-script-to-support-relativ.patch -mips-treat-loongson-extensions-as-ases.patch -mips-elf_hwcap-export-userspace-ases.patch loop-add-loop_set_direct_io-to-compat-ioctl.patch net-bcmgenet-fix-rgmii_mode_en-value-for-genet-v1-2-3.patch net-bcmgenet-set-phydev-dev_flags-only-for-internal-phys.patch diff --git a/queue-4.9/mips-elf_hwcap-export-userspace-ases.patch b/queue-4.9/mips-elf_hwcap-export-userspace-ases.patch deleted file mode 100644 index a3232648b27..00000000000 --- a/queue-4.9/mips-elf_hwcap-export-userspace-ases.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 3b7d85db5047dfd98676694c05acd9bde4eefc5c Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 22 Oct 2019 00:49:56 +0800 -Subject: MIPS: elf_hwcap: Export userspace ASEs - -From: Jiaxun Yang - -[ Upstream commit 38dffe1e4dde1d3174fdce09d67370412843ebb5 ] - -A Golang developer reported MIPS hwcap isn't reflecting instructions -that the processor actually supported so programs can't apply optimized -code at runtime. - -Thus we export the ASEs that can be used in userspace programs. - -Reported-by: Meng Zhuo -Signed-off-by: Jiaxun Yang -Cc: linux-mips@vger.kernel.org -Cc: Paul Burton -Cc: # 4.14+ -Signed-off-by: Paul Burton -Signed-off-by: Sasha Levin ---- - arch/mips/include/uapi/asm/hwcap.h | 11 ++++++++++ - arch/mips/kernel/cpu-probe.c | 33 ++++++++++++++++++++++++++++++ - 2 files changed, 44 insertions(+) - -diff --git a/arch/mips/include/uapi/asm/hwcap.h b/arch/mips/include/uapi/asm/hwcap.h -index c7484a7ca686d..2b6f8d569d00f 100644 ---- a/arch/mips/include/uapi/asm/hwcap.h -+++ b/arch/mips/include/uapi/asm/hwcap.h -@@ -4,5 +4,16 @@ - /* HWCAP flags */ - #define HWCAP_MIPS_R6 (1 << 0) - #define HWCAP_MIPS_MSA (1 << 1) -+#define HWCAP_MIPS_MIPS16 (1 << 3) -+#define HWCAP_MIPS_MDMX (1 << 4) -+#define HWCAP_MIPS_MIPS3D (1 << 5) -+#define HWCAP_MIPS_SMARTMIPS (1 << 6) -+#define HWCAP_MIPS_DSP (1 << 7) -+#define HWCAP_MIPS_DSP2 (1 << 8) -+#define HWCAP_MIPS_DSP3 (1 << 9) -+#define HWCAP_MIPS_MIPS16E2 (1 << 10) -+#define HWCAP_LOONGSON_MMI (1 << 11) -+#define HWCAP_LOONGSON_EXT (1 << 12) -+#define HWCAP_LOONGSON_EXT2 (1 << 13) - - #endif /* _UAPI_ASM_HWCAP_H */ -diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c -index 0a7b3e513650f..1a1ab0a78ac05 100644 ---- a/arch/mips/kernel/cpu-probe.c -+++ b/arch/mips/kernel/cpu-probe.c -@@ -2055,6 +2055,39 @@ void cpu_probe(void) - elf_hwcap |= HWCAP_MIPS_MSA; - } - -+ if (cpu_has_mips16) -+ elf_hwcap |= HWCAP_MIPS_MIPS16; -+ -+ if (cpu_has_mdmx) -+ elf_hwcap |= HWCAP_MIPS_MDMX; -+ -+ if (cpu_has_mips3d) -+ elf_hwcap |= HWCAP_MIPS_MIPS3D; -+ -+ if (cpu_has_smartmips) -+ elf_hwcap |= HWCAP_MIPS_SMARTMIPS; -+ -+ if (cpu_has_dsp) -+ elf_hwcap |= HWCAP_MIPS_DSP; -+ -+ if (cpu_has_dsp2) -+ elf_hwcap |= HWCAP_MIPS_DSP2; -+ -+ if (cpu_has_dsp3) -+ elf_hwcap |= HWCAP_MIPS_DSP3; -+ -+ if (cpu_has_loongson_mmi) -+ elf_hwcap |= HWCAP_LOONGSON_MMI; -+ -+ if (cpu_has_loongson_mmi) -+ elf_hwcap |= HWCAP_LOONGSON_CAM; -+ -+ if (cpu_has_loongson_ext) -+ elf_hwcap |= HWCAP_LOONGSON_EXT; -+ -+ if (cpu_has_loongson_ext) -+ elf_hwcap |= HWCAP_LOONGSON_EXT2; -+ - if (cpu_has_vz) - cpu_probe_vz(c); - --- -2.20.1 - diff --git a/queue-4.9/mips-treat-loongson-extensions-as-ases.patch b/queue-4.9/mips-treat-loongson-extensions-as-ases.patch deleted file mode 100644 index bac1ab8f525..00000000000 --- a/queue-4.9/mips-treat-loongson-extensions-as-ases.patch +++ /dev/null @@ -1,115 +0,0 @@ -From f6ad531d5c4db65228c4fd39660f4b4824019d8e Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 22 Oct 2019 00:49:55 +0800 -Subject: MIPS: Treat Loongson Extensions as ASEs - -From: Jiaxun Yang - -[ Upstream commit d2f965549006acb865c4638f1f030ebcefdc71f6 ] - -Recently, binutils had split Loongson-3 Extensions into four ASEs: -MMI, CAM, EXT, EXT2. This patch do the samething in kernel and expose -them in cpuinfo so applications can probe supported ASEs at runtime. - -Signed-off-by: Jiaxun Yang -Cc: Huacai Chen -Cc: Yunqiang Su -Cc: stable@vger.kernel.org # v4.14+ -Signed-off-by: Paul Burton -Cc: linux-mips@vger.kernel.org -Signed-off-by: Sasha Levin ---- - arch/mips/include/asm/cpu-features.h | 16 ++++++++++++++++ - arch/mips/include/asm/cpu.h | 4 ++++ - arch/mips/kernel/cpu-probe.c | 4 ++++ - arch/mips/kernel/proc.c | 4 ++++ - 4 files changed, 28 insertions(+) - -diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h -index e961c8a7ea662..8c8b92b9b1eeb 100644 ---- a/arch/mips/include/asm/cpu-features.h -+++ b/arch/mips/include/asm/cpu-features.h -@@ -345,6 +345,22 @@ - #define cpu_has_dsp3 (cpu_data[0].ases & MIPS_ASE_DSP3) - #endif - -+#ifndef cpu_has_loongson_mmi -+#define cpu_has_loongson_mmi __ase(MIPS_ASE_LOONGSON_MMI) -+#endif -+ -+#ifndef cpu_has_loongson_cam -+#define cpu_has_loongson_cam __ase(MIPS_ASE_LOONGSON_CAM) -+#endif -+ -+#ifndef cpu_has_loongson_ext -+#define cpu_has_loongson_ext __ase(MIPS_ASE_LOONGSON_EXT) -+#endif -+ -+#ifndef cpu_has_loongson_ext2 -+#define cpu_has_loongson_ext2 __ase(MIPS_ASE_LOONGSON_EXT2) -+#endif -+ - #ifndef cpu_has_mipsmt - #define cpu_has_mipsmt (cpu_data[0].ases & MIPS_ASE_MIPSMT) - #endif -diff --git a/arch/mips/include/asm/cpu.h b/arch/mips/include/asm/cpu.h -index 9a8372484edc0..2cd5ee7463605 100644 ---- a/arch/mips/include/asm/cpu.h -+++ b/arch/mips/include/asm/cpu.h -@@ -429,5 +429,9 @@ enum cpu_type_enum { - #define MIPS_ASE_VZ 0x00000080 /* Virtualization ASE */ - #define MIPS_ASE_MSA 0x00000100 /* MIPS SIMD Architecture */ - #define MIPS_ASE_DSP3 0x00000200 /* Signal Processing ASE Rev 3*/ -+#define MIPS_ASE_LOONGSON_MMI 0x00000800 /* Loongson MultiMedia extensions Instructions */ -+#define MIPS_ASE_LOONGSON_CAM 0x00001000 /* Loongson CAM */ -+#define MIPS_ASE_LOONGSON_EXT 0x00002000 /* Loongson EXTensions */ -+#define MIPS_ASE_LOONGSON_EXT2 0x00004000 /* Loongson EXTensions R2 */ - - #endif /* _ASM_CPU_H */ -diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c -index 921211bcd2bad..0a7b3e513650f 100644 ---- a/arch/mips/kernel/cpu-probe.c -+++ b/arch/mips/kernel/cpu-probe.c -@@ -1480,6 +1480,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu) - __cpu_name[cpu] = "ICT Loongson-3"; - set_elf_platform(cpu, "loongson3a"); - set_isa(c, MIPS_CPU_ISA_M64R1); -+ c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_EXT); - break; - case PRID_REV_LOONGSON3B_R1: - case PRID_REV_LOONGSON3B_R2: -@@ -1487,6 +1488,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu) - __cpu_name[cpu] = "ICT Loongson-3"; - set_elf_platform(cpu, "loongson3b"); - set_isa(c, MIPS_CPU_ISA_M64R1); -+ c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_EXT); - break; - } - -@@ -1826,6 +1828,8 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) - decode_configs(c); - c->options |= MIPS_CPU_FTLB | MIPS_CPU_TLBINV | MIPS_CPU_LDPTE; - c->writecombine = _CACHE_UNCACHED_ACCELERATED; -+ c->ases |= (MIPS_ASE_LOONGSON_MMI | MIPS_ASE_LOONGSON_CAM | -+ MIPS_ASE_LOONGSON_EXT | MIPS_ASE_LOONGSON_EXT2); - break; - default: - panic("Unknown Loongson Processor ID!"); -diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c -index 4c01ee5b88c99..dd05ec89cc57e 100644 ---- a/arch/mips/kernel/proc.c -+++ b/arch/mips/kernel/proc.c -@@ -122,6 +122,10 @@ static int show_cpuinfo(struct seq_file *m, void *v) - if (cpu_has_eva) seq_printf(m, "%s", " eva"); - if (cpu_has_htw) seq_printf(m, "%s", " htw"); - if (cpu_has_xpa) seq_printf(m, "%s", " xpa"); -+ if (cpu_has_loongson_mmi) seq_printf(m, "%s", " loongson-mmi"); -+ if (cpu_has_loongson_cam) seq_printf(m, "%s", " loongson-cam"); -+ if (cpu_has_loongson_ext) seq_printf(m, "%s", " loongson-ext"); -+ if (cpu_has_loongson_ext2) seq_printf(m, "%s", " loongson-ext2"); - seq_printf(m, "\n"); - - if (cpu_has_mmips) { --- -2.20.1 - diff --git a/queue-4.9/series b/queue-4.9/series index f6ddbe03e9f..e4fbc5f8e98 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -11,8 +11,6 @@ net-hisilicon-fix-usage-of-uninitialized-variable-in.patch namespace-fix-namespace.pl-script-to-support-relativ.patch revert-drm-radeon-fix-eeh-during-kexec.patch ocfs2-fix-panic-due-to-ocfs2_wq-is-null.patch -mips-treat-loongson-extensions-as-ases.patch -mips-elf_hwcap-export-userspace-ases.patch loop-add-loop_set_direct_io-to-compat-ioctl.patch net-bcmgenet-fix-rgmii_mode_en-value-for-genet-v1-2-3.patch net-bcmgenet-set-phydev-dev_flags-only-for-internal-phys.patch