Re: bug in 2.6.31-rc1

2009-07-01 Thread Ira Snyder
On Wed, Jul 01, 2009 at 11:08:31PM +0400, Andrey Gusev wrote: Hello! I tried 2.6.31-rc1 and found trace in dmesg. [0.00] NR_IRQS:512 [0.00] [ cut here ] [0.00] Badness at mm/bootmem.c:535 [0.00] NIP: c043d2d0 LR: c043d29c CTR:

Re: [PATCH v2] fsldma: Add DMA_SLAVE support

2009-06-19 Thread Ira Snyder
On Thu, Jun 18, 2009 at 03:53:45PM -0700, Ira Snyder wrote: Use the DMA_SLAVE capability of the DMAEngine API to copy/from a scatterlist into an arbitrary list of hardware address/length pairs. This allows a single DMA transaction to copy data from several different devices

[PATCH 1/2] fsldma: split apart external pause and request count features

2009-06-19 Thread Ira Snyder
When using the Freescale DMA controller in external control mode, both the request count and external pause bits need to be setup correctly. This was being done with the same function. The 83xx controller lacks the external pause feature, but has a similar feature called external start. This

[PATCH v3 2/2] fsldma: Add DMA_SLAVE support

2009-06-19 Thread Ira Snyder
Use the DMA_SLAVE capability of the DMAEngine API to copy/from a scatterlist into an arbitrary list of hardware address/length pairs. This allows a single DMA transaction to copy data from several different devices into a scatterlist at the same time. This also adds support to enable some

Re: [RFC PATCH] fsldma: Add DMA_SLAVE support

2009-06-18 Thread Ira Snyder
On Thu, Jun 18, 2009 at 11:16:03AM -0700, Dan Williams wrote: Ira Snyder wrote: I can do something similar by calling device_prep_dma_memcpy() lots of times. Once for each page in the scatterlist. This has the advantage of not changing the DMAEngine API. This has the disadvantage

[PATCH v2] fsldma: Add DMA_SLAVE support

2009-06-18 Thread Ira Snyder
Use the DMA_SLAVE capability of the DMAEngine API to copy/from a scatterlist into an arbitrary list of hardware address/length pairs. This allows a single DMA transaction to copy data from several different devices into a scatterlist at the same time. This also adds support to enable some

Re: [RFC PATCH] fsldma: Add DMA_SLAVE support

2009-06-17 Thread Ira Snyder
On Wed, Jun 17, 2009 at 10:17:54AM -0700, Dan Williams wrote: Ira Snyder wrote: Using EXPORT_SYMBOL would defeat the purpose of conforming to the dmaengine api which should allow other subsystems to generically discover an fsldma resource. Any driver would still use dma_request_channel

Re: [RFC PATCH] fsldma: Add DMA_SLAVE support

2009-06-16 Thread Ira Snyder
On Tue, Jun 16, 2009 at 12:01:40PM -0700, Dan Williams wrote: Hi Ira, Ira Snyder wrote: Use the DMA_SLAVE capability of the DMAEngine API to copy/from a scatterlist into an arbitrary list of hardware address/length pairs. This allows a single DMA transaction to copy data from several

Re: [PATCH] fsldma: use PCI Read Multiple command

2009-06-11 Thread Ira Snyder
On Wed, Jun 10, 2009 at 09:45:26PM -0500, Kumar Gala wrote: On Apr 27, 2009, at 3:49 PM, Dan Williams wrote: On Mon, Apr 27, 2009 at 1:47 PM, Timur Tabi ti...@freescale.com wrote: Adding Kumar to the CC: list, since he might pick up the patch. Acked-by: Dan Williams

Re: [RFC PATCH] fsldma: Add DMA_SLAVE support

2009-06-04 Thread Ira Snyder
On Thu, Jun 04, 2009 at 07:20:26PM +0800, Li Yang-R58472 wrote: This is a request for comments on this patch. I hunch it is not quite ready for inclusion, though it is certainly ready for review. Correct functioning of this patch depends on the patches submitted earlier. As

Re: [RFC PATCH] fsldma: Add DMA_SLAVE support

2009-06-03 Thread Ira Snyder
On Fri, May 15, 2009 at 03:56:59PM -0700, Ira Snyder wrote: Use the DMA_SLAVE capability of the DMAEngine API to copy/from a scatterlist into an arbitrary list of hardware address/length pairs. This allows a single DMA transaction to copy data from several different devices

[PATCH] fsldma: fix DMA halt timeout! errors

