Re: [PATCH 3/9] powerpc: Remove

2023-08-17 Thread Michael Ellerman
Geert Uytterhoeven  writes:
> As of commit b7fb14d3ac63117e ("ide: remove the legacy ide driver") in
> v5.14, there are no more generic users of .
>
> Signed-off-by: Geert Uytterhoeven 
> ---
>  arch/powerpc/include/asm/ide.h | 18 --
>  1 file changed, 18 deletions(-)
>  delete mode 100644 arch/powerpc/include/asm/ide.h

Acked-by: Michael Ellerman  (powerpc)

cheers


[PATCH 3/9] powerpc: Remove

2023-08-17 Thread Geert Uytterhoeven
As of commit b7fb14d3ac63117e ("ide: remove the legacy ide driver") in
v5.14, there are no more generic users of .

Signed-off-by: Geert Uytterhoeven 
---
 arch/powerpc/include/asm/ide.h | 18 --
 1 file changed, 18 deletions(-)
 delete mode 100644 arch/powerpc/include/asm/ide.h

diff --git a/arch/powerpc/include/asm/ide.h b/arch/powerpc/include/asm/ide.h
deleted file mode 100644
index ce87a4441ca34887..
--- a/arch/powerpc/include/asm/ide.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- *  Copyright (C) 1994-1996 Linus Torvalds & authors
- *
- *  This file contains the powerpc architecture specific IDE code.
- */
-#ifndef _ASM_POWERPC_IDE_H
-#define _ASM_POWERPC_IDE_H
-
-#include 
-#include 
-
-#define __ide_mm_insw(p, a, c) readsw((void __iomem *)(p), (a), (c))
-#define __ide_mm_insl(p, a, c) readsl((void __iomem *)(p), (a), (c))
-#define __ide_mm_outsw(p, a, c)writesw((void __iomem *)(p), (a), (c))
-#define __ide_mm_outsl(p, a, c)writesl((void __iomem *)(p), (a), (c))
-
-#endif /* _ASM_POWERPC_IDE_H */
-- 
2.34.1



[PATCH 3/9] powerpc: Remove CONFIG_PPC601_SYNC_FIX

2020-08-13 Thread Christophe Leroy
This config option isn't in any defconfig.

The very first versions of Powerpc 601 have a bug which
requires additional sync before and/or after some instructions.

This was more than 25 years ago and time has come to retire
those buggy versions of the 601 from the kernel.

Signed-off-by: Christophe Leroy 
---
 arch/powerpc/include/asm/ppc_asm.h |  6 --
 arch/powerpc/platforms/Kconfig | 15 ---
 2 files changed, 21 deletions(-)

diff --git a/arch/powerpc/include/asm/ppc_asm.h 
b/arch/powerpc/include/asm/ppc_asm.h
index b4cc6608131c..0b9dc814b81c 100644
--- a/arch/powerpc/include/asm/ppc_asm.h
+++ b/arch/powerpc/include/asm/ppc_asm.h
@@ -382,15 +382,9 @@ GLUE(.,name):
 #endif
 
 /* various errata or part fixups */
-#ifdef CONFIG_PPC601_SYNC_FIX
-#define SYNC   sync; isync
-#define SYNC_601   sync
-#define ISYNC_601  isync
-#else
 #defineSYNC
 #define SYNC_601
 #define ISYNC_601
-#endif
 
 #if defined(CONFIG_PPC_CELL) || defined(CONFIG_PPC_FSL_BOOK3E)
 #define MFTB(dest) \
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
index fb7515b4fa9c..f377a56ecc85 100644
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
@@ -199,21 +199,6 @@ source "drivers/cpuidle/Kconfig"
 
 endmenu
 
-config PPC601_SYNC_FIX
-   bool "Workarounds for PPC601 bugs"
-   depends on PPC_BOOK3S_601 && PPC_PMAC
-   default y
-   help
- Some versions of the PPC601 (the first PowerPC chip) have bugs which
- mean that extra synchronization instructions are required near
- certain instructions, typically those that make major changes to the
- CPU state.  These extra instructions reduce performance slightly.
- If you say N here, these extra instructions will not be included,
- resulting in a kernel which will run faster but may not run at all
- on some systems with the PPC601 chip.
-
- If in doubt, say Y here.
-
 config TAU
bool "On-chip CPU temperature sensor support"
depends on PPC_BOOK3S_32
-- 
2.25.0



Re: [PATCH 3/9] powerpc: remove CONFIG_PCI_QSPAN

2018-10-31 Thread Masahiro Yamada
On Fri, Oct 19, 2018 at 9:10 PM Christoph Hellwig  wrote:
>
> This option isn't actually used anywhere.
>
> Signed-off-by: Christoph Hellwig 
> Acked-by: Benjamin Herrenschmidt 
> ---


Applied to linux-kbuild.




