aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2010-07-02 14:19:35 -0400
committerChris Metcalf <cmetcalf@tilera.com>2010-07-06 13:42:15 -0400
commitef06f55a5c936a395f3ee2e1237bbebdb4396c65 (patch)
treefce333d35dc147020a773ec36cfdb17690e2f00a
parentbcd97c3f9a385e8e658a416cd72dd65ca0eeb544 (diff)
arch/tile: catch up on various minor cleanups.
None of these changes fix any actual bugs, but are just various cleanups that fell out along the way. In particular, some unused #defines and includes are removed, PREFETCH_STRIDE is added (the default is right for our shipping chips, but wrong for our next generation), our tile-specific prefetching code is removed so the (identical) generic prefetching code can be used instead, a comment is fixed to be proper GPL and not just a "paste GPL here" token, a "//" comment is converted to "/* */", etc. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--arch/tile/include/asm/cache.h5
-rw-r--r--arch/tile/include/asm/irqflags.h1
-rw-r--r--arch/tile/include/asm/processor.h24
-rw-r--r--arch/tile/include/asm/system.h2
-rw-r--r--arch/tile/include/asm/thread_info.h5
-rw-r--r--arch/tile/include/hv/hypervisor.h2
-rw-r--r--drivers/char/hvc_tile.c18
7 files changed, 16 insertions, 41 deletions
diff --git a/arch/tile/include/asm/cache.h b/arch/tile/include/asm/cache.h
index 869a14f4ceae..f6101840c9e7 100644
--- a/arch/tile/include/asm/cache.h
+++ b/arch/tile/include/asm/cache.h
@@ -21,11 +21,6 @@
21#define L1_CACHE_SHIFT CHIP_L1D_LOG_LINE_SIZE() 21#define L1_CACHE_SHIFT CHIP_L1D_LOG_LINE_SIZE()
22#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) 22#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
23 23
24/* bytes per L1 instruction cache line */
25#define L1I_CACHE_SHIFT CHIP_L1I_LOG_LINE_SIZE()
26#define L1I_CACHE_BYTES (1 << L1I_CACHE_SHIFT)
27#define L1I_CACHE_ALIGN(x) (((x)+(L1I_CACHE_BYTES-1)) & -L1I_CACHE_BYTES)
28
29/* bytes per L2 cache line */ 24/* bytes per L2 cache line */
30#define L2_CACHE_SHIFT CHIP_L2_LOG_LINE_SIZE() 25#define L2_CACHE_SHIFT CHIP_L2_LOG_LINE_SIZE()
31#define L2_CACHE_BYTES (1 << L2_CACHE_SHIFT) 26#define L2_CACHE_BYTES (1 << L2_CACHE_SHIFT)
diff --git a/arch/tile/include/asm/irqflags.h b/arch/tile/include/asm/irqflags.h
index cf5bffd00fef..45cf67c2f286 100644
--- a/arch/tile/include/asm/irqflags.h
+++ b/arch/tile/include/asm/irqflags.h
@@ -15,7 +15,6 @@
15#ifndef _ASM_TILE_IRQFLAGS_H 15#ifndef _ASM_TILE_IRQFLAGS_H
16#define _ASM_TILE_IRQFLAGS_H 16#define _ASM_TILE_IRQFLAGS_H
17 17
18#include <asm/processor.h>
19#include <arch/interrupts.h> 18#include <arch/interrupts.h>
20#include <arch/chip.h> 19#include <arch/chip.h>
21 20
diff --git a/arch/tile/include/asm/processor.h b/arch/tile/include/asm/processor.h
index 09584e263b00..d942d09b252e 100644
--- a/arch/tile/include/asm/processor.h
+++ b/arch/tile/include/asm/processor.h
@@ -267,32 +267,20 @@ extern int hash_default;
267 267
268/* Should kernel stack pages be hash-for-home? */ 268/* Should kernel stack pages be hash-for-home? */
269extern int kstack_hash; 269extern int kstack_hash;
270
271/* Does MAP_ANONYMOUS return hash-for-home pages by default? */
272#define uheap_hash hash_default
273
270#else 274#else
271#define hash_default 0 275#define hash_default 0
272#define kstack_hash 0 276#define kstack_hash 0
277#define uheap_hash 0
273#endif 278#endif
274 279
275/* Are we using huge pages in the TLB for kernel data? */ 280/* Are we using huge pages in the TLB for kernel data? */
276extern int kdata_huge; 281extern int kdata_huge;
277 282
278/* 283#define PREFETCH_STRIDE CHIP_L2_LINE_SIZE()
279 * Note that with OLOC the prefetch will return an unused read word to
280 * the issuing tile, which will cause some MDN traffic. Benchmarking
281 * should be done to see whether this outweighs prefetching.
282 */
283#define ARCH_HAS_PREFETCH
284#define ARCH_HAS_PREFETCHW
285#define ARCH_HAS_SPINLOCK_PREFETCH
286
287#define prefetch(ptr) __builtin_prefetch((ptr), 0, 3)
288#define prefetchw(ptr) __builtin_prefetch((ptr), 1, 3)
289
290#ifdef CONFIG_SMP
291#define spin_lock_prefetch(ptr) prefetchw(ptr)
292#else
293/* Nothing to prefetch. */
294#define spin_lock_prefetch(lock) do { } while (0)
295#endif
296 284
297#else /* __ASSEMBLY__ */ 285#else /* __ASSEMBLY__ */
298 286
diff --git a/arch/tile/include/asm/system.h b/arch/tile/include/asm/system.h
index 0935094f370a..f749be327ce0 100644
--- a/arch/tile/include/asm/system.h
+++ b/arch/tile/include/asm/system.h
@@ -136,8 +136,6 @@ mb_incoherent(void)
136#define set_mb(var, value) \ 136#define set_mb(var, value) \
137 do { var = value; mb(); } while (0) 137 do { var = value; mb(); } while (0)
138 138
139#include <linux/irqflags.h>
140
141/* 139/*
142 * Pause the DMA engine and static network before task switching. 140 * Pause the DMA engine and static network before task switching.
143 */ 141 */
diff --git a/arch/tile/include/asm/thread_info.h b/arch/tile/include/asm/thread_info.h
index beec8729564a..3872f2b345d2 100644
--- a/arch/tile/include/asm/thread_info.h
+++ b/arch/tile/include/asm/thread_info.h
@@ -150,11 +150,6 @@ extern void cpu_idle_on_new_stack(struct thread_info *old_ti,
150#endif 150#endif
151#define TS_POLLING 0x0004 /* in idle loop but not sleeping */ 151#define TS_POLLING 0x0004 /* in idle loop but not sleeping */
152#define TS_RESTORE_SIGMASK 0x0008 /* restore signal mask in do_signal */ 152#define TS_RESTORE_SIGMASK 0x0008 /* restore signal mask in do_signal */
153#define TS_EXEC_HASH_SET 0x0010 /* apply TS_EXEC_HASH_xxx flags */
154#define TS_EXEC_HASH_RO 0x0020 /* during exec, hash r/o segments */
155#define TS_EXEC_HASH_RW 0x0040 /* during exec, hash r/w segments */
156#define TS_EXEC_HASH_STACK 0x0080 /* during exec, hash the stack */
157#define TS_EXEC_HASH_FLAGS 0x00f0 /* mask for TS_EXEC_HASH_xxx flags */
158 153
159#define tsk_is_polling(t) (task_thread_info(t)->status & TS_POLLING) 154#define tsk_is_polling(t) (task_thread_info(t)->status & TS_POLLING)
160 155
diff --git a/arch/tile/include/hv/hypervisor.h b/arch/tile/include/hv/hypervisor.h
index a90d2989587a..59b46dc53994 100644
--- a/arch/tile/include/hv/hypervisor.h
+++ b/arch/tile/include/hv/hypervisor.h
@@ -547,7 +547,7 @@ void hv_assert_intr(HV_IntrMask assert_mask);
547 */ 547 */
548HV_Errno hv_trigger_ipi(HV_Coord tile, int interrupt); 548HV_Errno hv_trigger_ipi(HV_Coord tile, int interrupt);
549 549
550#endif // !CHIP_HAS_IPI() 550#endif /* !CHIP_HAS_IPI() */
551 551
552/** Store memory mapping in debug memory so that external debugger can read it. 552/** Store memory mapping in debug memory so that external debugger can read it.
553 * A maximum of 16 entries can be stored. 553 * A maximum of 16 entries can be stored.
diff --git a/drivers/char/hvc_tile.c b/drivers/char/hvc_tile.c
index 75715b32f22a..c4efb55cbc03 100644
--- a/drivers/char/hvc_tile.c
+++ b/drivers/char/hvc_tile.c
@@ -1,15 +1,15 @@
1/* 1/*
2 * %LINUX_LICENSE% 2 * Copyright 2010 Tilera Corporation. All Rights Reserved.
3 *
4 *
5 *
6 *
7 *
8 *
9 *
10 *
11 * 3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation, version 2.
12 * 7 *
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
11 * NON INFRINGEMENT. See the GNU General Public License for
12 * more details.
13 * 13 *
14 * Tilera TILE Processor hypervisor console 14 * Tilera TILE Processor hypervisor console
15 */ 15 */