All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] MIPS: cpu-feature-overrides patches
@ 2010-07-12 15:37 Shinya Kuribayashi
  2010-07-12 15:41 ` [PATCH 1/2] MIPS: PowerTV: Provide cpu-feature-overrides.h Shinya Kuribayashi
  2010-07-12 15:41 ` [PATCH 2/2] MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms Shinya Kuribayashi
  0 siblings, 2 replies; 5+ messages in thread
From: Shinya Kuribayashi @ 2010-07-12 15:37 UTC (permalink / raw)
  To: David VomLehn, ralf, macro; +Cc: linux-mips

Hi,

Here're CPU-feature-overrides patches for PowerTV, Malta and MIPSSim.

Along with these patches, I was going to consolidate irq_ffs() used in
platforms above, but it seems PowerTV's IRQ routines need some work, so
drop the relevant patches for now.

P.S. I don't feel a strong motivation to consolidate irq_ffs(), so you
don't have to take care of my comments.  If you have a chance, take a
look at it, thanks.

  Shinya


David VomLehn (1):
      MIPS: PowerTV: Provide cpu-feature-overrides.h

Shinya Kuribayashi (1):
      MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms

 .../include/asm/mach-malta/cpu-feature-overrides.h |    2 +
 .../asm/mach-mipssim/cpu-feature-overrides.h       |    2 +
 .../asm/mach-powertv/cpu-feature-overrides.h       |   59 ++++++++++++++++++++
 3 files changed, 63 insertions(+), 0 deletions(-)
 create mode 100644 arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] MIPS: PowerTV: Provide cpu-feature-overrides.h
  2010-07-12 15:37 [PATCH 0/2] MIPS: cpu-feature-overrides patches Shinya Kuribayashi
@ 2010-07-12 15:41 ` Shinya Kuribayashi
  2011-05-19 15:38   ` Ralf Baechle
  2010-07-12 15:41 ` [PATCH 2/2] MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms Shinya Kuribayashi
  1 sibling, 1 reply; 5+ messages in thread
From: Shinya Kuribayashi @ 2010-07-12 15:41 UTC (permalink / raw)
  To: David VomLehn, ralf, macro; +Cc: linux-mips

From: David VomLehn <dvomlehn@cisco.com>

This will optimize fls() and __fls() to use CLZ throughout the kernel,
and any other optimizations that depend on constant cpu_has_* values
will also be used.

Signed-off-by: David VomLehn <dvomlehn@cisco.com>
Signed-off-by: Shinya Kuribayashi <skuribay@pobox.com>
---
 .../asm/mach-powertv/cpu-feature-overrides.h       |   59 ++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100644 arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h

diff --git a/arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h b/arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h
new file mode 100644
index 0000000..f751e3e
--- /dev/null
+++ b/arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2010  Cisco Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifndef _ASM_MACH_POWERTV_CPU_FEATURE_OVERRIDES_H_
+#define _ASM_MACH_POWERTV_CPU_FEATURE_OVERRIDES_H_
+#define cpu_has_tlb			1
+#define cpu_has_4kex			1
+#define cpu_has_3k_cache		0
+#define cpu_has_4k_cache		1
+#define cpu_has_tx39_cache		0
+#define cpu_has_fpu			0
+#define cpu_has_counter			1
+#define cpu_has_watch			1
+#define cpu_has_divec			1
+#define cpu_has_vce			0
+#define cpu_has_cache_cdex_p		0
+#define cpu_has_cache_cdex_s		0
+#define cpu_has_mcheck			1
+#define cpu_has_ejtag			1
+#define cpu_has_llsc			1
+#define cpu_has_mips16			0
+#define cpu_has_mdmx			0
+#define cpu_has_mips3d			0
+#define cpu_has_smartmips		0
+#define cpu_has_vtag_icache		0
+#define cpu_has_dc_aliases		0
+#define cpu_has_ic_fills_f_dc		0
+#define cpu_has_mips32r1		0
+#define cpu_has_mips32r2		1
+#define cpu_has_mips64r1		0
+#define cpu_has_mips64r2		0
+#define cpu_has_dsp			0
+#define cpu_has_mipsmt			0
+#define cpu_has_userlocal		0
+#define cpu_has_nofpuex			0
+#define cpu_has_64bits			0
+#define cpu_has_64bit_zero_reg		0
+#define cpu_has_vint			1
+#define cpu_has_veic			1
+#define cpu_has_inclusive_pcaches	0
+
+#define cpu_dcache_line_size()		32
+#define cpu_icache_line_size()		32
+#endif
-- 
1.7.1.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms
  2010-07-12 15:37 [PATCH 0/2] MIPS: cpu-feature-overrides patches Shinya Kuribayashi
  2010-07-12 15:41 ` [PATCH 1/2] MIPS: PowerTV: Provide cpu-feature-overrides.h Shinya Kuribayashi
