Re: [PATCH v2 0/7] padata: parallelize deferred page init
On Wed, May 20, 2020 at 02:26:38PM -0400, Daniel Jordan wrote: > Please review and test, and thanks to Alex, Andrew, Josh, and Pavel for > their feedback in the last version. I re-tested v2: Tested-by: Josh Triplett [0.231435] node 1 initialised, 24189223 pages in 32ms [0.236718] node 0 initialised, 23398907 pages in 36ms
Re: [PATCH 5/9] powerpc: PCI_MSI needs PCI
On Fri, Oct 19, 2018 at 02:09:48PM +0200, Christoph Hellwig wrote: > Various powerpc boards select the PCI_MSI config option without selecting > PCI, resulting in potentially not compilable configurations if the by > default enabled PCI option is disabled. Explicitly select PCI to ensure > we always have valid configs. [...] > --- a/arch/powerpc/platforms/44x/Kconfig > +++ b/arch/powerpc/platforms/44x/Kconfig > @@ -24,6 +24,7 @@ config BLUESTONE > default n > select PPC44x_SIMPLE > select APM821xx > + select PCI > select PCI_MSI > select PPC4xx_MSI > select PPC4xx_PCI_EXPRESS > @@ -78,6 +79,7 @@ config KATMAI > select 440SPe > select PCI > select PPC4xx_PCI_EXPRESS > + select PCI > select PCI_MSI This case already had PCI selected a couple of lines above. > select PPC4xx_MSI > help > @@ -219,6 +221,7 @@ config AKEBONO > select SWIOTLB > select 476FPE > select PPC4xx_PCI_EXPRESS > + select PCI > select PCI_MSI > select PPC4xx_HSTA_MSI > select I2C > -- > 2.19.1 >
Re: [PATCH v2 tip/core/rcu 02/39] rcu: Make arch select smp_mb__after_unlock_lock() strength
On Mon, Apr 17, 2017 at 04:44:49PM -0700, Paul E. McKenney wrote: > The definition of smp_mb__after_unlock_lock() is currently smp_mb() > for CONFIG_PPC and a no-op otherwise. It would be better to instead > provide an architecture-selectable Kconfig option, and select the > strength of smp_mb__after_unlock_lock() based on that option. This > commit therefore creates ARCH_WEAK_RELEASE_ACQUIRE, has PPC select it, > and bases the definition of smp_mb__after_unlock_lock() on this new > ARCH_WEAK_RELEASE_ACQUIRE Kconfig option. > > Reported-by: Ingo Molnar <mi...@kernel.org> > Signed-off-by: Paul E. McKenney <paul...@linux.vnet.ibm.com> > Cc: Peter Zijlstra <pet...@infradead.org> > Cc: Will Deacon <will.dea...@arm.com> > Cc: Boqun Feng <boqun.f...@linux.vnet.ibm.com> > Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org> > Cc: Paul Mackerras <pau...@samba.org> > Acked-by: Michael Ellerman <m...@ellerman.id.au> > Cc: <linuxppc-dev@lists.ozlabs.org> Seems sensible. Reviewed-by: Josh Triplett <j...@joshtriplett.org> > arch/Kconfig | 3 +++ > arch/powerpc/Kconfig | 1 + > include/linux/rcupdate.h | 6 +++--- > 3 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/arch/Kconfig b/arch/Kconfig > index cd211a14a88f..adefaf344239 100644 > --- a/arch/Kconfig > +++ b/arch/Kconfig > @@ -320,6 +320,9 @@ config HAVE_CMPXCHG_LOCAL > config HAVE_CMPXCHG_DOUBLE > bool > > +config ARCH_WEAK_RELEASE_ACQUIRE > + bool > + > config ARCH_WANT_IPC_PARSE_VERSION > bool > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index 97a8bc8a095c..7a5c9b764cd2 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -99,6 +99,7 @@ config PPC > select ARCH_USE_BUILTIN_BSWAP > select ARCH_USE_CMPXCHG_LOCKREF if PPC64 > select ARCH_WANT_IPC_PARSE_VERSION > + select ARCH_WEAK_RELEASE_ACQUIRE > select BINFMT_ELF > select BUILDTIME_EXTABLE_SORT > select CLONE_BACKWARDS > diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h > index de88b33c0974..e6146d0074f8 100644 > --- a/include/linux/rcupdate.h > +++ b/include/linux/rcupdate.h > @@ -1127,11 +1127,11 @@ do { \ > * if the UNLOCK and LOCK are executed by the same CPU or if the > * UNLOCK and LOCK operate on the same lock variable. > */ > -#ifdef CONFIG_PPC > +#ifdef CONFIG_ARCH_WEAK_RELEASE_ACQUIRE > #define smp_mb__after_unlock_lock() smp_mb() /* Full ordering for lock. */ > -#else /* #ifdef CONFIG_PPC */ > +#else /* #ifdef CONFIG_ARCH_WEAK_RELEASE_ACQUIRE */ > #define smp_mb__after_unlock_lock() do { } while (0) > -#endif /* #else #ifdef CONFIG_PPC */ > +#endif /* #else #ifdef CONFIG_ARCH_WEAK_RELEASE_ACQUIRE */ > > > #endif /* __LINUX_RCUPDATE_H */ > -- > 2.5.2 >
Re: [RFC] fs: add userspace critical mounts event support
On Tue, Oct 04, 2016 at 05:12:58PM -0700, Linus Torvalds wrote: > On Tue, Oct 4, 2016 at 5:00 PM, Luis R. Rodriguezwrote: > > I am not sure how/why a firmware loading daemon would be a better > > idea now. What Marc describes that Josh proposed with signals for > > userspcae seems more aligned with what we likely need > > Quite frankly, I doubt you want a signal. > > You will want to have some way to specify where the firmware files > are. Right now we have "fw_path[]" which is hardcoded except for the > first entry that can be set as a module parameter. But you'd probably > want to expand on that, which implies some /sys or /proc interface. > > And once you do that, wouldn't it make more sense to just make the > "update the firmware path /proc/sys/kernel/fw_path file" make things > re-search for firmware? That could work, but it seems like overkill to allow changing the path, rather than the simpler interface of just telling the one driver "go ahead and direct-load your firmware now". I definitely don't think it should be a system-wide "mount event"; it should be a per-device "go direct-load your firmware" poke from userspace. That would solve the "build-in the driver so it can start waking up slow monitors, but wait to load the firmware until you have a filesystem" problem. (And it would avoid creating some unusual driver-specific late-firmware-load mechanism.) That said, the Chrome OS folks apparently have some mechanism where they mount a tmpfs over /lib/firmware to let userspace choose firmware at runtime, so perhaps the path-changing mechanism would help there. Kees?
Re: [PATCH 3/4] rcutorture: Make -soundhw a x86 specific option
On Thu, May 19, 2016 at 12:38:47PM -0700, Paul E. McKenney wrote: > On Thu, May 19, 2016 at 09:23:39AM -0700, Paul E. McKenney wrote: > > On Thu, May 19, 2016 at 08:40:42AM -0700, Josh Triplett wrote: > > > On Thu, May 19, 2016 at 07:10:13AM -0700, Paul E. McKenney wrote: > > > > On Wed, May 18, 2016 at 09:23:10PM -0700, Josh Triplett wrote: > > > > > On Thu, May 19, 2016 at 11:42:23AM +0800, Boqun Feng wrote: > > > > > > The option "-soundhw pcspk" gives me a error on PPC as follow: > > > > > > > > > > > > qemu-system-ppc64: ISA bus not available for pcspk > > > > > > > > > > > > , which means this option doesn't work on ppc by default. So simply > > > > > > make > > > > > > this an x86-specific option via identify_qemu_args(). > > > > > > > > > > > > Signed-off-by: Boqun Feng <boqun.f...@gmail.com> > > > > > > > > > > The emulated system for RCU testing does not need sound hardware at > > > > > all. > > > > > Paul added this option in commit > > > > > 16c77ea7d0f4a74e49009aa2d26c275f7f93de7c to disable the default sound > > > > > hardware, saying that '"-soundhw pcspk" makes the script a bit less > > > > > dependent on odd audio libraries being installed'. Unfortunately, it > > > > > looks like there isn't a "-soundhw none". As far as I can tell, > > > > > currently the only way to completely eliminate sound hardware is to > > > > > pass > > > > > "-nodefaults" and then explicitly specify each desired device; while > > > > > that would solve the issue, it would likely introduce *more* > > > > > hardware-specific command-line options... > > > > > > > > > > I've filed two feature requests on upstream qemu to make this simpler: > > > > > https://bugs.launchpad.net/qemu/+bug/1583420 and > > > > > https://bugs.launchpad.net/qemu/+bug/1583421 . > > > > > > > > > > Paul, what did you mean by "dependent on odd audio libraries"? Did > > > > > you > > > > > mean in the guest or the host? And either way, is this something that > > > > > could potentially be solved another way? > > > > > > > > If I remember correctly, Ubuntu 14.04 qemu refused to run the guest > > > > without this option, but I don't recall the exact error message. > > > > I chalked it up to my ignorance of qemu, but I would very much welcome > > > > some way to not have to specify irrelevant hardware. So thank you very > > > > much for filing the bugs! > > > > > > According to qemu upstream, qemu doesn't enable any sound hardware by > > > default, so I can't think of any obvious reason why adding "-soundhw > > > pcspkr" would make the rcutorture VM boot. Did qemu refuse to run at > > > all, or did the VM start but fail during the boot process? > > > > > > Could you check if you can currently run without this option? If so, > > > perhaps we should just drop it for now. > > > > Will do! As soon as the current test completes. > > And it now works just fine without the "-soundhw pcspkr". Search me! In that case, can you replace the patch in this series making "-soundhw pcspkr" target-specific with one removing "-soundhw pcspkr"? - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 3/4] rcutorture: Make -soundhw a x86 specific option
On Thu, May 19, 2016 at 07:10:13AM -0700, Paul E. McKenney wrote: > On Wed, May 18, 2016 at 09:23:10PM -0700, Josh Triplett wrote: > > On Thu, May 19, 2016 at 11:42:23AM +0800, Boqun Feng wrote: > > > The option "-soundhw pcspk" gives me a error on PPC as follow: > > > > > > qemu-system-ppc64: ISA bus not available for pcspk > > > > > > , which means this option doesn't work on ppc by default. So simply make > > > this an x86-specific option via identify_qemu_args(). > > > > > > Signed-off-by: Boqun Feng <boqun.f...@gmail.com> > > > > The emulated system for RCU testing does not need sound hardware at all. > > Paul added this option in commit > > 16c77ea7d0f4a74e49009aa2d26c275f7f93de7c to disable the default sound > > hardware, saying that '"-soundhw pcspk" makes the script a bit less > > dependent on odd audio libraries being installed'. Unfortunately, it > > looks like there isn't a "-soundhw none". As far as I can tell, > > currently the only way to completely eliminate sound hardware is to pass > > "-nodefaults" and then explicitly specify each desired device; while > > that would solve the issue, it would likely introduce *more* > > hardware-specific command-line options... > > > > I've filed two feature requests on upstream qemu to make this simpler: > > https://bugs.launchpad.net/qemu/+bug/1583420 and > > https://bugs.launchpad.net/qemu/+bug/1583421 . > > > > Paul, what did you mean by "dependent on odd audio libraries"? Did you > > mean in the guest or the host? And either way, is this something that > > could potentially be solved another way? > > If I remember correctly, Ubuntu 14.04 qemu refused to run the guest > without this option, but I don't recall the exact error message. > I chalked it up to my ignorance of qemu, but I would very much welcome > some way to not have to specify irrelevant hardware. So thank you very > much for filing the bugs! According to qemu upstream, qemu doesn't enable any sound hardware by default, so I can't think of any obvious reason why adding "-soundhw pcspkr" would make the rcutorture VM boot. Did qemu refuse to run at all, or did the VM start but fail during the boot process? Could you check if you can currently run without this option? If so, perhaps we should just drop it for now. - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 0/4] rcutorture: Several fixes to run selftest scripts on PPC
On Thu, May 19, 2016 at 11:42:20AM +0800, Boqun Feng wrote: > I spend some time to make tools/testing/selftest/rcutorture run on PPC, > here are some documention and fixes made while I was trying. > > The scripts are able to run and get results on PPC, however please > note there are some stalls even build errors that could be found > by the tests currently. > > As I'm certainly not an expert of qemu or bash programming, there > may be something I am missing in those patches. So tests and comments > are welcome ;-) > > Regards, > Boqun > > Boqun Feng (4): > rcutorture/doc: Add a new way to create initrd using dracut > rcutorture: Use vmlinux as the fallback kernel image > rcutorture: Make -soundhw a x86 specific option > rcutorture: Don't specify the cpu type of QEMU on PPC All four of these seem reasonable to me: Reviewed-by: Josh Triplett <j...@joshtriplett.org> I responded to the -soundhw patch, trying to track down why that option was needed in the first place, and seeking a solution that doesn't require adding to the set of target-specific options. But I don't think that investigation should block your fix. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 3/4] rcutorture: Make -soundhw a x86 specific option
On Thu, May 19, 2016 at 11:42:23AM +0800, Boqun Feng wrote: > The option "-soundhw pcspk" gives me a error on PPC as follow: > > qemu-system-ppc64: ISA bus not available for pcspk > > , which means this option doesn't work on ppc by default. So simply make > this an x86-specific option via identify_qemu_args(). > > Signed-off-by: Boqun Feng <boqun.f...@gmail.com> The emulated system for RCU testing does not need sound hardware at all. Paul added this option in commit 16c77ea7d0f4a74e49009aa2d26c275f7f93de7c to disable the default sound hardware, saying that '"-soundhw pcspk" makes the script a bit less dependent on odd audio libraries being installed'. Unfortunately, it looks like there isn't a "-soundhw none". As far as I can tell, currently the only way to completely eliminate sound hardware is to pass "-nodefaults" and then explicitly specify each desired device; while that would solve the issue, it would likely introduce *more* hardware-specific command-line options... I've filed two feature requests on upstream qemu to make this simpler: https://bugs.launchpad.net/qemu/+bug/1583420 and https://bugs.launchpad.net/qemu/+bug/1583421 . Paul, what did you mean by "dependent on odd audio libraries"? Did you mean in the guest or the host? And either way, is this something that could potentially be solved another way? - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH v2] srcu: Isolate srcu sections using CONFIG_SRCU
linux-s...@vger.kernel.org Message-ID: ea3b4ec8-5e29-4da3-b826-52aba92d7...@joshtriplett.org On January 4, 2015 8:14:16 AM PST, Paul E. McKenney paul...@linux.vnet.ibm.com wrote: On Sun, Jan 04, 2015 at 08:35:52PM +1100, Michael Ellerman wrote: On Tue, 2014-12-30 at 13:54 -0500, Pranith Kumar wrote: On Tue, Dec 30, 2014 at 1:50 PM, Peter Zijlstra pet...@infradead.org wrote: On Tue, Dec 30, 2014 at 12:46:22AM -0500, Pranith Kumar wrote: Isolate the SRCU functions and data structures within CONFIG_SRCU so that there is a compile time failure if srcu is used when not enabled. This was decided to be better than waiting until link time for a failure to occur. Why? This is part of the kernel tinification efforts. The first patch was posted here: https://lkml.org/lkml/2014/12/4/848. This patch enables a compile time failure instead of a link time failure. The punch line was: so the savings are about ~2000 bytes. Which is utterly not worth the effort IMO. There have got to be more attractive targets for tinification than this. There probably are. But if the tinification effort is to come anywhere near reaching its goals, it is going to need 2000-byte savings, especially on the small systems that are this effort's main target. That said, Peter's suggestion of falling back to the link-time diagnostic does simplify things a bit, and might be a good approach. Agreed on both fronts; I don't think we should add any significant complexity just to turn link errors into compile errors. - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 2/2] drivers: tty: Mark the function hvc_poll_init() as static in hvc_console.c
On Mon, Dec 16, 2013 at 04:31:28PM +0530, Rashika Kheria wrote: Mark the function hvc_poll_init() as static in hvc/hvc_console.c because it is not used outside this file. This eliminates the following warning in hvc/hvc_console.c: drivers/tty/hvc/hvc_console.c:791:5: warning: no previous prototype for ‘hvc_poll_init’ [-Wmissing-prototypes] Signed-off-by: Rashika Kheria rashika.khe...@gmail.com Reviewed-by: Josh Triplett j...@joshtriplett.org drivers/tty/hvc/hvc_console.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/hvc/hvc_console.c b/drivers/tty/hvc/hvc_console.c index 9eba119..50b4688 100644 --- a/drivers/tty/hvc/hvc_console.c +++ b/drivers/tty/hvc/hvc_console.c @@ -788,7 +788,7 @@ static int hvc_tiocmset(struct tty_struct *tty, } #ifdef CONFIG_CONSOLE_POLL -int hvc_poll_init(struct tty_driver *driver, int line, char *options) +static int hvc_poll_init(struct tty_driver *driver, int line, char *options) { return 0; } -- 1.7.9.5 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH] sm501: When registering the GPIO, turn on the GPIO unit's power
When attempting to use GPIO via the sm501 unit on the TQM5200 board, GPIO operations would only function if during the same boot u-boot's fkt led command had initialized the sm501. Comparing the sm501's registers with and without running the fkt led command turned up one significant difference: u-boot had enabled the GPIO power gate. Changing the Linux sm501 driver to enable the GPIO power gate allows GPIO to work without first initializing it with u-boot. Signed-off-by: Josh Triplett j...@joshtriplett.org --- drivers/mfd/sm501.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c index df3702c..d7a0ab9 100644 --- a/drivers/mfd/sm501.c +++ b/drivers/mfd/sm501.c @@ -1089,6 +1089,7 @@ static int __devinit sm501_register_gpio(struct sm501_devdata *sm) goto err_low_chip; } + sm501_unit_power(sm-dev, SM501_GATE_GPIO, 1); gpio-registered = 1; return 0; @@ -1118,6 +1119,8 @@ static void sm501_gpio_remove(struct sm501_devdata *sm) if (!sm-gpio.registered) return; + sm501_unit_power(sm-dev, SM501_GATE_GPIO, 0); + ret = gpiochip_remove(gpio-low.gpio); if (ret) dev_err(sm-dev, cannot remove low chip, cannot tidy up\n); -- 1.7.5.4 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Hooking up SM501 on TQM5200 (MPC5200) board via device tree?
On Fri, Jun 03, 2011 at 02:51:38PM -0600, Grant Likely wrote: On Tue, May 31, 2011 at 10:07:01PM -0700, Josh Triplett wrote: We have a TQM5200 board, which has GPIO lines hooked up to an SM501. I've managed to come up with the following patch to the tqm5200 device tree, which manages to convince the sm501 driver to attach an sm501-fb: --- a/arch/powerpc/boot/dts/tqm5200.dts 2009-11-23 03:13:27.0 -0800 +++ b/arch/powerpc/boot/dts/tqm5200.dts 2011-05-31 22:00:28.000580627 -0700 @@ -177,7 +177,8 @@ compatible = fsl,mpc5200-lpb,simple-bus; #address-cells = 2; #size-cells = 1; - ranges = 0 0 0xfc00 0x0200; + ranges = 0 0 0xfc00 0x0200 + 1 0 0xe000 0x0400; flash@0,0 { compatible = cfi-flash; @@ -187,6 +188,13 @@ #size-cells = 1; #address-cells = 1; }; + + display@1,0 { + compatible = smi,sm501; + reg = 1 0x 0x0080 + 1 0x03e0 0x0020; + interrupts = 1 1 3; + }; }; pci@fd00 { However, this doesn't hook up the sm501-gpio bits. Reading the sm501 driver carefully, it looks like it only hooks up sm501-gpio if it has platform_data available which sets some flags and other information. So, if I understand correctly, hooking up sm501-gpio would require adding functionality the driver to get the GPIO information from the device tree in preference to the platform_data, if available, and fall back to the platform_data for existing users? What should the necessary device tree properties look like to replace sm501_initdata? - Josh Triplett You need to look at Documentation/devicetree/bindings/gpio/gpio.txt. Also, you need to add bits to the sm501-gpio driver to register a dynamically allocated range of gpio pins and to populate the gpiochip-of_node pointer. If that points at a device tree node, then the core code will take care of setting up translation for you. What would the resulting device tree look like, given that the sm501 driver handles several different types of devices? sm501 doesn't have a separate gpio driver; it just has a flag to enable GPIO. The GPIO controller also doesn't have independent resources; as far as I can tell, the sm501 knows everything it needs to know in order to drive the gpio, except the boolean presence or absence of gpio. Currently, to get the sm501 hooked up at all, I wrote this: display@1,0 { compatible = smi,sm501; reg = 1 0x 0x0080 1 0x03e0 0x0020; interrupts = 1 1 3; }; To hook up the gpio, would I nest an entire gpio@... { ...; gpio-controller; } stanza inside that or next to that, or just add the gpio-controller; and #gpio-cells lines inside the existing stanza for the sm501? Does the gpio@ bit have any semantic significance, or just the gpio-controller line and the compatible line? - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Hooking up SM501 on TQM5200 (MPC5200) board via device tree?
We have a TQM5200 board, which has GPIO lines hooked up to an SM501. I've managed to come up with the following patch to the tqm5200 device tree, which manages to convince the sm501 driver to attach an sm501-fb: --- a/arch/powerpc/boot/dts/tqm5200.dts 2009-11-23 03:13:27.0 -0800 +++ b/arch/powerpc/boot/dts/tqm5200.dts 2011-05-31 22:00:28.000580627 -0700 @@ -177,7 +177,8 @@ compatible = fsl,mpc5200-lpb,simple-bus; #address-cells = 2; #size-cells = 1; - ranges = 0 0 0xfc00 0x0200; + ranges = 0 0 0xfc00 0x0200 + 1 0 0xe000 0x0400; flash@0,0 { compatible = cfi-flash; @@ -187,6 +188,13 @@ #size-cells = 1; #address-cells = 1; }; + + display@1,0 { + compatible = smi,sm501; + reg = 1 0x 0x0080 + 1 0x03e0 0x0020; + interrupts = 1 1 3; + }; }; pci@fd00 { However, this doesn't hook up the sm501-gpio bits. Reading the sm501 driver carefully, it looks like it only hooks up sm501-gpio if it has platform_data available which sets some flags and other information. So, if I understand correctly, hooking up sm501-gpio would require adding functionality the driver to get the GPIO information from the device tree in preference to the platform_data, if available, and fall back to the platform_data for existing users? What should the necessary device tree properties look like to replace sm501_initdata? - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Failing to get DMA working with MPC5200 (TQM5200) and CompactFlash
On Mon, Mar 29, 2010 at 08:42:08PM +0200, Albrecht Dreß wrote: Am 29.03.10 00:24 schrieb(en) Josh Triplett: We have the MPC5200C rev of the board, not the MPC5200B rev which Ummm - I didn't know that there is a 5200C available. The Freescale web site only mentions the 5200 and the 5200B. Do you have any pointers to data sheets/docs? I don't know the details; just repeating what the hardware team told me. :) We may have the revisions and suffixes mixed up, or we may have run into some terminology difference between the TQM5200 and the MPC5200. - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Failing to get DMA working with MPC5200 (TQM5200) and CompactFlash
On Sat, Mar 27, 2010 at 06:44:55PM +0100, Wolfgang Denk wrote: In message 20100326225916.ga5...@feather you wrote: However, according to one of our hardware hackers, Andrew Greenberg (CCed), the STK5200 development breakout board for the TQM5200 *does* have the DMA pins wired up correctly, at least according to its schematic. That doesn't guarantee that the board matches the schematic, of course. We tested CF cards for DMA support some time ago, and IIRC this included the STK5200. Situation was that only very few CF cards actually support DMA (even if they advertise it on the label). How very odd and disappointing. So a CF card might advertise DMA on its label and feature set, and show DMA modes in hdparm's info dump, but break when actually using DMA modes? Do you know of any specific CF cards which *do* support DMA? - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Failing to get DMA working with MPC5200 (TQM5200) and CompactFlash
On Sat, Mar 27, 2010 at 02:22:08PM +0100, Albrecht Dreß wrote: Am 26.03.10 23:59 schrieb(en) Josh Triplett: [snip] Any other ideas for things we could check to try to track down this problem? Might your issue be related to this thread: http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-December/078757.html? We have the MPC5200C rev of the board, not the MPC5200B rev which apparently had many problems like the ones described in that thread. I can't rule out other crazy board errata we don't know about, though. :) - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Failing to get DMA working with MPC5200 (TQM5200) and CompactFlash
On Fri, Mar 26, 2010 at 12:22:32PM -0600, Grant Likely wrote: On Tue, Mar 16, 2010 at 11:17 PM, Josh Triplett j...@joshtriplett.org wrote: Hello, We've tried both 2.6.33 and DENX-v2.6.33.1, and we haven't managed to successfully use any form of DMA with the TQM5200 and a CompactFlash card. We know the CF card supports DMA (or, at least, it says UDMA right on the card, and various reports say Lexar Professional CF cards do DMA), but the kernel always puts the card in PIO4 mode. We tried libata.force=mwdma2 and libata.force=udma2 , and many other modes, but this always led to failures like this: [ 31.994311] ata1: lost interrupt (Status 0x58) [ 32.020435] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen [ 32.027712] ata1.00: failed command: READ DMA [ 32.032236] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in [ 32.032249] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) [ 32.047212] ata1.00: status: { DRDY } [ 32.051050] ata1: soft resetting link [ 32.218796] ata1.00: FORCE: xfer_mask set to udma2 [ 32.230618] ata1.00: configured for UDMA/33 [ 32.235000] ata1.00: device reported invalid CHS sector 0 [ 32.240629] ata1: EH complete [ 62.994310] ata1: lost interrupt (Status 0x58) [ 63.020443] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen [ 63.027722] ata1.00: failed command: READ DMA [ 63.032246] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in [ 63.032259] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) [ 63.047221] ata1.00: status: { DRDY } [ 63.051060] ata1: soft resetting link [ 63.218778] ata1.00: FORCE: xfer_mask set to udma2 [ 63.238603] ata1.00: configured for UDMA/33 [ 63.242978] ata1.00: device reported invalid CHS sector 0 [ 63.248609] ata1: EH complete We have the MPC5200C revision of the silicon. Does this sound like a known issue? Can we do anything to troubleshoot this further? Not all CF adapters have all the pins wired up that are needed for *DMA modes. That is the most likely problem. True, but we bought a card that specifically advertises support for UDMA, and says UDMA right on the card's label. http://store.lexar.com/?productid=CF8GB-300-381 It seems unlikely, though not impossible, that they would have screwed up that badly. :) By the way, we've also tested an IDE hard drive on this board, and it does UDMA2 just fine. Any thoughts on how we could try to solve this problem? - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Failing to get DMA working with MPC5200 (TQM5200) and CompactFlash
On Fri, Mar 26, 2010 at 11:17:07PM +0100, Wolfgang Wegner wrote: Hi Josh, On Fri, Mar 26, 2010 at 02:32:02PM -0700, Josh Triplett wrote: On Fri, Mar 26, 2010 at 12:22:32PM -0600, Grant Likely wrote: Not all CF adapters have all the pins wired up that are needed for *DMA modes. That is the most likely problem. True, but we bought a card that specifically advertises support for UDMA, and says UDMA right on the card's label. http://store.lexar.com/?productid=CF8GB-300-381 Grant was referring to the adapter, not the card! In fact I still have to see a single CF-to-IDE adapter that does have the wires needed for (U)DMA without me soldering them in place... Oh! OK, that makes more sense. However, according to one of our hardware hackers, Andrew Greenberg (CCed), the STK5200 development breakout board for the TQM5200 *does* have the DMA pins wired up correctly, at least according to its schematic. That doesn't guarantee that the board matches the schematic, of course. Any other ideas for things we could check to try to track down this problem? - Josh Triplett ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev