RTAS event scan has to run across all cpus. Right now we use a kernel
thread and set_cpus_allowed but in doing so we wake up the previous cpu
unnecessarily.
Some ftrace output shows this:
previous cpu (2):
[002] 7.022331: sched_switch: task swapper:0 [140] == rtasd:194 [120]
[002] 7.022338:
On Mon, 25 May 2009 14:51:32 +0200
Stanislaw Gruszka sgrus...@redhat.com wrote:
On Mon, 25 May 2009 14:32:14 +0200 (CEST)
Thomas Gleixner t...@linutronix.de wrote:
On Mon, 25 May 2009, Stanislaw Gruszka wrote:
@@ -904,6 +905,7 @@ void __init time_init(void)
tb_ticks_per_usec =
On Mon, 25 May 2009, Jon Smirl wrote:
(in microseconds) as parameters. It spins until either the condition is true
or the timeout expires. It returns the result of the condition when the loop
was terminated.
This primary purpose of this macro is to poll on a hardware register until a
We've had some trouble with I2C not working after a soft reboot,
which we think is due to the the erratum I2C1 which is present in
at least the mpc8540 and the mpc8560. Since there is no good workaround,
the only choice seems to be to avoid resetting the CPU while the I2C bus is
busy.
The problem
On Monday 25 May 2009, Wolfgang Grandegger wrote:
Right, that makes sense. However, most drivers use the field to store the
physical address, not the iomap token. Maybe there should be a new field
in struct sja1000_priv for the virtual address, but that would be a change
to the base
On Mon, May 25, 2009 at 10:44:12PM -0500, Timur Tabi wrote:
On Mon, May 25, 2009 at 5:15 PM, Jon Smirl jonsm...@gmail.com wrote:
? ? ?The macro spin_event_timeout() takes a condition and timeout value
My patch is already set to go through the powerpc tree, so there's no
need to repost it
From: Arnd Bergmann a...@arndb.de
Date: Tue, 26 May 2009 10:10:30 +0100
On Monday 25 May 2009, Wolfgang Grandegger wrote:
Right, that makes sense. However, most drivers use the field to store the
physical address, not the iomap token. Maybe there should be a new field
in struct
On Tue, 2009-05-26 at 10:10 +0100, Arnd Bergmann wrote:
On Monday 25 May 2009, Wolfgang Grandegger wrote:
Right, that makes sense. However, most drivers use the field to store the
physical address, not the iomap token. Maybe there should be a new field
in struct sja1000_priv for the
On Tuesday 26 May 2009, David Miller wrote:
It's such a baroque thing, there is no reason to set it at all if you
ask me. It's only use is to allow ISA and similar primitive bus
devices to have their I/O ports changed via ifconfig.
My original comment was about the fact that sja1000 was doing
On Mon, May 25, 2009 at 06:15:09PM -0400, Jon Smirl wrote:
Rewrite the mpc5200 audio DMA code to support both I2S and AC97.
Signed-off-by: Jon Smirl jonsm...@gmail.com
Grant, I'm OK with that if you are?
___
Linuxppc-dev mailing list
On Mon, May 25, 2009 at 06:15:05PM -0400, Jon Smirl wrote:
reset retries. Removing the retries makes the driver fail to load about 5% of
the time. An oscilliscope is
Please also send a patch sorting this out in the STAC9766 driver as
requested. Other than that and the udelay() thing it
On Mon, May 25, 2009 at 11:44 PM, Timur Tabi ti...@freescale.com wrote:
On Mon, May 25, 2009 at 5:15 PM, Jon Smirl jonsm...@gmail.com wrote:
The macro spin_event_timeout() takes a condition and timeout value
My patch is already set to go through the powerpc tree, so there's no
need to
On Tue, May 26, 2009 at 10:42:05AM +0100, Arnd Bergmann wrote:
On Tuesday 26 May 2009, David Miller wrote:
It's such a baroque thing, there is no reason to set it at all if you
ask me. It's only use is to allow ISA and similar primitive bus
devices to have their I/O ports changed via
On Tue, May 19, 2009 at 7:22 AM, Esben Haabendal e...@doredevelopment.dk
wrote:
This fixes MAL (arbitration lost) bug caused by illegal use of
RSTA (repeated START) after STOP condition generated after last byte
of reads. With this patch, it is possible to do an i2c_transfer() with
additional
On Tue, May 26, 2009 at 2:29 AM, Geert Uytterhoeven
geert.uytterhoe...@sonycom.com wrote:
static inline function, returning rc, instead of a macro?
It won't work as an inline function ...
+ unsigned long __loops = tb_ticks_per_usec * timeout; \
+ unsigned long __start
On Tue, May 26, 2009 at 6:08 AM, Jon Smirl jonsm...@gmail.com wrote:
On Mon, May 25, 2009 at 11:44 PM, Timur Tabi ti...@freescale.com wrote:
On Mon, May 25, 2009 at 5:15 PM, Jon Smirl jonsm...@gmail.com wrote:
The macro spin_event_timeout() takes a condition and timeout value
My patch
On Tue, May 26, 2009 at 07:08:52AM -0400, Jon Smirl wrote:
On Mon, May 25, 2009 at 11:44 PM, Timur Tabi ti...@freescale.com wrote:
My patch is already set to go through the powerpc tree, so there's no
need to repost it here. ?Please, you changed the title of the patch.
I'm changing the
Hi Andrew,
On Thu, 14 May 2009, Geert Uytterhoeven wrote:
On Wed, 13 May 2009, Andrew Morton wrote:
On Tue, 28 Apr 2009 09:24:53 +0200 (CEST)
Geert Uytterhoeven geert.uytterhoe...@sonycom.com wrote:
On Tue, 28 Apr 2009, Stephen Rothwell wrote:
On Mon, 27 Apr 2009 14:50:31
On Tue, 26 May 2009, Stanislaw Gruszka wrote:
On Mon, 25 May 2009 14:51:32 +0200
Stanislaw Gruszka sgrus...@redhat.com wrote:
On Mon, 25 May 2009 14:32:14 +0200 (CEST)
Thomas Gleixner t...@linutronix.de wrote:
On Mon, 25 May 2009, Stanislaw Gruszka wrote:
@@ -904,6 +905,7 @@ void
On Tue, 26 May 2009, Timur Tabi wrote:
On Tue, May 26, 2009 at 2:29 AM, Geert Uytterhoeven
geert.uytterhoe...@sonycom.com wrote:
static inline function, returning rc, instead of a macro?
It won't work as an inline function ...
+ unsigned long __loops = tb_ticks_per_usec * timeout;
Version 5. Modified to use spin_event_timeout() as originally written.
---
Jon Smirl (5):
Fabric bindings for STAC9766 on the Efika
Support for AC97 on Phytec pmc030 base board.
AC97 driver for mpc5200
Main rewite of the mpc5200 audio DMA code
powerpc: introduce
The macro spin_event_timeout() takes a condition and timeout value
(in microseconds) as parameters. It spins until either the condition is true
or the timeout expires. It returns the result of the condition when the loop
was terminated.
This primary purpose of this macro is to poll on a
Rewrite the mpc5200 audio DMA code to support both I2S and AC97.
Signed-off-by: Jon Smirl jonsm...@gmail.com
---
sound/soc/fsl/Kconfig |1
sound/soc/fsl/mpc5200_dma.c | 442 ---
sound/soc/fsl/mpc5200_dma.h | 33 +--
AC97 driver for mpc5200
I've implemented retries for when the AC97 hardware doesn't reset on
first try. About 10% of the time both the Efika and pcm030 AC97 codecs
don't reset on first try and need to be poked multiple times. Failure
is indicated by not having the link clock start ticking. Every
Support for AC97 on Phytec pmc030 base board. A wm9712 AC97 codec is used.
Signed-off-by: Jon Smirl jonsm...@gmail.com
---
sound/soc/fsl/Kconfig |7 +++
sound/soc/fsl/Makefile |3 +
sound/soc/fsl/pcm030-audio-fabric.c | 90 +++
On Mon, May 25, 2009 at 10:47 PM, Roderick Colenbrander
thunderbir...@gmail.com wrote:
On Mon, May 25, 2009 at 4:41 PM, Grant Likely grant.lik...@secretlab.ca
wrote:
Repost of ml510 series. This time against 2.6.30-rc7 and with the .dts
file included.
g.
--
Grant Likely, B.Sc. P.Eng.
On Tuesday 26 May 2009, Geert Uytterhoeven wrote:
However, you can still improve useability by making the macro return the rc,
instead of letting the caller pass it, cfr. wait_event_timeout() and friends.
Either that, or it should at least use the do { ... } while (0) construct
to make the
On Tue, May 26, 2009 at 2:41 PM, Roderick Colenbrander
thunderbir...@gmail.com wrote:
On Mon, May 25, 2009 at 10:47 PM, Roderick Colenbrander
thunderbir...@gmail.com wrote:
On Mon, May 25, 2009 at 4:41 PM, Grant Likely grant.lik...@secretlab.ca
wrote:
Repost of ml510 series. This time
On Fri, 2009-05-22 at 19:55 -0400, Jeremy Fitzhardinge wrote:
Ian Campbell wrote:
On Thu, 2009-05-21 at 14:27 -0400, Becky Bruce wrote:
I can work with that, but it's going to be a bit inefficient, as I
actually need the dma_addr_t, not the phys_addr_t, so I'll have to
convert.
On Tue, May 26, 2009 at 9:03 AM, Mark Brown
broo...@opensource.wolfsonmicro.com wrote:
On Tue, May 26, 2009 at 08:34:06AM -0400, Jon Smirl wrote:
The macro spin_event_timeout() takes a condition and timeout value
(in microseconds) as parameters. It spins until either the condition is true
or
Jon Smirl wrote:
+static void psc_ac97_warm_reset(struct snd_ac97 *ac97)
+{
+ int rc;
+ struct mpc52xx_psc __iomem *regs = psc_dma-psc_regs;
+
+ out_be32(regs-sicr, psc_dma-sicr | MPC52xx_PSC_SICR_AWR);
+ spin_event_timeout(0, 3, 0, rc);
I still think you should use
Arnd Bergmann wrote:
On Tuesday 26 May 2009, Geert Uytterhoeven wrote:
However, you can still improve useability by making the macro return the rc,
instead of letting the caller pass it, cfr. wait_event_timeout() and friends.
I had that originally, but somewhere during the seven revisions of
David Miller wrote:
From: Arnd Bergmann a...@arndb.de
Date: Tue, 26 May 2009 10:10:30 +0100
On Monday 25 May 2009, Wolfgang Grandegger wrote:
Right, that makes sense. However, most drivers use the field to store the
physical address, not the iomap token. Maybe there should be a new field
Introduce the spin_event_timeout() macro, and update the QE library to use it.
This version changes 'ret' to a return value of the macro instead of a
variable that's passed as a parameter.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
The qe_issue_cmd() function (Freescale PowerPC QUICC Engine library) polls on
a register until a status bit changes, but does not include a timeout to
handle the situation if the bit never changes. Change the code to use the new
spin_event_timeout() macro, which simplifies polling on a register
On Tue, May 26, 2009 at 09:12:10AM -0400, Jon Smirl wrote:
On Tue, May 26, 2009 at 9:03 AM, Mark Brown
As previously mentioned you need to submit any changes you want to make
here as incremental patches against the PowerPC tree rather than as an
entire new patch. ?If you are forwarding on
On Tue, May 26, 2009 at 12:20 PM, Geoff Thorpe
geoff.tho...@freescale.com wrote:
Timur Tabi wrote:
On Mon, May 25, 2009 at 12:46 PM, Jon Smirl jonsm...@gmail.com wrote:
I just tried using this. The !rc has the effect of making the error
return be zero instead the normal not zero.
You're
On Tue, May 26, 2009 at 5:01 AM, Mark Brown
broo...@opensource.wolfsonmicro.com wrote:
On Mon, May 25, 2009 at 06:15:09PM -0400, Jon Smirl wrote:
Rewrite the mpc5200 audio DMA code to support both I2S and AC97.
Signed-off-by: Jon Smirl jonsm...@gmail.com
Grant, I'm OK with that if you are?
On Tue, May 26, 2009 at 12:51 PM, Grant Likely
grant.lik...@secretlab.ca wrote:
On Tue, May 26, 2009 at 5:01 AM, Mark Brown
broo...@opensource.wolfsonmicro.com wrote:
On Mon, May 25, 2009 at 06:15:09PM -0400, Jon Smirl wrote:
Rewrite the mpc5200 audio DMA code to support both I2S and AC97.
On Tue, May 26, 2009 at 10:53 AM, Jon Smirl jonsm...@gmail.com wrote:
On Tue, May 26, 2009 at 12:51 PM, Grant Likely
grant.lik...@secretlab.ca wrote:
On Tue, May 26, 2009 at 5:01 AM, Mark Brown
broo...@opensource.wolfsonmicro.com wrote:
On Mon, May 25, 2009 at 06:15:09PM -0400, Jon Smirl
Geoff Thorpe wrote:
So from this user's perspective (FWIW), it would come as a surprise if
the return value reflected the evaluated expression rather than what
happened w.r.t. the spin/timeout.
It shouldn't come as a surprise because I've thoroughly documented the
behavior. I also think
On Tue, May 26, 2009 at 11:53 AM, Jon Smirl jonsm...@gmail.com wrote:
Put in the V5 version this one has this in the h file:
-int psc_dma_trigger(struct snd_pcm_substream *substream, int cmd,
- struct snd_soc_dai *dai);
+/* whack this after Timur's patch is merged in
--- El lun, 25/5/09, Benjamin Herrenschmidt b...@kernel.crashing.org escribió:
(Please, Kumar, have a good look,
especially my change to FIXMAP_TOP,
was there any reason it wasn't a constant in the first
place ?)
This is going to .30 if nobody hollers. I've done some
testing here
and it
On Tue, 26 May 2009 13:52:34 +0200 (CEST) Geert Uytterhoeven
geert.uytterhoe...@sonycom.com wrote:
But logo_linux_mono_data is referenced by
const struct linux_logo logo_linux_mono __initconst = {
.type = LINUX_LOGO_MONO,
.width = 80,
On Mon, May 25, 2009 at 02:00:33PM +1000, Benjamin Herrenschmidt wrote:
Hi Scott !
There's this pearl in cpm_common.c :
void __init udbg_init_cpm(void)
{
if (cpm_udbg_txdesc) {
#ifdef CONFIG_CPM2
setbat(1, 0xf000, 0xf000, 1024*1024, PAGE_KERNEL_NCG);
#endif
This patch updates the output from /proc/ppc64/lparcfg to display the
processor virtualization resource allocations for a shared processor
partition.
This information is already gathered via the h_get_ppp call, we just
have to make sure that the ibm,partition-performance-parameters-level
On Tue, May 26, 2009 at 1:03 PM, Timur Tabi ti...@freescale.com wrote:
Geoff Thorpe wrote:
So from this user's perspective (FWIW), it would come as a surprise if
the return value reflected the evaluated expression rather than what
happened w.r.t. the spin/timeout.
It shouldn't come as a
Jon Smirl wrote:
Then if I don't care about the result (which I think is the common case)...
rc = spin_event_timeout(in_be32(x) 0x14, ...);
if (rc)
timeout_happened;
That's another way of doing it, but I'm already at version 9 of my patch, and
I'm not inclined to make any changes that
Timur Tabi wrote:
Geoff Thorpe wrote:
So from this user's perspective (FWIW), it would come as a surprise if
the return value reflected the evaluated expression rather than what
happened w.r.t. the spin/timeout.
It shouldn't come as a surprise because I've thoroughly documented the
Geoff Thorpe wrote:
rc = spin_event_timeout((ret = in_be32(x) 0x14), ...);
It's an interesting idea, but I have two problems with it:
1) This approach is that it depends on the internals of the macro. That is,
you're sneaking in an assignment in the hopes that the code will behave
On Tue, May 26, 2009 at 2:17 PM, Timur Tabi ti...@freescale.com wrote:
Geoff Thorpe wrote:
rc = spin_event_timeout((ret = in_be32(x) 0x14), ...);
It's an interesting idea, but I have two problems with it:
1) This approach is that it depends on the internals of the macro. That is,
you're
Acked-by: Geoff Thorpe geoff.tho...@freescale.com
Not sure that it's the most consistent formulation, but it's definitely
better than debating indefinitely.
Cheers,
Geoff
Timur Tabi wrote:
The macro spin_event_timeout() takes a condition and timeout value
(in microseconds) as parameters. It
On Tue, May 26, 2009 at 12:08:01PM -0500, Timur Tabi wrote:
It won't be that simple. V9 of my patch changes the number of
parameters, so not only will you need to whack this copy of the macro,
you'll also need to change the callers.
OK, in the interests of cutting down on the amount of
On Mon, May 25, 2009 at 04:23:37PM +0200, Carl-Erwin GRIFFITH wrote:
Hi guys,
I'm working on an derived muas3001 board (kernel version 2.6.30-rc5),
and so far I did not find an example of multiple SOCs initialization.
The board has 3 cpus (only one core activated).
This is not
On Tue, May 26, 2009 at 01:30:21PM +0200, Esben Haabendal wrote:
On Tue, May 19, 2009 at 7:22 AM, Esben Haabendal e...@doredevelopment.dk
wrote:
This fixes MAL (arbitration lost) bug caused by illegal use of
RSTA (repeated START) after STOP condition generated after last byte
of reads.
On Tue, 2009-05-26 at 12:56 -0500, Scott Wood wrote:
Any suggestions for how to do it properly?
ioremap ? :-)
Ben.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Benjamin Herrenschmidt wrote:
On Tue, 2009-05-26 at 12:56 -0500, Scott Wood wrote:
Any suggestions for how to do it properly?
ioremap ? :-)
Does ioremap work that early?
-Scott
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
On Tue, 2009-05-26 at 17:15 -0500, Scott Wood wrote:
Benjamin Herrenschmidt wrote:
On Tue, 2009-05-26 at 12:56 -0500, Scott Wood wrote:
Any suggestions for how to do it properly?
ioremap ? :-)
Does ioremap work that early?
It works very early on ppc32 but maybe not -that- early... It
Benjamin Herrenschmidt wrote:
On Tue, 2009-05-26 at 17:15 -0500, Scott Wood wrote:
Benjamin Herrenschmidt wrote:
On Tue, 2009-05-26 at 12:56 -0500, Scott Wood wrote:
Any suggestions for how to do it properly?
ioremap ? :-)
Does ioremap work that early?
It works very early on ppc32 but
On Sun, 24 May 2009 22:13:27 +0200
Wolfgang Denk w...@denx.de wrote:
Dear Peter,
In message 1243192952.703.7.ca...@ptyser-laptop you wrote:
CodingStyle Ch.12 suggests that it's the other fsl arches that are in
violation here, not 83XX:
Agreed...
Either way is fine with me, as
On Fri, May 22, 2009 at 3:47 AM, Li Yang le...@freescale.com wrote:
Hi Dan,
Here are fixes for Freescale DMA engine driver.
Thanks,
- Leo
The following changes since commit 5805977e63a36ad56594a623f3bd2bebcb7db233:
Linus Torvalds (1):
Merge branch 'for-linus' of
The function signature for spin_event_timeout() has changed in version V9.
Adjust the mpc5200 AC97 driver to use the new function.
Signed-off-by: Jon Smirl jonsm...@gmail.com
---
sound/soc/fsl/mpc5200_psc_ac97.c | 30 ++
1 files changed, 14 insertions(+), 16
On Tue, May 26, 2009 at 7:25 PM, Jon Smirl jonsm...@gmail.com wrote:
- spin_event_timeout(0, 10, 0, rc);
+ spin_event_timeout(0, 10, 0);
out_8(regs-op0, MPC52xx_PSC_OP_RES);
- spin_event_timeout(0, 50, 0, rc);
+ spin_event_timeout(0, 50, 0);
Jon, I'm still
On Tue, May 26, 2009 at 8:38 PM, Timur Tabi ti...@freescale.com wrote:
On Tue, May 26, 2009 at 7:25 PM, Jon Smirl jonsm...@gmail.com wrote:
- spin_event_timeout(0, 10, 0, rc);
+ spin_event_timeout(0, 10, 0);
out_8(regs-op0, MPC52xx_PSC_OP_RES);
-
On Tue, May 26, 2009 at 7:44 PM, Jon Smirl jonsm...@gmail.com wrote:
Because Grant didn't want me doing udelay(50) just to delay things in
order to give the AC97 controller time to initialize. Your function
lets me loop on cpu_relax() for 50us.
But udelay() calls HMT_low(), which is like
On Tue, May 26, 2009 at 8:53 PM, Timur Tabi ti...@freescale.com wrote:
On Tue, May 26, 2009 at 7:44 PM, Jon Smirl jonsm...@gmail.com wrote:
Because Grant didn't want me doing udelay(50) just to delay things in
order to give the AC97 controller time to initialize. Your function
lets me loop on
On Tue, 2009-05-26 at 12:59 -0500, Nathan Fontenot wrote:
This patch updates the output from /proc/ppc64/lparcfg to display the
processor virtualization resource allocations for a shared processor
partition.
@@ -267,6 +281,28 @@
seq_printf(m, capped=%d\n, ppp_data.capped);
Gianfar interrupt handler uses IEVENT_ERR_MASK to check and handle errors.
Babbling RX error (IEVENT_BABR) should be included in IEVENT_ERROR_MASK.
Otherwise if BABR is raised, it never gets handled nor cleared, and an
interrupt storm results. This has been observed to happen on sending a
burst of
On Tue, May 26, 2009 at 8:01 PM, Jon Smirl jonsm...@gmail.com wrote:
Then why did you need to make your routine that calls cpu_relax()?
That gets called only if delay == 0. udelay(0) is a no-op, so if the
caller specifies no delay, then I need to manually call cpu_relax().
I don't know what
On Tue, May 26, 2009 at 6:44 PM, Jon Smirl jonsm...@gmail.com wrote:
On Tue, May 26, 2009 at 8:38 PM, Timur Tabi ti...@freescale.com wrote:
On Tue, May 26, 2009 at 7:25 PM, Jon Smirl jonsm...@gmail.com wrote:
- spin_event_timeout(0, 10, 0, rc);
+ spin_event_timeout(0, 10, 0);
On Tue, May 26, 2009 at 9:12 PM, Timur Tabi ti...@freescale.com wrote:
On Tue, May 26, 2009 at 8:01 PM, Jon Smirl jonsm...@gmail.com wrote:
Then why did you need to make your routine that calls cpu_relax()?
That gets called only if delay == 0. udelay(0) is a no-op, so if the
caller
The function signature for spin_event_timeout() has changed in version V9.
Adjust the mpc5200 AC97 driver to use the new function.
v2 - switch back to udelay() for fixed timeouts.
Signed-off-by: Jon Smirl jonsm...@gmail.com
---
sound/soc/fsl/mpc5200_psc_ac97.c | 30
Inspired by the patch for 8139too (bda6a15a).
Currently we can't set mac address on a running ucc_geth device.
But this is needed when you use this device as a bonding slave in
bonding device in balance-alb mode. So add this feature for ucc_geth
device.
Signed-off-by: Kevin Hao
Add 4 partitions in nor flash. Also fix nor flash
bank width bug.
Signed-off-by: Kevin Hao kexin@windriver.com
---
arch/powerpc/boot/dts/mpc8569mds.dts | 24 +++-
1 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/boot/dts/mpc8569mds.dts
The function signature for spin_event_timeout() has changed in version V9.
Adjust the mpc5200 AC97 driver to use the new function.
v2 - switch back to udelay() for fixed timeouts.
v3 - forgot about driver being market broken, fix typo
Signed-off-by: Jon Smirl jonsm...@gmail.com
---
Guys,
The ucc_geth ethernet driver have dozens of strong sync read/write
operation, such as in_be32/16/8, out_be32/16/8.
all of them is sync read/write, it is very expensive for performance.
For the critical patch, we can remove some unnecessary in_be(x),
out_be(x) with normal memory operation,
76 matches
Mail list logo