>  arch/powerpc/Kconfig | 9 -
>  1 file changed, 9 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index a80669209155..e8c8970248bc 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -955,7 +955,6 @@ config PCI
> bool "PCI support" if PPC_PCI_CHOICE
> default y if !40x && !CPM2 && !PPC_8xx && !PPC_83xx \
> && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON
> -   default PCI_QSPAN if PPC_8xx
> select GENERIC_PCI_IOMAP
> help
>   Find out whether your system includes a PCI bus. PCI is the name of
> @@ -969,14 +968,6 @@ config PCI_DOMAINS
>  config PCI_SYSCALL
> def_bool PCI
>
> -config PCI_QSPAN
> -   bool "QSpan PCI"
> -   depends on PPC_8xx
> -   select PPC_I8259
> -   help
> - Say Y here if you have a system based on a Motorola 8xx-series
> - embedded processor with a QSPAN PCI interface, otherwise say N.
> -
>  config PCI_8260
> bool
> depends on PCI && 8260
> --
> 2.19.1
>


-- 
Best Regards
Masahiro Yamada


[PATCH 3/9] powerpc: remove CONFIG_PCI_QSPAN

2018-10-19 Thread Christoph Hellwig
This option isn't actually used anywhere.

Signed-off-by: Christoph Hellwig 
Acked-by: Benjamin Herrenschmidt 
---
 arch/powerpc/Kconfig | 9 -
 1 file changed, 9 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index a80669209155..e8c8970248bc 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -955,7 +955,6 @@ config PCI
bool "PCI support" if PPC_PCI_CHOICE
default y if !40x && !CPM2 && !PPC_8xx && !PPC_83xx \
&& !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON
-   default PCI_QSPAN if PPC_8xx
select GENERIC_PCI_IOMAP
help
  Find out whether your system includes a PCI bus. PCI is the name of
@@ -969,14 +968,6 @@ config PCI_DOMAINS
 config PCI_SYSCALL
def_bool PCI
 
-config PCI_QSPAN
-   bool "QSpan PCI"
-   depends on PPC_8xx
-   select PPC_I8259
-   help
- Say Y here if you have a system based on a Motorola 8xx-series
- embedded processor with a QSPAN PCI interface, otherwise say N.
-
 config PCI_8260
bool
depends on PCI && 8260
-- 
2.19.1



[PATCH 3/9] powerpc: Remove obsolete comment about patching instructions

2017-01-08 Thread Benjamin Herrenschmidt
We don't patch instructions based on the cache lines or block
sizes these days.

Signed-off-by: Benjamin Herrenschmidt 
---
 arch/powerpc/kernel/setup_64.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 6263e0d..222bbb0 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -77,9 +77,6 @@
 int spinning_secondaries;
 u64 ppc64_pft_size;
 