2009-05-19 Thread Ira Snyder
When using the DMA controller from multiple threads at the same time, it is possible to get lots of DMA halt timeout! errors printed to the kernel log. This occurs due to a race between fsl_dma_memcpy_issue_pending() and the interrupt handler, fsl_dma_chan_do_interrupt(). Both call the

[PATCH] fsldma: snooping is not enabled for last entry in descriptor chain

2009-05-15 Thread Ira Snyder
On the 83xx controller, snooping is necessary for the DMA controller to ensure cache coherence with the CPU when transferring to/from RAM. The last descriptor in a chain will always have the End-of-Chain interrupt bit set, so we can set the snoop bit while adding the End-of-Chain interrupt bit.

[PATCH] fsldma: fix infinite loop on multi-descriptor DMA chain completion

2009-05-15 Thread Ira Snyder
When creating a DMA transaction with multiple descriptors, the async_tx cookie is set to 0 for each descriptor in the chain, excluding the last descriptor, whose cookie is set to -EBUSY. When fsl_dma_tx_submit() is run, it only assigns a cookie to the first descriptor. All of the remaining

[RFC PATCH] fsldma: Add DMA_SLAVE support

2009-05-15 Thread Ira Snyder
Use the DMA_SLAVE capability of the DMAEngine API to copy/from a scatterlist into an arbitrary list of hardware address/length pairs. This allows a single DMA transaction to copy data from several different devices into a scatterlist at the same time. This also adds support to enable some

[RFC] Using the DMAEngine API for scatter/gather operations

2009-05-14 Thread Ira Snyder
Hello all. I'm working on a driver for a custom board (based heavily on the MPC8349EMDS board) to dump data out of onboard FPGA's. I need to use the onboard DMA controller for this, mostly due to data transfer rate and timing requirements. Of course, I'd like to play nice with the existing Linux

Re: [RFC] Using the DMAEngine API for scatter/gather operations

2009-05-14 Thread Ira Snyder
On Thu, May 14, 2009 at 09:27:17AM -0700, Dan Williams wrote: On Thu, 2009-05-14 at 09:13 -0700, Ira Snyder wrote: Hello all. I'm working on a driver for a custom board (based heavily on the MPC8349EMDS board) to dump data out of onboard FPGA's. I need to use the onboard DMA controller

Re: [PATCH] fsldma: use PCI Read Multiple command

2009-04-27 Thread Ira Snyder
On Mon, Apr 27, 2009 at 03:26:36PM -0500, Timur Tabi wrote: David Hawkins wrote: PRC_RM - PCI read multiple The default PCI read command used by the DMA controller is PCI Read (PCI command 6h). When the burst length is 32-bytes or longer, PCI Read Line (PCI command Eh) is used

[PATCH] fsldma: use PCI Read Multiple command

2009-04-24 Thread Ira Snyder
By default, the Freescale 83xx DMA controller uses the PCI Read Line command when reading data over the PCI bus. Setting the controller to use the PCI Read Multiple command instead allows the controller to read much larger bursts of data, which provides a drastic speed increase. The slowdown due

Re: [RFC v2] virtio: add virtio-over-PCI driver

2009-04-14 Thread Ira Snyder
On Tue, Apr 14, 2009 at 02:28:26PM -0600, Grant Likely wrote: On Mon, Feb 23, 2009 at 6:00 PM, Ira Snyder i...@ovro.caltech.edu wrote: This adds support to Linux for using virtio between two computers linked by a PCI interface. This allows the use of virtio_net to create a familiar, fast

Re: [RFC v2] virtio: add virtio-over-PCI driver

2009-02-26 Thread Ira Snyder
On Thu, Feb 26, 2009 at 05:15:27PM +0100, Arnd Bergmann wrote: On Tuesday 24 February 2009, Ira Snyder wrote: This adds support to Linux for using virtio between two computers linked by a PCI interface. This allows the use of virtio_net to create a familiar, fast interface for communication

Re: [RFC v2] virtio: add virtio-over-PCI driver

