* [PATCH] Add DOS partition support to mpc834x_itx_defconfig
From: Timur Tabi @ 2006-10-03 17:48 UTC (permalink / raw)
To: linuxppc-dev
(resending because the signed-off line was missing)
The default configuration file for the MPC8349E-mITX reference board,
mpc834x_itx_defconfig, did not include support for DOS partition table types.
This support is necessary because the hard drive that comes with the ITX
is formatted with this partition table type. Without this config option,
the drive cannot be mounted.
Signed-off-by: Timur Tabi <timur@freescale.com>
---
arch/powerpc/configs/mpc834x_itx_defconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/configs/mpc834x_itx_defconfig b/arch/powerpc/configs/mpc834x_itx_defconfig
index cd3535e..0561b73 100644
--- a/arch/powerpc/configs/mpc834x_itx_defconfig
+++ b/arch/powerpc/configs/mpc834x_itx_defconfig
@@ -1248,7 +1248,7 @@ # CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
-# CONFIG_MSDOS_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
--
1.4.2.1
^ permalink raw reply related
* Re: [PATCH] mv643xx_eth_pcidev : implement hotplug by matching the Discovery II/III northbridge pci id (Was: + mv643xx_eth_pcidev-implements-hotplug-for-the-marvell-gige-functionality-by-probing-the-northbridge-pci-id.patch added to -mm tree)
From: Brent Cook @ 2006-10-03 17:37 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Andrew Morton, Olaf Hering, Sven Luther, Jeff Garzik
In-Reply-To: <20061003170933.GA2386@powerlinux.fr>
On Tuesday 03 October 2006 12:09, Sven Luther wrote:
> On Tue, Oct 03, 2006 at 06:46:05PM +0200, Olaf Hering wrote:
> > On Tue, Oct 03, Sven Luther wrote:
> > > Does this also account for all those distributions out there who have
> > > pure udev based installers ?
> >
> > Maybe udev does just a 'modprobe $MODALIAS', I dont know.
>
> Do you have a more complete url to the patch ? Just googling for the
> checksum didn't bring anything.
Is this it? I just pasted the md5 sum into the search box:
http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0245f7ad5214cb00131d7cd176446e067c913dc
> I will investigate the udev side of this.
>
> Friendly,
>
> Sven Luther
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
^ permalink raw reply
* Re: [PATCH 4/7] Add MPC8360EMDS board support
From: Kim Phillips @ 2006-10-03 18:02 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, paulus
In-Reply-To: <41AC40EF-31AC-42FE-9C1A-9B80233D2E64@kernel.crashing.org>
On Mon, 2 Oct 2006 22:19:14 -0500
Kumar Gala <galak@kernel.crashing.org> wrote:
> [snip]
>
> > +static u8 *bcsr_regs = NULL;
> > +
> > +u8 *get_bcsr(void)
> > +{
> > + return bcsr_regs;
> > +}
>
> Is get_bcsr() needed since you removed its use from ucc_geth? (if
> not, let's remove it and the header as well).
>
it will be once we figure out a better way of handling it from usb and ethernet phy code. I had just removed it due to Paul's comment (bcsr bits are being manipulated in the wrong place (ucc_geth)).
Kim
^ permalink raw reply
* Re: todc must die!
From: Mark A. Greer @ 2006-10-03 18:18 UTC (permalink / raw)
To: David Gibson; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <20061003065744.GC29689@localhost.localdomain>
On Tue, Oct 03, 2006 at 04:57:44PM +1000, David Gibson wrote:
> Paulus, please apply to your powerpc git tree.
>
> powerpc: Remove todc code from ARCH=powerpc
>
> Apparently we've copied the todc drivers, for various RTCs used in
> embedded machines from ARCH=ppc to ARCH=powerpc, despite the fact that
> it's never used in the latter. This patch removes it.
Well, its used, its just that the patches that add users are backed up
waiting for the outcome of flatdevtree changes.
> If we ever need these drivers (which we probably shouldn't now the RTC
> class stuff is in), we can transfer them one by one from ARCH=ppc,
> removing from the hideous abomination which is the todc
> "infrastructure".
Yes, the new RTC infrastructure should be used instead. Copying over
the todc stuff to powerpc was a stop-gap measure whose time has probably
come.
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Mark A. Greer <mgreer@mvista.com>
^ permalink raw reply
* Re: [PATCH 4/7] Add MPC8360EMDS board support
From: Kumar Gala @ 2006-10-03 18:20 UTC (permalink / raw)
To: Kim Phillips; +Cc: linuxppc-dev list, Paul Mackerras
In-Reply-To: <20061003130245.58267c54.kim.phillips@freescale.com>
On Oct 3, 2006, at 1:02 PM, Kim Phillips wrote:
> On Mon, 2 Oct 2006 22:19:14 -0500
> Kumar Gala <galak@kernel.crashing.org> wrote:
>
>> [snip]
>>
>
>>> +static u8 *bcsr_regs = NULL;
>>> +
>>> +u8 *get_bcsr(void)
>>> +{
>>> + return bcsr_regs;
>>> +}
>>
>> Is get_bcsr() needed since you removed its use from ucc_geth? (if
>> not, let's remove it and the header as well).
>>
>
> it will be once we figure out a better way of handling it from usb
> and ethernet phy code. I had just removed it due to Paul's comment
> (bcsr bits are being manipulated in the wrong place (ucc_geth)).
ok, but nothing is using it in the tree anymore.
Clearly, the phy support for ucc_geth needs to move over to using the
phylib and I think Andy was looking at how to provide board level
hooks to the phylib.
- k
^ permalink raw reply
* Re: [RFC][PATCH 1/2] remove mpc83xx support from arch/ppc
From: Jon Loeliger @ 2006-10-03 18:20 UTC (permalink / raw)
To: linuxppc-dev@ozlabs.org
In-Reply-To: <229C6ACA-4728-408B-9360-54249996E821@kernel.crashing.org>
On Thu, 2006-09-28 at 16:34, Kumar Gala wrote:
> On Sep 28, 2006, at 4:02 PM, Kim Phillips wrote:
>
> > remove 83xx support from arch/ppc. Tested multiple arch/defconfig
> > build combinations ok. AFAICT, everything 83xx works in arch/
> > powerpc, and new derivatives are being added only to arch/powerpc,
> > so it's better not to keep this around.
>
> NACK!! we need the cuImage stuff working and in the tree before I'm
> ok with this. We have to be able to boot from a non-flat-dev aware u-
> boot before I'll be ok with removing 83xx from arch/ppc.
>
> - kumar
Any idea when those patches are going to be in?
Thanks,
jdl
^ permalink raw reply
* Re: RFC: qe lib code location?
From: Vitaly Bordug @ 2006-10-03 18:30 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev list, Kim Phillips, Li Yang
In-Reply-To: <724D42AC-3DBA-4B32-8E4A-914441251470@kernel.crashing.org>
[-- Attachment #1: Type: text/plain, Size: 660 bytes --]
On Tue, 3 Oct 2006 11:34:11 -0500
Kumar Gala wrote:
> I was wondering what peoples thought were on having the qe lib code
> live in drivers/qe instead of sysdev/qe_lib (with the exception of
> the interrupt controller code)
>
> Yes, one can argue the cpm code should live in drivers/cpm by this
> logic, but lets considered them grandfathered for now.
>
My vote to let it be as it is now. The lib should be generic enough and for now there are way few QE-enabled designs to declare it generic even inside ppc. Once it virtually become such a thing - nothing will prevent us to move it to the proper location IMHO.
Thanks,
-Vitaly
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Please pull upstream branch of linux-2.6-PQ.git...
From: Vitaly Bordug @ 2006-10-03 18:30 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev@ozlabs.org
[-- Attachment #1: Type: text/plain, Size: 2678 bytes --]
Paul,
Please do a pull from
git://git.kernel.org/pub/scm/linux/kernel/git/vitb/linux-2.6-PQ.git, upstream branch.
Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
To receive the updated 8272 addition to the arch/powerpc.
All the comments have been addressed, and it has a minor bugfix addressed too in order to make both pq2 and pq3
co-exist happily in fsl_soc.c. CPM PIC now has "compatible" property that could be "CPM2" or "CPM1" for PQ/8xx.
I think it should go to rc1, because relevant stuff in ppc/ is more or less broken now, with new irq engine.
--
arch/powerpc/Kconfig | 1
arch/powerpc/boot/dts/mpc8272ads.dts | 223 ++++++++++
arch/powerpc/platforms/82xx/Kconfig | 21
arch/powerpc/platforms/82xx/Makefile | 5
arch/powerpc/platforms/82xx/m82xx_pci.h | 19
arch/powerpc/platforms/82xx/mpc82xx.c | 111 +++++
arch/powerpc/platforms/82xx/mpc82xx_ads.c | 661 ++++++++++++++++++++++++++++++
arch/powerpc/platforms/82xx/pq2ads.h | 67 +++
arch/powerpc/sysdev/cpm2_pic.c | 2
arch/powerpc/sysdev/cpm2_pic.h | 2
arch/powerpc/sysdev/fsl_soc.c | 62 ++
11 files changed, 1165 insertions(+), 9 deletions(-)
commit 91bd61099defb28a442db358dd9c1693c6589cee
Author: Vitaly Bordug <vbordug@ru.mvista.com>
Date: Mon Oct 2 22:45:17 2006 +0400
POWERPC: mpc82xx merge: board-specific/platform stuff(resend)
This intruduces 82xx family in arch/powerpc/platforms,
and has all the board-specific code to represent regression-less
transaction from ppc. The functionality is apparently the same, including
PCI controller.
Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
commit ed943c1faba53d9a0bde56007ee27762b29dccbd
Author: Vitaly Bordug <vbordug@ru.mvista.com>
Date: Mon Oct 2 22:41:50 2006 +0400
POWERPC: 8272ads merge to powerpc: common stuff
This has modules of common directories related to the
mpc8272ADS board, mainly common cpm2 changes and fsl_soc.c
portions related to the bitbang MDIO and other mechanisms specific
for this family.
Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
commit e02f73e9fd69f1c6d16c207f7a91ce721fe8beab
Author: Vitaly Bordug <vbordug@ru.mvista.com>
Date: Mon Oct 2 22:22:36 2006 +0400
POWERPC: Added devicetree for mpc8272ads board
This adds current dts file used with MPC8272ADS,
introducing new mdio bitbang defines, as well as
fully-CPM2-SoC board design.
Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
--
Sincerely, Vitaly
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: [RFC][PATCH 1/2] remove mpc83xx support from arch/ppc
From: Kumar Gala @ 2006-10-03 18:42 UTC (permalink / raw)
To: Jon Loeliger; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <1159899616.14294.127.camel@cashmere.sps.mot.com>
On Oct 3, 2006, at 1:20 PM, Jon Loeliger wrote:
> On Thu, 2006-09-28 at 16:34, Kumar Gala wrote:
>> On Sep 28, 2006, at 4:02 PM, Kim Phillips wrote:
>>
>>> remove 83xx support from arch/ppc. Tested multiple arch/defconfig
>>> build combinations ok. AFAICT, everything 83xx works in arch/
>>> powerpc, and new derivatives are being added only to arch/powerpc,
>>> so it's better not to keep this around.
>>
>> NACK!! we need the cuImage stuff working and in the tree before I'm
>> ok with this. We have to be able to boot from a non-flat-dev
>> aware u-
>> boot before I'll be ok with removing 83xx from arch/ppc.
>>
>> - kumar
>
> Any idea when those patches are going to be in?
Not sure, I wasn't sure if there were changes required to the patches
for all the flat dev tree code going into the tree.
- k
^ permalink raw reply
* Re: Please pull upstream branch of linux-2.6-PQ.git...
From: Kumar Gala @ 2006-10-03 18:43 UTC (permalink / raw)
To: Vitaly Bordug; +Cc: linuxppc-dev@ozlabs.org, Paul Mackerras
In-Reply-To: <20061003223054.06e25136@localhost.localdomain>
On Oct 3, 2006, at 1:30 PM, Vitaly Bordug wrote:
> Paul,
>
> Please do a pull from
>
> git://git.kernel.org/pub/scm/linux/kernel/git/vitb/linux-2.6-
> PQ.git, upstream branch.
>
> Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
>
>
> To receive the updated 8272 addition to the arch/powerpc.
> All the comments have been addressed, and it has a minor bugfix
> addressed too in order to make both pq2 and pq3
> co-exist happily in fsl_soc.c. CPM PIC now has "compatible"
> property that could be "CPM2" or "CPM1" for PQ/8xx.
>
> I think it should go to rc1, because relevant stuff in ppc/ is more
> or less broken now, with new irq engine.
>
> --
>
> arch/powerpc/Kconfig | 1
> arch/powerpc/boot/dts/mpc8272ads.dts | 223 ++++++++++
> arch/powerpc/platforms/82xx/Kconfig | 21
> arch/powerpc/platforms/82xx/Makefile | 5
> arch/powerpc/platforms/82xx/m82xx_pci.h | 19
> arch/powerpc/platforms/82xx/mpc82xx.c | 111 +++++
> arch/powerpc/platforms/82xx/mpc82xx_ads.c | 661 ++++++++++++++++++
> ++++++++++++
> arch/powerpc/platforms/82xx/pq2ads.h | 67 +++
> arch/powerpc/sysdev/cpm2_pic.c | 2
> arch/powerpc/sysdev/cpm2_pic.h | 2
> arch/powerpc/sysdev/fsl_soc.c | 62 ++
> 11 files changed, 1165 insertions(+), 9 deletions(-)
Are there updates to the flat dev spec for the CPM nodes? That is my
only hold up on ack'ing all this good PQ2/PQ3 CPM work.
- k
^ permalink raw reply
* Re: Please pull upstream branch of linux-2.6-PQ.git...
From: Vitaly Bordug @ 2006-10-03 19:05 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev@ozlabs.org, Paul Mackerras
In-Reply-To: <E0C344B6-3149-46E4-8573-6EA220F4D7FE@kernel.crashing.org>
[-- Attachment #1: Type: text/plain, Size: 2487 bytes --]
On Tue, 3 Oct 2006 13:43:35 -0500
Kumar Gala wrote:
>
> On Oct 3, 2006, at 1:30 PM, Vitaly Bordug wrote:
>
> > Paul,
> >
> > Please do a pull from
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/vitb/linux-2.6-
> > PQ.git, upstream branch.
> >
> > Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
> >
> >
> > To receive the updated 8272 addition to the arch/powerpc.
> > All the comments have been addressed, and it has a minor bugfix
> > addressed too in order to make both pq2 and pq3
> > co-exist happily in fsl_soc.c. CPM PIC now has "compatible"
> > property that could be "CPM2" or "CPM1" for PQ/8xx.
> >
> > I think it should go to rc1, because relevant stuff in ppc/ is
> > more or less broken now, with new irq engine.
> >
> > --
> >
> > arch/powerpc/Kconfig | 1
> > arch/powerpc/boot/dts/mpc8272ads.dts | 223 ++++++++++
> > arch/powerpc/platforms/82xx/Kconfig | 21
> > arch/powerpc/platforms/82xx/Makefile | 5
> > arch/powerpc/platforms/82xx/m82xx_pci.h | 19
> > arch/powerpc/platforms/82xx/mpc82xx.c | 111 +++++
> > arch/powerpc/platforms/82xx/mpc82xx_ads.c | 661
> > ++++++++++++++++++ ++++++++++++
> > arch/powerpc/platforms/82xx/pq2ads.h | 67 +++
> > arch/powerpc/sysdev/cpm2_pic.c | 2
> > arch/powerpc/sysdev/cpm2_pic.h | 2
> > arch/powerpc/sysdev/fsl_soc.c | 62 ++
> > 11 files changed, 1165 insertions(+), 9 deletions(-)
>
> Are there updates to the flat dev spec for the CPM nodes? That is
> my only hold up on ack'ing all this good PQ2/PQ3 CPM work.
>
It is coming along with QE docs, on top of it, since we decided to make CPM a "sibliing".
I'll follow-up with the stuff in the separate domain if we've no chance to get QE thing in this time.
Though, tha't not what will be good, because we should keep clear, how similar are CPM and QE.
Again, most of the node things are self-explanatory and assuming ppc/ entity of 8272 does not
function properly anymore, I really want this in rc1. There are many boards like it, so this will encourage people
to move to the powerpc which with a reference much more simple than fix ppc/ irq stuff.
So, as a recap physically spec is ready, just depending on QE spec that is floating around still :)
And, having 85xx cpm2 stuff in the Linus' mainline atm, there's no much reason holding this, is there ;) ?
--
Thanks,
-Vitaly
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: Please pull upstream branch of linux-2.6-PQ.git...
From: Kumar Gala @ 2006-10-03 19:14 UTC (permalink / raw)
To: Vitaly Bordug; +Cc: linuxppc-dev@ozlabs.org, Paul Mackerras
In-Reply-To: <20061003230543.6cc82325@localhost.localdomain>
On Oct 3, 2006, at 2:05 PM, Vitaly Bordug wrote:
> On Tue, 3 Oct 2006 13:43:35 -0500
> Kumar Gala wrote:
>
>>
>> On Oct 3, 2006, at 1:30 PM, Vitaly Bordug wrote:
>>
>>> Paul,
>>>
>>> Please do a pull from
>>>
>>> git://git.kernel.org/pub/scm/linux/kernel/git/vitb/linux-2.6-
>>> PQ.git, upstream branch.
>>>
>>> Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
>>>
>>>
>>> To receive the updated 8272 addition to the arch/powerpc.
>>> All the comments have been addressed, and it has a minor bugfix
>>> addressed too in order to make both pq2 and pq3
>>> co-exist happily in fsl_soc.c. CPM PIC now has "compatible"
>>> property that could be "CPM2" or "CPM1" for PQ/8xx.
>>>
>>> I think it should go to rc1, because relevant stuff in ppc/ is
>>> more or less broken now, with new irq engine.
>>>
>>> --
>>>
>>> arch/powerpc/Kconfig | 1
>>> arch/powerpc/boot/dts/mpc8272ads.dts | 223 ++++++++++
>>> arch/powerpc/platforms/82xx/Kconfig | 21
>>> arch/powerpc/platforms/82xx/Makefile | 5
>>> arch/powerpc/platforms/82xx/m82xx_pci.h | 19
>>> arch/powerpc/platforms/82xx/mpc82xx.c | 111 +++++
>>> arch/powerpc/platforms/82xx/mpc82xx_ads.c | 661
>>> ++++++++++++++++++ ++++++++++++
>>> arch/powerpc/platforms/82xx/pq2ads.h | 67 +++
>>> arch/powerpc/sysdev/cpm2_pic.c | 2
>>> arch/powerpc/sysdev/cpm2_pic.h | 2
>>> arch/powerpc/sysdev/fsl_soc.c | 62 ++
>>> 11 files changed, 1165 insertions(+), 9 deletions(-)
>>
>> Are there updates to the flat dev spec for the CPM nodes? That is
>> my only hold up on ack'ing all this good PQ2/PQ3 CPM work.
>>
>
> It is coming along with QE docs, on top of it, since we decided to
> make CPM a "sibliing".
> I'll follow-up with the stuff in the separate domain if we've no
> chance to get QE thing in this time.
> Though, tha't not what will be good, because we should keep clear,
> how similar are CPM and QE.
>
> Again, most of the node things are self-explanatory and assuming
> ppc/ entity of 8272 does not
> function properly anymore, I really want this in rc1. There are
> many boards like it, so this will encourage people
> to move to the powerpc which with a reference much more simple than
> fix ppc/ irq stuff.
>
> So, as a recap physically spec is ready, just depending on QE spec
> that is floating around still :)
> And, having 85xx cpm2 stuff in the Linus' mainline atm, there's no
> much reason holding this, is there ;) ?
I agree. How about posting the lastest cpm2 spec to the list.
- k
^ permalink raw reply
* [PATCH] 750CL cputable entry
From: Jake Moilanen @ 2006-10-03 19:29 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev
750CL cputable entry from Steve Winiecki.
Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
arch/powerpc/kernel/cputable.c | 12 ++++++++++++
1 files changed, 12 insertions(+)
Index: merge/arch/powerpc/kernel/cputable.c
===================================================================
--- merge.orig/arch/powerpc/kernel/cputable.c
+++ merge/arch/powerpc/kernel/cputable.c
@@ -466,6 +466,18 @@ struct cpu_spec cpu_specs[] = {
.cpu_setup = __setup_cpu_750cx,
.platform = "ppc750",
},
+ { /* 750CL */
+ .pvr_mask = 0xfffffff0,
+ .pvr_value = 0x00087100,
+ .cpu_name = "750CL",
+ .cpu_features = CPU_FTRS_750,
+ .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
+ .icache_bsize = 32,
+ .dcache_bsize = 32,
+ .num_pmcs = 4,
+ .cpu_setup = __setup_cpu_750cx,
+ .platform = "ppc750",
+ },
{ /* 745/755 */
.pvr_mask = 0xfffff000,
.pvr_value = 0x00083000,
^ permalink raw reply
* Re: Please pull upstream branch of linux-2.6-PQ.git...
From: Jerry Van Baren @ 2006-10-03 19:37 UTC (permalink / raw)
To: Vitaly Bordug; +Cc: linuxppc-dev@ozlabs.org
In-Reply-To: <20061003223054.06e25136@localhost.localdomain>
Vitaly Bordug wrote:
> Paul,
>
> Please do a pull from
>
> git://git.kernel.org/pub/scm/linux/kernel/git/vitb/linux-2.6-PQ.git, upstream branch.
>
> Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
>
>
> To receive the updated 8272 addition to the arch/powerpc.
> All the comments have been addressed, and it has a minor bugfix addressed too in order to make both pq2 and pq3
> co-exist happily in fsl_soc.c. CPM PIC now has "compatible" property that could be "CPM2" or "CPM1" for PQ/8xx.
>
> I think it should go to rc1, because relevant stuff in ppc/ is more or less broken now, with new irq engine.
Hi Vitaly,
I've been following your -PQ progress with a lot of interest. I have a
PQ2FADS board (8272) and your changes should apply to it too. I pulled
a copy of your repository last week and had a couple of minor build
errors. I made a couple of minor fixes and it built OK but I didn't run
it - I need a compatible boot loader, which leads into my question...
What are you using for booting your 8272ADS board? I have been using
u-boot with the "bd" structure but am looking to switch to the flattened
OF tree. I made a half-hearted attempt to switch my u-boot build to the
flattened OF tree but it didn't work and then I got distracted by other
things instead of debugging it. :-(
Thanks,
gvb
^ permalink raw reply
* [PATCH 0/4]: Spidernet transmit patches
From: Linas Vepstas @ 2006-10-03 20:52 UTC (permalink / raw)
To: akpm, jeff
Cc: netdev, James K Lewis, linux-kernel, Arnd Bergmann, linuxppc-dev
The following set of four patches provide some more spidernet fixes.
Most important are a pair of patches to stop the transmit queue when it
is full, and to actually turn off transmit interrupts during NAPI(!)
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: James K Lewis <jklewis@us.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
^ permalink raw reply
* [PATCH 1/4]: Spidernet stop queue when queue is full
From: Linas Vepstas @ 2006-10-03 20:57 UTC (permalink / raw)
To: akpm, jeff
Cc: netdev, James K Lewis, linux-kernel, Arnd Bergmann, linuxppc-dev
In-Reply-To: <20061003205240.GE4381@austin.ibm.com>
Subject: [PATCH 1/4]: Spidernet stop queue when queue is full.
This patch adds a call to netif_stop_queue() when there is
no more room for more packets on the transmit queue.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: James K Lewis <jklewis@us.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
----
drivers/net/spider_net.c | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
Index: linux-2.6.18-mm2/drivers/net/spider_net.c
===================================================================
--- linux-2.6.18-mm2.orig/drivers/net/spider_net.c 2006-10-02 12:12:56.000000000 -0500
+++ linux-2.6.18-mm2/drivers/net/spider_net.c 2006-10-02 18:59:43.000000000 -0500
@@ -686,6 +686,7 @@ spider_net_prepare_tx_descr(struct spide
/* Chain the bus address, so that the DMA engine finds this descr. */
descr->prev->next_descr_addr = descr->bus_addr;
+ card->netdev->trans_start = jiffies;
return 0;
}
@@ -857,29 +858,23 @@ spider_net_xmit(struct sk_buff *skb, str
spider_net_release_tx_chain(card, 0);
- if (chain->head->next == chain->tail->prev) {
- card->netdev_stats.tx_dropped++;
- result = NETDEV_TX_LOCKED;
- goto out;
- }
-
- if (spider_net_get_descr_status(descr) != SPIDER_NET_DESCR_NOT_IN_USE) {
- card->netdev_stats.tx_dropped++;
+ if ((chain->head->next == chain->tail->prev) ||
+ (spider_net_get_descr_status(descr) != SPIDER_NET_DESCR_NOT_IN_USE)) {
result = NETDEV_TX_LOCKED;
goto out;
}
if (spider_net_prepare_tx_descr(card, skb) != 0) {
- card->netdev_stats.tx_dropped++;
result = NETDEV_TX_BUSY;
goto out;
}
- result = NETDEV_TX_OK;
spider_net_kick_tx_dma(card);
+ return NETDEV_TX_OK;
out:
- netif_wake_queue(netdev);
+ card->netdev_stats.tx_dropped++;
+ netif_stop_queue(netdev);
return result;
}
@@ -898,6 +893,8 @@ spider_net_cleanup_tx_ring(struct spider
if ((spider_net_release_tx_chain(card, 0) != 0) &&
(card->netdev->flags & IFF_UP))
spider_net_kick_tx_dma(card);
+
+ netif_wake_queue(card->netdev);
}
/**
^ permalink raw reply
* Re: Undefined '.bus_to_virt', '.virt_to_bus' causes compile error on Powerpc 64-bit
From: Guennadi Liakhovetski @ 2006-10-03 20:58 UTC (permalink / raw)
To: Adrian Bunk; +Cc: linuxppc-dev, Judith Lebzelter, linux-kernel
In-Reply-To: <20061002234428.GE3278@stusta.de>
On Tue, 3 Oct 2006, Adrian Bunk wrote:
> On Mon, Oct 02, 2006 at 02:49:54PM -0700, Judith Lebzelter wrote:
>
> > For the automated cross-compile builds at OSDL, powerpc 64-bit
> > 'allmodconfig' is failing. The warnings/errors below appear in
> > the 'modpost' stage of kernel compiles for 2.6.18 and -mm2 kernels.
>
> known for ages - the drivers need fixing.
...
> > WARNING: ".bus_to_virt" [drivers/scsi/tmscsim.ko] undefined!
The problem with this one is that the code path, where bus_to_virt is
used, is only executed under some very exotic circumstances, i.e.,
is practically untestable. I'll try to cook something up for that...
Thanks
Guennadi
---
Guennadi Liakhovetski
^ permalink raw reply
* [PATCH 2/4]: Spidernet fix register field definitions
From: Linas Vepstas @ 2006-10-03 20:59 UTC (permalink / raw)
To: akpm, jeff
Cc: netdev, James K Lewis, linux-kernel, Arnd Bergmann, linuxppc-dev
In-Reply-To: <20061003205240.GE4381@austin.ibm.com>
This patch fixes the names of a few fields in the DMA control
register. There is no functional change.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: James K Lewis <jklewis@us.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
----
drivers/net/spider_net.c | 2 +-
drivers/net/spider_net.h | 14 +++++++++-----
2 files changed, 10 insertions(+), 6 deletions(-)
Index: linux-2.6.18-mm2/drivers/net/spider_net.c
===================================================================
--- linux-2.6.18-mm2.orig/drivers/net/spider_net.c 2006-10-02 18:59:43.000000000 -0500
+++ linux-2.6.18-mm2/drivers/net/spider_net.c 2006-10-02 19:06:55.000000000 -0500
@@ -1639,7 +1639,7 @@ spider_net_enable_card(struct spider_net
SPIDER_NET_INT2_MASK_VALUE);
spider_net_write_reg(card, SPIDER_NET_GDTDMACCNTR,
- SPIDER_NET_GDTDCEIDIS);
+ SPIDER_NET_GDTBSTA);
}
/**
Index: linux-2.6.18-mm2/drivers/net/spider_net.h
===================================================================
--- linux-2.6.18-mm2.orig/drivers/net/spider_net.h 2006-10-02 18:58:11.000000000 -0500
+++ linux-2.6.18-mm2/drivers/net/spider_net.h 2006-10-02 19:06:55.000000000 -0500
@@ -191,7 +191,9 @@ extern char spider_net_driver_name[];
#define SPIDER_NET_MACMODE_VALUE 0x00000001
#define SPIDER_NET_BURSTLMT_VALUE 0x00000200 /* about 16 us */
-/* 1(0) enable r/tx dma
+/* DMAC control register GDMACCNTR
+ *
+ * 1(0) enable r/tx dma
* 0000000 fixed to 0
*
* 000000 fixed to 0
@@ -200,6 +202,7 @@ extern char spider_net_driver_name[];
*
* 000000 fixed to 0
* 00 burst alignment: 128 bytes
+ * 11 burst alignment: 1024 bytes
*
* 00000 fixed to 0
* 0 descr writeback size 32 bytes
@@ -210,10 +213,11 @@ extern char spider_net_driver_name[];
#define SPIDER_NET_DMA_RX_VALUE 0x80000000
#define SPIDER_NET_DMA_RX_FEND_VALUE 0x00030003
/* to set TX_DMA_EN */
-#define SPIDER_NET_TX_DMA_EN 0x80000000
-#define SPIDER_NET_GDTDCEIDIS 0x00000300
-#define SPIDER_NET_DMA_TX_VALUE SPIDER_NET_TX_DMA_EN | \
- SPIDER_NET_GDTDCEIDIS
+#define SPIDER_NET_TX_DMA_EN 0x80000000
+#define SPIDER_NET_GDTBSTA 0x00000300
+#define SPIDER_NET_GDTDCEIDIS 0x00000002
+#define SPIDER_NET_DMA_TX_VALUE SPIDER_NET_TX_DMA_EN | \
+ SPIDER_NET_GDTBSTA
#define SPIDER_NET_DMA_TX_FEND_VALUE 0x00030003
/* SPIDER_NET_UA_DESCR_VALUE is OR'ed with the unicast address */
^ permalink raw reply
* [PATCH 3/4]: Spidernet transmit interupt mitigation
From: Linas Vepstas @ 2006-10-03 21:03 UTC (permalink / raw)
To: akpm, jeff
Cc: netdev, James K Lewis, linux-kernel, Arnd Bergmann, linuxppc-dev
In-Reply-To: <20061003205240.GE4381@austin.ibm.com>
For small packets, the transmit interrupt settings were
accidentally generating too many interrupts. This patch
turns off all transmit-related interrupts when the tx
queue is mostly empty.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: James K Lewis <jklewis@us.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
----
drivers/net/spider_net.c | 8 +++++---
drivers/net/spider_net.h | 7 +++----
2 files changed, 8 insertions(+), 7 deletions(-)
Index: linux-2.6.18-mm2/drivers/net/spider_net.c
===================================================================
--- linux-2.6.18-mm2.orig/drivers/net/spider_net.c 2006-10-02 19:06:55.000000000 -0500
+++ linux-2.6.18-mm2/drivers/net/spider_net.c 2006-10-02 19:09:38.000000000 -0500
@@ -707,7 +707,9 @@ spider_net_set_low_watermark(struct spid
descr = descr->next;
cnt++;
}
- if (cnt == 0)
+
+ /* If TX queue is short, don't even bother with interrupts */
+ if (cnt < tx_descriptors/4)
return;
/* Set low-watermark 3/4th's of the way into the queue. */
@@ -716,7 +718,7 @@ spider_net_set_low_watermark(struct spid
for (i=0;i<cnt; i++)
descr = descr->next;
- /* Set the new watermark, clear the old wtermark */
+ /* Set the new watermark, clear the old watermark */
spin_lock_irqsave(&card->tx_chain.lock, flags);
descr->dmac_cmd_status |= SPIDER_NET_DESCR_TXDESFLG;
if (card->low_watermark && card->low_watermark != descr)
@@ -1639,7 +1641,7 @@ spider_net_enable_card(struct spider_net
SPIDER_NET_INT2_MASK_VALUE);
spider_net_write_reg(card, SPIDER_NET_GDTDMACCNTR,
- SPIDER_NET_GDTBSTA);
+ SPIDER_NET_GDTBSTA | SPIDER_NET_GDTDCEIDIS);
}
/**
Index: linux-2.6.18-mm2/drivers/net/spider_net.h
===================================================================
--- linux-2.6.18-mm2.orig/drivers/net/spider_net.h 2006-10-02 19:06:55.000000000 -0500
+++ linux-2.6.18-mm2/drivers/net/spider_net.h 2006-10-02 19:09:38.000000000 -0500
@@ -217,7 +217,8 @@ extern char spider_net_driver_name[];
#define SPIDER_NET_GDTBSTA 0x00000300
#define SPIDER_NET_GDTDCEIDIS 0x00000002
#define SPIDER_NET_DMA_TX_VALUE SPIDER_NET_TX_DMA_EN | \
- SPIDER_NET_GDTBSTA
+ SPIDER_NET_GDTBSTA | \
+ SPIDER_NET_GDTDCEIDIS
#define SPIDER_NET_DMA_TX_FEND_VALUE 0x00030003
/* SPIDER_NET_UA_DESCR_VALUE is OR'ed with the unicast address */
@@ -326,9 +327,7 @@ enum spider_net_int2_status {
SPIDER_NET_GRISPDNGINT
};
-#define SPIDER_NET_TXINT ( (1 << SPIDER_NET_GTTEDINT) | \
- (1 << SPIDER_NET_GDTDCEINT) | \
- (1 << SPIDER_NET_GDTFDCINT) )
+#define SPIDER_NET_TXINT ( (1 << SPIDER_NET_GDTFDCINT) )
/* we rely on flagged descriptor interrupts*/
#define SPIDER_NET_RXINT ( (1 << SPIDER_NET_GDAFDCINT) | \
^ permalink raw reply
* [PATCH 4/4]: Spidernet module parm permissions
From: Linas Vepstas @ 2006-10-03 21:04 UTC (permalink / raw)
To: akpm, jeff
Cc: netdev, James K Lewis, linux-kernel, Arnd Bergmann, linuxppc-dev
In-Reply-To: <20061003205240.GE4381@austin.ibm.com>
The module param permsissions should bw read-only, not writable.
Signed-off-by: James K Lewis <jklewis@us.ibm.com>
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
----
drivers/net/spider_net.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6.18-mm2/drivers/net/spider_net.c
===================================================================
--- linux-2.6.18-mm2.orig/drivers/net/spider_net.c 2006-10-02 19:09:38.000000000 -0500
+++ linux-2.6.18-mm2/drivers/net/spider_net.c 2006-10-02 19:14:48.000000000 -0500
@@ -60,8 +60,8 @@ MODULE_VERSION(VERSION);
static int rx_descriptors = SPIDER_NET_RX_DESCRIPTORS_DEFAULT;
static int tx_descriptors = SPIDER_NET_TX_DESCRIPTORS_DEFAULT;
-module_param(rx_descriptors, int, 0644);
-module_param(tx_descriptors, int, 0644);
+module_param(rx_descriptors, int, 0444);
+module_param(tx_descriptors, int, 0444);
MODULE_PARM_DESC(rx_descriptors, "number of descriptors used " \
"in rx chains");
^ permalink raw reply
* Re: booting 2.6 kernel on ML403
From: Pradeep Sampath @ 2006-10-03 21:46 UTC (permalink / raw)
To: Ameet Patil; +Cc: linuxppc-embedded
In-Reply-To: <45221E5A.6040800@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1293 bytes --]
Hi Ameet,
Thanks for the instant reply. I changed root parameter to xsa as you suggested root=/dev/xsa2. But i still get the same failure.
[ 3.093694] TCP bic registered
[ 3.129458] NET: Registered protocol family 8
[ 3.181412] NET: Registered protocol family 20
[ 3.236744] VFS: Cannot open root device "xsa2" or unknown-block(0,0)
[ 3.313092] Please append a correct "root=" boot option
[ 3.375552] Kernel panic - not syncing: VFS: Unable to mount root fs on unkno
wn-block(0,0)
[ 3.474504] <0>Rebooting in 180 seconds..
On the CF i created the following block and character device files
# mknod -m 660 console c 5 1
# mknod -m 660 xsa b 254 0
# mknod -m 660 xsa1 b 254 1
# mknod -m 660 xsa2 b 254 2
# mknod -m 660 xsa3 b 254 3
mkdir tts
# mknod -m 660 0 c 4 64
> Problem 2:
> - Untar the kernel 2.6.17.1
> - Applied the 5 TEMAC patches
> - Applied Ameet's Sysace patch
which patch did you apply? For TEMAC... apply the following patch:
http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2-after-TEMAC.patch
Yes, i have applied *only* after-TEMAC.patch. But looks like it blows away the configuration and results in kernel hang.
Any further suggestions on where i should look at.
regards.
Pradeep
[-- Attachment #2: Type: text/html, Size: 2308 bytes --]
^ permalink raw reply
* Re: [RFC/PATCH 6/7] RTAS MSI implementation
From: Jake Moilanen @ 2006-10-03 21:53 UTC (permalink / raw)
To: Michael Ellerman; +Cc: Eric W. Biederman, linux-kernel, linuxppc-dev
In-Reply-To: <20060928215346.CE92067C6D@ozlabs.org>
On Fri, 2006-09-29 at 07:53 +1000, Michael Ellerman wrote:
> Powerpc MSI support via RTAS. Based on Jake's code.
>
> Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
> ---
>
> arch/powerpc/kernel/Makefile | 1
> arch/powerpc/kernel/msi-rtas.c | 246 +++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 247 insertions(+)
>
> Index: to-merge/arch/powerpc/kernel/Makefile
> ===================================================================
> --- to-merge.orig/arch/powerpc/kernel/Makefile
> +++ to-merge/arch/powerpc/kernel/Makefile
> @@ -69,6 +69,7 @@ pci32-$(CONFIG_PPC32) := pci_32.o
> obj-$(CONFIG_PCI) += $(pci64-y) $(pci32-y)
>
> msiobj-y := msi.o
> +msiobj-$(CONFIG_PPC_PSERIES) += msi-rtas.o
> obj-$(CONFIG_PCI_MSI) += $(msiobj-y)
>
> kexec-$(CONFIG_PPC64) := machine_kexec_64.o
> Index: to-merge/arch/powerpc/kernel/msi-rtas.c
> ===================================================================
> --- /dev/null
> +++ to-merge/arch/powerpc/kernel/msi-rtas.c
> @@ -0,0 +1,246 @@
> +/*
> + * Copyright (C) 2006 Jake Moilanen <moilanen@austin.ibm.com>, IBM Corp.
> + * Copyright (C) 2006 Michael Ellerman, IBM Corp.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * as published by the Free Software Foundation; version 2 of the
> + * License.
> + *
> + */
> +
> +#define DEBUG 1
> +
> +#include <linux/irq.h>
> +#include <asm/msi.h>
> +#include <asm/rtas.h>
> +#include <asm/hw_irq.h>
> +#include <asm/ppc-pci.h>
> +
> +static int query_token, change_token;
> +
> +#define RTAS_QUERY_MSI_FN 0
> +#define RTAS_CHANGE_MSI_FN 1
> +#define RTAS_RESET_MSI_FN 2
> +
> +
> +/* RTAS Helpers */
> +
> +static int rtas_change_msi(struct pci_dn *pdn, u32 function, u32 num_irqs)
> +{
> + u32 addr, seq_num, rtas_ret[2];
> + unsigned long buid;
> + int rc;
> +
> + addr = rtas_config_addr(pdn->busno, pdn->devfn, 0);
> + buid = pdn->phb->buid;
> +
> + seq_num = 1;
> + do {
> + rc = rtas_call(change_token, 6, 3, rtas_ret, addr,
> + BUID_HI(buid), BUID_LO(buid),
> + function, num_irqs, seq_num);
This call is still currently broken in firmware. Hopefully we'll have a
resolution soon.
> +
> + seq_num = rtas_ret[1];
> + } while (rtas_busy_delay(rc));
> +
> + if (rc) {
> + printk(KERN_WARNING "Error[%d]: getting the number of"
> + " MSI interrupts for %s\n", rc, pci_name(pdn->pcidev));
> + return rc;
> + }
> +
> + return rtas_ret[0];
> +}
> +
> +static int rtas_query_irq_number(struct pci_dn *pdn, int offset)
> +{
> + u32 addr, rtas_ret[2];
> + unsigned long buid;
> + int rc;
> +
> + addr = rtas_config_addr(pdn->busno, pdn->devfn, 0);
> + buid = pdn->phb->buid;
> +
> + do {
> + rc = rtas_call(query_token, 4, 3, rtas_ret, addr,
> + BUID_HI(buid), BUID_LO(buid), offset);
> + } while (rtas_busy_delay(rc));
> +
> + if (rc) {
> + printk(KERN_WARNING "Error[%d]: Querying irq source number "
> + "for %s\n", rc, pci_name(pdn->pcidev));
> + return rc;
> + }
> +
> + return rtas_ret[0];
> +}
> +
> +/*
> + * The spec gives firmware the option to enable either MSI or MSI-X,
> + * this doesn't wash with the Linux API. For the time beinging, we
> + * kludge around that by checking ourselves the right type is enabled.
> + */
> +static int check_msi_type(struct pci_dev *pdev, int type)
> +{
> + int pos, msi_enabled, msix_enabled;
> + u16 reg;
> +
> + pos = pci_find_capability(pdev, PCI_CAP_ID_MSI);
> + if (!pos)
> + return -1;
> +
> + pci_read_config_word(pdev, pos + PCI_MSI_FLAGS, ®);
> +
> + msi_enabled = msix_enabled = 0;
> +
> + if (reg & PCI_MSI_FLAGS_ENABLE)
> + msi_enabled = 1;
> +
This is not being set correctly by firmware either. I have them looking
into the problem.
> + if (reg & PCI_MSIX_FLAGS_ENABLE)
> + msix_enabled = 1;
> +
> + if (type == PCI_CAP_ID_MSI && (msix_enabled || !msi_enabled)) {
> + pr_debug("check_msi_type: Expected MSI but got %s.\n",
> + msix_enabled ? "MSI-X" : "none");
> + return -1;
> + }
> +
> + if (type == PCI_CAP_ID_MSIX && (msi_enabled || !msix_enabled)) {
> + pr_debug("check_msi_type: Expected MSI-X but got %s.\n",
> + msi_enabled ? "MSI" : "none");
> + return -1;
> + }
> +
> + return 0;
> +}
> +
> +static void msi_rtas_free(struct pci_dev *pdev, int num,
> + struct msix_entry *entries, int type)
> +{
> + struct device_node *dn;
> + struct pci_dn *pdn;
> + int i;
> +
> + dn = pci_device_to_OF_node(pdev);
> + if (!dn) {
> + pr_debug("msi_rtas_free: No OF device node for %s\n",
> + pci_name(pdev));
> + return;
> + }
> +
> + pdn = PCI_DN(dn);
> + if (!pdn) {
> + pr_debug("msi_rtas_free: No PCI DN for %s\n",
> + pci_name(pdev));
> + return;
> + }
> +
> + for (i = 0; i < num; i++) {
> + irq_dispose_mapping(entries[i].vector);
> + }
> +
> + /* XXX can we do anything sane if this fails? */
> + rtas_change_msi(pdn, RTAS_CHANGE_MSI_FN, 0);
> +}
> +
> +static int msi_rtas_check(struct pci_dev *pdev, int num,
> + struct msix_entry *entries, int type)
> +{
> + struct device_node *dn;
> + int i;
> +
> + dn = pci_device_to_OF_node(pdev);
> +
> + if (!of_find_property(dn, "ibm,req#msi", NULL)) {
> + pr_debug("msi_rtas_check: No ibm,req#msi for %s\n",
> + pci_name(pdev));
> + return -1;
> + }
> +
> + /*
> + * Firmware gives us no control over which entries are allocated
> + * for MSI-X, it seems to assume we want 0 - n. For now just insist
> + * that the entries array entry members are 0 - n.
> + */
> + for (i = 0; i < num; i++) {
> + if (entries[i].entry != i) {
> + pr_debug("msi_rtas_check: entries[i].entry != i\n");
> + return -1;
> + }
> + }
> +
> + return 0;
> +}
> +
> +static int msi_rtas_alloc(struct pci_dev *pdev, int num,
> + struct msix_entry *entries, int type)
> +{
> + struct pci_dn *pdn;
> + int hwirq, virq, i;
> +
> + pdn = PCI_DN(pci_device_to_OF_node(pdev));
> +
> + /*
> + * In the case of an error it's not clear whether the device is left
> + * with MSI enabled or not, I think we should explicitly disable.
> + */
> + if (rtas_change_msi(pdn, RTAS_CHANGE_MSI_FN, num) != num)
> + goto out_free;
> +
> + if (check_msi_type(pdev, type))
> + goto out_free;
> +
> + for (i = 0; i < num; i++) {
> + hwirq = rtas_query_irq_number(pdn, i);
> + if (hwirq < 0)
> + goto out_free;
> +
> + virq = irq_create_mapping(NULL, hwirq);
> +
> + if (virq == NO_IRQ) {
> + pr_debug("msi_rtas_alloc: Failed mapping hwirq %d\n",
> + hwirq);
> + goto out_free;
> + }
> +
> + entries[i].vector = virq;
> + }
> +
> + return 0;
> +
> + out_free:
> + msi_rtas_free(pdev, num, entries, type);
Shouldn't this be:
msi_rtas_free(pdev, i,.......
Otherwise you'll try freeing unallocated entries.
> + return -1;
> +}
> +
> +static struct ppc_msi_ops rtas_msi_ops = {
> + .check = msi_rtas_check,
> + .alloc = msi_rtas_alloc,
> + .free = msi_rtas_free
> +};
> +
> +static struct ppc_msi_ops *rtas_get_msi_ops(struct pci_dev *pdev)
> +{
> + return &rtas_msi_ops;
> +}
> +
> +static int msi_rtas_init(void)
> +{
> + query_token = rtas_token("ibm,query-interrupt-source-number");
> + change_token = rtas_token("ibm,change-msi");
> +
> + if ((query_token == RTAS_UNKNOWN_SERVICE) ||
> + (change_token == RTAS_UNKNOWN_SERVICE)) {
> + pr_debug("rtas_msi_init: Couldn't find RTAS tokens, no "
> + "MSI support available.\n");
> + return 0;
> + }
> +
> + pr_debug("rtas_msi_init: Registering RTAS MSI ops.\n");
> +
> + ppc_md.get_msi_ops = rtas_get_msi_ops;
> +
> + return 0;
> +}
> +__initcall(msi_rtas_init);
^ permalink raw reply
* Re: [RFC/PATCH 3/7] Powerpc MSI ops layer
From: Jake Moilanen @ 2006-10-03 21:54 UTC (permalink / raw)
To: Michael Ellerman; +Cc: Eric W. Biederman, linux-kernel, linuxppc-dev
In-Reply-To: <20060928215339.D911C67BFA@ozlabs.org>
On Fri, 2006-09-29 at 07:53 +1000, Michael Ellerman wrote:
> Powerpc MSI ops layer.
>
> Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
> ---
>
> arch/powerpc/kernel/msi.c | 347 +++++++++++++++++++++++++++++++++++++++
> include/asm-powerpc/machdep.h | 6
> include/asm-powerpc/msi.h | 175 +++++++++++++++++++
> include/asm-powerpc/pci-bridge.h | 4
> 4 files changed, 532 insertions(+)
>
> Index: to-merge/arch/powerpc/kernel/msi.c
> ===================================================================
> --- /dev/null
> +++ to-merge/arch/powerpc/kernel/msi.c
> @@ -0,0 +1,347 @@
> +/*
> + * Copyright 2006 (C), Michael Ellerman, IBM Corporation.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * as published by the Free Software Foundation; either version
> + * 2 of the License, or (at your option) any later version.
> + */
> +
> +#undef DEBUG
> +
> +#include <linux/kernel.h>
> +#include <linux/slab.h>
> +#include <asm/msi.h>
> +#include <asm/machdep.h>
> +
> +static struct ppc_msi_ops *get_msi_ops(struct pci_dev *pdev)
> +{
> + if (ppc_md.get_msi_ops)
> + return ppc_md.get_msi_ops(pdev);
> + return NULL;
> +}
> +
> +/* Activated by pci=nomsi on the command line. */
> +static int no_msi;
> +
> +void pci_no_msi(void)
> +{
> + no_msi = 1;
> +}
> +
> +
> +/* msi_info helpers */
> +
> +static struct pci_dn *get_pdn(struct pci_dev *pdev)
> +{
> + struct device_node *dn;
> + struct pci_dn *pdn;
> +
> + dn = pci_device_to_OF_node(pdev);
> + if (!dn) {
> + pr_debug("get_pdn: no dn found for %s\n", pci_name(pdev));
> + return NULL;
> + }
> +
> + pdn = PCI_DN(dn);
> + if (!pdn) {
> + pr_debug("get_pdn: no pci_dn found for %s\n", pci_name(pdev));
> + return NULL;
> + }
> +
> + return pdn;
> +}
> +
> +static int alloc_msi_info(struct pci_dev *pdev, int num,
> + struct msix_entry *entries, int type)
> +{
> + struct msi_info *info;
> + unsigned int entries_size;
> + struct pci_dn *pdn;
> +
> + entries_size = sizeof(struct msix_entry) * num;
> +
> + info = kzalloc(sizeof(struct msi_info) + entries_size, GFP_KERNEL);
Shouldn't you do a second kzalloc for info->entries, and not just add on
the size to the end?
> + if (!info) {
> + pr_debug("alloc_msi_info: kzalloc failed for %s\n",
> + pci_name(pdev));
> + return -ENOMEM;
> + }
> +
> + info->type = type;
> + info->num = num;
> + memcpy(info->entries, entries, entries_size);
> +
> + pdn = get_pdn(pdev);
> + if (!pdn || pdn->msi_info) /* don't leak info structs */
> + BUG();
> +
> + pdn->msi_info = info;
> +
> + return 0;
> +}
> +
^ permalink raw reply
* Re: [PATCH 1/4]: Spidernet stop queue when queue is full
From: Arnd Bergmann @ 2006-10-03 22:19 UTC (permalink / raw)
To: Linas Vepstas
Cc: akpm, jeff, netdev, James K Lewis, linux-kernel, linuxppc-dev
In-Reply-To: <20061003205729.GF4381@austin.ibm.com>
On Tuesday 03 October 2006 22:57, Linas Vepstas wrote:
> +=A0=A0=A0=A0=A0=A0=A0if ((chain->head->next =3D=3D chain->tail->prev) ||
> +=A0=A0=A0=A0=A0=A0=A0 =A0 (spider_net_get_descr_status(descr) !=3D SPIDE=
R_NET_DESCR_NOT_IN_USE)) {
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0result =3D NETDEV_TX_LOCK=
ED;
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0goto out;
> =A0=A0=A0=A0=A0=A0=A0=A0}
=2E..
> =A0out:
> -=A0=A0=A0=A0=A0=A0=A0netif_wake_queue(netdev);
> +=A0=A0=A0=A0=A0=A0=A0card->netdev_stats.tx_dropped++;
> +=A0=A0=A0=A0=A0=A0=A0netif_stop_queue(netdev);
> =A0=A0=A0=A0=A0=A0=A0=A0return result;
> =A0}
Hmm, this looks a little strange to me. I would assume that we should not
stop the queue when the device is locked, but only when it is busy.
I would assume though that the fix is to return NETDEV_TX_BUSY instead
of NETDEV_TX_LOCKED in the case above, while the netif_stop_queue()
is correct here.
Arnd <><
^ permalink raw reply
* Windows boot recognition
From: Eric Heim @ 2006-10-03 22:15 UTC (permalink / raw)
To: linuxppc-embedded
[-- Attachment #1: Type: text/plain, Size: 497 bytes --]
I am trying to develop a windows driver for the MPC8349MDS board but Windows does not seem to acknowledge the existence of the board in the pci slot. The device manager does not see the board and no resources are allocated on boot. Running Linux as my OS works perfectly. I have tried both Windows 2000 and XP on two different machines. Any ideas?
Tim
---------------------------------
Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2¢/min or less.
[-- Attachment #2: Type: text/html, Size: 630 bytes --]
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox