* [PATCH] [POWERPC] quiet section mismatch warning on pcibios_setup
From: Stephen Rothwell @ 2007-07-21 14:37 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
WARNING: vmlinux.o(.text+0x1cefcc): Section mismatch: reference to .init.text:.pcibios_setup (between '.pci_setup' and '.pci_init')
pci_setup() is marked __devinit and calls pcibios_setup.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/kernel/pci-common.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Built for PowerPC allmodconfig and ppc64_defconfig.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 94b4a02..fe7d125 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -166,7 +166,7 @@ int pcibios_add_platform_entries(struct pci_dev *pdev)
}
-char __init *pcibios_setup(char *str)
+char __devinit *pcibios_setup(char *str)
{
return str;
}
--
1.5.2.3
^ permalink raw reply related
* [PATCH] [POWERPC] init and exit markings for hvc_iseries
From: Stephen Rothwell @ 2007-07-21 14:33 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/char/hvc_iseries.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
Built for PowerPC allmodconfig and ppc64_defconfig.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/drivers/char/hvc_iseries.c b/drivers/char/hvc_iseries.c
index b37f1d5..a08f8f9 100644
--- a/drivers/char/hvc_iseries.c
+++ b/drivers/char/hvc_iseries.c
@@ -472,7 +472,7 @@ static void hvc_handle_event(struct HvLpEvent *event)
}
}
-static int send_open(HvLpIndex remoteLp, void *sem)
+static int __init send_open(HvLpIndex remoteLp, void *sem)
{
return HvCallEvent_signalLpEventFast(remoteLp,
HvLpEvent_Type_VirtualIo,
@@ -484,7 +484,7 @@ static int send_open(HvLpIndex remoteLp, void *sem)
0, 0, 0, 0);
}
-static int hvc_vio_init(void)
+static int __init hvc_vio_init(void)
{
atomic_t wait_flag;
int rc;
@@ -552,14 +552,14 @@ static int hvc_vio_init(void)
}
module_init(hvc_vio_init); /* after drivers/char/hvc_console.c */
-static void hvc_vio_exit(void)
+static void __exit hvc_vio_exit(void)
{
vio_unregister_driver(&hvc_vio_driver);
}
module_exit(hvc_vio_exit);
/* the device tree order defines our numbering */
-static int hvc_find_vtys(void)
+static int __init hvc_find_vtys(void)
{
struct device_node *vty;
int num_found = 0;
--
1.5.2.3
^ permalink raw reply related
* [PATCH] [POWERPC] quite section mismatch in hvc_rtas.c
From: Stephen Rothwell @ 2007-07-21 14:31 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
WARNING: vmlinux.o(.text+0x2066f0): Section mismatch: reference to .init.text:.add_preferred_console (between '.hvc_rtas_console_init' and '.hvc_beat_put_chars')
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/char/hvc_rtas.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Built for PowerPC allmodconfig and ppc64_defconfig.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/drivers/char/hvc_rtas.c b/drivers/char/hvc_rtas.c
index 4b97eaf..bb09413 100644
--- a/drivers/char/hvc_rtas.c
+++ b/drivers/char/hvc_rtas.c
@@ -115,7 +115,7 @@ static void __exit hvc_rtas_exit(void)
module_exit(hvc_rtas_exit);
/* This will happen prior to module init. There is no tty at this time? */
-static int hvc_rtas_console_init(void)
+static int __init hvc_rtas_console_init(void)
{
rtascons_put_char_token = rtas_token("put-term-char");
if (rtascons_put_char_token == RTAS_UNKNOWN_SERVICE)
--
1.5.2.3
^ permalink raw reply related
* [PATCH] Fix tas_suspend/resume build warning
From: Stephen Rothwell @ 2007-07-21 14:29 UTC (permalink / raw)
To: johannes; +Cc: linuxppc-dev, alsa-devel, Andrew Morton
sound/aoa/codecs/snd-aoa-codec-tas.c:750: warning: 'tas_suspend' defined but not used
sound/aoa/codecs/snd-aoa-codec-tas.c:760: warning: 'tas_resume' defined but not used
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
sound/aoa/codecs/snd-aoa-codec-tas.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/sound/aoa/codecs/snd-aoa-codec-tas.c b/sound/aoa/codecs/snd-aoa-codec-tas.c
index 2f771f5..3cbfe46 100644
--- a/sound/aoa/codecs/snd-aoa-codec-tas.c
+++ b/sound/aoa/codecs/snd-aoa-codec-tas.c
@@ -743,6 +743,7 @@ static int tas_switch_clock(struct codec_info_item *cii, enum clock_switch clock
return 0;
}
+#ifdef CONFIG_PM
/* we are controlled via i2c and assume that is always up
* If that wasn't the case, we'd have to suspend once
* our i2c device is suspended, and then take note of that! */
@@ -768,7 +769,6 @@ static int tas_resume(struct tas *tas)
return 0;
}
-#ifdef CONFIG_PM
static int _tas_suspend(struct codec_info_item *cii, pm_message_t state)
{
return tas_suspend(cii->codec_data);
@@ -778,7 +778,10 @@ static int _tas_resume(struct codec_info_item *cii)
{
return tas_resume(cii->codec_data);
}
-#endif
+#else /* CONFIG_PM */
+#define _tas_suspend NULL
+#define _tas_resume NULL
+#endif /* CONFIG_PM */
static struct codec_info tas_codec_info = {
.transfers = tas_transfers,
@@ -791,10 +794,8 @@ static struct codec_info tas_codec_info = {
.owner = THIS_MODULE,
.usable = tas_usable,
.switch_clock = tas_switch_clock,
-#ifdef CONFIG_PM
.suspend = _tas_suspend,
.resume = _tas_resume,
-#endif
};
static int tas_init_codec(struct aoa_codec *codec)
--
1.5.2.3
^ permalink raw reply related
* [PATCH] constify of_platform_driver match_table
From: Stephen Rothwell @ 2007-07-21 14:27 UTC (permalink / raw)
To: Andrew Morton; +Cc: LKML, wli, ppc-dev, paulus, sparclinux, David S. Miller
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
include/linux/of_platform.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Built for PowerPC allmodconfig and ppc64_defconfig and Sparc and Sparc64
defconfig.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h
index 22c3837..448f70b 100644
--- a/include/linux/of_platform.h
+++ b/include/linux/of_platform.h
@@ -32,7 +32,7 @@ extern struct bus_type of_platform_bus_type;
struct of_platform_driver
{
const char *name;
- struct of_device_id *match_table;
+ const struct of_device_id *match_table;
struct module *owner;
int (*probe)(struct of_device* dev,
--
1.5.2.3
^ permalink raw reply related
* [PATCH] [POWERPC] hvcs: make some things static and const
From: Stephen Rothwell @ 2007-07-21 14:25 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/char/hvcs.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
Built for PowerPC allmodconfig and ppc64_defconfig.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c
index 17f96e0..69d8866 100644
--- a/drivers/char/hvcs.c
+++ b/drivers/char/hvcs.c
@@ -210,9 +210,9 @@ static struct ktermios hvcs_tty_termios = {
static int hvcs_parm_num_devs = -1;
module_param(hvcs_parm_num_devs, int, 0);
-char hvcs_driver_name[] = "hvcs";
-char hvcs_device_node[] = "hvcs";
-char hvcs_driver_string[]
+static const char hvcs_driver_name[] = "hvcs";
+static const char hvcs_device_node[] = "hvcs";
+static const char hvcs_driver_string[]
= "IBM hvcs (Hypervisor Virtual Console Server) Driver";
/* Status of partner info rescan triggered via sysfs. */
@@ -1092,7 +1092,7 @@ static int hvcs_enable_device(struct hvcs_struct *hvcsd, uint32_t unit_address,
* NOTICE: Do NOT hold either the hvcs_struct.lock or hvcs_structs_lock when
* calling this function or you will get deadlock.
*/
-struct hvcs_struct *hvcs_get_by_index(int index)
+static struct hvcs_struct *hvcs_get_by_index(int index)
{
struct hvcs_struct *hvcsd = NULL;
unsigned long flags;
--
1.5.2.3
^ permalink raw reply related
* [PATCH] constify of_platform_driver name
From: Stephen Rothwell @ 2007-07-21 14:23 UTC (permalink / raw)
To: Andrew Morton; +Cc: LKML, wli, ppc-dev, paulus, sparclinux, David S. Miller
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/pcmcia/m8xx_pcmcia.c | 2 +-
include/linux/of_platform.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Built for PowerPC allmodconfig and ppc64_defconfig, and for Sparc and
Sparc64 defconfig.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/drivers/pcmcia/m8xx_pcmcia.c b/drivers/pcmcia/m8xx_pcmcia.c
index 3c45142..b019854 100644
--- a/drivers/pcmcia/m8xx_pcmcia.c
+++ b/drivers/pcmcia/m8xx_pcmcia.c
@@ -1316,7 +1316,7 @@ static struct of_device_id m8xx_pcmcia_match[] = {
MODULE_DEVICE_TABLE(of, m8xx_pcmcia_match);
static struct of_platform_driver m8xx_pcmcia_driver = {
- .name = (char *)driver_name,
+ .name = driver_name,
.match_table = m8xx_pcmcia_match,
.probe = m8xx_probe,
.remove = m8xx_remove,
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h
index 5fd44e6..22c3837 100644
--- a/include/linux/of_platform.h
+++ b/include/linux/of_platform.h
@@ -31,7 +31,7 @@ extern struct bus_type of_platform_bus_type;
*/
struct of_platform_driver
{
- char *name;
+ const char *name;
struct of_device_id *match_table;
struct module *owner;
--
1.5.2.3
^ permalink raw reply related
* Someone broke my allmodconfig build
From: Stephen Rothwell @ 2007-07-21 14:12 UTC (permalink / raw)
To: ppc-dev
[-- Attachment #1: Type: text/plain, Size: 1123 bytes --]
Hi all,
At the end of a powerpc allmodconfig build, I get this (after the header
checks):
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
strip -s -R .comment vmlinux -o vmlinux.strip
strip -s -R .comment vmlinux -o arch/powerpc/boot/zImage.iseries
WRAP arch/powerpc/boot/zImage.pseries
WRAP arch/powerpc/boot/zImage.pmac
WRAP arch/powerpc/boot/zImage.ps3
/home/sfr/kernels/linus/arch/powerpc/boot/wrapper: line 113: dtc: command not found
make[2]: *** [arch/powerpc/boot/zImage.ps3] Error 1
make[2]: *** Waiting for unfinished jobs....
Building modules, stage 2.
make[1]: *** [zImage] Error 2
make[1]: *** Waiting for unfinished jobs....
MODPOST 1794 modules
ERROR: "pmu_batteries" [drivers/power/pmu_battery.ko] undefined!
ERROR: "pmu_battery_count" [drivers/power/pmu_battery.ko] undefined!
ERROR: "pmu_power_flags" [drivers/power/pmu_battery.ko] undefined!
make[2]: *** [__modpost] Error 1
make[1]: *** [modules] Error 2
make: *** [_all] Error 2
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: [RFC 0/1] lro: Generic Large Receive Offload for TCP traffic
From: Andrew Gallatin @ 2007-07-21 14:03 UTC (permalink / raw)
To: Jan-Bernd Themann
Cc: Thomas Klein, Jeff Garzik, Jan-Bernd Themann, netdev,
linux-kernel, linux-ppc, Christoph Raisch, Marcus Eder,
Stefan Roscher, David Miller
In-Reply-To: <200707201741.45079.ossthema@de.ibm.com>
On 7/20/07, Jan-Bernd Themann <ossthema@de.ibm.com> wrote:
> Hi,
>
> Thanks a lot for your comments so far.
> This generic LRO patch differs from the last one in several points.
> A new interface for a "receive in pages" mode has been added and tested
> with an eHEA prototype. Seems to work well.
>
> Does this extended interface seem to be sufficient?
Thank you for this!
At least for me, I find it is best to try to use an interface rather
than simply reading a diff. So I will port Myri10GE to use the new
interface so that I can give better feedback, I'll try my best to do
this by early next week.
Thank you again,
Drew
^ permalink raw reply
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
From: Geert Uytterhoeven @ 2007-07-21 8:27 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: linux-m68k, linux-kernel, Adrian Bunk, linuxppc-dev, linux-input,
Andrew Morton
In-Reply-To: <d120d5000707201151q433f1f3eteb479109291a54bd@mail.gmail.com>
On Fri, 20 Jul 2007, Dmitry Torokhov wrote:
> On 7/20/07, Adrian Bunk <bunk@stusta.de> wrote:
> > On Fri, Jul 20, 2007 at 01:47:36PM -0400, Dmitry Torokhov wrote:
> > > On 7/20/07, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > >> From: Geert Uytterhoeven <geert@linux-m68k.org>
> > >>
> > >> m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
> > >>
> > >> drivers/char/keyboard.c: In function 'kbd_keycode':
> > >> drivers/char/keyboard.c:1142: error: implicit declaration of function
> > >> 'mac_hid_mouse_emulate_buttons'
> > >>
> > >> The forward declaration of mac_hid_mouse_emulate_buttons() is not visible
> > >> on
> > >> m68k because it's hidden in the middle of a big #ifdef block.
> > >>
> > >> Move it to <linux/hid.h>, correct the type of the second parameter, and
> > >> include <linux/hid.h> where needed.
> > >
> > > linux/hid.h contains definitions needed for drivers speaking HID
> > > protocol, I don't think we want to put quirks for legacy keyboard
> > > driver there. I'd just move the #ifdef within drivers/char/keyboard.c
> > > for now.
> > >...
> >
> > If you only move it you will keep the bug of the wrong second parameter.
> >
> > But if you move it to any header file gcc is able to figure out such
> > errors itself instead of them being nasty runtime errors.
> >
> > Such prototypes in C files are really bad since (like in this case) they
> > prevent the finding of bugs. It doesn't matter which header file you put
> > the prototype into (it can even be a new one), but it belongs into a
> > header file.
> >
>
> I am OK with adding a new header file. I was just saying that placing
> that declaration in linux/hid.h makes about the same sense as putting
> it into linux/scsi.h
At first I just wanted to move it. Then I thought about the angry
comments I would get about not moving it to a header file ;-)
<linux/hid.h> looked like the best candidate. <linux/kbd_kern.h> is
another option.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* Re: [ofa-general] [PATCH 1/5] ehca: Supports large page MRs
From: Hoang-Nam Nguyen @ 2007-07-21 8:22 UTC (permalink / raw)
To: Roland Dreier
Cc: Joachim Fenkes, linux-kernel, openib-general, linuxppc-dev,
general-bounces, Hoang-Nam Nguyen, Stefan Roscher
In-Reply-To: <adabqe67632.fsf@cisco.com>
Hi Roland!
> I applied this, but I agree with checkpatch.pl:
>
> > WARNING: externs should be avoided in .c files
> > #227: FILE: drivers/infiniband/hw/ehca/ehca_mrmw.c:67:
> > +extern int ehca_mr_largepage;
> >
> > WARNING: externs should be avoided in .c files
> > #949: FILE: drivers/infiniband/hw/ehca/hcp_if.c:753:
> > + extern int ehca_debug_level;
>
> if you need to use a variable in more than one .c file, put the extern
> declaration in a common header that's included everywhere you use the
> variable, including the .c file that it is defined in. That way the
> compiler can see if you get confused about the type of the variable.
That's true.
> When you get a chance, please post a follow-on patch to fix this.
Sure thing. Will do that for rc2.
Thanks!
Nam
^ permalink raw reply
* Re: [ofa-general] [PATCH 5/5] ehca: Support small QP queues
From: Roland Dreier @ 2007-07-21 4:20 UTC (permalink / raw)
To: Hoang-Nam Nguyen
Cc: linuxppc-dev, fenkes, stefan.roscher, linux-kernel,
openib-general
In-Reply-To: <200707201604.17991.hnguyen@linux.vnet.ibm.com>
thanks, applied. I fixed this up myself to work with commit 20c2df83,
which got rid of the destructor argument to kmem_cache_create() -- you
probably want to check my tree to make sure it's OK.
Also the same as I said before about checkpatch.pl's warning:
WARNING: externs should be avoided in .c files
#337: FILE: drivers/infiniband/hw/ehca/ehca_pd.c:91:
+ extern struct kmem_cache *small_qp_cache;
please fix that up when you get a chance
^ permalink raw reply
* Re: [PATCH 3/5] ehca: Make ehca2ib_return_code() non-inline
From: Roland Dreier @ 2007-07-21 4:14 UTC (permalink / raw)
To: Hoang-Nam Nguyen
Cc: fenkes, linux-kernel, openib-general, linuxppc-dev, raisch,
stefan.roscher
In-Reply-To: <200707201602.46415.hnguyen@linux.vnet.ibm.com>
thanks, applied
^ permalink raw reply
* Re: [PATCH 2/5] ehca: Generate event when SRQ limit reached
From: Roland Dreier @ 2007-07-21 4:12 UTC (permalink / raw)
To: Hoang-Nam Nguyen
Cc: fenkes, linux-kernel, openib-general, linuxppc-dev, raisch,
stefan.roscher
In-Reply-To: <200707201602.19142.hnguyen@linux.vnet.ibm.com>
thanks, applied.
BTW, does your SRQ-capable hardware support generating the "last WQE
reached" event? There's not any reliable way to avoid problems when
destroying QPs attached to an SRQ without it, and the IB spec requires
CAs that support SRQs to generate it (o11-5.2.5 in chapter 11 of vol 1).
I don't see any code in ehca to generate the event, and IPoIB CM at
least will be very unhappy when using SRQs if the event is not
generated.
- R.
^ permalink raw reply
* Re: [ofa-general] [PATCH 1/5] ehca: Supports large page MRs
From: Roland Dreier @ 2007-07-21 4:07 UTC (permalink / raw)
To: Hoang-Nam Nguyen
Cc: linuxppc-dev, fenkes, stefan.roscher, linux-kernel,
openib-general
In-Reply-To: <200707201601.52277.hnguyen@linux.vnet.ibm.com>
I applied this, but I agree with checkpatch.pl:
> WARNING: externs should be avoided in .c files
> #227: FILE: drivers/infiniband/hw/ehca/ehca_mrmw.c:67:
> +extern int ehca_mr_largepage;
>
> WARNING: externs should be avoided in .c files
> #949: FILE: drivers/infiniband/hw/ehca/hcp_if.c:753:
> + extern int ehca_debug_level;
if you need to use a variable in more than one .c file, put the extern
declaration in a common header that's included everywhere you use the
variable, including the .c file that it is defined in. That way the
compiler can see if you get confused about the type of the variable.
When you get a chance, please post a follow-on patch to fix this.
- R.
^ permalink raw reply
* Re: SDRAM failures on MPC5200B (Xia Yu)
From: 夏雨 @ 2007-07-21 1:48 UTC (permalink / raw)
To: lokowich; +Cc: linuxppc-embedded
In-Reply-To: <mailman.1484.1184968961.8639.linuxppc-embedded@ozlabs.org>
Hi! According to the MPC5200B user's manual, you should define the S-delay
register(MBAR + 0x0190) to 0x04 ,and the initialization sequence of the DDR
should be modified according to the data sheet from MICRON. I have rewrite
the function as below:
static void sdram_start (int hi_addr)
{
long hi_addr_bit = hi_addr ? 0x01000000 : 0;
/* unlock mode register */
*(vu_long *)MPC5XXX_SDRAM_CTRL = (SDRAM_CONTROL & 0xefffffff)|
0x80000000 | hi_addr_bit;
__asm__ volatile ("sync");
/* precharge all banks */
*(vu_long *)MPC5XXX_SDRAM_CTRL = (SDRAM_CONTROL & 0xefffffff)|
0x80000002 | hi_addr_bit;
__asm__ volatile ("sync");
#if SDRAM_DDR
/* set mode register: extended mode */
*(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_EMODE;
__asm__ volatile ("sync");
/* set mode register: reset DLL */
*(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_MODE | 0x04000000;
__asm__ volatile ("sync");
#endif
/* precharge all banks */
*(vu_long *)MPC5XXX_SDRAM_CTRL = (SDRAM_CONTROL & 0xefffffff) |
0x80000002 | hi_addr_bit;
__asm__ volatile ("sync");
/* auto refresh */
*(vu_long *)MPC5XXX_SDRAM_CTRL = (SDRAM_CONTROL & 0xefffffff) |
0x80000004 | hi_addr_bit;
__asm__ volatile ("sync");
/* auto refresh */
*(vu_long *)MPC5XXX_SDRAM_CTRL = (SDRAM_CONTROL & 0xefffffff) |
0x80000004 | hi_addr_bit;
__asm__ volatile ("sync");
/* set mode register */
*(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_MODE;
__asm__ volatile ("sync");
/* normal operation */
*(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | hi_addr_bit;
__asm__ volatile ("sync");
udelay(3); //delay 400clks;
}
Hope to be helpful!
^ permalink raw reply
* Re: [PATCH] powerpc: mpic protected sources
From: Arnd Bergmann @ 2007-07-21 0:00 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Paul Mackerras
In-Reply-To: <1184975721.5439.33.camel@localhost.localdomain>
On Saturday 21 July 2007, Benjamin Herrenschmidt wrote:
> 0% probability of being spam.
>=20
> Full report:
> No, score=3D-2.5 required=3D5.0 tests=3DAWL,BAYES_00 autolearn=3Dham ver=
sion=3D3.1.7-deb =A0
> Some HW platforms, such as the new cell blades, requires some MPIC sources
> to be left alone by the operating system. This patch implements support f=
or
> a "protected-sources" property in the mpic controller node containing a l=
ist
> of source numbers to be protected against operating system interference.
>=20
> For those interested in the gory details, the MPIC on the southbridge of
> those blades has some of the processor outputs routed to the cell, and
> at least one routed as a GPIO to the service processor. It will be used
> in the GA product for routing some of the southbridge error interrupts
> to the service processor which implements some of the RAS stuff, such
> as checkstopping when fatal errors occurs before they can propagate.
>=20
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
^ permalink raw reply
* Re: [i2c] [PATCH] i2c-mpc: work around missing-9th-clock-pulse bug
From: Guennadi Liakhovetski @ 2007-07-21 0:03 UTC (permalink / raw)
To: Domen Puncer; +Cc: khali, i2c, linuxppc-embedded
In-Reply-To: <20070709071955.GD4186@moe.telargo.com>
On Mon, 9 Jul 2007, Domen Puncer wrote:
> Work around a problem reported on:
> http://ozlabs.org/pipermail/linuxppc-embedded/2005-July/019038.html
> Without this patch I2C on mpc5200 becomes unusable after a while.
> Tested on mpc5200 based boards by Matthias and me.
Domen, unfortunately, your suspicion, expressed on IRC, was right. It is
this patch that breaks i2c on mpc8241 (linkstation). Reverting it fixes
the problem. For reference, here's a rtc-debug log with this patch
(linux-2.6 tree of 19.07):
rtc-rs5c372 0-0032: rs5c372_probe
rtc-rs5c372 0-0032: 52 28 21 (04) 19 07 07 (15), 04 00 6a, 08 00 3e; 00 20
rtc-rs5c372 0-0032: 28 21 04 (19) 07 07 15 (04), 00 6a 08, 00 3e 00; 20 52
rtc-rs5c372 0-0032: rs5c372_get_datetime: tm is secs=28, mins=21, hours=4, mday=7, mon=6, year=115, wday=1
rtc-rs5c372 0-0032: rs5c372b found, 24hr, driver version 0.5
rtc-rs5c372: dev (254:0)
rtc-rs5c372 0-0032: rtc core: registered rtc-rs5c372 as rtc0
rtc-rs5c372 0-0032: 21 04 19 (07) 07 15 04 (00), 6a 08 00, 3e 00 20; 52 28
rtc-rs5c372 0-0032: rs5c372_get_datetime: tm is secs=21, mins=4, hours=19, mday=7, mon=14, year=104, wday=7
rtc-rs5c372 0-0032: hctosys: unable to read the hardware clock
Let me know when you'll have any patches to test.
Thanks
Guennadi
>
>
> Signed-off-by: Domen Puncer <domen.puncer@telargo.com>
>
> ---
> drivers/i2c/busses/i2c-mpc.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> Index: work-powerpc.git/drivers/i2c/busses/i2c-mpc.c
> ===================================================================
> --- work-powerpc.git.orig/drivers/i2c/busses/i2c-mpc.c
> +++ work-powerpc.git/drivers/i2c/busses/i2c-mpc.c
> @@ -74,6 +74,20 @@ static irqreturn_t mpc_i2c_isr(int irq,
> return IRQ_HANDLED;
> }
>
> +static void mpc_i2c_fixup(struct mpc_i2c *i2c)
> +{
> + writeccr(i2c, 0);
> + udelay(30);
> + writeccr(i2c, CCR_MEN);
> + udelay(30);
> + writeccr(i2c, CCR_MSTA | CCR_MTX);
> + udelay(30);
> + writeccr(i2c, CCR_MSTA | CCR_MTX | CCR_MEN);
> + udelay(30);
> + writeccr(i2c, CCR_MEN);
> + udelay(30);
> +}
> +
> static int i2c_wait(struct mpc_i2c *i2c, unsigned timeout, int writing)
> {
> unsigned long orig_jiffies = jiffies;
> @@ -153,6 +167,9 @@ static void mpc_i2c_start(struct mpc_i2c
> static void mpc_i2c_stop(struct mpc_i2c *i2c)
> {
> writeccr(i2c, CCR_MEN);
> + mb();
> + writeccr(i2c, 0);
> + mb();
> }
>
> static int mpc_write(struct mpc_i2c *i2c, int target,
> @@ -245,6 +262,8 @@ static int mpc_xfer(struct i2c_adapter *
> }
> if (time_after(jiffies, orig_jiffies + HZ)) {
> pr_debug("I2C: timeout\n");
> + if (readb(i2c->base + MPC_I2C_SR) == (CSR_MCF | CSR_MBB | CSR_RXAK))
> + mpc_i2c_fixup(i2c);
> return -EIO;
> }
> schedule();
>
> _______________________________________________
> i2c mailing list
> i2c@lm-sensors.org
> http://lists.lm-sensors.org/mailman/listinfo/i2c
>
---
Guennadi Liakhovetski
^ permalink raw reply
* [PATCH] powerpc: mpic protected sources
From: Benjamin Herrenschmidt @ 2007-07-20 23:55 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev list
In-Reply-To: <OFD54BD0CE.6883770C-ONC125731D.00322C4C-C125731D.00324A9E@de.ibm.com>
Some HW platforms, such as the new cell blades, requires some MPIC sources
to be left alone by the operating system. This patch implements support for
a "protected-sources" property in the mpic controller node containing a list
of source numbers to be protected against operating system interference.
For those interested in the gory details, the MPIC on the southbridge of
those blades has some of the processor outputs routed to the cell, and
at least one routed as a GPIO to the service processor. It will be used
in the GA product for routing some of the southbridge error interrupts
to the service processor which implements some of the RAS stuff, such
as checkstopping when fatal errors occurs before they can propagate.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
Should probably go in 2.6.23, whether it's a bug fix or not is debatable,
it's part of a late HW+SW+FW fix of the blades for reliability purposes.
Index: linux-work/arch/powerpc/sysdev/mpic.c
===================================================================
--- linux-work.orig/arch/powerpc/sysdev/mpic.c 2007-07-19 17:00:32.000000000 +1000
+++ linux-work/arch/powerpc/sysdev/mpic.c 2007-07-19 17:25:21.000000000 +1000
@@ -877,6 +877,8 @@ static int mpic_host_map(struct irq_host
if (hw == mpic->spurious_vec)
return -EINVAL;
+ if (mpic->protected && test_bit(hw, mpic->protected))
+ return -EINVAL;
#ifdef CONFIG_SMP
else if (hw >= mpic->ipi_vecs[0]) {
@@ -1034,6 +1036,25 @@ struct mpic * __init mpic_alloc(struct d
if (node && of_get_property(node, "big-endian", NULL) != NULL)
mpic->flags |= MPIC_BIG_ENDIAN;
+ /* Look for protected sources */
+ if (node) {
+ unsigned int psize, bits, mapsize;
+ const u32 *psrc =
+ of_get_property(node, "protected-sources", &psize);
+ if (psrc) {
+ psize /= 4;
+ bits = intvec_top + 1;
+ mapsize = BITS_TO_LONGS(bits) * sizeof(unsigned long);
+ mpic->protected = alloc_bootmem(mapsize);
+ BUG_ON(mpic->protected == NULL);
+ memset(mpic->protected, 0, mapsize);
+ for (i = 0; i < psize; i++) {
+ if (psrc[i] > intvec_top)
+ continue;
+ __set_bit(psrc[i], mpic->protected);
+ }
+ }
+ }
#ifdef CONFIG_MPIC_WEIRD
mpic->hw_set = mpic_infos[MPIC_GET_REGSET(flags)];
@@ -1213,6 +1234,9 @@ void __init mpic_init(struct mpic *mpic)
u32 vecpri = MPIC_VECPRI_MASK | i |
(8 << MPIC_VECPRI_PRIORITY_SHIFT);
+ /* check if protected */
+ if (mpic->protected && test_bit(i, mpic->protected))
+ continue;
/* init hw */
mpic_irq_write(i, MPIC_INFO(IRQ_VECTOR_PRI), vecpri);
mpic_irq_write(i, MPIC_INFO(IRQ_DESTINATION),
@@ -1407,6 +1431,14 @@ unsigned int mpic_get_one_irq(struct mpi
mpic_eoi(mpic);
return NO_IRQ;
}
+ if (unlikely(mpic->protected && test_bit(src, mpic->protected))) {
+ if (printk_ratelimit())
+ printk(KERN_WARNING "%s: Got protected source %d !\n",
+ mpic->name, (int)src);
+ mpic_eoi(mpic);
+ return NO_IRQ;
+ }
+
return irq_linear_revmap(mpic->irqhost, src);
}
Index: linux-work/include/asm-powerpc/mpic.h
===================================================================
--- linux-work.orig/include/asm-powerpc/mpic.h 2007-07-19 16:59:44.000000000 +1000
+++ linux-work/include/asm-powerpc/mpic.h 2007-07-19 17:02:35.000000000 +1000
@@ -296,6 +296,9 @@ struct mpic
unsigned int dcr_base;
#endif
+ /* Protected sources */
+ unsigned long *protected;
+
#ifdef CONFIG_MPIC_WEIRD
/* Pointer to HW info array */
u32 *hw_set;
^ permalink raw reply
* Re: [PATCH v3] pcmcia: CompactFlash driver for PA Semi Electra boards
From: Andrew Morton @ 2007-07-20 23:48 UTC (permalink / raw)
To: Olof Johansson
Cc: Christoph Hellwig, linuxppc-dev, linux-pcmcia, linux-kernel,
miltonm
In-Reply-To: <20070705144914.GA14284@lixom.net>
On Thu, 5 Jul 2007 09:49:14 -0500
olof@lixom.net (Olof Johansson) wrote:
> Driver for the CompactFlash slot on the PA Semi Electra eval board. It's
> a simple device sitting on localbus, with interrupts and detect/voltage
> control over GPIO.
>
> The driver is implemented as an of_platform driver, and adds localbus
> as a bus being probed by the of_platform framework.
>
>
> Signed-off-by: Olof Johansson <olof@lixom.net>
>
> ---
>
> On Mon, Jun 25, 2007 at 03:43:41PM -0500, olof wrote:
>
> > The ifdef is needed since for CONFIG_PCMCIA=n builds, the bus notifier
> > isn't available. I wanted to do the bus notifier registration explicitly
> > before the of_platform bus probe to avoid later surprises due to reordered
> > initcalls in case it was split up in it's own initcall.
> >
> > I could add the code under ifdef as well, but it didn't seem too
> > critical. Once the second major board comes along I'll probably move it
> > out to a per-board file, there's no real need for it just yet.
>
> Alright, turns out I still need to declare the extern bus type, which would mean
> two #ifdefs in one function. Moving it out instead.
>
> I've addressed Milton's comments as well.
>
> Who's maintaining PCMCIA? MAINTAINERS only lists a mailing list, no person. Seems
> weird for a component that's marked as maintained.
Dominik Brodowski. He's having a bit of downtime at present (exams, I
think). He expects to return. Meanwhile, cc'ing me usually has some
effect.
>
> ...
>
> +static const char driver_name[] = "electra-cf";
>
> ...
>
> +static struct of_device_id electra_cf_match[] =
> +{
> + {
> + .compatible = "electra-cf",
> + },
> + {},
> +};
Could have reused driver_name[] here, if that was appropriate.
> +static struct of_platform_driver electra_cf_driver =
> +{
> + .name = (char *)driver_name,
ug. But it's not your fault - we should have always made it const.
> --- mainline.orig/arch/powerpc/platforms/pasemi/setup.c
> +++ mainline/arch/powerpc/platforms/pasemi/setup.c
I never know who maintains random-scruffy-ppc code like this. From a peek
in the git-whatchanged output, it appears to be yourself.
Have a few little fixies:
--- a/drivers/pcmcia/electra_cf.c~pcmcia-compactflash-driver-for-pa-semi-electra-boards-fix
+++ a/drivers/pcmcia/electra_cf.c
@@ -201,9 +201,7 @@ static int __devinit electra_cf_probe(st
if (!cf)
return -ENOMEM;
- init_timer(&cf->timer);
- cf->timer.function = electra_cf_timer;
- cf->timer.data = (unsigned long) cf;
+ setup_timer(&cf->timer, electra_cf_timer, (unsigned long)cf);
cf->irq = NO_IRQ;
cf->ofdev = ofdev;
@@ -340,16 +338,14 @@ static int __devexit electra_cf_remove(s
return 0;
}
-static struct of_device_id electra_cf_match[] =
-{
+static struct of_device_id electra_cf_match[] = {
{
.compatible = "electra-cf",
},
{},
};
-static struct of_platform_driver electra_cf_driver =
-{
+static struct of_platform_driver electra_cf_driver = {
.name = (char *)driver_name,
.match_table = electra_cf_match,
.probe = electra_cf_probe,
@@ -371,4 +367,3 @@ module_exit(electra_cf_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR ("Olof Johansson <olof@lixom.net>");
MODULE_DESCRIPTION("PA Semi Electra CF driver");
-
_
^ permalink raw reply
* Re: [PATCH 5/6 v2] 85xxCDS: Misc 8548 PCI Corrections.
From: Randy Vinson @ 2007-07-20 22:31 UTC (permalink / raw)
To: Kumar Gala, linuxppc-dev@ozlabs.org
In-Reply-To: <46A133CF.6010407@mvista.com>
>From 57501bb79c2d5212c02766a32685d415cc74a4ab Mon Sep 17 00:00:00 2001
From: Randy Vinson <rvinson@mvista.com>
Date: Thu, 19 Jul 2007 10:40:53 -0700
Subject: [PATCH] 85xxCDS: Misc 8548 PCI Corrections.
Setting the host bridge @8000 as primary. Also fixing a bug in
setting the USB interrupt numbers.
Signed-off-by: Randy Vinson <rvinson@mvista.com>
---
arch/powerpc/platforms/85xx/mpc85xx_cds.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_cds.c b/arch/powerpc/platforms/85xx/mpc85xx_cds.c
index 963c6f8..862f394 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c
@@ -114,7 +114,7 @@ static void __init mpc85xx_cds_pci_irq_fixup(struct pci_dev *dev)
/* There are two USB controllers.
* Identify them by functon number
*/
- if (PCI_FUNC(dev->devfn))
+ if (PCI_FUNC(dev->devfn) == 3)
dev->irq = 11;
else
dev->irq = 10;
@@ -272,10 +272,10 @@ static void __init mpc85xx_cds_setup_arch(void)
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;) {
struct resource rsrc;
of_address_to_resource(np, 0, &rsrc);
- if ((rsrc.start & 0xfffff) == 0x9000)
- fsl_add_bridge(np, 0);
- else
+ if ((rsrc.start & 0xfffff) == 0x8000)
fsl_add_bridge(np, 1);
+ else
+ fsl_add_bridge(np, 0);
}
ppc_md.pci_irq_fixup = mpc85xx_cds_pci_irq_fixup;
#endif
--
1.5.2.2.549.gaeb59
^ permalink raw reply related
* Re: [PATCH 5/6] 85xxCDS: Misc 8548 PCI Corrections.
From: Randy Vinson @ 2007-07-20 22:14 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <DF1A9889-840C-4D19-9824-177DFEFE298F@kernel.crashing.org>
Kumar Gala wrote:
>
> On Jul 20, 2007, at 1:56 PM, Randy Vinson wrote:
>
>>> From cf18185b4e201ff45f2e2a948103dd3dc088c046 Mon Sep 17 00:00:00 2001
>> From: Randy Vinson <rvinson@mvista.com>
>> Date: Thu, 19 Jul 2007 10:40:53 -0700
>> Subject: [PATCH] 85xxCDS: Misc 8548 PCI Corrections.
>>
>> Setting the host bridge @8000 as primary and only calling setup_pci_atmu
>> for the PCI Express host bridge. Also fixing a bug in setting the USB
>> interrupt numbers.
>
> What issue exists with calling setup_pci_atmu on normal PCI?
At one point, it caused problems with the primary PCI controller, but I
just tried it without the exclusion and it was OK. I'm wondering if my
original problem was due to a buggy DTS file.
I'll remove that part of the patch and resubmit.
Randy Vinson
^ permalink raw reply
* Re: SDRAM failures on MPC5200B
From: Frank Bennett @ 2007-07-20 17:03 UTC (permalink / raw)
To: lokowich; +Cc: linuxppc-embedded
In-Reply-To: <46A0D76E.4030101@acdstar.com>
[-- Attachment #1: Type: text/plain, Size: 1656 bytes --]
lokowich wrote:
> We're working on bringing up a MPC5200B version of our original
> MPC5200 board using U-Boot 1.1.4 configured for Icecube/Lite5200B.
> Other than the CPU, the board is identical. The bootloader crashes
> just after relocation to RAM, often with a Program Check Exception,
> typically a memory corruption issue. I noticed failures at different
> stages after relocation based on content, suggesting problems with
> upper SDRAM. If I force the initram to 1/2 the determined size (64MB
> instead of 128MB), then everything works well through kernel load and
> initialization. We've added termination resistors to improve AD
> signals, to no avail. Memory tests work fine too. Any help is
> appreciated.
Review MPC5200B errata data sheets. I found a BDI2000 + RS232 console
port most useful for turning on a new design. Even
the exercise of BDI commands to tftp load/verify, memory write/verify,
debugging u-boot to run out of ram, with & w/o cache
turned on can be enlightening.
/*/Frank Bennett
President/*/
Mathegraphics,LLC
613 Bentley Pl
Fort Collins,CO 80526
www.mathegraphics.com <http://www.mathegraphics.com/>_
_
>
> Thanks,
> Mark Lokowich
> Systems Engineer
> Advanced Communication Design
> 7901 12th Ave. So.
> Bloomington, MN 55425
> 952-854-4000
> lokowich@acdstar.com
> This email was Anti Virus checked by Astaro Security Gateway. http://www.astaro.com
> ------------------------------------------------------------------------
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
[-- Attachment #2: Type: text/html, Size: 3232 bytes --]
^ permalink raw reply
* Re: [PATCH 5/6] 85xxCDS: Misc 8548 PCI Corrections.
From: Kumar Gala @ 2007-07-20 21:11 UTC (permalink / raw)
To: Randy Vinson; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <46A10578.6030609@mvista.com>
On Jul 20, 2007, at 1:56 PM, Randy Vinson wrote:
>> From cf18185b4e201ff45f2e2a948103dd3dc088c046 Mon Sep 17 00:00:00
>> 2001
> From: Randy Vinson <rvinson@mvista.com>
> Date: Thu, 19 Jul 2007 10:40:53 -0700
> Subject: [PATCH] 85xxCDS: Misc 8548 PCI Corrections.
>
> Setting the host bridge @8000 as primary and only calling
> setup_pci_atmu
> for the PCI Express host bridge. Also fixing a bug in setting the USB
> interrupt numbers.
What issue exists with calling setup_pci_atmu on normal PCI?
- k
^ permalink raw reply
* Re: [PATCH 1/2] OProfile - Enable SPU switch notification to detect currently active SPU tasks - update
From: Arnd Bergmann @ 2007-07-20 19:58 UTC (permalink / raw)
To: linuxppc-dev
Cc: Maynard Johnson, Andrew Morton, Bob Nelson, oprofile,
Philippe Elie
In-Reply-To: <20070720130241.176c50a5.akpm@linux-foundation.org>
T24gRnJpZGF5IDIwIEp1bHkgMjAwNywgQW5kcmV3IE1vcnRvbiB3cm90ZToKPiAroKCgoKCgoGZv
cl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKPiCgoKCgoKCgoKCgoKCgoKCgc3RydWN0IHNwdSAq
c3B1Owo+IKCgoKCgoKCgoKCgoKCgoKBtdXRleF9sb2NrKCZzcHVfcHJpby0+YWN0aXZlX211dGV4
W25vZGVdKTsKPiCgoKCgoKCgoKCgoKCgoKCgbGlzdF9mb3JfZWFjaF9lbnRyeShzcHUsICZzcHVf
cHJpby0+YWN0aXZlX2xpc3Rbbm9kZV0sIGxpc3QpIHsKPiCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg
oKBzdHJ1Y3Qgc3B1X2NvbnRleHQgKmN0eCA9IHNwdS0+Y3R4Owo+IKCgoKCgoKCgoKCgoKCgoKCg
oKCgoKCgoHNldF9iaXQoU1BVX1NDSEVEX05PVElGWV9BQ1RJVkUsICZjdHgtPnNjaGVkX2ZsYWdz
KTsKPiAtoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBtYigpOwo+ICugoKCgoKCgoKCgoKCgoKCgoKCg
oKCgoG1iKCk7oKCgLyogbWFrZSBzdXJlIGFueSB0YXNrcyB3b2tlbiB1cCBiZWxvdyAqLwo+ICug
oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgLyogY2FuIHNlZSB0aGUgYml0KHMpIHNldCBh
Ym92ZSAqLwo+IKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoHdha2VfdXBfYWxsKCZjdHgtPnN0b3Bf
d3EpOwo+IKCgoKCgoKCgoKCgoKCgoKB9Cj4goKCgoKCgoKCgoKCgoKCgoG11dGV4X3VubG9jaygm
c3B1X3ByaW8tPmFjdGl2ZV9tdXRleFtub2RlXSk7Cj4gXwo+IAo+IEkgc3RpbGwgd29uZGVyIGFi
b3V0IHRoYXQgYmFycmllci4goEF0IHRoZSBsZWFzdCBpdCBzaG91bGQgYmUgc21wX21iKCkuIAo+
IEJ1dCBhcmVuJ3Qgb3VyIHNldF9iaXQoKSBzZW1hbnRpY3MgX2Fsb25lXyBzdWZmaWNpZW50IHRv
IG1ha2UgdGhpcyBiYXJyaWVyCj4gdW5uZWVkZWQ/CgpJIGJlbGlldmUgdGhleSBhcmUgc3VmZmlj
aWVudCBvbiBwb3dlcnBjLCBhbmQgc2hvdWxkIGJlIGV2ZXJ5d2hlcmUsIHNvCnRoZSBtYigpIGNh
biBwcm9iYWJseSBnbyBhd2F5IGVudGlyZWx5LiBzZXRfYml0KCkgZG9lcyBhIGxkYXJ4L3N0ZGN4
LAp3aGljaCBpcyBndWFyYW50ZWVkIHRvIGJlIGF0b21pYyBhY3Jvc3MgQ1BVcy4KCglBcm5kIDw+
PAo=
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox