* Re: BUG in dma-mapping.h:218 // MESH SCSI driver not working
From: Stef Simoens @ 2009-07-29 23:42 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
In-Reply-To: <1248910358.1509.27.camel@pasglop>
[-- Attachment #1: Type: text/plain, Size: 869 bytes --]
Benjamin Herrenschmidt schreef:
> On Wed, 2009-07-29 at 20:22 +0200, Stef Simoens wrote:
>
>> 2.6.29 works OK
>> 2.6.30-rc1 doesn't work (BUG...)
>> 2.6.30-rc1 with your patch ... seems to hang when it should be
>> mounting the root directory.
>>
>> Is it worthwhile doing a git bisect?
>>
>
> It probably is, since it should work with my patch, so something else
> changed, maybe in the SCSI stack.
>
What would be the best approach?
- if the kernel boots, it's obviously 'good'
- but what if the kernel hits the 'BUG', should I apply your patch then?
If it doesn't work with your patch, would it be 'bad' then?
> One thing I know is that the MESH HW has "issues" that make it very
> sensitive to alignment DMA buffers, it's possible that the SCSI stack no
> longer aligns some stuff ?
>
Hmm, great... how can I verify this?
--
Regards,
Stef Simoens
[-- Attachment #2: Type: text/html, Size: 1422 bytes --]
^ permalink raw reply
* Re: BUG in dma-mapping.h:218 // MESH SCSI driver not working
From: Benjamin Herrenschmidt @ 2009-07-30 0:52 UTC (permalink / raw)
To: Stef Simoens; +Cc: linuxppc-dev
In-Reply-To: <4A70DE54.5090406@scarlet.be>
On Thu, 2009-07-30 at 01:42 +0200, Stef Simoens wrote:
> What would be the best approach?
> - if the kernel boots, it's obviously 'good'
> - but what if the kernel hits the 'BUG', should I apply your patch
> then? If it doesn't work with your patch, would it be 'bad' then?
Yes.
> > One thing I know is that the MESH HW has "issues" that make it very
> > sensitive to alignment DMA buffers, it's possible that the SCSI stack no
> > longer aligns some stuff ?
> >
> Hmm, great... how can I verify this?
I will once we get a closer idea of where the bug started to happen.
Thanks !
Cheers,
Ben.
^ permalink raw reply
* Re: [PATCH 1/7] spi: Add support for device table matching
From: Anton Vorontsov @ 2009-07-30 2:12 UTC (permalink / raw)
To: Ben Dooks
Cc: David Brownell, linux-kernel, lm-sensors, linuxppc-dev, linux-mtd,
Jean Delvare, Andrew Morton, David Woodhouse
In-Reply-To: <20090729224050.GA17902@oksana.dev.rtsoft.ru>
On Thu, Jul 30, 2009 at 02:40:50AM +0400, Anton Vorontsov wrote:
[...]
> - If you don't store "id" in the device struct, you'll have
> to look up the device table twice (at first during bus->match(),
> and second time in drivers' probe() hook, i.e.
> probe(struct bus_dev *dev) {
> id = bus_get_devid(dev); /* here */
> }
Hm... actually, we're doing this anyway, but in spi core.
So, doing something like spi_get_device_id() might be a good
idea.
Thanks,
--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2
^ permalink raw reply
* [PATCH] powerpc/mm: Fix SMP issue with MMU context handling code
From: Kumar Gala @ 2009-07-30 4:13 UTC (permalink / raw)
To: linuxppc-dev
In switch_mmu_context() if we call steal_context_smp() to get a context
to use we shouldn't fall through and than call steal_context_up(). Doing
so can be problematic in that the 'mm' that steal_context_up() ends up
using will not get marked dirty in the stale_map[] for other CPUs that
might have used that mm. Thus we could end up with stale TLB entries in
the other CPUs that can cause all kinda of havoc.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
arch/powerpc/mm/mmu_context_nohash.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/mm/mmu_context_nohash.c b/arch/powerpc/mm/mmu_context_nohash.c
index 92a1971..b1a727d 100644
--- a/arch/powerpc/mm/mmu_context_nohash.c
+++ b/arch/powerpc/mm/mmu_context_nohash.c
@@ -217,6 +217,7 @@ void switch_mmu_context(struct mm_struct *prev, struct mm_struct *next)
id = steal_context_smp(id);
if (id == MMU_NO_CONTEXT)
goto again;
+ goto stolen;
}
#endif /* CONFIG_SMP */
id = steal_context_up(id);
--
1.6.0.6
^ permalink raw reply related
* Re: [PATCH] powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards
From: Kumar Gala @ 2009-07-30 4:14 UTC (permalink / raw)
To: Anton Vorontsov; +Cc: linuxppc-dev
In-Reply-To: <20090624163028.GA18825@oksana.dev.rtsoft.ru>
On Jun 24, 2009, at 11:30 AM, Anton Vorontsov wrote:
> Linux isn't able to detect link changes on ethernet ports that were
> used by U-Boot. This is because U-Boot wrongly clears interrupt
> polarity bit (INTPOL, 0x400) in the extended status register (EXT_SR,
> 0x1b) of Marvell PHYs.
>
> There is no easy way for PHY drivers to know IRQ line polarity (we
> could extract it from the device tree and pass it to phydevs, but
> that'll be quite a lot of work), so for now just reset the PHYs to
> their default states.
>
> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
> ---
> arch/powerpc/platforms/85xx/mpc85xx_mds.c | 13 +++++++++++++
> 1 files changed, 13 insertions(+), 0 deletions(-)
applied to merge
- k
^ permalink raw reply
* Re: [PATCH] powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards
From: Kumar Gala @ 2009-07-30 4:16 UTC (permalink / raw)
To: Anton Vorontsov; +Cc: linuxppc-dev
In-Reply-To: <20090701173925.GA22134@oksana.dev.rtsoft.ru>
On Jul 1, 2009, at 12:39 PM, Anton Vorontsov wrote:
> Sometimes (e.g. when there are no UEMs attached to a board)
> fsl_pq_mdio_find_free() fails to find a spare address for a TBI PHY,
> this is because get_phy_id() returns bogus 0x0000ffff values
> (0xffffffff is expected), and therefore mdio bus probing fails with
> the following message:
>
> fsl-pq_mdio: probe of e0082120.mdio failed with error -16
>
> And obviously ethernet doesn't work after this.
>
> This patch solves the problem by adding tbi-phy node into mdio node,
> so that we won't scan for spare addresses, we'll just use a fixed one.
>
> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
> ---
> arch/powerpc/boot/dts/mpc8569mds.dts | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
applied to merge
- k
^ permalink raw reply
* Re: [PATCH] powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards
From: Kumar Gala @ 2009-07-30 4:18 UTC (permalink / raw)
To: Anton Vorontsov; +Cc: linuxppc-dev
In-Reply-To: <20090720213643.GA4209@oksana.dev.rtsoft.ru>
On Jul 20, 2009, at 4:36 PM, Anton Vorontsov wrote:
> U-Boot maps PCI IO at 0xe0300000, while current dts files specify
> 0xe2000000. This leads to the following oops with
> CONFIG_8139TOO_PIO=y.
>
> 8139too Fast Ethernet driver 0.9.28
> Machine check in kernel mode.
> Caused by (from SRR1=41000): Transfer error ack signal
> Oops: Machine check, sig: 7 [#1]
> MPC837x RDB
> [...]
> NIP [00000900] 0x900
> LR [c0439df8] rtl8139_init_board+0x238/0x524
> Call Trace:
> [cf831d90] [c0439dcc] rtl8139_init_board+0x20c/0x524 (unreliable)
> [cf831de0] [c043a15c] rtl8139_init_one+0x78/0x65c
> [cf831e40] [c0235250] pci_call_probe+0x20/0x30
> [...]
>
> This patch fixes the issue by specifying the correct PCI IO base
> address.
>
> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
> ---
> arch/powerpc/boot/dts/mpc8377_rdb.dts | 2 +-
> arch/powerpc/boot/dts/mpc8378_rdb.dts | 2 +-
> arch/powerpc/boot/dts/mpc8379_rdb.dts | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
applied to merge
- k
^ permalink raw reply
* Re: [RFC/PATCH] powerpc: Don't use alloc_bootmem in cpm_uart_cpm2.c
From: Kumar Gala @ 2009-07-30 4:22 UTC (permalink / raw)
To: Mark Ware; +Cc: Linuxppc-dev Development
In-Reply-To: <4A645A27.7040002@elphinstone.net>
On Jul 20, 2009, at 6:51 AM, Mark Ware wrote:
> This is another alloc_bootmem() -> kzalloc() change, this time to
> fix the non-fatal badness caused when booting with a cpm2_uart
> console.
>
> Signed-Off-By: Mark Ware <mware@elphinstone.net>
>
> ---
> drivers/serial/cpm_uart/cpm_uart_cpm2.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
applied to merge (had to fix up patch by hand).
- k
^ permalink raw reply
* Re: [PATCH] powerpc/86xx: Update defconfig for GE Fanuc's PPC9A
From: Kumar Gala @ 2009-07-30 4:32 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev
In-Reply-To: <20090702141835.22350.25503.stgit@ES-J7S4D2J.amer.consind.ge.com>
On Jul 2, 2009, at 9:18 AM, Martyn Welch wrote:
> General update of defconfig including the following notable changes:
> - Enable GPIO access via sysfs on GE Fanuc's PPC9A.
> - Enable Highmem support.
> - Support for PCMCIA based daughter card.
>
> Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
> ---
>
> arch/powerpc/configs/86xx/gef_ppc9a_defconfig | 518 ++++++++
> +----------------
> 1 files changed, 196 insertions(+), 322 deletions(-)
applied to merge
- k
^ permalink raw reply
* Re: [PATCH] powerpc/86xx: Update GE Fanuc sbc310 default configuration
From: Kumar Gala @ 2009-07-30 4:32 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev
In-Reply-To: <20090702141844.22370.87052.stgit@ES-J7S4D2J.amer.consind.ge.com>
On Jul 2, 2009, at 9:18 AM, Martyn Welch wrote:
> General update of defconfig including the following notable changes:
> - Enable Highmem support.
> - Support for PCMCIA based daughter card.
>
> Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
> ---
>
> arch/powerpc/configs/86xx/gef_sbc310_defconfig | 213 +++++++++++++++
> ++-------
> 1 files changed, 154 insertions(+), 59 deletions(-)
applied to merge
- k
^ permalink raw reply
* Re: [PATCH] powerpc/86xx: Update GE Fanuc sbc310 DTS
From: Kumar Gala @ 2009-07-30 4:33 UTC (permalink / raw)
To: Martyn Welch; +Cc: linuxppc-dev
In-Reply-To: <20090702141825.22330.83064.stgit@ES-J7S4D2J.amer.consind.ge.com>
On Jul 2, 2009, at 9:18 AM, Martyn Welch wrote:
> Update GE Fanuc DTS to match the alterations suggested during the
> merge of the ppc9a DTS in commit
> 740d36ae6344f38c4da64c2ede765d7d2dd1f132
>
> Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
> ---
>
> arch/powerpc/boot/dts/gef_sbc310.dts | 29 ++++++++++++
> +----------------
> 1 files changed, 13 insertions(+), 16 deletions(-)
tried to apply this but wasn't able to.. please repost and will defer
for .32 at this point (and fix the commit message since its a run on,
guessing that might be related to why I couldn't apply it).
- k
^ permalink raw reply
* Please pull from 'merge' branch for 2.6.31
From: Kumar Gala @ 2009-07-30 4:38 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
Please pull from 'merge' branch of
master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc.git merge
This is pretty much some bug fixes and defconfig updates.
- k
to receive the following updates:
arch/powerpc/boot/dts/mpc8377_rdb.dts | 2
arch/powerpc/boot/dts/mpc8378_rdb.dts | 2
arch/powerpc/boot/dts/mpc8379_rdb.dts | 2
arch/powerpc/boot/dts/mpc8569mds.dts | 4
arch/powerpc/configs/83xx/asp8347_defconfig | 106 ++--
arch/powerpc/configs/83xx/kmeter1_defconfig | 176 ++++---
arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | 168 +++++--
arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | 168 +++++--
arch/powerpc/configs/83xx/mpc832x_mds_defconfig | 111 ++--
arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | 120 ++---
arch/powerpc/configs/83xx/mpc834x_itx_defconfig | 114 ++--
arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | 114 ++--
arch/powerpc/configs/83xx/mpc834x_mds_defconfig | 104 ++--
arch/powerpc/configs/83xx/mpc836x_mds_defconfig | 111 ++--
arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | 104 ++--
arch/powerpc/configs/83xx/mpc837x_mds_defconfig | 110 ++--
arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | 162 ++++--
arch/powerpc/configs/83xx/sbc834x_defconfig | 103 ++--
arch/powerpc/configs/85xx/ksi8560_defconfig | 93 ++-
arch/powerpc/configs/85xx/mpc8540_ads_defconfig | 91 ++-
arch/powerpc/configs/85xx/mpc8560_ads_defconfig | 99 ++--
arch/powerpc/configs/85xx/mpc85xx_cds_defconfig | 99 ++--
arch/powerpc/configs/85xx/sbc8548_defconfig | 96 ++--
arch/powerpc/configs/85xx/sbc8560_defconfig | 91 ++-
arch/powerpc/configs/85xx/socrates_defconfig | 165 ++++--
arch/powerpc/configs/85xx/stx_gp3_defconfig | 119 +++--
arch/powerpc/configs/85xx/tqm8540_defconfig | 100 ++--
arch/powerpc/configs/85xx/tqm8541_defconfig | 101 ++--
arch/powerpc/configs/85xx/tqm8548_defconfig | 100 ++--
arch/powerpc/configs/85xx/tqm8555_defconfig | 101 ++--
arch/powerpc/configs/85xx/tqm8560_defconfig | 101 ++--
arch/powerpc/configs/85xx/xes_mpc85xx_defconfig | 118 ++--
arch/powerpc/configs/86xx/gef_ppc9a_defconfig | 521 ++++++++--------------
arch/powerpc/configs/86xx/gef_sbc310_defconfig | 216 ++++++---
arch/powerpc/configs/86xx/gef_sbc610_defconfig | 130 +++--
arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 118 +++-
arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | 186 +++----
arch/powerpc/configs/86xx/sbc8641d_defconfig | 112 +++-
arch/powerpc/configs/adder875_defconfig | 97 ++--
arch/powerpc/configs/c2k_defconfig | 121 +++--
arch/powerpc/configs/ep8248e_defconfig | 97 ++--
arch/powerpc/configs/ep88xc_defconfig | 91 ++-
arch/powerpc/configs/linkstation_defconfig | 116 +++-
arch/powerpc/configs/mgcoge_defconfig | 97 ++--
arch/powerpc/configs/mgsuvd_defconfig | 89 ++-
arch/powerpc/configs/mpc7448_hpc2_defconfig | 103 ++--
arch/powerpc/configs/mpc8272_ads_defconfig | 104 ++--
arch/powerpc/configs/mpc83xx_defconfig | 162 ++++--
arch/powerpc/configs/mpc85xx_defconfig | 193 +++-----
arch/powerpc/configs/mpc85xx_smp_defconfig | 193 +++-----
arch/powerpc/configs/mpc866_ads_defconfig | 92 ++-
arch/powerpc/configs/mpc86xx_defconfig | 186 +++----
arch/powerpc/configs/mpc885_ads_defconfig | 91 ++-
arch/powerpc/configs/pq2fads_defconfig | 110 ++--
arch/powerpc/configs/prpmc2800_defconfig | 158 ++++--
arch/powerpc/configs/storcenter_defconfig | 108 ++--
arch/powerpc/mm/mmu_context_nohash.c | 1
arch/powerpc/platforms/85xx/mpc85xx_mds.c | 13
drivers/serial/cpm_uart/cpm_uart_cpm2.c | 2
59 files changed, 4007 insertions(+), 2755 deletions(-)
Anton Vorontsov (3):
powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards
powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards
powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards
Kumar Gala (2):
powerpc/mm: Fix SMP issue with MMU context handling code
powerpc: Update defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx
Mark Ware (1):
cpm_uart: Don't use alloc_bootmem in cpm_uart_cpm2.c
Martyn Welch (2):
powerpc/86xx: Update defconfig for GE Fanuc's PPC9A
powerpc/86xx: Update GE Fanuc sbc310 default configuration
^ permalink raw reply
* fsldma patches?
From: Kumar Gala @ 2009-07-30 4:40 UTC (permalink / raw)
To: Dan Williams; +Cc: Linuxppc-dev Development, Ira W. Snyder
Dan,
What happened with the set of patches that Ira posted for fsldma?
- k
^ permalink raw reply
* Re: 82xx, mgcoge: updates for 2.6.32
From: Heiko Schocher @ 2009-07-30 5:29 UTC (permalink / raw)
To: david; +Cc: linuxppc-dev
In-Reply-To: <20090729103203.GA6369@yookeroo.seuss>
Hello David,
David Gibson wrote:
> On Wed, Jul 29, 2009 at 10:32:30AM +0200, Heiko Schocher wrote:
>
> [snip]
>> + mdio@10d40 {
>> + device_type = "mdio";
>
> Drop this device_type.
Done.
>> + compatible = "fsl,cpm2-mdio-bitbang";
>> + reg = <0x10d00 0x14>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + fsl,mdio-pin = <12>;
>> + fsl,mdc-pin = <13>;
>> +
>> + phy0: ethernet-phy@0 {
>> + reg = <0x0>;
>> + device_type = "ethernet-phy";
>
> And this one, too.
Done.
>> + };
>> +
>> + phy1: ethernet-phy@1 {
>> + reg = <0x1>;
>> + device_type = "ethernet-phy";
>> + };
>> + };
>
I collect more comments, then the patch follows.
Thanks
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply
* Re: 82xx, mgcoge: updates for 2.6.32
From: Heiko Schocher @ 2009-07-30 5:31 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev
In-Reply-To: <820BFB98-F940-4B5C-8D4A-9C069B3DC199@kernel.crashing.org>
Hello Kumar,
Kumar Gala wrote:
>
> On Jul 29, 2009, at 3:32 AM, Heiko Schocher wrote:
>
>> - add I2C support
>> - add FCC1 and FCC2 support
>> - fix bogus gpio numbering in plattformcode
>>
>> Signed-off-by: Heiko Schocher <hs@denx.de>
>> ---
>> - based on git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git
>> next branch
>> - checked with checkpatch.pl:
>> $ ./scripts/checkpatch.pl 0001-82xx-mgcoge-updates-for-2.6.32.patch
>> total: 0 errors, 0 warnings, 531 lines checked
>>
>> 0001-82xx-mgcoge-updates-for-2.6.32.patch has no obvious style
>> problems and is ready for submission.
>> $
>>
>> BTW: Who is PPC82XX Maintainer? I couldn;t find such an entry
>> in the MAINTAINERS file ...
>
> its me.
Ah, thought it, but I wasn;t sure ... Hmm, maybe you can update
the MAINTAINERS entry?
>> arch/powerpc/boot/dts/mgcoge.dts | 56 ++++++++++
>> arch/powerpc/configs/mgcoge_defconfig | 178
>> +++++++++++++++++++++++++-------
>
> Can we hold off or pull the defconfig update into a separate patch. I
> normally update defconfigs in a late -rc series and that will probably
> generate merge conflicts.
I make a seperate patch for the defconfig.
Thanks. I wait for more comments, before I post the next version
of this patch.
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply
* [PATCH v2] powerpc/86xx: Update GE Fanuc sbc310 DTS
From: Martyn Welch @ 2009-07-30 8:13 UTC (permalink / raw)
To: galak; +Cc: linuxppc-dev
Update GE Fanuc DTS to match the alterations suggested during the merge of
the ppc9a DTS in commit 740d36ae6344f38c4da64c2ede765d7d2dd1f132
Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
---
v2: Fixed run on message.
Kumar: I think the problem may be that this patch depends on a previous patch:
http://patchwork.ozlabs.org/patch/29335/
Martyn
arch/powerpc/boot/dts/gef_sbc310.dts | 29 +++++++++++++----------------
1 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/arch/powerpc/boot/dts/gef_sbc310.dts b/arch/powerpc/boot/dts/gef_sbc310.dts
index 7810ea9..2107d3c 100644
--- a/arch/powerpc/boot/dts/gef_sbc310.dts
+++ b/arch/powerpc/boot/dts/gef_sbc310.dts
@@ -83,34 +83,34 @@
/* flash@0,0 is a mirror of part of the memory in flash@1,0
flash@0,0 {
- compatible = "cfi-flash";
- reg = <0 0 0x01000000>;
+ compatible = "gef,sbc310-firmware-mirror", "cfi-flash";
+ reg = <0x0 0x0 0x01000000>;
bank-width = <2>;
device-width = <2>;
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "firmware";
- reg = <0x00000000 0x01000000>;
+ reg = <0x0 0x01000000>;
read-only;
};
};
*/
flash@1,0 {
- compatible = "cfi-flash";
- reg = <1 0 0x8000000>;
+ compatible = "gef,sbc310-paged-flash", "cfi-flash";
+ reg = <0x1 0x0 0x8000000>;
bank-width = <2>;
device-width = <2>;
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "user";
- reg = <0x00000000 0x07800000>;
+ reg = <0x0 0x7800000>;
};
partition@7800000 {
label = "firmware";
- reg = <0x07800000 0x00800000>;
+ reg = <0x7800000 0x800000>;
read-only;
};
};
@@ -121,18 +121,16 @@
};
wdt@4,2000 {
- #interrupt-cells = <2>;
- device_type = "watchdog";
- compatible = "gef,fpga-wdt";
+ compatible = "gef,sbc310-fpga-wdt", "gef,fpga-wdt-1.00",
+ "gef,fpga-wdt";
reg = <0x4 0x2000 0x8>;
interrupts = <0x1a 0x4>;
interrupt-parent = <&gef_pic>;
};
/*
wdt@4,2010 {
- #interrupt-cells = <2>;
- device_type = "watchdog";
- compatible = "gef,fpga-wdt";
+ compatible = "gef,sbc310-fpga-wdt", "gef,fpga-wdt-1.00",
+ "gef,fpga-wdt";
reg = <0x4 0x2010 0x8>;
interrupts = <0x1b 0x4>;
interrupt-parent = <&gef_pic>;
@@ -141,7 +139,7 @@
gef_pic: pic@4,4000 {
#interrupt-cells = <1>;
interrupt-controller;
- compatible = "gef,fpga-pic";
+ compatible = "gef,sbc310-fpga-pic", "gef,fpga-pic";
reg = <0x4 0x4000 0x20>;
interrupts = <0x8
0x9>;
@@ -161,7 +159,7 @@
#size-cells = <1>;
#interrupt-cells = <2>;
device_type = "soc";
- compatible = "simple-bus";
+ compatible = "fsl,mpc8641-soc", "simple-bus";
ranges = <0x0 0xfef00000 0x00100000>;
bus-frequency = <33333333>;
@@ -412,5 +410,4 @@
0x0 0x00400000>;
};
};
-
};
^ permalink raw reply related
* [git pull] Please pull powerpc.git merge branch
From: Benjamin Herrenschmidt @ 2009-07-30 11:13 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linuxppc-dev list, Andrew Morton, Linux Kernel list
Hi Linus !
Here's a bunch of defconfig updates for freescale embedded platforms
along with a handful of fixes for those from Kumar, and one important
one liner fix for a thinko/typo by myself in the embedded CPU context
management code on SMP.
The following changes since commit 658874f05d040ca96eb5ba9b1c30ce0ff287d762:
Linus Torvalds (1):
Merge branch 'i2c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git merge
Anton Vorontsov (3):
powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards
powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards
powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards
Kumar Gala (2):
powerpc/mm: Fix SMP issue with MMU context handling code
powerpc: Update defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx
Mark Ware (1):
cpm_uart: Don't use alloc_bootmem in cpm_uart_cpm2.c
Martyn Welch (2):
powerpc/86xx: Update defconfig for GE Fanuc's PPC9A
powerpc/86xx: Update GE Fanuc sbc310 default configuration
arch/powerpc/boot/dts/mpc8377_rdb.dts | 2 +-
arch/powerpc/boot/dts/mpc8378_rdb.dts | 2 +-
arch/powerpc/boot/dts/mpc8379_rdb.dts | 2 +-
arch/powerpc/boot/dts/mpc8569mds.dts | 4 +
arch/powerpc/configs/83xx/asp8347_defconfig | 106 +++--
arch/powerpc/configs/83xx/kmeter1_defconfig | 176 +++++---
arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | 168 +++++--
arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | 168 +++++--
arch/powerpc/configs/83xx/mpc832x_mds_defconfig | 111 +++--
arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | 120 +++--
arch/powerpc/configs/83xx/mpc834x_itx_defconfig | 114 +++--
arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | 114 +++--
arch/powerpc/configs/83xx/mpc834x_mds_defconfig | 104 +++--
arch/powerpc/configs/83xx/mpc836x_mds_defconfig | 111 +++--
arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | 104 +++--
arch/powerpc/configs/83xx/mpc837x_mds_defconfig | 110 +++--
arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | 162 +++++---
arch/powerpc/configs/83xx/sbc834x_defconfig | 103 +++--
arch/powerpc/configs/85xx/ksi8560_defconfig | 93 +++--
arch/powerpc/configs/85xx/mpc8540_ads_defconfig | 91 +++--
arch/powerpc/configs/85xx/mpc8560_ads_defconfig | 99 +++--
arch/powerpc/configs/85xx/mpc85xx_cds_defconfig | 99 +++--
arch/powerpc/configs/85xx/sbc8548_defconfig | 96 +++--
arch/powerpc/configs/85xx/sbc8560_defconfig | 91 +++--
arch/powerpc/configs/85xx/socrates_defconfig | 165 +++++---
arch/powerpc/configs/85xx/stx_gp3_defconfig | 119 +++--
arch/powerpc/configs/85xx/tqm8540_defconfig | 100 +++--
arch/powerpc/configs/85xx/tqm8541_defconfig | 101 +++--
arch/powerpc/configs/85xx/tqm8548_defconfig | 100 +++--
arch/powerpc/configs/85xx/tqm8555_defconfig | 101 +++--
arch/powerpc/configs/85xx/tqm8560_defconfig | 101 +++--
arch/powerpc/configs/85xx/xes_mpc85xx_defconfig | 118 +++--
arch/powerpc/configs/86xx/gef_ppc9a_defconfig | 521 ++++++++-------------
arch/powerpc/configs/86xx/gef_sbc310_defconfig | 216 +++++++---
arch/powerpc/configs/86xx/gef_sbc610_defconfig | 130 ++++--
arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 118 +++--
arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | 186 ++++----
arch/powerpc/configs/86xx/sbc8641d_defconfig | 112 +++--
arch/powerpc/configs/adder875_defconfig | 97 +++--
arch/powerpc/configs/c2k_defconfig | 121 +++--
arch/powerpc/configs/ep8248e_defconfig | 97 +++--
arch/powerpc/configs/ep88xc_defconfig | 91 +++--
arch/powerpc/configs/linkstation_defconfig | 116 +++--
arch/powerpc/configs/mgcoge_defconfig | 97 +++--
arch/powerpc/configs/mgsuvd_defconfig | 89 ++--
arch/powerpc/configs/mpc7448_hpc2_defconfig | 103 +++--
arch/powerpc/configs/mpc8272_ads_defconfig | 104 +++--
arch/powerpc/configs/mpc83xx_defconfig | 162 +++++---
arch/powerpc/configs/mpc85xx_defconfig | 193 ++++----
arch/powerpc/configs/mpc85xx_smp_defconfig | 193 ++++----
arch/powerpc/configs/mpc866_ads_defconfig | 92 ++--
arch/powerpc/configs/mpc86xx_defconfig | 186 ++++----
arch/powerpc/configs/mpc885_ads_defconfig | 91 +++--
arch/powerpc/configs/pq2fads_defconfig | 110 +++--
arch/powerpc/configs/prpmc2800_defconfig | 158 +++++--
arch/powerpc/configs/storcenter_defconfig | 108 +++--
arch/powerpc/mm/mmu_context_nohash.c | 1 +
arch/powerpc/platforms/85xx/mpc85xx_mds.c | 13 +
drivers/serial/cpm_uart/cpm_uart_cpm2.c | 2 +-
59 files changed, 4007 insertions(+), 2755 deletions(-)
^ permalink raw reply
* Re: Next July 29 : Hugetlb test failure (OOPS free_hugepte_range)
From: Sachin Sant @ 2009-07-30 12:25 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: Stephen Rothwell, linux-next, linuxppc-dev
In-Reply-To: <4A706504.6040704@in.ibm.com>
Sachin Sant wrote:
> next-20090728 worked fine. Last commit that changed
> arch/powerpc/mm/hugetlbpage.c was
> cb7f3f2d92d1b26c13e30e639b6ee4a78e9a3afa
>
> powerpc: Add memory management headers for new 64-bit BookE
>
> I will try reverting that commit and check if that helps.
Hi Ben,
Reverting the above patch helped. The tests ran fine against the
patched kernel. But ofcourse that's not the solution :-)
Here is some data from xmon that might help find the reason for
the failure. This is with today's next.
: ------------[ cut here ]------------
cpu 0x0: Vector: 700 (Program Check) at [c000000038923560]
pc: c0000000000486d4: .free_hugepte_range+0x68/0xa0
lr: c000000000048954: .hugetlb_free_pgd_range+0x248/0x38c
sp: c0000000389237e0
msr: 8000000000029032
current = 0xc00000003b1d7780
paca = 0xc000000001002400
pid = 2839, comm = readback
kernel BUG at /home/linux-2.6.31-rc4/arch/powerpc/include/asm/pgalloc.h:36!
enter ? for help
[c000000038923880] c000000000048954 .hugetlb_free_pgd_range+0x248/0x38c
[c000000038923970] c000000000165a48 .free_pgtables+0xa0/0x154
[c000000038923a30] c000000000167f78 .exit_mmap+0x13c/0x1cc
[c000000038923ae0] c0000000000997ec .mmput+0x68/0x14c
[c000000038923b70] c00000000009f1d4 .exit_mm+0x190/0x1b8
[c000000038923c20] c0000000000a16e8 .do_exit+0x214/0x784
[c000000038923d00] c0000000000a1d1c .do_group_exit+0xc4/0xf8
[c000000038923da0] c0000000000a1d7c .SyS_exit_group+0x2c/0x48
[c000000038923e30] c0000000000085b4 syscall_exit+0x0/0x40
--- Exception: c01 (System Call) at 000000000fe15038
SP (ffb8e030) is in userspace
0:mon> e
cpu 0x0: Vector: 700 (Program Check) at [c000000038923560]
pc: c0000000000486d4: .free_hugepte_range+0x68/0xa0
lr: c000000000048954: .hugetlb_free_pgd_range+0x248/0x38c
sp: c0000000389237e0
msr: 8000000000029032
current = 0xc00000003b1d7780
paca = 0xc000000001002400
pid = 2839, comm = readback
kernel BUG at /home/linux-2.6.31-rc4/arch/powerpc/include/asm/pgalloc.h:36!
0:mon> r
R00 = 0000000000000001 R16 = 0000000000000000
R01 = c0000000389237e0 R17 = 0000000000000001
R02 = c000000000f165a8 R18 = 000000003fffffff
R03 = c0000000014504d0 R19 = 0000000000000000
R04 = c000000039390001 R20 = 0000000000000000
R05 = 0000000000000007 R21 = 0000010000000000
R06 = 0000000000000000 R22 = 0000000040000000
R07 = 0000000040000000 R23 = c0000000014504d0
R08 = c00000003d708188 R24 = 000000003fffffff
R09 = c00000003eb40000 R25 = 0000000000000007
R10 = c00000003d708188 R26 = c00000003ebd41b8
R11 = 0000000000000018 R27 = c0000000014504d0
R12 = 0000000040000448 R28 = c00000003eb40018
R13 = c000000001002400 R29 = 0000000000000008
R14 = 00000000ffffffff R30 = 0000000040000000
R15 = 00000000ffffffff R31 = c0000000389237e0
pc = c0000000000486d4 .free_hugepte_range+0x68/0xa0
lr = c000000000048954 .hugetlb_free_pgd_range+0x248/0x38c
msr = 8000000000029032 cr = 20042444
ctr = 800000000000b6f4 xer = 0000000000000001 trap = 700
0:mon>
Line 36 of arch/powerpc/include/asm/pgalloc.h corresponds to
BUG_ON(cachenum > PGF_CACHENUM_MASK);
May be something to do with number of elements in huge_pgtable_cache_name ??
Thanks
-Sachin
--
---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------
^ permalink raw reply
* Re: Next July 29 : Hugetlb test failure (OOPS free_hugepte_range)
From: Benjamin Herrenschmidt @ 2009-07-30 12:30 UTC (permalink / raw)
To: Sachin Sant; +Cc: Stephen Rothwell, linux-next, linuxppc-dev
In-Reply-To: <4A719129.5030302@in.ibm.com>
On Thu, 2009-07-30 at 17:55 +0530, Sachin Sant wrote:
> Sachin Sant wrote:
> > next-20090728 worked fine. Last commit that changed
> > arch/powerpc/mm/hugetlbpage.c was
> > cb7f3f2d92d1b26c13e30e639b6ee4a78e9a3afa
> >
> > powerpc: Add memory management headers for new 64-bit BookE
> >
> > I will try reverting that commit and check if that helps.
> Hi Ben,
>
> Reverting the above patch helped. The tests ran fine against the
> patched kernel. But ofcourse that's not the solution :-)
>
> Here is some data from xmon that might help find the reason for
> the failure. This is with today's next.
Thanks. I'll have a look next week. I think when I changed the indices
I may have forgotten to update something.
Cheers,
Ben.
> : ------------[ cut here ]------------
> cpu 0x0: Vector: 700 (Program Check) at [c000000038923560]
> pc: c0000000000486d4: .free_hugepte_range+0x68/0xa0
> lr: c000000000048954: .hugetlb_free_pgd_range+0x248/0x38c
> sp: c0000000389237e0
> msr: 8000000000029032
> current = 0xc00000003b1d7780
> paca = 0xc000000001002400
> pid = 2839, comm = readback
> kernel BUG at /home/linux-2.6.31-rc4/arch/powerpc/include/asm/pgalloc.h:36!
> enter ? for help
> [c000000038923880] c000000000048954 .hugetlb_free_pgd_range+0x248/0x38c
> [c000000038923970] c000000000165a48 .free_pgtables+0xa0/0x154
> [c000000038923a30] c000000000167f78 .exit_mmap+0x13c/0x1cc
> [c000000038923ae0] c0000000000997ec .mmput+0x68/0x14c
> [c000000038923b70] c00000000009f1d4 .exit_mm+0x190/0x1b8
> [c000000038923c20] c0000000000a16e8 .do_exit+0x214/0x784
> [c000000038923d00] c0000000000a1d1c .do_group_exit+0xc4/0xf8
> [c000000038923da0] c0000000000a1d7c .SyS_exit_group+0x2c/0x48
> [c000000038923e30] c0000000000085b4 syscall_exit+0x0/0x40
> --- Exception: c01 (System Call) at 000000000fe15038
> SP (ffb8e030) is in userspace
> 0:mon> e
> cpu 0x0: Vector: 700 (Program Check) at [c000000038923560]
> pc: c0000000000486d4: .free_hugepte_range+0x68/0xa0
> lr: c000000000048954: .hugetlb_free_pgd_range+0x248/0x38c
> sp: c0000000389237e0
> msr: 8000000000029032
> current = 0xc00000003b1d7780
> paca = 0xc000000001002400
> pid = 2839, comm = readback
> kernel BUG at /home/linux-2.6.31-rc4/arch/powerpc/include/asm/pgalloc.h:36!
> 0:mon> r
> R00 = 0000000000000001 R16 = 0000000000000000
> R01 = c0000000389237e0 R17 = 0000000000000001
> R02 = c000000000f165a8 R18 = 000000003fffffff
> R03 = c0000000014504d0 R19 = 0000000000000000
> R04 = c000000039390001 R20 = 0000000000000000
> R05 = 0000000000000007 R21 = 0000010000000000
> R06 = 0000000000000000 R22 = 0000000040000000
> R07 = 0000000040000000 R23 = c0000000014504d0
> R08 = c00000003d708188 R24 = 000000003fffffff
> R09 = c00000003eb40000 R25 = 0000000000000007
> R10 = c00000003d708188 R26 = c00000003ebd41b8
> R11 = 0000000000000018 R27 = c0000000014504d0
> R12 = 0000000040000448 R28 = c00000003eb40018
> R13 = c000000001002400 R29 = 0000000000000008
> R14 = 00000000ffffffff R30 = 0000000040000000
> R15 = 00000000ffffffff R31 = c0000000389237e0
> pc = c0000000000486d4 .free_hugepte_range+0x68/0xa0
> lr = c000000000048954 .hugetlb_free_pgd_range+0x248/0x38c
> msr = 8000000000029032 cr = 20042444
> ctr = 800000000000b6f4 xer = 0000000000000001 trap = 700
> 0:mon>
>
> Line 36 of arch/powerpc/include/asm/pgalloc.h corresponds to
>
> BUG_ON(cachenum > PGF_CACHENUM_MASK);
>
> May be something to do with number of elements in huge_pgtable_cache_name ??
>
> Thanks
> -Sachin
>
^ permalink raw reply
* RE: [PATCH][sata_fsl] Defer non-ncq commands when ncq commands active
From: Kalra Ashish-B00888 @ 2009-07-30 13:23 UTC (permalink / raw)
To: Robert Hancock; +Cc: linux-ide, linuxppc-dev
In-Reply-To: <4A70A78D.7070601@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1012 bytes --]
Hello,
>> Signed-off-by: Ashish Kalra <Ashish.Kalra@freescale.com>
>> ---
>> drivers/ata/sata_fsl.c | 1 +
>> 1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
>> index 5a88b44..a33f130 100644
>> --- a/drivers/ata/sata_fsl.c
>> +++ b/drivers/ata/sata_fsl.c
>> @@ -1262,6 +1262,7 @@ static struct scsi_host_template sata_fsl_sht = {
>> static struct ata_port_operations sata_fsl_ops = {
>> .inherits = &sata_pmp_port_ops,
>>
>> + .qc_defer = ata_std_qc_defer;
>> .qc_prep = sata_fsl_qc_prep,
>> .qc_issue = sata_fsl_qc_issue,
>> .qc_fill_rtf = sata_fsl_qc_fill_rtf,
> This doesn't look like it should change anything. sata_fsl_ops inherits
> from sata_pmp_port_ops, which inherits from sata_port_ops, which already
> sets qc_defer to ata_std_qc_defer.
Oh, yes. Actually this patch was for older kernels where there inheritence was not there. As you mentioned, this patch is not required now.
Thanks,
Ashish
[-- Attachment #2: Type: text/html, Size: 1698 bytes --]
^ permalink raw reply
* Re: [PATCH][sata_fsl] Defer non-ncq commands when ncq commands active
From: Kumar Gala @ 2009-07-30 13:43 UTC (permalink / raw)
To: Kalra Ashish-B00888; +Cc: linuxppc-dev, linux-ide, Robert Hancock
In-Reply-To: <16444A0F3094A24C83EAB7836A12C63B032E5A@zin33exm20.fsl.freescale.net>
On Jul 30, 2009, at 8:23 AM, Kalra Ashish-B00888 wrote:
> Hello,
>
> >> Signed-off-by: Ashish Kalra <Ashish.Kalra@freescale.com>
> >> ---
> >> drivers/ata/sata_fsl.c | 1 +
> >> 1 files changed, 1 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
> >> index 5a88b44..a33f130 100644
> >> --- a/drivers/ata/sata_fsl.c
> >> +++ b/drivers/ata/sata_fsl.c
> >> @@ -1262,6 +1262,7 @@ static struct scsi_host_template
> sata_fsl_sht = {
> >> static struct ata_port_operations sata_fsl_ops = {
> >> .inherits = &sata_pmp_port_ops,
> >>
> >> + .qc_defer = ata_std_qc_defer;
> >> .qc_prep = sata_fsl_qc_prep,
> >> .qc_issue = sata_fsl_qc_issue,
> >> .qc_fill_rtf = sata_fsl_qc_fill_rtf,
>
> > This doesn't look like it should change anything. sata_fsl_ops
> inherits
> > from sata_pmp_port_ops, which inherits from sata_port_ops, which
> already
> > sets qc_defer to ata_std_qc_defer.
> Oh, yes. Actually this patch was for older kernels where there
> inheritence was not there. As you mentioned, this patch is not
> required now.
>
How old? Should we be asking for this to be applied to some of the
stable kernel series?
- k
^ permalink raw reply
* RE: [PATCH][sata_fsl] Defer non-ncq commands when ncq commands active
From: Kalra Ashish-B00888 @ 2009-07-30 13:58 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, linux-ide, Robert Hancock
In-Reply-To: <E8D39D04-E4B6-4420-AD54-6A95BE35EB30@kernel.crashing.org>
[-- Attachment #1: Type: text/plain, Size: 627 bytes --]
Hello Kumar,
>> > This doesn't look like it should change anything. sata_fsl_ops
>> inherits
>> > from sata_pmp_port_ops, which inherits from sata_port_ops, which
>> already
>> > sets qc_defer to ata_std_qc_defer.
>> Oh, yes. Actually this patch was for older kernels where there
>> inheritence was not there. As you mentioned, this patch is not
>> required now.
>>
>How old? Should we be asking for this to be applied to some of the
>stable kernel series?
I believe that the inheritence stuff was added in 2.6.26, thus, this patch is
required for quite old kernels ( < 2.6.26 ).
Thanks,
Ashish
[-- Attachment #2: Type: text/html, Size: 1246 bytes --]
^ permalink raw reply
* Re: [PATCH][sata_fsl] Defer non-ncq commands when ncq commands active
From: Kumar Gala @ 2009-07-30 14:02 UTC (permalink / raw)
To: Kalra Ashish-B00888; +Cc: linuxppc-dev, linux-ide, Robert Hancock
In-Reply-To: <16444A0F3094A24C83EAB7836A12C63B032E5C@zin33exm20.fsl.freescale.net>
On Jul 30, 2009, at 8:58 AM, Kalra Ashish-B00888 wrote:
> Hello Kumar,
>
> >> > This doesn't look like it should change anything. sata_fsl_ops
> >> inherits
> >> > from sata_pmp_port_ops, which inherits from sata_port_ops, which
> >> already
> >> > sets qc_defer to ata_std_qc_defer.
> >> Oh, yes. Actually this patch was for older kernels where there
> >> inheritence was not there. As you mentioned, this patch is not
> >> required now.
> >>
> >How old? Should we be asking for this to be applied to some of the
> >stable kernel series?
>
> I believe that the inheritence stuff was added in 2.6.26, thus, this
> patch is
> required for quite old kernels ( < 2.6.26 ).
Ok, than I'm not going to worry about it.
- k
^ permalink raw reply
* Re: [PATCH] Add support for the ESTeem 195E (PPC405EP) SBC
From: Josh Boyer @ 2009-07-30 14:06 UTC (permalink / raw)
To: Solomon Peachy; +Cc: linuxppc-dev
In-Reply-To: <1248448916-29473-1-git-send-email-solomon@linux-wlan.com>
On Fri, Jul 24, 2009 at 11:21:56AM -0400, Solomon Peachy wrote:
>This patch adds support for the ESTeem 195E Hotfoot SBC.
>I've been maintaining this out-of-tree for some time now for
>older kernels, but recently I ported it to the new unified powerpc
>tree with the intent of pushing it upstream.
>
>The 195E boards use ancient versions of u-boot and a slightly mangled
>verison of the oft-abused ppcboot header.
>
>There are several variants of the SBC deployed, single/dual
>ethernet+serial, and also 4MB/8MB flash variations. In the interest of
>having a single kernel image boot on all boards, the cuboot shim detects
>the differences and mangles the DTS tree appropriately.
>
>With the exception of the CF interface that was never populated on
>production boards, this code/DTS supports all boardpop options.
>
>Signed-off-by: Solomon Peachy <solomon@linux-wlan.com>
Overall, really nice. Just a few questions below.
>--- linux-2.6.30/arch/powerpc/boot/cuboot-hotfoot.c 1969-12-31 19:00:00.000000000 -0500
>+++ linux-2.6.30.hotfoot/arch/powerpc/boot/cuboot-hotfoot.c 2009-07-07 12:55:23.000000000 -0400
>@@ -0,0 +1,142 @@
>+/*
>+ * Old U-boot compatibility for Esteem 195E Hotfoot CPU Board
>+ *
>+ * Author: Solomon Peachy <solomon@linux-wlan.com>
>+ *
>+ * This program is free software; you can redistribute it and/or modify it
>+ * under the terms of the GNU General Public License version 2 as published
>+ * by the Free Software Foundation.
>+ */
>+
>+#include "ops.h"
>+#include "stdio.h"
>+#include "reg.h"
>+#include "dcr.h"
>+#include "4xx.h"
>+#include "cuboot.h"
>+
>+#define TARGET_4xx
>+#define TARGET_HOTFOOT
>
>+#include "ppcboot.h"
>+
>+static bd_t bd;
>+
>+#define NUM_REGS 3
>+
>+static void hotfoot_fixups(void)
>+{
>+ u32 uart = mfdcr(DCRN_CPC0_UCR) & 0x7f;
>+
>+ dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
>+
>+ dt_fixup_cpu_clocks(bd.bi_procfreq, bd.bi_procfreq, 0);
>+ dt_fixup_clock("/plb", bd.bi_plb_busfreq);
>+ dt_fixup_clock("/plb/opb", bd.bi_opbfreq);
>+ dt_fixup_clock("/plb/ebc", bd.bi_pci_busfreq);
>+ dt_fixup_clock("/plb/opb/serial@ef600300", bd.bi_procfreq / uart);
>+ dt_fixup_clock("/plb/opb/serial@ef600400", bd.bi_procfreq / uart);
>+
>+ dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
>+ dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
>+
>+ /* Is this a single eth/serial board? */
>+ if ((bd.bi_enet1addr[0] == 0) &&
>+ (bd.bi_enet1addr[1] == 0) &&
>+ (bd.bi_enet1addr[2] == 0) &&
>+ (bd.bi_enet1addr[3] == 0) &&
>+ (bd.bi_enet1addr[4] == 0) &&
>+ (bd.bi_enet1addr[5] == 0)) {
>+ void *devp;
>+
>+ printf("Trimming devtree for single eth board\n");
>+
>+ devp = finddevice("/plb/opb/serial@ef600300");
>+ if (!devp)
>+ fatal("Can't find node for /plb/opb/serial@ef600300");
>+ del_node(devp);
Slightly confused here. You delete the first serial node in the single eth
case?
>+
>+ devp = finddevice("/plb/opb/ethernet@ef600900");
>+ if (!devp)
>+ fatal("Can't find node for /plb/opb/ethernet@ef600900");
>+ del_node(devp);
>+ }
>+
>+ ibm4xx_quiesce_eth((u32 *)0xef600800, (u32 *)0xef600900);
Shouldn't you do the quiesce conditionally if the other eth port doesn't
exist?
>+
>+ /* Fix up flash size in fdt for 4M boards. */
>+ if (bd.bi_flashsize < 0x800000) {
>+ u32 regs[NUM_REGS];
>+ void *devp = finddevice("/plb/ebc/nor_flash@0");
>+ if (!devp)
>+ fatal("Can't find FDT node for nor_flash!??");
>+
>+ printf("Fixing devtree for 4M Flash\n");
>+
>+ /* First fix up the base addresse */
>+ getprop(devp, "reg", regs, sizeof(regs));
>+ regs[0] = 0;
>+ regs[1] = 0xffc00000;
>+ regs[2] = 0x00400000;
>+ setprop(devp, "reg", regs, sizeof(regs));
>+
>+ /* Then the offsets */
>+ devp = finddevice("/plb/ebc/nor_flash@0/partition@0");
>+ if (!devp)
>+ fatal("Can't find FDT node for partition@0");
>+ getprop(devp, "reg", regs, 2*sizeof(u32));
>+ regs[0] -= 0x400000;
>+ setprop(devp, "reg", regs, 2*sizeof(u32));
>+
>+ devp = finddevice("/plb/ebc/nor_flash@0/partition@1");
>+ if (!devp)
>+ fatal("Can't find FDT node for partition@1");
>+ getprop(devp, "reg", regs, 2*sizeof(u32));
>+ regs[0] -= 0x400000;
>+ setprop(devp, "reg", regs, 2*sizeof(u32));
>+
>+ devp = finddevice("/plb/ebc/nor_flash@0/partition@2");
>+ if (!devp)
>+ fatal("Can't find FDT node for partition@2");
>+ getprop(devp, "reg", regs, 2*sizeof(u32));
>+ regs[0] -= 0x400000;
>+ setprop(devp, "reg", regs, 2*sizeof(u32));
>+
>+ devp = finddevice("/plb/ebc/nor_flash@0/partition@3");
>+ if (!devp)
>+ fatal("Can't find FDT node for partition@3");
>+ getprop(devp, "reg", regs, 2*sizeof(u32));
>+ regs[0] -= 0x400000;
>+ setprop(devp, "reg", regs, 2*sizeof(u32));
>+
>+ devp = finddevice("/plb/ebc/nor_flash@0/partition@4");
>+ if (!devp)
>+ fatal("Can't find FDT node for partition@4");
>+ getprop(devp, "reg", regs, 2*sizeof(u32));
>+ regs[0] -= 0x400000;
>+ setprop(devp, "reg", regs, 2*sizeof(u32));
>+
>+ devp = finddevice("/plb/ebc/nor_flash@0/partition@6");
>+ if (!devp)
>+ fatal("Can't find FDT node for partition@6");
>+ getprop(devp, "reg", regs, 2*sizeof(u32));
>+ regs[0] -= 0x400000;
>+ setprop(devp, "reg", regs, 2*sizeof(u32));
>+
>+ /* Delete the FeatFS node */
>+ devp = finddevice("/plb/ebc/nor_flash@0/partition@5");
>+ if (!devp)
>+ fatal("Can't find FDT node for partition@5");
>+ del_node(devp);
>+ }
>+}
>+
>+void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
>+ unsigned long r6, unsigned long r7)
>+{
>+ CUBOOT_INIT();
>+ platform_ops.fixups = hotfoot_fixups;
>+ platform_ops.exit = ibm40x_dbcr_reset;
>+ fdt_init(_dtb_start);
>+ serial_console_init();
>+}
>diff -Naur linux-2.6.30/arch/powerpc/boot/dts/hotfoot.dts linux-2.6.30.hotfoot/arch/powerpc/boot/dts/hotfoot.dts
>--- linux-2.6.30/arch/powerpc/boot/dts/hotfoot.dts 1969-12-31 19:00:00.000000000 -0500
>+++ linux-2.6.30.hotfoot/arch/powerpc/boot/dts/hotfoot.dts 2009-07-07 12:55:23.000000000 -0400
>@@ -0,0 +1,299 @@
>+/*
>+ * Device Tree Source for ESTeem 195E Hotfoot
>+ *
>+ * Copyright 2009 AbsoluteValue Systems <solomon@linux-wlan.com>
>+ *
>+ * This file is licensed under the terms of the GNU General Public
>+ * License version 2. This program is licensed "as is" without
>+ * any warranty of any kind, whether express or implied.
>+ */
>+
>+/dts-v1/;
>+
>+/ {
>+ #address-cells = <1>;
>+ #size-cells = <1>;
>+ model = "est,hotfoot";
>+ compatible = "est,hotfoot";
>+ dcr-parent = <&{/cpus/cpu@0}>;
>+
>+ aliases {
>+ ethernet0 = &EMAC0;
>+ ethernet1 = &EMAC1;
>+ serial0 = &UART0;
>+ serial1 = &UART1;
>+ };
>+
>+ cpus {
>+ #address-cells = <1>;
>+ #size-cells = <0>;
>+
>+ cpu@0 {
>+ device_type = "cpu";
>+ model = "PowerPC,405EP";
>+ reg = <0x00000000>;
>+ clock-frequency = <0>; /* Filled in by zImage */
>+ timebase-frequency = <0>; /* Filled in by zImage */
>+ i-cache-line-size = <0x20>;
>+ d-cache-line-size = <0x20>;
>+ i-cache-size = <0x4000>;
>+ d-cache-size = <0x4000>;
>+ dcr-controller;
>+ dcr-access-method = "native";
>+ };
>+ };
>+
>+ memory {
>+ device_type = "memory";
>+ reg = <0x00000000 0x00000000>; /* Filled in by zImage */
>+ };
>+
>+ UIC0: interrupt-controller {
>+ compatible = "ibm,uic";
>+ interrupt-controller;
>+ cell-index = <0>;
>+ dcr-reg = <0x0c0 0x009>;
>+ #address-cells = <0>;
>+ #size-cells = <0>;
>+ #interrupt-cells = <2>;
>+ };
>+
>+ plb {
>+ compatible = "ibm,plb3";
>+ #address-cells = <1>;
>+ #size-cells = <1>;
>+ ranges;
>+ clock-frequency = <0>; /* Filled in by zImage */
>+
>+ SDRAM0: memory-controller {
>+ compatible = "ibm,sdram-405ep";
>+ dcr-reg = <0x010 0x002>;
>+ };
>+
>+ MAL: mcmal {
>+ compatible = "ibm,mcmal-405ep", "ibm,mcmal";
>+ dcr-reg = <0x180 0x062>;
>+ num-tx-chans = <4>;
>+ num-rx-chans = <2>;
>+ interrupt-parent = <&UIC0>;
>+ interrupts = <
>+ 0xb 0x4 /* TXEOB */
>+ 0xc 0x4 /* RXEOB */
>+ 0xa 0x4 /* SERR */
>+ 0xd 0x4 /* TXDE */
>+ 0xe 0x4 /* RXDE */>;
>+ };
>+
>+ POB0: opb {
>+ compatible = "ibm,opb-405ep", "ibm,opb";
>+ #address-cells = <1>;
>+ #size-cells = <1>;
>+ ranges = <0xef600000 0xef600000 0x00a00000>;
>+ dcr-reg = <0x0a0 0x005>;
>+ clock-frequency = <0>; /* Filled in by zImage */
>+
>+ /* Hotfoot has UART0/UART1 swapped */
>+
>+ UART0: serial@ef600400 {
>+ device_type = "serial";
>+ compatible = "ns16550";
>+ reg = <0xef600400 0x00000008>;
>+ virtual-reg = <0xef600400>;
>+ clock-frequency = <0>; /* Filled in by zImage */
>+ current-speed = <0x9600>;
Just a question, but is the baud supposed to be 38400 or 9600? At first glance
it almost seems like a typo :).
>+ interrupt-parent = <&UIC0>;
>+ interrupts = <0x1 0x4>;
>+ };
>+
>+ UART1: serial@ef600300 {
>+ device_type = "serial";
>+ compatible = "ns16550";
>+ reg = <0xef600300 0x00000008>;
>+ virtual-reg = <0xef600300>;
>+ clock-frequency = <0>; /* Filled in by zImage */
>+ current-speed = <0x9600>;
>+ interrupt-parent = <&UIC0>;
>+ interrupts = <0x0 0x4>;
>+ };
>+
>+
>+ IIC: i2c@ef600500 {
>+ compatible = "ibm,iic-405ep", "ibm,iic";
>+ reg = <0xef600500 0x00000011>;
>+ interrupt-parent = <&UIC0>;
>+ interrupts = <0x2 0x4>;
>+
>+ rtc@68 {
>+ /* Actually a DS1339 */
>+ compatible = "dallas,ds1307";
>+ reg = <0x68>;
>+ };
>+
>+ temp@4a {
>+ /* Not present on all boards */
>+ compatible = "national,lm75";
>+ reg = <0x4a>;
>+ };
>+ };
>+
>+ GPIO: gpio@ef600700 {
>+ #gpio-cells = <2>;
>+ compatible = "ibm,ppc4xx-gpio";
>+ reg = <0xef600700 0x00000020>;
>+ gpio-controller;
>+ };
>+
>+ gpio-leds {
>+ compatible = "gpio-leds";
>+ status {
>+ label = "Status";
>+ gpios = <&GPIO 1 0>;
>+ /* linux,default=trigger = ".."; */
What does that comment mean?
>+ };
>+ radiorx {
>+ label = "Rx";
>+ gpios = <&GPIO 0xe 0>;
>+ /* linux,default=trigger = ".."; */
>+ };
>+ };
>+
<snip>
>diff -Naur linux-2.6.30/arch/powerpc/boot/ppcboot.h linux-2.6.30.hotfoot/arch/powerpc/boot/ppcboot.h
>--- linux-2.6.30/arch/powerpc/boot/ppcboot.h 2009-06-09 23:05:27.000000000 -0400
>+++ linux-2.6.30.hotfoot/arch/powerpc/boot/ppcboot.h 2009-07-07 12:55:18.000000000 -0400
>@@ -52,6 +52,11 @@
> unsigned long bi_bootflags; /* boot / reboot flag (for LynxOS) */
> unsigned long bi_ip_addr; /* IP Address */
> unsigned char bi_enetaddr[6]; /* Ethernet address */
>+#if defined(TARGET_HOTFOOT)
>+ /* second onboard ethernet port */
>+ unsigned char bi_enet1addr[6];
>+#define HAVE_ENET1ADDR
>+#endif /* TARGET_HOOTFOOT */
> unsigned short bi_ethspeed; /* Ethernet speed in Mbps */
> unsigned long bi_intfreq; /* Internal Freq, in MHz */
> unsigned long bi_busfreq; /* Bus Freq, in MHz */
>@@ -74,6 +79,9 @@
> unsigned int bi_pci_busfreq; /* PCI Bus speed, in Hz */
> unsigned char bi_pci_enetaddr[6]; /* PCI Ethernet MAC address */
> #endif
>+#if defined(TARGET_HOTFOOT)
>+ unsigned int bi_pllouta_freq; /* PLL OUTA speed, in Hz */
>+#endif
> #if defined(TARGET_HYMOD)
> hymod_conf_t bi_hymod_conf; /* hymod configuration information */
> #endif
>@@ -94,6 +102,10 @@
> unsigned char bi_enet3addr[6];
> #define HAVE_ENET3ADDR
> #endif
>+#if defined(TARGET_HOTFOOT)
>+ int bi_phynum[2]; /* Determines phy mapping */
>+ int bi_phymode[2]; /* Determines phy mode */
>+#endif
> #if defined(TARGET_4xx)
> unsigned int bi_opbfreq; /* OB clock in Hz */
> int bi_iic_fast[2]; /* Use fast i2c mode */
Ok. So I'm not really all that thrilled with changes to ppcboot.h. We try to
keep this file as much in-sync with U-Boot as we can. Did your HOTFOOT changes
get pulled into upstream U-Boot?
josh
^ permalink raw reply
* [PATCH 5/5] sound/aoa: Add kmalloc NULL tests
From: Julia Lawall @ 2009-07-30 14:11 UTC (permalink / raw)
To: johannes, linuxppc-dev, alsa-devel, linux-kernel, kernel-janitors
From: Julia Lawall <julia@diku.dk>
Check that the result of kzalloc is not NULL before a dereference.
The semantic match that finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@@
expression *x;
identifier f;
constant char *C;
@@
x = \(kmalloc\|kcalloc\|kzalloc\)(...);
... when != x == NULL
when != x != NULL
when != (x || ...)
(
kfree(x)
|
f(...,C,...,x,...)
|
*f(...,x,...)
|
*x->f
)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
sound/aoa/core/gpio-pmf.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/sound/aoa/core/gpio-pmf.c b/sound/aoa/core/gpio-pmf.c
index 5ca2220..b4439ce 100644
--- a/sound/aoa/core/gpio-pmf.c
+++ b/sound/aoa/core/gpio-pmf.c
@@ -182,6 +182,12 @@ static int pmf_set_notify(struct gpio_runtime *rt,
if (!old && notify) {
irq_client = kzalloc(sizeof(struct pmf_irq_client),
GFP_KERNEL);
+ if (!irq_client) {
+ err = -ENOMEM;
+ printk(KERN_ERR "snd-aoa: gpio layer failed to"
+ " register %s irq (%d)\n", name, err);
+ goto out_unlock;
+ }
irq_client->data = notif;
irq_client->handler = pmf_handle_notify_irq;
irq_client->owner = THIS_MODULE;
^ permalink raw reply related
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