Message ID | 1257172092-25026-1-git-send-email-kristoffer@gaisler.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
From: Kristoffer Glembo <kristoffer@gaisler.com> Date: Mon, 2 Nov 2009 15:28:11 +0100 > Added a function for checking if snooping is enabled. You need to provide a proper "Signed-off-by:" when submitting patches. Also, all of these inline routines in leon.h should be "static inline" not "extern inline". "extern inline" tells the compiler that it can choose to not inline the function, and that externally in some other object file an implementation of that function will exist that the compiler can generate a call to. You want "static inline" which tells the compiler that it either must inline the function or emit a local static copy of it into the current compilation unit. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/sparc/include/asm/leon.h b/arch/sparc/include/asm/leon.h index 28a42b7..9f4ff4e 100644 --- a/arch/sparc/include/asm/leon.h +++ b/arch/sparc/include/asm/leon.h @@ -209,6 +209,13 @@ extern inline void sparc_leon3_enable_snooping(void) "sta %%l2, [%%g0] 2\n\t" : : : "l1", "l2"); }; +extern inline int sparc_leon3_snooping_enabled(void) +{ + u32 cctrl; + __asm__ __volatile__("lda [%%g0] 2, %0\n\t" : "=r"(cctrl)); + return (cctrl >> 23) & 1; +}; + extern inline void sparc_leon3_disable_cache(void) { __asm__ __volatile__ ("lda [%%g0] 2, %%l1\n\t"