public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: David Hawkins <dwh@ovro•caltech.edu>
To: Saravanan S <sarans1987@gmail•com>
Cc: "linuxppc-dev@lists•ozlabs.org" <linuxppc-dev@lists•ozlabs.org>,
	"Ira W. Snyder" <iws@ovro•caltech.edu>
Subject: Re: Ethernet over PCIe driver for Inter-Processor Communication
Date: Thu, 22 Aug 2013 14:43:38 -0700	[thread overview]
Message-ID: <5216860A.6060409@ovro.caltech.edu> (raw)
In-Reply-To: <CAEqOc-Rrsc2JoM4eeLzgyhGXqpJoe2Jfmf6uV4LjrTr7e8hhAw@mail.gmail.com>

Hi S.Saravanan,

> I have a custom board  with four MPC8640 nodes connected over
> a transparent PCI express switch . In this configuration one node is
> configured as host(Root Complex) and others as agents(End Point). Thus
> the legacy PCI software works fine . However the mainline kernel lacks
> any standard support for Inter-processor communication over PCI. I am
> in the process of developing an Ethernet over  PCI driver for the same
> on the lines of rionet . However I am facing the following problems.
>
> a)   I can generate MSI interrupts from End Point to Root Complex over
> PCI . But the vice-versa is not possible . However i need a method to
> interrupt the End Point from the Root Complex to complete my driver.

Root complex's would normally interrupt a device via a PCIe write
to a register in a BAR on the end-point (or in extended configuration
space registers depending on the hardware implementation).

> Only previous references I can find are this post
> http://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg25765.html
> However this uses doorbells and I think may not be possible in MPC8640.

PCIe drivers need some way to interrupt the processor, so there must
be an option somewhere ... for example, what are the message register
interrupts intended for? See p479

http://cache.freescale.com/files/32bit/doc/ref_manual/MPC8641DRM.pdf

(Ira and myself have not used the MPC8640 so are not familiar with
its user manual).

> Any pointers on this issue and guidance on this driver development would
> be helpful .

We use the Ethernet-over-PCI driver that Ira developed. Our next boards
will use an MPC8308, but we don't currently have any in a PCIe device
form-factor (just the MPC8038RDB), so he has not ported it to PCIe.

Feel free to discuss your ideas for your PCIe driver (eg., why start
with rionet rather than Ira's driver), either on-list, or email Ira
and myself directly.

Cheers,
Dave

  parent reply	other threads:[~2013-08-22 21:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-22 15:34 Ethernet over PCIe driver for Inter-Processor Communication Saravanan S
2013-08-22 21:38 ` Scott Wood
2013-08-22 21:43 ` David Hawkins [this message]
2013-08-22 22:29   ` Ira W. Snyder
2013-08-25 15:20     ` Saravanan S
2013-08-25 22:38       ` David Hawkins
2013-08-30 17:37         ` Saravanan S
2013-08-30 18:06           ` David Hawkins
2013-09-04 18:34             ` Saravanan S
2013-09-04 19:28               ` David Hawkins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5216860A.6060409@ovro.caltech.edu \
    --to=dwh@ovro$(echo .)caltech.edu \
    --cc=iws@ovro$(echo .)caltech.edu \
    --cc=linuxppc-dev@lists$(echo .)ozlabs.org \
    --cc=sarans1987@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox