From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev list <linuxppc-dev@ozlabs.org>
Subject: [PATCH] powerpc: Generic DCR access
Date: Tue, 03 Oct 2006 16:04:38 +1000 [thread overview]
Message-ID: <1159855478.5482.46.camel@localhost.localdomain> (raw)
This defines new "generic" access functions for DCRs that can be used
both on platforms with hardware DCR support (4xx processors) and
platforms where the DCRs are memory mapped. The 4xx versions are
implemented inline. The memory mapped versions will be implemented
separately as platforms support for them gets added.
From: Shaun Wetzstein <shaun@us.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Index: linux-cell/include/asm-powerpc/dcr.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-cell/include/asm-powerpc/dcr.h 2006-09-22 13:25:58.000000000 +1000
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) International Business Machines Corp., 2006
+ *
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef _ASM_POWERPC_DCR_H
+#define _ASM_POWERPC_DCR_H
+#ifdef __KERNEL__
+
+#include <asm/of_device.h>
+
+#if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
+inline void *dcr_find_controller(struct device_node *node)
+
+{
+ return NULL;
+}
+
+#include <asm/reg.h>
+
+inline u32 dcr_read(void *, int dcr_n)
+{
+ return mfdcr(dcr_n);
+}
+
+inline void dcr_write(void *, int dcr_n, u32 value)
+{
+ mtdcr(dcr_n, value);
+}
+#else /* for systems without mtdcr/mfdcr */
+
+/*
+ given a DCR based device node, search up the dt for the
+ "owning" dcr controller node and return its token
+*/
+extern void *dcr_find_controller(struct device_node *);
+
+extern u32 dcr_read(void *, int);
+extern void dcr_write(void *, int, u32);
+#endif
+
+#endif /* __KERNEL__ */
+#endif /* _ASM_POWERPC_DCR_H */
Index: linux-cell/arch/powerpc/Kconfig
===================================================================
--- linux-cell.orig/arch/powerpc/Kconfig 2006-09-22 13:25:56.000000000 +1000
+++ linux-cell/arch/powerpc/Kconfig 2006-09-22 13:30:25.000000000 +1000
@@ -160,9 +160,11 @@ config PPC_86xx
config 40x
bool "AMCC 40x"
+ select PPC_DCR
config 44x
bool "AMCC 44x"
+ select PPC_DCR
config 8xx
bool "Freescale 8xx"
@@ -424,6 +426,7 @@ config PPC_CELL
config PPC_CELL_NATIVE
bool
select PPC_CELL
+ select PPC_DCR
default n
config PPC_IBM_CELL_BLADE
@@ -476,6 +479,10 @@ config MPIC_BROKEN_U3
depends on PPC_MAPLE
default y
+config PPC_DCR
+ bool
+ default n
+
config IBMVIO
depends on PPC_PSERIES || PPC_ISERIES
bool
next reply other threads:[~2006-10-03 6:05 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-03 6:04 Benjamin Herrenschmidt [this message]
2006-10-03 10:45 ` [PATCH] powerpc: Generic DCR access Josh Boyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1159855478.5482.46.camel@localhost.localdomain \
--to=benh@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).