-/* Pick defaults since we might want to patch instructions
- * before we've read this from the device tree.
- */
 struct ppc64_caches ppc64_caches = {
.dline_size = 0x40,
.log_dline_size = 6,
-- 
2.9.3



[PATCH 3/9] powerpc: Remove obsolete comment about patching instructions

2017-01-03 Thread Benjamin Herrenschmidt
We don't patch instructions based on the cache lines or block
sizes these days.

Signed-off-by: Benjamin Herrenschmidt 
---
 arch/powerpc/kernel/setup_64.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 6263e0d..222bbb0 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -77,9 +77,6 @@
 int spinning_secondaries;
 u64 ppc64_pft_size;
 
-/* Pick defaults since we might want to patch instructions
- * before we've read this from the device tree.
- */
 struct ppc64_caches ppc64_caches = {
.dline_size = 0x40,
.log_dline_size = 6,
-- 
2.9.3



[PATCH 3/9] powerpc: Remove MMU_FTR_SLB

2014-07-09 Thread Michael Ellerman
We now only support cpus that use an SLB, so we don't need an MMU
feature to indicate that.

Signed-off-by: Michael Ellerman 
---
 arch/powerpc/include/asm/cputable.h| 3 +--
 arch/powerpc/include/asm/mmu.h | 8 ++--
 arch/powerpc/include/asm/mmu_context.h | 3 +--
 arch/powerpc/kernel/entry_64.S | 8 ++--
 arch/powerpc/kernel/process.c  | 2 +-
 arch/powerpc/kernel/prom.c | 1 -
 arch/powerpc/mm/hash_utils_64.c| 6 ++
 arch/powerpc/xmon/xmon.c   | 8 +---
 8 files changed, 10 insertions(+), 29 deletions(-)

diff --git a/arch/powerpc/include/asm/cputable.h 
b/arch/powerpc/include/asm/cputable.h
index 2721946780df..ed17bc75b0a6 100644
--- a/arch/powerpc/include/asm/cputable.h
+++ b/arch/powerpc/include/asm/cputable.h
@@ -195,8 +195,7 @@ extern const char *powerpc_base_platform;
 
 #define CPU_FTR_PPCAS_ARCH_V2  (CPU_FTR_NOEXECUTE | CPU_FTR_NODSISRALIGN)
 
-#define MMU_FTR_PPCAS_ARCH_V2  (MMU_FTR_SLB | MMU_FTR_TLBIEL | \
-MMU_FTR_16M_PAGE)
+#define MMU_FTR_PPCAS_ARCH_V2  (MMU_FTR_TLBIEL | MMU_FTR_16M_PAGE)
 
 /* We only set the altivec features if the kernel was compiled with altivec
  * support
diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h
index f8d1d6dcf7db..c42945b3dbc3 100644
--- a/arch/powerpc/include/asm/mmu.h
+++ b/arch/powerpc/include/asm/mmu.h
@@ -65,9 +65,9 @@
  */
 #define MMU_FTR_USE_PAIRED_MAS ASM_CONST(0x0100)
 
-/* MMU is SLB-based
+/* Doesn't support the B bit (1T segment) in SLBIE
  */
-#define MMU_FTR_SLBASM_CONST(0x0200)
+#define MMU_FTR_NO_SLBIE_B ASM_CONST(0x0200)
 
 /* Support 16M large pages
  */
@@ -89,10 +89,6 @@
  */
 #define MMU_FTR_1T_SEGMENT ASM_CONST(0x4000)
 
-/* Doesn't support the B bit (1T segment) in SLBIE
- */
-#define MMU_FTR_NO_SLBIE_B ASM_CONST(0x8000)
-
 /* MMU feature bit sets for various CPUs */
 #define MMU_FTRS_DEFAULT_HPTE_ARCH_V2  \
MMU_FTR_HPTE_TABLE | MMU_FTR_PPCAS_ARCH_V2
diff --git a/arch/powerpc/include/asm/mmu_context.h 
b/arch/powerpc/include/asm/mmu_context.h
index f5690e2689c7..73382eba02dc 100644
--- a/arch/powerpc/include/asm/mmu_context.h
+++ b/arch/powerpc/include/asm/mmu_context.h
@@ -76,8 +76,7 @@ static inline void switch_mm(struct mm_struct *prev, struct 
mm_struct *next,
 * sub architectures.
 */
 #ifdef CONFIG_PPC_STD_MMU_64
-   if (mmu_has_feature(MMU_FTR_SLB))
-   switch_slb(tsk, next);
+   switch_slb(tsk, next);
 #else
/* Out of line for now */
switch_mmu_context(prev, next);
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
index 6528c5e2cc44..d6b22e8c8ee1 100644
--- a/arch/powerpc/kernel/entry_64.S
+++ b/arch/powerpc/kernel/entry_64.S
@@ -482,16 +482,12 @@ END_FTR_SECTION_IFSET(CPU_FTR_STCX_CHECKS_ADDRESS)
ld  r8,KSP(r4)  /* new stack pointer */
 #ifdef CONFIG_PPC_BOOK3S
 BEGIN_FTR_SECTION
-  BEGIN_FTR_SECTION_NESTED(95)
clrrdi  r6,r8,28/* get its ESID */
clrrdi  r9,r1,28/* get current sp ESID */
-  FTR_SECTION_ELSE_NESTED(95)
+FTR_SECTION_ELSE
clrrdi  r6,r8,40/* get its 1T ESID */
clrrdi  r9,r1,40/* get current sp 1T ESID */
-  ALT_MMU_FTR_SECTION_END_NESTED_IFCLR(MMU_FTR_1T_SEGMENT, 95)
-FTR_SECTION_ELSE
-   b   2f
-ALT_MMU_FTR_SECTION_END_IFSET(MMU_FTR_SLB)
+ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_1T_SEGMENT)
clrldi. r0,r6,2 /* is new ESID c? */
cmpdcr1,r6,r9   /* or is new ESID the same as current ESID? */
croreq,4*cr1+eq,eq
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index be99774d3f44..e39f388fc25c 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -1175,7 +1175,7 @@ int copy_thread(unsigned long clone_flags, unsigned long 
usp,
 #endif
 
 #ifdef CONFIG_PPC_STD_MMU_64
-   if (mmu_has_feature(MMU_FTR_SLB)) {
+   {
unsigned long sp_vsid;
unsigned long llp = mmu_psize_defs[mmu_linear_psize].sllp;
 
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index b694b0730971..1914791dd329 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -155,7 +155,6 @@ static struct ibm_pa_feature {
 } ibm_pa_features[] __initdata = {
{0, 0, PPC_FEATURE_HAS_MMU, 0, 0, 0},
{0, 0, PPC_FEATURE_HAS_FPU, 0, 1, 0},
-   {0, MMU_FTR_SLB, 0, 0, 2, 0},
{CPU_FTR_CTRL, 0, 0,0, 3, 0},
{CPU_FTR_NOEXECUTE, 0, 0,   0, 6, 0},
{CPU_FTR_NODSISRALIGN, 0, 0,1, 1, 1},
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index fb8bea71327d..6b7c1c824cf9 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -828,8 +828,7 @@ void __init early_init_mmu(void)
htab