@ 2010-07-12 15:41 ` Shinya Kuribayashi
  2011-05-19 15:39   ` Ralf Baechle
  1 sibling, 1 reply; 5+ messages in thread
From: Shinya Kuribayashi @ 2010-07-12 15:41 UTC (permalink / raw)
  To: David VomLehn, ralf, macro; +Cc: linux-mips

Enable cpu_has_clo_clz only when CONFIG_CPU_MIPS32 or CONFIG_CPU_MIPS64
is selected.  This will optimize fls() and __fls() to use CLZ insn, and
eventually ffs() and __ffs() as well.

Malta and MIPSSim are development platforms, and need to take care of
various processor configurations, release rivisions and so on, even
across different MIPS ISAs.  For such platforms we have to be careful,
for instance, with turning on cpu_has_mips{32,64}r[12] features.

As for CLZ, all MIPS32/64 processors support it, regardless of release
revisions.

Signed-off-by: Shinya Kuribayashi <skuribay@pobox.com>
---
 .../include/asm/mach-malta/cpu-feature-overrides.h |    2 ++
 .../asm/mach-mipssim/cpu-feature-overrides.h       |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/mips/include/asm/mach-malta/cpu-feature-overrides.h b/arch/mips/include/asm/mach-malta/cpu-feature-overrides.h
index 2848cea..37e3583 100644
--- a/arch/mips/include/asm/mach-malta/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-malta/cpu-feature-overrides.h
@@ -32,6 +32,7 @@
 /* #define cpu_has_vtag_icache	? */
 /* #define cpu_has_dc_aliases	? */
 /* #define cpu_has_ic_fills_f_dc ? */
+#define cpu_has_clo_clz		1
 #define cpu_has_nofpuex		0
 /* #define cpu_has_64bits	? */
 /* #define cpu_has_64bit_zero_reg ? */
@@ -58,6 +59,7 @@
 /* #define cpu_has_vtag_icache	? */
 /* #define cpu_has_dc_aliases	? */
 /* #define cpu_has_ic_fills_f_dc ? */
+#define cpu_has_clo_clz		1
 #define cpu_has_nofpuex		0
 /* #define cpu_has_64bits	? */
 /* #define cpu_has_64bit_zero_reg ? */
diff --git a/arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h b/arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h
index 779b022..27aaaa5 100644
--- a/arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h
@@ -31,6 +31,7 @@
 /* #define cpu_has_vtag_icache	? */
 /* #define cpu_has_dc_aliases	? */
 /* #define cpu_has_ic_fills_f_dc ? */
+#define cpu_has_clo_clz		1
 #define cpu_has_nofpuex		0
 /* #define cpu_has_64bits	? */
 /* #define cpu_has_64bit_zero_reg ? */
@@ -56,6 +57,7 @@
 /* #define cpu_has_vtag_icache	? */
 /* #define cpu_has_dc_aliases	? */
 /* #define cpu_has_ic_fills_f_dc ? */
+#define cpu_has_clo_clz		1
 #define cpu_has_nofpuex		0
 /* #define cpu_has_64bits	? */
 /* #define cpu_has_64bit_zero_reg ? */
-- 
1.7.1.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] MIPS: PowerTV: Provide cpu-feature-overrides.h
  2010-07-12 15:41 ` [PATCH 1/2] MIPS: PowerTV: Provide cpu-feature-overrides.h Shinya Kuribayashi
@ 2011-05-19 15:38   ` Ralf Baechle
  0 siblings, 0 replies; 5+ messages in thread
From: Ralf Baechle @ 2011-05-19 15:38 UTC (permalink / raw)
  To: Shinya Kuribayashi; +Cc: David VomLehn, macro, linux-mips

Thanks, queued for 2.6.41.

  Ralf

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms
  2010-07-12 15:41 ` [PATCH 2/2] MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms Shinya Kuribayashi
@ 2011-05-19 15:39   ` Ralf Baechle
  0 siblings, 0 replies; 5+ messages in thread
From: Ralf Baechle @ 2011-05-19 15:39 UTC (permalink / raw)
  To: Shinya Kuribayashi; +Cc: David VomLehn, macro, linux-mips

Thanks, queued for 2.6.41.

  Ralf

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-05-19 15:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-12 15:37 [PATCH 0/2] MIPS: cpu-feature-overrides patches Shinya Kuribayashi
2010-07-12 15:41 ` [PATCH 1/2] MIPS: PowerTV: Provide cpu-feature-overrides.h Shinya Kuribayashi
2011-05-19 15:38   ` Ralf Baechle
2010-07-12 15:41 ` [PATCH 2/2] MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms Shinya Kuribayashi
2011-05-19 15:39   ` Ralf Baechle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.