2009-02-26 Thread Ira Snyder
On Thu, Feb 26, 2009 at 05:53:56PM +0100, Geert Uytterhoeven wrote: On Thu, 26 Feb 2009, Arnd Bergmann wrote: On Tuesday 24 February 2009, Ira Snyder wrote: +/* Virtio-over-PCI descriptors: 12 bytes. These can chain together via next */ +struct vop_desc { + /* Address (host

Re: [RFC v2] virtio: add virtio-over-PCI driver

2009-02-26 Thread Ira Snyder
On Thu, Feb 26, 2009 at 09:37:14PM +0100, Arnd Bergmann wrote: On Thursday 26 February 2009, Ira Snyder wrote: On Thu, Feb 26, 2009 at 05:15:27PM +0100, Arnd Bergmann wrote: I think so too. I was just getting something working, and thought it would be better to have it out there rather

Re: [RFC v2] virtio: add virtio-over-PCI driver

2009-02-26 Thread Ira Snyder
On Thu, Feb 26, 2009 at 11:34:33PM +0100, Arnd Bergmann wrote: On Thursday 26 February 2009, Ira Snyder wrote: On Thu, Feb 26, 2009 at 09:37:14PM +0100, Arnd Bergmann wrote: The registers are part of the board control registers. They don't fit at all in the message unit. Doing

Re: soc vs localbus for flash in device tree

2009-02-23 Thread Ira Snyder
On Tue, Feb 24, 2009 at 10:31:37AM +1100, Dushara Jayasinghe wrote: Hi, I'm working on the kernel version Linux-2.6.29-rc5 with U-Boot 1.2.0-g88e21e7b-dirty. Does the flash node HAVE to be within a localbus node or can it reside within the soc node? I've been basing my work on

Re: PCI reading without endian conversion

2009-02-20 Thread Ira Snyder
On Fri, Feb 20, 2009 at 12:57:36PM -0600, Matt Sealey wrote: Hi guys, What's the correct way to read from PCI address space (basically it's guaranteed to be non-coherent memory bar) without flipping bits like ioread32() does? I need to be able to copy a bank of registers from PCI address

Re: PCI reading without endian conversion

2009-02-20 Thread Ira Snyder
On Fri, Feb 20, 2009 at 02:05:08PM -0600, Matt Sealey wrote: On Fri, Feb 20, 2009 at 1:11 PM, Ira Snyder i...@ovro.caltech.edu wrote: On Fri, Feb 20, 2009 at 12:57:36PM -0600, Matt Sealey wrote: I'm pretty sure memcpy_fromio() and memcpy_toio() will get you what you want. They don't

Re: PCI reading without endian conversion

2009-02-20 Thread Ira Snyder
On Fri, Feb 20, 2009 at 03:56:39PM -0600, Matt Sealey wrote: On Fri, Feb 20, 2009 at 3:07 PM, Ira Snyder i...@ovro.caltech.edu wrote: On Fri, Feb 20, 2009 at 02:05:08PM -0600, Matt Sealey wrote: On Fri, Feb 20, 2009 at 1:11 PM, Ira Snyder i...@ovro.caltech.edu wrote: On Fri, Feb 20, 2009

Re: [RFC v1] virtio: add virtio-over-PCI driver

2009-02-19 Thread Ira Snyder
On Thu, Feb 19, 2009 at 02:10:08PM +0800, Zang Roy-R61911 wrote: -Original Message- From: linuxppc-dev-bounces+tie-fei.zang=freescale@ozlabs.org [mailto:linuxppc-dev-bounces+tie-fei.zang=freescale@ozlabs .org] On Behalf Of Ira Snyder Sent: Wednesday, February 18

Re: [RFC v1] virtio: add virtio-over-PCI driver

2009-02-19 Thread Ira Snyder
On Thu, Feb 19, 2009 at 09:48:04PM +1030, Rusty Russell wrote: On Thursday 19 February 2009 03:08:35 Ira Snyder wrote: On Wed, Feb 18, 2009 at 05:13:03PM +1030, Rusty Russell wrote: don't restrict yourself to 32 feature bits (only PCI does this, and they're going to have to hack when

Re: [RFC v1] virtio: add virtio-over-PCI driver

2009-02-19 Thread Ira Snyder
Of Kumar Gala Sent: Thursday, February 19, 2009 0:47 AM To: Ira Snyder Cc: Arnd Bergmann; Jan-Bernd Themann; net...@vger.kernel.org; Rusty Russell; linux-ker...@vger.kernel.org; linuxppc-dev@ozlabs.org Subject: Re: [RFC v1] virtio: add virtio-over-PCI driver On Feb 17, 2009, at 4:24 PM, Ira

Re: [RFC v1] virtio: add virtio-over-PCI driver

2009-02-18 Thread Ira Snyder
On Wed, Feb 18, 2009 at 05:13:03PM +1030, Rusty Russell wrote: On Wednesday 18 February 2009 08:54:25 Ira Snyder wrote: This adds support to Linux for using virtio between two computers linked by a PCI interface. This allows the use of virtio_net to create a familiar, fast interface

Re: correct way for handling PCIe in endpoint mode

2009-02-10 Thread Ira Snyder
On Tue, Feb 10, 2009 at 07:39:47AM -0500, Scott Coulter wrote: Hi all, Maybe a silly questions, but what is the suggested way for handling a processor which has a PCIe interface, but the interface is not configured to be the root complex (endpoint only)? Should the PCIe interface appear

Re: [PATCH RFC v5] net: add PCINet driver

2009-01-15 Thread Ira Snyder
On Thu, Jan 15, 2009 at 01:58:33PM +0100, Arnd Bergmann wrote: On Thursday 15 January 2009, Ira Snyder wrote: The only problem with that is that you cannot route interrupts from the DMA controller over PCI with the PowerPC core running. Which makes it mostly useless for this case

Re: [PATCH RFC v5] net: add PCINet driver

2009-01-15 Thread Ira Snyder
On Thu, Jan 15, 2009 at 06:53:51PM +0100, Arnd Bergmann wrote: On Thursday 15 January 2009, Ira Snyder wrote: These are PCI boards, not PCIe. The host computers are all Pentium3-M systems. I tried enabling MSI on the Freescale boards in the driver, by calling pci_enable_msi() during

Re: [PATCH RFC v5] net: add PCINet driver

2009-01-15 Thread Ira Snyder
On Thu, Jan 15, 2009 at 06:53:51PM +0100, Arnd Bergmann wrote: On Thursday 15 January 2009, Ira Snyder wrote: These are PCI boards, not PCIe. The host computers are all Pentium3-M systems. I tried enabling MSI on the Freescale boards in the driver, by calling pci_enable_msi() during

Re: [PATCH RFC v5] net: add PCINet driver

2009-01-15 Thread Ira Snyder
On Thu, Jan 15, 2009 at 10:22:53PM +0100, Arnd Bergmann wrote: On Thursday 15 January 2009, Ira Snyder wrote: I have another question for you Arnd. What did you use as the host and guest drivers when you ran virtio over PCI? Did you use two unmodified instances of virtio_net (one on host

Re: [PATCH RFC v5] net: add PCINet driver

2009-01-15 Thread Ira Snyder
On Thu, Jan 15, 2009 at 09:57:41PM +0100, Arnd Bergmann wrote: On Thursday 15 January 2009, Ira Snyder wrote: Some sort of Broadcom chipset, I think. Full dmesg and lspci output are appended. The PCI bridge does mention MSI, so maybe it does support it. Would using the DMA from

Re: [PATCH RFC v5] net: add PCINet driver

2009-01-15 Thread Ira Snyder
On Thu, Jan 15, 2009 at 11:53:24PM +0100, Arnd Bergmann wrote: On Thursday 15 January 2009, Ira Snyder wrote: I do have mailboxes (two inbound, two outbound) which can generate interrupts, as well as doorbell registers (one inbound, one outbound). The doorbell register's bits are write 1

Re: [PATCH RFC v5] net: add PCINet driver

2009-01-14 Thread Ira Snyder
On Tue, Jan 13, 2009 at 06:42:53PM +0100, Arnd Bergmann wrote: On Tuesday 13 January 2009, Ira Snyder wrote: So do you program one channel of the DMA engine from the host side and another channel from the guest side? Yes. I tried to avoid having the host program the DMA controller

Re: [PATCH RFC v5] net: add PCINet driver

2009-01-08 Thread Ira Snyder
On Thu, Jan 08, 2009 at 11:16:10AM -0800, David Miller wrote: From: Ira Snyder i...@ovro.caltech.edu Date: Wed, 7 Jan 2009 11:50:52 -0800 This adds support to Linux for a virtual ethernet interface which uses the PCI bus as its transport mechanism. It creates a simple, familiar, and fast

Re: [PATCH RFC v5] net: add PCINet driver

2009-01-08 Thread Ira Snyder
On Thu, Jan 08, 2009 at 11:27:16AM -0800, Ira Snyder wrote: On Thu, Jan 08, 2009 at 11:16:10AM -0800, David Miller wrote: From: Ira Snyder i...@ovro.caltech.edu Date: Wed, 7 Jan 2009 11:50:52 -0800 This adds support to Linux for a virtual ethernet interface which uses the PCI bus

Re: Help enabling PCI endpoint on 460EX, host sees disabled

2008-12-11 Thread Ira Snyder
On Thu, Dec 11, 2008 at 10:04:28PM +1100, Benjamin Herrenschmidt wrote: On Wed, 2008-12-10 at 16:17 -0800, Ira Snyder wrote: On Wed, Dec 10, 2008 at 05:29:53PM -0600, Ayman El-Khashab wrote: My system consists of a pair of 460EXs attached by way of both PCI-E and PCI. Ultimately my goal

Re: Help enabling PCI endpoint on 460EX, host sees disabled

2008-12-10 Thread Ira Snyder
On Wed, Dec 10, 2008 at 05:29:53PM -0600, Ayman El-Khashab wrote: My system consists of a pair of 460EXs attached by way of both PCI-E and PCI. Ultimately my goal is to communicate between them via pci-e (is there anything out there that does this already?). I can't help you with that exact

Re: DMA from memory to local bus

2008-12-01 Thread Ira Snyder
On Fri, Nov 28, 2008 at 03:04:04PM +0100, Hommel, Thomas (GE EntSol, Intelligent Platforms) wrote: Hi all, I'm currently developing a driver and want to make use of the DMA offload engine. Data has to be transferred from memory to a device on the local bus and vice versa. At a first look,

Re: [PATCH RFC v2] net: add PCINet driver

2008-11-05 Thread Ira Snyder
On Wed, Nov 05, 2008 at 02:19:52PM +0100, Arnd Bergmann wrote: On Tuesday 04 November 2008, Ira Snyder wrote: So, since interrupts are disabled while my interrupt handler is running, I think I should be able to use spin_lock() and spin_unlock(), correct? yes. But sparse gives me

Re: [PATCH RFC v2] net: add PCINet driver

2008-11-05 Thread Ira Snyder
On Wed, Nov 05, 2008 at 02:50:59PM +0100, Arnd Bergmann wrote: On Tuesday 04 November 2008, Ira Snyder wrote: On Tue, Nov 04, 2008 at 09:23:03PM +0100, Arnd Bergmann wrote: On Tuesday 04 November 2008, Ira Snyder wrote: I don't really know how to do that. I got a warning here from sparse

Re: [RFC v3] net: add PCINet driver

2008-11-05 Thread Ira Snyder
On Wed, Nov 05, 2008 at 01:22:25PM -0800, Ira Snyder wrote: Despite my best efforts at testing this version, a bug slipped past. There is some problem with this driver, nfsroot, and Linux routing. If you do not apply the fix below, udp packets sent by the nfsroot code have corrupted checksums

Re: [PATCH RFC v2] net: add PCINet driver

2008-11-04 Thread Ira Snyder
On Tue, Nov 04, 2008 at 01:09:25PM +0100, Arnd Bergmann wrote: On Wednesday 29 October 2008, Ira Snyder wrote: This adds support to Linux for a virtual ethernet interface which uses the PCI bus as its transport mechanism. It creates a simple, familiar, and fast method of communication

Re: [PATCH RFC v2] net: add PCINet driver

2008-11-04 Thread Ira Snyder
On Tue, Nov 04, 2008 at 09:23:03PM +0100, Arnd Bergmann wrote: On Tuesday 04 November 2008, Ira Snyder wrote: On Tue, Nov 04, 2008 at 01:09:25PM +0100, Arnd Bergmann wrote: Why 'depends on !PCI'? This means that you cannot build a kernel that is able to run both as host and endpoint

Re: [PATCH RFC v2] net: add PCINet driver

2008-11-04 Thread Ira Snyder
On Tue, Nov 04, 2008 at 09:23:03PM +0100, Arnd Bergmann wrote: Big snip. I tried to make the locking do only what was needed. I just couldn't get it correct unless I used spin_lock_irqsave(). I was able to get the system to deadlock otherwise. This is why I posted the driver for

Re: [PATCH RFC v2] net: add PCINet driver

2008-10-29 Thread Ira Snyder
On Wed, Oct 29, 2008 at 01:25:06PM -0700, Stephen Hemminger wrote: On Wed, 29 Oct 2008 13:20:27 -0700 Ira Snyder [EMAIL PROTECTED] wrote: Big snip... diff --git a/drivers/net/pcinet.h b/drivers/net/pcinet.h new file mode 100644 index 000..66d2cba --- /dev/null +++ b/drivers/net

Re: [PATCH RFC v2] net: add PCINet driver

2008-10-29 Thread Ira Snyder
On Wed, Oct 29, 2008 at 03:54:46PM -0500, Scott Wood wrote: Ira Snyder wrote: I know about this. I was following the example set forth in drivers/net/fs_enet. I recommend against that. :-) Great, now you tell me :) I'll go ahead change the typedef to a struct. Hopefully some of the other