* Re: [PATCH 1/2] Declare {compat_}sys_utimensat
From: Stephen Rothwell @ 2007-05-09 16:32 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: linuxppc-dev, Andrew Morton, Linus, paulus, LKML
In-Reply-To: <200705091821.59412.arnd@arndb.de>
[-- Attachment #1: Type: text/plain, Size: 656 bytes --]
On Wed, 9 May 2007 18:21:58 +0200 Arnd Bergmann <arnd@arndb.de> wrote:
>
> It seems bogus to declare compat_sys_futimesat in syscalls.h and
> compat_sys_utimensat in compat.h. Your patch is fine, since there
> are precedents for both, but maybe we should agree on one place and
> then move all of the compat_sys_ declarations there.
My preference is to split them like this so that the architectures that
don't need the compat infrastructure are not cluttered with it (if we
declare the compat routines in syscalls.h, then it should include
compat.h).
--
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: [PATCH 3/4] powerpc: EEH: capture and log pci state on error
From: Linas Vepstas @ 2007-05-09 16:29 UTC (permalink / raw)
To: Olof Johansson; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <20070509045439.GB1771@lixom.net>
On Tue, May 08, 2007 at 11:54:39PM -0500, Olof Johansson wrote:
> Hi,
>
> > +#define EEH_PCI_REGS_LOG_LEN 4096
> > +static unsigned char pci_regs_buf[EEH_PCI_REGS_LOG_LEN];
>
> I'm guessing this has to be in BSS because of the requrements of being
> addressable in realmode for RTAS? Could be nice to document in a comment
> so noone tries to make it a local variable later on.
Yep, exactly. Funny, I thought exactly that: "Someone is going to want
me to change this to a kmalloc. What should I do to avoid this
question?" It never occured to me that all I needed was a mere comment.
--linas
^ permalink raw reply
* [PATCH] early_pfn_to_nid needs to be __meminit
From: Stephen Rothwell @ 2007-05-09 16:25 UTC (permalink / raw)
To: LKML; +Cc: ppc-dev, Andrew Morton, paulus
since it is referenced by memmap_init_zone (which is __meminit) via the
early_pfn_in_nid macro when CONFIG_NODES_SPAN_OTHER_NODES is set (which
basically means PowerPC 64).
This removes a section mismatch warning in those circumstances.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
mm/page_alloc.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 6fd0b74..3297fa9 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2298,7 +2298,7 @@ static int __meminit next_active_region_index_in_nid(int index, int nid)
* was used and there are no special requirements, this is a convenient
* alternative
*/
-int __init early_pfn_to_nid(unsigned long pfn)
+int __meminit early_pfn_to_nid(unsigned long pfn)
{
int i;
--
1.5.1.3
^ permalink raw reply related
* Re: [PATCH 1/2] Declare {compat_}sys_utimensat
From: Arnd Bergmann @ 2007-05-09 16:21 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Stephen Rothwell, Andrew Morton, Linus, paulus, LKML
In-Reply-To: <20070509162357.65ab8868.sfr@canb.auug.org.au>
On Wednesday 09 May 2007, Stephen Rothwell wrote:
> diff --git a/include/linux/compat.h b/include/linux/compat.h
> index ccd863d..70a157a 100644
> --- a/include/linux/compat.h
> +++ b/include/linux/compat.h
> @@ -253,5 +253,8 @@ asmlinkage long compat_sys_epoll_pwait(int epfd,
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0c=
onst compat_sigset_t __user *sigmask,
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0c=
ompat_size_t sigsetsize);
> =A0
> +asmlinkage long compat_sys_utimensat(unsigned int dfd, char __user *file=
name,
> +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0struct compat_timespec __user *t, int flags);
> +
> =A0#endif /* CONFIG_COMPAT */
> =A0#endif /* _LINUX_COMPAT_H */
> diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
> index 1912c6c..3139f44 100644
> --- a/include/linux/syscalls.h
> +++ b/include/linux/syscalls.h
> @@ -576,6 +576,8 @@ asmlinkage long sys_fstatat64(int dfd, char __user *f=
ilename,
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
=A0 =A0 =A0 struct stat64 __user *statbuf, int flag);
> =A0asmlinkage long sys_readlinkat(int dfd, const char __user *path, char =
__user *buf,
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
=A0 =A0 =A0 int bufsiz);
> +asmlinkage long sys_utimensat(int dfd, char __user *filename,
> +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0struct timespec __user *utimes, int flags);
> =A0asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *fi=
lename,
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 =A0 =A0 struct compat_timeval __user *t);
> =A0asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user * =
filename,
It seems bogus to declare compat_sys_futimesat in syscalls.h and compat_sys=
_utimensat
in compat.h. Your patch is fine, since there are precedents for both, but m=
aybe
we should agree on one place and then move all of the compat_sys_ declarati=
ons there.
Arnd <><
^ permalink raw reply
* [PATCH] [POWERPC] We don't define CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
From: Stephen Rothwell @ 2007-05-09 16:21 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
so this declaration is not needed.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
include/asm-powerpc/mmzone.h | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/include/asm-powerpc/mmzone.h b/include/asm-powerpc/mmzone.h
index d484ca9..19f299b 100644
--- a/include/asm-powerpc/mmzone.h
+++ b/include/asm-powerpc/mmzone.h
@@ -43,9 +43,5 @@ extern unsigned long max_pfn;
#endif /* CONFIG_NEED_MULTIPLE_NODES */
-#ifdef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
-extern int __init early_pfn_to_nid(unsigned long pfn);
-#endif
-
#endif /* __KERNEL__ */
#endif /* _ASM_MMZONE_H_ */
--
1.5.1.3
^ permalink raw reply related
* Re: [PATCH] 86xx: Enable the AC97 interface on 8641D board.
From: Kumar Gala @ 2007-05-09 16:19 UTC (permalink / raw)
To: Jon Loeliger; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <1178727252.6734.19.camel@ld0161-tx32>
On May 9, 2007, at 11:14 AM, Jon Loeliger wrote:
> On Thu, 2007-05-03 at 11:19, Kumar Gala wrote:
>
>> I agree with Jon here. This is in board specific code so I don't see
>> any issue with it.
>
>
> Hi Kumar,
>
> So, bottom line, will you pick this patch up and
> pass it along to Paul?
will do.
- k
^ permalink raw reply
* [PATCH] [POWERPC] pmu_sys_suspended is only defined for PPC32
From: Stephen Rothwell @ 2007-05-09 16:19 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
include/linux/pmu.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/include/linux/pmu.h b/include/linux/pmu.h
index 37ca573..5ad913f 100644
--- a/include/linux/pmu.h
+++ b/include/linux/pmu.h
@@ -226,7 +226,7 @@ extern unsigned int pmu_power_flags;
extern void pmu_backlight_init(void);
/* some code needs to know if the PMU was suspended for hibernation */
-#ifdef CONFIG_PM
+#if defined(CONFIG_PM) && defined(CONFIG_PPC32)
extern int pmu_sys_suspended;
#else
/* if power management is not configured it can't be suspended */
--
1.5.1.3
^ permalink raw reply related
* [PATCH] [POWERPC] fix warning in hash_native_64.c
From: Stephen Rothwell @ 2007-05-09 16:18 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev, dgibson
arch/powerpc/mm/hash_native_64.c: In function 'native_hpte_clear':
arch/powerpc/mm/hash_native_64.c:353: warning: 'avpn' may be used uninitialized in this function
The change is really to BUG_ON the invers of the if condition and
outdent all the following code. The comment above this imples that
changing this so it does the BUG_ON() is a reasonable fix.
David Gibson suggested using BUG_ON here.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/mm/hash_native_64.c | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/arch/powerpc/mm/hash_native_64.c b/arch/powerpc/mm/hash_native_64.c
index 7b7fe2d..531a5ab 100644
--- a/arch/powerpc/mm/hash_native_64.c
+++ b/arch/powerpc/mm/hash_native_64.c
@@ -16,6 +16,7 @@
#include <linux/bitops.h>
#include <linux/threads.h>
#include <linux/smp.h>
+#include <linux/bug.h>
#include <asm/abs_addr.h>
#include <asm/machdep.h>
@@ -389,18 +390,19 @@ static void hpte_decode(hpte_t *hpte, unsigned long slot,
avpnm_bits = __ilog2_u64(mmu_psize_defs[size].avpnm) + 1;
else
avpnm_bits = 0;
- if (shift - avpnm_bits <= 23) {
- avpn = HPTE_V_AVPN_VAL(hpte_v) << 23;
- if (shift < 23) {
- unsigned long vpi, pteg;
+ BUG_ON(!(shift - avpnm_bits <= 23));
- pteg = slot / HPTES_PER_GROUP;
- if (hpte_v & HPTE_V_SECONDARY)
- pteg = ~pteg;
- vpi = ((avpn >> 28) ^ pteg) & htab_hash_mask;
- avpn |= (vpi << mmu_psize_defs[size].shift);
- }
+ avpn = HPTE_V_AVPN_VAL(hpte_v) << 23;
+
+ if (shift < 23) {
+ unsigned long vpi, pteg;
+
+ pteg = slot / HPTES_PER_GROUP;
+ if (hpte_v & HPTE_V_SECONDARY)
+ pteg = ~pteg;
+ vpi = ((avpn >> 28) ^ pteg) & htab_hash_mask;
+ avpn |= (vpi << mmu_psize_defs[size].shift);
}
*va = avpn;
--
1.5.1.3
^ permalink raw reply related
* Re: [PATCH] 86xx: Enable the AC97 interface on 8641D board.
From: Jon Loeliger @ 2007-05-09 16:14 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <3C4D879A-E756-45EA-AB67-70902797ED35@kernel.crashing.org>
On Thu, 2007-05-03 at 11:19, Kumar Gala wrote:
> I agree with Jon here. This is in board specific code so I don't see
> any issue with it.
Hi Kumar,
So, bottom line, will you pick this patch up and
pass it along to Paul?
Thanks,
jdl
^ permalink raw reply
* Re: [PATCH 1/4] powerpc: EEH: log error only after driver notification.
From: Linas Vepstas @ 2007-05-09 16:11 UTC (permalink / raw)
To: Olof Johansson; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <20070509045115.GA1771@lixom.net>
On Tue, May 08, 2007 at 11:51:15PM -0500, Olof Johansson wrote:
> > + eeh_slot_error_detail(frozen_pdn, 1 /* Temporary Error */);
>
> I know you only moved it, but if you have to document what '1' means,
> you really should add a symbolic define/enum instead.
Of course. Coming up.
--linas
^ permalink raw reply
* Re: MPC832xEMDS: ttyS0 output stops mid boot
From: Alex Zeffertt @ 2007-05-09 15:59 UTC (permalink / raw)
To: Alex Zeffertt; +Cc: u-boot-users, linuxppc-embedded
In-Reply-To: <8c4dd9590705030939i5df99f3fw83a59698fe3d30cc@mail.gmail.com>
Hi,
For the record, I've just merged powerpc.git from kernel.org and it has started
working now! Clearly this means it was a kernel issue rather than a bootloader
issue.
Regards,
Alex
Alex Zeffertt wrote:
> Hi,
>
> Sorry about the cross posting, but I'm not sure which list I should send
> to....
>
> I'm trying to boot an up-to-date kernel on my MPC8323E-MDS-PB board, but
> I the
> console output stops early on during the kernel boot.
>
> I'm running the latest u-boot (git://www.denx.de/git/u-boot-mpc83xx.git)
> with
> its default environment. The kernel is built from Paulus' powerpc.git,
> after
> checking out tag 2.6.21-rc5. The dtb is build from
> arch/powerpc/boot/dts/mpc832x_mds.dts
> with the latest compiler (git://www.jdl.com/software/dtc.git).
>
> Has anyone else been here before...? If so I'd appreciate any help you can
> offer.
>
> TIA,
>
> Alex
>
> -------------------my ttyS0 output------------------
> =>
> => printenv
> bootcmd=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath
> ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off
> console=$consoledev,$baudrate $othbootargs;tftp $loadaddr
> $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr
> ramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate
> $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr
> $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr
> nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath
> ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off
> console=$consoledev,$baudrate $othbootargs;tftp $loadaddr
> $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr
> bootdelay=6
> baudrate=115200
> loads_echo=1
> ethaddr=00:04:9f:ef:03:01
> eth1addr=00:04:9f:ef:03:02
> loadaddr=200000
> netdev=eth0
> consoledev=ttyS0
> ramdiskaddr=1000000
> ramdiskfile=ramfs.83xx
> fdtaddr=400000
> fdtfile=mpc832xemds.dtb
> stdin=serial
> stdout=serial
> stderr=serial
> ethact=FSL UEC0
>
> Environment size: 979/8188 bytes
> => setenv ramdiskfile uRamdisk
> => setenv fdtfile mpc832x_mds.dtb
> => setenv bootfile uImage
> => setenv serverip 10.0.0.107
> => setenv ipaddr 10.0.6.65
> => run ramboot
> Using FSL UEC0 device
> TFTP from server 10.0.0.107; our IP address is 10.0.6.65
> Filename 'uRamdisk'.
> Load address: 0x1000000
> Loading: #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> ###########################################################
> done
> Bytes transferred = 3296770 (324e02 hex)
> Using FSL UEC0 device
> TFTP from server 10.0.0.107; our IP address is 10.0.6.65
> Filename 'uImage'.
> Load address: 0x200000
> Loading: #################################################################
> #################################################################
> #################################################################
> ##########################################
> done
> Bytes transferred = 1212615 (1280c7 hex)
> Using FSL UEC0 device
> TFTP from server 10.0.0.107; our IP address is 10.0.6.65
> Filename 'mpc832x_mds.dtb'.
> Load address: 0x400000
> Loading: ###
> done
> Bytes transferred = 12288 (3000 hex)
> ## Booting image at 00200000 ...
> Image Name: Linux-2.6.21-rc5
> Image Type: PowerPC Linux Kernel Image (gzip compressed)
> Data Size: 1212551 Bytes = 1.2 MB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> Uncompressing Kernel Image ... OK
> ## Loading RAMDisk Image at 01000000 ...
> Image Name: uboot ext2 ramdisk rootfs
> Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
> Data Size: 3296706 Bytes = 3.1 MB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> Booting using flat device tree at 0x400000
> Loading Ramdisk to 07c87000, end 07fabdc2 ... OK
> Using MPC832x MDS machine description
> Linux version 2.6.21-rc5 (ajz@zambia) (gcc version 3.4.3) #2 Thu May 3
> 16:42:54 BST 2007
> Found initrd at 0xc7c87000:0xc7fabdc2
> setup_arch: bootmem
> mpc832x_sys_setup_arch()
> Found MPC83xx PCI host bridge at 0x00000000e0008500. Firmware bus
> number: 0->0
> arch: exit
> Zone PFN ranges:
> DMA 0 -> 32768
> Normal 32768 -> 32768
> early_node_map[1] active PFN ranges
> 0: 0 -> 32768
> Built 1 zonelists. Total pages: 32512
> Kernel command line: root=/dev/ram rw console=ttyS0,115200
> IPIC (128 IRQ sources) at fddf3700
> QEIC (64 IRQ sources) at fddf2080
> PID hash table entries: 512 (order: 9, 2048 bytes)
^ permalink raw reply
* Re: [PATCH v2 6/7] Holly DTS
From: Segher Boessenkool @ 2007-05-09 15:28 UTC (permalink / raw)
To: Josh Boyer
Cc: Olof Johansson, linuxppc-dev, Loeliger Jon-LOELIGER, David Gibson
In-Reply-To: <1178706570.3453.63.camel@zod.rchland.ibm.com>
>>>>> Other dts'es are similar. Could be nice
>>>>> to have a comment next to it if that's the case.
>>>>
>>>> Yeah. There's also this ?? syntax now I believe.
>>>
>>> Not quite yet.
>>
>> Yes, the idea was raised, but discussion kind of petered out and
>> nobody (read: me) got around to implementing it.
>
> What exactly did this ?? syntax imply? I must have missed that thread.
A property in a DTS file can use that to say
the property should have a value, but it will
be filled in by the bootwrapper instead (memory
address/size, or network MAC address, for
instance). Presumably the kernel parser would
complain when it sees the this-is-still-undefined
marker.
The original proposal specified the length of
the property value IIRC, but that isn't necessary
anymore.
Segher
^ permalink raw reply
* Re: Xilinx OPB EMC Linux 2.6 Driver
From: Grant Likely @ 2007-05-09 14:32 UTC (permalink / raw)
To: linuxppc-embedded
In-Reply-To: <BAY115-W4C8C341511C29C64FA72AB23B0@phx.gbl>
Mohammad Sadegh Sadri wrote:
> But I think that some thing is missing here, There should be a driver to enable Extended Memory Controller (OPB EMC) module which is mainly connected to the strata flash chip. Is this true? Or the current drivers in the kernel are enough?
The EMC core does not require any drivers. It transparently maps
external devices onto the OPB bus.
>
> May be I should enable support for CFI and then I choose CFI in physical memory option?
Yes
^ permalink raw reply
* RE: zImage.elf loads but does not start
From: Charles Krinke @ 2007-05-09 15:02 UTC (permalink / raw)
To: Adrian Craine, Leonid; +Cc: Mirek23, linuxppc-embedded
In-Reply-To: <4640F08E.5040608@nec.com.au>
I find this usually happens when /dev/tty, /dev/console or /dev/ttyS0
are not setup properly. That is, they are files instead of nodes. This
menas you have mounted the root filesystem and init is running on that
root filesystem.
Charles
-----Original Message-----
From: linuxppc-embedded-bounces+ckrinke=3Distor.com@ozlabs.org
[mailto:linuxppc-embedded-bounces+ckrinke=3Distor.com@ozlabs.org] On
Behalf Of Adrian Craine
Sent: Tuesday, May 08, 2007 2:50 PM
To: Leonid
Cc: linuxppc-embedded@ozlabs.org; Mirek23
Subject: Re: zImage.elf loads but does not start
Leonid wrote:
> rootpath=3D
> [ 9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
> [ 9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
> [ 9.303794] VFS: Mounted root (nfs filesystem).
> [ 9.359316] Freeing unused kernel memory: 96k init
> [ 9.422162] Warning: unable to open an initial console.
>
> =20
The exact device node this requires is /dev/console c 5 1
That should solve your issue.
Cheers,
Adrian.
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
^ permalink raw reply
* Re: [PATCH] powerpc: add dts entries to 85xx for EDAC
From: Segher Boessenkool @ 2007-05-09 14:40 UTC (permalink / raw)
To: Dave Jiang; +Cc: linuxppc-dev, paulus
In-Reply-To: <4640AE88.9040806@mvista.com>
>> we should distinguish the memory controllers on 8540/8560 (DDR1) from
>> the one on 8548 (DDR1 & DDR2).
>
> Do you mean something like:
>
> 8540/8560
> compatible = "fsl,85xx-ddr-controller"
fsl,8540-memory-controller
> 8548
> compatible = "fsl,85xx-ddr2-controller"
fsl,8548-memory-controller
This shows once again why "Nxx" is not such a great
plan; it states that all Nxx devices are compatible,
while some might not even exist yet.
Segher
^ permalink raw reply
* Re: [PATCH 05/13] Document the fsl, magic-packet property in gianfar nodes.
From: Segher Boessenkool @ 2007-05-09 14:33 UTC (permalink / raw)
To: David Gibson; +Cc: linuxppc-dev
In-Reply-To: <20070508001808.GD7449@localhost.localdomain>
>>>> As I previously wrote internally, it's only needed because some
>>>> versions of the device have it and some don't; what it really means
>>>> is that certain bits in certain registers are valid.
So have the driver detect this based on "compatible"
or "model".
> Further, is there already a standard description for WoL capability
> described in one of the OF binding documents. Segher?
[Cc: me if you want me to answer, I was reading this
thread with the "d" key, you got lucky].
There is no standard wake-on-lan thing in any binding
as far as I know. I don't see how it would be useful
anyway, it's all just the device driver's job as far
as I can see.
Segher
^ permalink raw reply
* Re: [PATCH] TurboStation support (Properly)
From: Kumar Gala @ 2007-05-09 14:20 UTC (permalink / raw)
To: Kumar Gala; +Cc: Øyvind Repvik, linuxppc-embedded
In-Reply-To: <FE88B5E3-697F-4F6B-8B76-5FF0574D07F9@kernel.crashing.org>
On May 9, 2007, at 9:18 AM, Kumar Gala wrote:
>
> On May 8, 2007, at 4:56 PM, =D8yvind Repvik wrote:
>
>> On Sunday 06 May 2007 14:46:05 =D8yvind Repvik wrote:
>>> Hi,
>>>
>>> This patch adds support for the QNAP TurboStation TS-101 and
>>> TS-201 devices.
>>
>> Of course, it probably helps if my mail client doesn't break the
>> patch completely.
>
> Comments below.
>
> Out of interesting, what's the difference between the TS-101 and =20
> TS-201?
Also, can you provide a defconfig.
- k=
^ permalink raw reply
* Re: [PATCH] TurboStation support (Properly)
From: Kumar Gala @ 2007-05-09 14:18 UTC (permalink / raw)
To: Øyvind Repvik; +Cc: linuxppc-embedded
In-Reply-To: <200705082356.02334.repvik@kynisk.com>
On May 8, 2007, at 4:56 PM, =D8yvind Repvik wrote:
> On Sunday 06 May 2007 14:46:05 =D8yvind Repvik wrote:
>> Hi,
>>
>> This patch adds support for the QNAP TurboStation TS-101 and =20
>> TS-201 devices.
>
> Of course, it probably helps if my mail client doesn't break the =20
> patch completely.
Comments below.
Out of interesting, what's the difference between the TS-101 and TS-201?
>
>
> Signed-off-by: =D8yvind Repvik <nail@nslu2-linux.org>
> Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
>
> --- linux-2.6.21.1/arch/powerpc/boot/dts/qnap-ts101.dts =
1970-01-01 =20
> 01:00:00.000000000 +0100
> +++ linux-2.6.21.1.ts/arch/powerpc/boot/dts/qnap-ts101.dts =20
> 2007-05-03 22:44:59.000000000 +0200
> @@ -0,0 +1,166 @@
> +/*
> + * Device Tree Souce for QNAP Turbostation 101/201
> + *
> + * Choose CONFIG_TURBOSTATION to build a kernel for turbostation
> + *
> + *
> + * Based on kuroboxHD.dts by G. Liakhovetski
> + *
> + * 2007 (c) Oyvind Repvik <nail@nslu2-linux.org>
> + *
> + * This file is licensed under
> + * the terms of the GNU General Public License version 2. This =20
> program
> + * is licensed "as is" without any warranty of any kind, whether =20
> express
> + * or implied.
> + *
> + * build with: "dtc -f -I dts -O dtb -o qnap-ts101.dtb -V 16 qnap-=20
> ts101.dts"
> + *
> + *
> + */
> +
> +/ {
> + linux,phandle =3D <1000>;
> + model =3D "TurboStation TSx01";
> + compatible =3D "turbostation";
> + #address-cells =3D <1>;
> + #size-cells =3D <1>;
> +
> + cpus {
> + linux,phandle =3D <2000>;
Can you removal all linux,phandle's and use the new reference syntax.
> + #cpus =3D <1>;
> + #address-cells =3D <1>;
> + #size-cells =3D <0>;
> +
> + PowerPC,603e { /* Really 8241 */
> + linux,phandle =3D <2100>;
> + device_type =3D "cpu";
> + reg =3D <0>;
> + clock-frequency =3D <fdad680>; /* 266 MHz */
> + timebase-frequency =3D <1fca055>; /* =
33.3333333 MHz */
> + bus-frequency =3D <0>;
> + /* Following required by dtc but not used */
> + i-cache-line-size =3D <0>;
> + d-cache-line-size =3D <0>;
No reason not to set the line-size properly to <20>
> + i-cache-size =3D <4000>;
> + d-cache-size =3D <4000>;
> + };
> + };
> +
> + /* 64MB @ 0x0 */
> + memory {
> + linux,phandle =3D <3000>;
> + device_type =3D "memory";
> + reg =3D <00000000 04000000>;
> + };
> +
> + flash@ff000000 {
> + linux,phandle =3D <3100>;
> + device_type =3D "rom";
> + compatible =3D "direct-mapped";
> + probe-type =3D "CFI";
> + reg =3D <ff000000 01000000>;
> + bank-width =3D <1>;
> + partitions =3D <
> + 00000000 00200000
> + 00200000 00d00000
> + 00f00000 00040001
> + 00f40000 00020000
> + 00f60000 00040000
> + 00fa0000 00020000
> + 00fc0000 00040000
> + >;
> + partition-names =3D =
"kernel\0rootfs\0uboot1\0uboot1-env\0uboot2=20
> \0uboot2-env\0SysConf";
> + };
> +
> +
> + soc10x { /* AFAICT need to make soc for 8245's uarts to be =20
> defined */
> + linux,phandle =3D <4000>;
> + #address-cells =3D <1>;
> + #size-cells =3D <1>;
> + #interrupt-cells =3D <2>;
> + device_type =3D "soc";
> + compatible =3D "mpc10x";
> + store-gathering =3D <0>; /* 0 =3D=3D off, !0 =3D=3D on =
*/
> + reg =3D <80000000 00100000>;
> + ranges =3D <80000000 80000000 70000000 /* pci mem space =
*/
> + fc000000 fc000000 00100000 /* EUMB */
> + fe000000 fe000000 00c00000 /* pci i/o space =
*/
> + fec00000 fec00000 00300000 /* pci cfg regs =
*/
> + fef00000 fef00000 00100000>; /* pci iack */
> +
> + i2c@fc003000 {
> + linux,phandle =3D <4300>;
> + device_type =3D "i2c";
> + compatible =3D "fsl-i2c";
> + reg =3D <fc003000 1000>;
> + interrupts =3D <5 2>;
> + interrupt-parent =3D <4400>;
> + };
> +
> + serial@fc004500 {
> + linux,phandle =3D <4511>;
> + device_type =3D "serial";
> + compatible =3D "ns16550";
> + reg =3D <fc004500 8>;
> + clock-frequency =3D <7ed6b40>; /* 133 MHz */
> + current-speed =3D <1c200>; /* 115200 */
> + interrupts =3D <9 2>;
> + interrupt-parent =3D <4400>;
> + };
> +
> + serial@fc004600 {
> + linux,phandle =3D <4512>;
> + device_type =3D "serial";
> + compatible =3D "ns16550";
> + reg =3D <fc004600 8>;
> + clock-frequency =3D <7ed6b40>;
> + current-speed =3D <4b00>; /* 19200 =
*/
> + interrupts =3D <a 2>;
> + interrupt-parent =3D <4400>;
> + };
> +
> + pic@fc040000 {
> + linux,phandle =3D <4400>;
> + #interrupt-cells =3D <2>;
> + #address-cells =3D <0>;
> + device_type =3D "open-pic";
> + compatible =3D "chrp,open-pic";
> + interrupt-controller;
> + reg =3D <fc040000 40000>;
> + built-in;
> + };
> +
> + pci@fe800000 {
> + linux,phandle =3D <4500>;
> + #address-cells =3D <3>;
> + #size-cells =3D <2>;
> + #interrupt-cells =3D <1>;
> + device_type =3D "pci";
> + compatible =3D "mpc10x-pci";
> + reg =3D <fc000000 400000>;
> + ranges =3D <01000000 0 0 fe000000 0 =
00c00000
> + 02000000 0 80000000 80000000 0 =
70000000>;
> + bus-range =3D <0 ff>;
> + clock-frequency =3D <7ed6b40>; /* 133 MHz */
> + interrupt-parent =3D <4400>;
> + interrupt-map-mask =3D <f800 0 0 7>;
> + interrupt-map =3D <
> + /* IDSEL 0x13 - SATA*/
> + 6800 0 0 1 4400 0 1
> + 6800 0 0 2 4400 0 1
> + 6800 0 0 3 4400 0 1
> + 6800 0 0 4 4400 0 1
> + /* IDSEL 0x14 - USB */
> + 7000 0 0 1 4400 1 1
> + 7000 0 0 2 4400 1 1
> + 7000 0 0 3 4400 1 1
> + 7000 0 0 4 4400 1 1
> + /* IDSEL 0x15 - ETH */
> + 7800 0 0 1 4400 2 1
> + 7800 0 0 2 4400 2 1
> + 7800 0 0 3 4400 2 1
> + 7800 0 0 4 4400 2 1
> + >;
> + };
> + };
> +};
> Binary files linux-2.6.21.1/arch/powerpc/boot/dts/storcenter.dtb =20
> and linux-2.6.21.1.ts/arch/powerpc/boot/dts/storcenter.dtb differ
> --- linux-2.6.21.1/arch/powerpc/platforms/embedded6xx/Kconfig =20
> 2007-04-27 23:49:26.000000000 +0200
> +++ linux-2.6.21.1.ts/arch/powerpc/platforms/embedded6xx/Kconfig =20=
> 2007-05-06 14:31:55.000000000 +0200
> @@ -87,6 +87,13 @@
> Linkstation-I HD-HLAN and HD-HGLAN versions, and PPC-based
> Terastation systems should be supported too.
>
> +config TURBOSTATION
> + bool "QNap TS-101/TS-102 TurboStation"
> + select MPIC
> + select FSL_SOC
> + select PPC_UDBG_16550 if SERIAL_8250
> + select DEFAULT_UIMAGE
> +
> config MPC7448HPC2
> bool "Freescale MPC7448HPC2(Taiga)"
> select TSI108_BRIDGE
> @@ -200,7 +207,7 @@
> depends on SANDPOINT || SPRUCE || PPLUS || \
> PRPMC750 || PRPMC800 || LOPEC || \
> (EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D =
|| \
> - 83xx || LINKSTATION
> + 83xx || LINKSTATION || TURBOSTATION
> default y
>
> config FORCE
> @@ -274,13 +281,15 @@
>
> config MPC10X_BRIDGE
> bool
> - depends on POWERPMC250 || LOPEC || SANDPOINT || LINKSTATION
> + depends on POWERPMC250 || LOPEC || SANDPOINT || LINKSTATION || \
> + TURBOSTATION
> select PPC_INDIRECT_PCI
> default y
>
> config MPC10X_OPENPIC
> bool
> - depends on POWERPMC250 || LOPEC || SANDPOINT || LINKSTATION
> + depends on POWERPMC250 || LOPEC || SANDPOINT || LINKSTATION || \
> + TURBOSTATION
> default y
>
> config MPC10X_STORE_GATHERING
> --- linux-2.6.21.1/arch/powerpc/platforms/embedded6xx/Makefile =20=
> 2007-04-27 23:49:26.000000000 +0200
> +++ linux-2.6.21.1.ts/arch/powerpc/platforms/embedded6xx/Makefile =20=
> 2007-05-06 14:30:58.000000000 +0200
> @@ -3,3 +3,4 @@
> #
> obj-$(CONFIG_MPC7448HPC2) +=3D mpc7448_hpc2.o
> obj-$(CONFIG_LINKSTATION) +=3D linkstation.o ls_uart.o
> +obj-$(CONFIG_TURBOSTATION) +=3D turbostation.o
> --- linux-2.6.21.1/arch/powerpc/platforms/embedded6xx/=20
> turbostation.c 1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.6.21.1.ts/arch/powerpc/platforms/embedded6xx/=20
> turbostation.c 2007-05-03 22:45:03.000000000 +0200
> @@ -0,0 +1,141 @@
> +/*
> + * Board setup routines for the QNAP Turbostation platform (TS-101/=20=
> TS-201)
> + *
> + * Copyright (C) 2007 Oyvind Repvik (nail@nslu2-linux.org)
> + *
> + * Based on linkstation.c by G. Liakhovetski
> + *
> + * This file is licensed under the terms of the GNU General Public =20=
> License
> + * version 2. This program is licensed "as is" without any =20
> warranty of
> + * any kind, whether express or implied.
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/pci.h>
> +#include <linux/initrd.h>
> +#include <linux/mtd/physmap.h>
> +
> +#include <asm/time.h>
> +#include <asm/prom.h>
> +#include <asm/mpic.h>
> +#include <asm/mpc10x.h>
> +#include <asm/pci-bridge.h>
> +
> +static int __init add_bridge(struct device_node *dev)
> +{
> + int len;
> + struct pci_controller *hose;
> + int *bus_range;
> +
> + printk("Adding PCI host bridge %s\n", dev->full_name);
> +
> + bus_range =3D (int *) get_property(dev, "bus-range", &len);
> + if (bus_range =3D=3D NULL || len < 2 * sizeof(int))
> + printk(KERN_WARNING "Can't get bus-range for %s, assume"
> + " bus 0\n", dev->full_name);
> +
> + hose =3D pcibios_alloc_controller();
> + if (hose =3D=3D NULL)
> + return -ENOMEM;
> + hose->first_busno =3D bus_range ? bus_range[0] : 0;
> + hose->last_busno =3D bus_range ? bus_range[1] : 0xff;
> + hose->arch_data =3D dev;
> + setup_indirect_pci(hose, 0xfec00000, 0xfee00000);
> +
> + /* Interpret the "ranges" property */
> + /* This also maps the I/O region and sets isa_io/mem_base */
> + pci_process_bridge_OF_ranges(hose, dev, 1);
> +
> + return 0;
> +}
> +
> +static void __init turbostation_setup_arch(void)
> +{
> + struct device_node *np;
> +
> + /* Lookup PCI host bridges */
> + for (np =3D NULL; (np =3D of_find_node_by_type(np, "pci")) !=3D =
NULL;)
> + add_bridge(np);
> +
> + printk(KERN_INFO "QNAP Turbostation series\n");
> +}
> +
> +/*
> + * Interrupt setup and service. Interrrupts on the turbostation come
> + * from the four PCI slots plus onboard 8241 devices: I2C, DUART.
> + */
> +static void __init turbostation_init_IRQ(void)
> +{
> + struct mpic *mpic;
> + struct device_node *dnp;
> + void *prop;
> + int size;
> + phys_addr_t paddr;
> +
> + dnp =3D of_find_node_by_type(NULL, "open-pic");
> + if (dnp =3D=3D NULL)
> + return;
> +
> + prop =3D (struct device_node *)get_property(dnp, "reg", &size);
> + paddr =3D (phys_addr_t)of_translate_address(dnp, prop);
> +
> + mpic =3D mpic_alloc(dnp, paddr, MPIC_PRIMARY | MPIC_WANTS_RESET,
> + 4, 32, " EPIC ");
> + BUG_ON(mpic =3D=3D NULL);
> +
> + /* PCI IRQs */
> + mpic_assign_isu(mpic, 0, paddr + 0x10200);
> +
> + /* I2C */
> + mpic_assign_isu(mpic, 1, paddr + 0x11000);
> +
> + /* ttyS0, ttyS1 */
> + mpic_assign_isu(mpic, 2, paddr + 0x11100);
> +
> + mpic_init(mpic);
> +}
> +
> +static void turbostation_restart(char *cmd)
> +{
> + /* Insert restart-stuff */
> +}
> +
> +static void turbostation_power_off(void)
> +{
> + /* Insert powerdown-stuff */
> +}
> +
> +static void turbostation_halt(void)
> +{
> + turbostation_power_off();
> +}
> +
> +static void turbostation_show_cpuinfo(struct seq_file *m)
> +{
> + seq_printf(m, "vendor\t\t: QNAP Systems Inc.\n");
> + seq_printf(m, "machine\t\t: Turbostation TS-101/TS-201\n");
> +}
> +
> +static int __init turbostation_probe(void)
> +{
> + unsigned long root;
> +
> + root =3D of_get_flat_dt_root();
> +
> + if (!of_flat_dt_is_compatible(root, "turbostation"))
> + return 0;
> + return 1;
> +}
> +
> +define_machine(turbostation){
> + .name =3D "QNAP Turbostation",
> + .probe =3D turbostation_probe,
> + .setup_arch =3D turbostation_setup_arch,
> + .init_IRQ =3D turbostation_init_IRQ,
> + .show_cpuinfo =3D turbostation_show_cpuinfo,
> + .get_irq =3D mpic_get_irq,
> + .restart =3D turbostation_restart,
> + .power_off =3D turbostation_power_off,
> + .halt =3D turbostation_halt,
> + .calibrate_decr =3D generic_calibrate_decr,
> +};
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
^ permalink raw reply
* Re: [PATCH] [POWERPC] 8xx: PQ SoC IRDA support
From: Samuel Ortiz @ 2007-05-09 13:46 UTC (permalink / raw)
To: vitb; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <20070509145353.483896a1@localhost.localdomain>
Hi Vitaly,
On 5/9/2007, "Vitaly Bordug" <vitb@kernel.crashing.org> wrote:
>> I'd really prefer this patch to be splitted in 2 parts: The PPC
>> specific bits, and the IrDA driver that would apply on top of it.
>> Meanwhile, I can comment on the IrDA driver code:
>>
>I used to do such before with network drivers but it may result in badly bre=
akage since stuff is heading through different routes. The most productive wa=
y seems to acquire ACK from both driver-wise and arch-wise areas,
>and have Andrew to merge it. IOW, separating stuff that cannot live one with=
out other is error-prone.
>
>Of course, there's np do do that for your convenience - I'm just against pus=
hing it through different trees.
>>
Fine, but please CC netdev and irda-users@lists.sourceforge.net for your
next patch iteration.
>> >+static irqreturn_t mpc8xx_irda_irq(int irq, void *dev_id)
>> >+{
>> >+=09struct net_device *dev =3D dev_id;
>> >+=09struct mpc8xx_irda *si =3D dev->priv;
>> >+=09scc_t *sccp =3D si->sccp;
>> >+=09cbd_t *bdp;
>> >+=09ushort int_events;
>> >+=09int must_restart =3D 0;
>> >+
>> >+=09/* Get the interrupt events that caused us to be here.
>> >+=09 */
>> >+=09int_events =3D in_be16(&sccp->scc_scce);
>> >+=09out_be16(&sccp->scc_scce, int_events);
>> >+
>> >+=09/* Handle receive event in its own function.
>> >+=09 */
>> >+=09if (int_events & SCC_AHDLC_RXF)
>> >+=09=09mpc8xx_irda_rx(dev);
>> >+
>> >+=09spin_lock(&si->lock);
>> >+
>> >+=09/* Transmit OK, or non-fatal error. Update the buffer
>> >descriptors.
>> >+=09 */
>> >+=09if (int_events & (SCC_AHDLC_TXE | SCC_AHDLC_TXB)) {
>> >+=09=09bdp =3D si->dirty_tx;
>> >+
>> >+=09=09while ((bdp->cbd_sc & BD_AHDLC_TX_READY) =3D=3D 0) {
>> >+=09=09=09if (si->tx_free =3D=3D TX_RING_SIZE)
>> >+=09=09=09=09break;
>> >+
>> >+=09=09=09if (bdp->cbd_sc & BD_AHDLC_TX_CTS)
>> >+=09=09=09=09must_restart =3D 1;
>> >+
>> >+=09=09=09si->stats.tx_packets++;
>> >+
>> >+=09=09=09/* Free the sk buffer associated with this
>> >last transmit.
>> >+=09=09=09 */
>> >+
>> >dev_kfree_skb_irq(si->tx_skbuff[si->skb_dirty]);
>> >+=09=09=09si->skb_dirty =3D (si->skb_dirty + 1) &
>> >TX_RING_MOD_MASK; +
>> >+=09=09=09/* Update pointer to next buffer descriptor
>> >to be transmitted.
>> >+=09=09=09 */
>> >+=09=09=09if (bdp->cbd_sc & BD_AHDLC_TX_WRAP)
>> >+=09=09=09=09bdp =3D si->tx_bd_base;
>> >+=09=09=09else
>> >+=09=09=09=09bdp++;
>> >+
>> >+=09=09=09/* Since we have freed up a buffer, the
>> >ring is no longer full.
>> >+=09=09=09 */
>> >+=09=09=09if (!si->tx_free++) {
>> >+=09=09=09=09if (netif_queue_stopped(dev))
>> >+=09=09=09=09=09netif_wake_queue(dev);
>> >+=09=09=09}
>> >+
>> >+=09=09=09si->dirty_tx =3D (cbd_t *) bdp;
>> >+
>> >+=09=09=09if (si->newspeed) {
>> >+=09=09=09=09mpc8xx_irda_set_speed(dev,
>> >si->newspeed);
>> >+=09=09=09=09si->speed =3D si->newspeed;
>> >+=09=09=09=09si->newspeed =3D 0;
>> >+=09=09=09}
>> >+=09=09}
>> >+
>> >+=09=09if (must_restart) {
>> >+=09=09=09cpm8xx_t *cp =3D immr_map(im_cpm);
>> >+=09=09=09printk(KERN_INFO "restart TX\n");
>> >+
>> >+=09=09=09/* Some transmit errors cause the
>> >transmitter to shut
>> >+=09=09=09 * down. We now issue a restart transmit.
>> >Since the
>> >+=09=09=09 * errors close the BD and update the
>> >pointers, the restart
>> >+=09=09=09 * _should_ pick up without having to reset
>> >any of our
>> >+=09=09=09 * pointers either.
>> >+=09=09=09 */
>> >+=09=09=09out_be16(&cp->cp_cpcr,
>> >+=09=09=09 mk_cr_cmd(CPM_CR_CH_SCC2,
>> >+=09=09=09=09 CPM_CR_RESTART_TX) |
>> >CPM_CR_FLG);
>> >+=09=09=09while (in_be16(&cp->cp_cpcr) & CPM_CR_FLG) ;
>> You're busy looping in an interrupt handler, that's not really nice.
>That's correct. In fact, I included protection stuff for SCC Ethernet in fs_=
enet driver to
>get rid of indefinite loop in case something really bad happens in CPM micro=
code.
>
>I'll move it here.
Good.
>> In general, I think this interrupt handler would deserve a bottom half
>> split since it looks quite busy.
>>
>I don't think it worths bh stuff - scc/FCC/etc ethernet (drivers/net/fs_enet=
/) use more busy int handler and is for
>the similar (SCC) SoC device on the same target board (with higher throughou=
t speed) without performance affected.
>
>It is doable but I guess we'll lose more than win. Also we have to keep in m=
ind, that 8xx PQ SoC is not speed-blasting and having IRQ path between schedu=
le() ticks would not be great either.
>
>So to recap, similar handling path for similar SoC device existing in curren=
t kernel for a while now, and working good.
I'm sure it works good, but doing the whole RX path from an interrupt
handler doesn't sound like the best thing to do, at least to me. And
with a SIR IrDA device, you can afford to offload your interrupt
processing to a BH, nobody will notice the difference in terms of
performance.
I'm not against your proposed implementation, but I just think there's
a nicer way to achieve the same result.
>Thanks for review, will follow-up with fixes shortly.
Thanks for the patch.
Cheers,
Samuel.
^ permalink raw reply
* [PATCH 0/6] IB/ehca: Assorted patches
From: Joachim Fenkes @ 2007-05-09 12:46 UTC (permalink / raw)
To: LinuxPPC-Dev, LKML, OF-General, Roland Dreier
Cc: Stefan Roscher, Christoph Raisch
Here's a set of patches containing various improvements and bugfixes for the
IBM eHCA InfiniBand driver, bumping the version number to SVNEHCA_0023. The
patches are, in detail:
#1 - Serialize hypervisor calls in ehca_register_mr()
#2 - correctly set GRH mask bit in ehca_modify_qp()
#3 - Fix AQP0/1 QP number
#4 - remove _irqsave where it's not needed;
move an #ifdef to where it makes even better sense
#5 - beautify sysfs attribute code and fix compiler warnings
#6 - disable scaling code by default and bump version number
The patches are ready for inclusion into 2.6.22 and apply on top of Roland's
git tree (which has been pulled by Linus recently, so they should apply the=
re,
too).
Cheers,
Joachim
=2D-=20
Joachim Fenkes =A0-- =A0eHCA Linux Driver Developer and Hardware Tamer
IBM Deutschland Entwicklung GmbH =A0-- =A0Dept. 3627 (I/O Firmware Dev. 2)
Schoenaicher Strasse 220 =A0-- =A071032 Boeblingen =A0-- =A0Germany
eMail: fenkes@de.ibm.com =A0-- =A0Phone: +49 7031 16 1239
^ permalink raw reply
* 2.6.21-git11: Section mismatch warnings
From: Christian Kujau @ 2007-05-09 12:17 UTC (permalink / raw)
To: linuxppc-dev
Hi there,
tracking -git for quite a while now, I've seen these warnings when trying
to compile 2.6.21-git11:
WARNING: arch/powerpc/kernel/built-in.o - Section mismatch: reference to
.init.data:.got2 from alloc_top_high (offset 0x158)
The whole buildlog and .config is here:
http://nerdbynature.de/bits/2.6.21-git11/
Eventually this results in:
WRAP arch/powerpc/boot/zImage.coff
ld: arch/powerpc/boot/coff.o: No such file: No such file or directory
nm: 'arch/powerpc/boot/zImage.coff': No such file
objdump: 'arch/powerpc/boot/zImage.coff': No such file
Building modules, stage 2.
MODPOST 85 modules
arch/powerpc/boot/zImage however has been built, which I am using to boot
(I've not tested if -git11 boots OK).
Thanks,
Christian.
--
BOFH excuse #442:
Trojan horse ran out of hay
^ permalink raw reply
* Re: [PATCH] Probe Efika platform before CHRP.
From: Raquel Velasco and Bill Buck @ 2007-05-09 11:45 UTC (permalink / raw)
To: Olaf Hering
Cc: Sylvain Munaut, Peter Czanik, Linux PPC DEV, Paul Mackerras,
David Woodhouse
In-Reply-To: <20070509114209.GA17285@aepfle.de>
It is coming - Freescale is involved and this adds time to the
release, but it is all for good reason.
Best regards,
R&B
On May 9, 2007, at 7:42 AM, Olaf Hering wrote:
> On Sat, Mar 31, Raquel Velasco and Bill Buck wrote:
>
>> Absolutely everything will happen in April...
>
> Which year? 2007 or 2010?
>
>
>> On Mar 31, 2007, at 8:15 AM, David Woodhouse wrote:
>>
>>> On Sun, 2007-01-07 at 03:11 -0600, Raquel Velasco and Bill Buck
>>> wrote:
>>>> In the next 45-60 days we will offer new firmware for the EFIKA
>>>> (and
>>>> the Pegasos/ODW).
>>>
>>> Was hoping to see this before the Fedora 7 release... ?
>
Raquel and Bill
http://bbrv.blogspot.com
^ permalink raw reply
* [PATCH 6/6] IB/ehca: disable scaling code by default, bump version number
From: Joachim Fenkes @ 2007-05-09 11:48 UTC (permalink / raw)
To: LinuxPPC-Dev, LKML, OF-General, Roland Dreier
Cc: Stefan Roscher, Christoph Raisch
- Scaling code is still considered experimental, so disable it by default
- Increase version to SVNEHCA_0023
Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
---
drivers/infiniband/hw/ehca/ehca_main.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_main.c
index dc736e8..233788a 100644
--- a/drivers/infiniband/hw/ehca/ehca_main.c
+++ b/drivers/infiniband/hw/ehca/ehca_main.c
@@ -52,7 +52,7 @@ #include "hcp_if.h"
MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("Christoph Raisch <raisch@de.ibm.com>");
MODULE_DESCRIPTION("IBM eServer HCA InfiniBand Device Driver");
-MODULE_VERSION("SVNEHCA_0022");
+MODULE_VERSION("SVNEHCA_0023");
int ehca_open_aqp1 = 0;
int ehca_debug_level = 0;
@@ -62,7 +62,7 @@ int ehca_use_hp_mr = 0;
int ehca_port_act_time = 30;
int ehca_poll_all_eqs = 1;
int ehca_static_rate = -1;
-int ehca_scaling_code = 1;
+int ehca_scaling_code = 0;
module_param_named(open_aqp1, ehca_open_aqp1, int, 0);
module_param_named(debug_level, ehca_debug_level, int, 0);
@@ -799,7 +799,7 @@ int __init ehca_module_init(void)
int ret;
printk(KERN_INFO "eHCA Infiniband Device Driver "
- "(Rel.: SVNEHCA_0022)\n");
+ "(Rel.: SVNEHCA_0023)\n");
idr_init(&ehca_qp_idr);
idr_init(&ehca_cq_idr);
spin_lock_init(&ehca_qp_idr_lock);
--
1.4.2.1
^ permalink raw reply related
* [PATCH 3/6] IB/ehca: Fix AQP0/1 QP number
From: Joachim Fenkes @ 2007-05-09 11:48 UTC (permalink / raw)
To: LinuxPPC-Dev, LKML, OF-General, Roland Dreier
Cc: Stefan Roscher, Christoph Raisch
From: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
AQP0/1 should report qp_num={0|1} and the actual QP# should be stored in
struct ehca_qp, not the other way round.
Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
---
drivers/infiniband/hw/ehca/ehca_qp.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c
index e21d796..b5bc787 100644
--- a/drivers/infiniband/hw/ehca/ehca_qp.c
+++ b/drivers/infiniband/hw/ehca/ehca_qp.c
@@ -523,6 +523,8 @@ struct ib_qp *ehca_create_qp(struct ib_p
goto create_qp_exit1;
}
+ my_qp->ib_qp.qp_num = my_qp->real_qp_num;
+
switch (init_attr->qp_type) {
case IB_QPT_RC:
if (isdaqp == 0) {
@@ -568,7 +570,7 @@ struct ib_qp *ehca_create_qp(struct ib_p
parms.act_nr_recv_wqes = init_attr->cap.max_recv_wr;
parms.act_nr_send_sges = init_attr->cap.max_send_sge;
parms.act_nr_recv_sges = init_attr->cap.max_recv_sge;
- my_qp->real_qp_num =
+ my_qp->ib_qp.qp_num =
(init_attr->qp_type == IB_QPT_SMI) ? 0 : 1;
}
@@ -595,7 +597,6 @@ struct ib_qp *ehca_create_qp(struct ib_p
my_qp->ib_qp.recv_cq = init_attr->recv_cq;
my_qp->ib_qp.send_cq = init_attr->send_cq;
- my_qp->ib_qp.qp_num = my_qp->real_qp_num;
my_qp->ib_qp.qp_type = init_attr->qp_type;
my_qp->qp_type = init_attr->qp_type;
--
1.4.2.1
^ permalink raw reply related
* [PATCH 4/6] IB/ehca: remove _irqsave, move #ifdef
From: Joachim Fenkes @ 2007-05-09 11:48 UTC (permalink / raw)
To: LinuxPPC-Dev, LKML, OF-General, Roland Dreier
Cc: Stefan Roscher, Christoph Raisch
- In ehca_process_eq(), we're IRQ safe throughout the whole function, so we
don't need another _irqsave in the middle of flight.
- take_over_work() is only called by comp_pool_callback(), so it can move
into the same #ifdef block.
Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
---
drivers/infiniband/hw/ehca/ehca_irq.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/infiniband/hw/ehca/ehca_irq.c b/drivers/infiniband/hw/ehca/ehca_irq.c
index f284be1..f172013 100644
--- a/drivers/infiniband/hw/ehca/ehca_irq.c
+++ b/drivers/infiniband/hw/ehca/ehca_irq.c
@@ -517,12 +517,11 @@ void ehca_process_eq(struct ehca_shca *s
else {
struct ehca_cq *cq = eq->eqe_cache[i].cq;
comp_event_callback(cq);
- spin_lock_irqsave(&ehca_cq_idr_lock, flags);
+ spin_lock(&ehca_cq_idr_lock);
cq->nr_events--;
if (!cq->nr_events)
wake_up(&cq->wait_completion);
- spin_unlock_irqrestore(&ehca_cq_idr_lock,
- flags);
+ spin_unlock(&ehca_cq_idr_lock);
}
} else {
ehca_dbg(&shca->ib_device, "Got non completion event");
@@ -711,6 +710,7 @@ static void destroy_comp_task(struct ehc
kthread_stop(task);
}
+#ifdef CONFIG_HOTPLUG_CPU
static void take_over_work(struct ehca_comp_pool *pool,
int cpu)
{
@@ -735,7 +735,6 @@ static void take_over_work(struct ehca_c
}
-#ifdef CONFIG_HOTPLUG_CPU
static int comp_pool_callback(struct notifier_block *nfb,
unsigned long action,
void *hcpu)
--
1.4.2.1
^ 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