From: Grant Likely <grant.likely@secretlab.ca>
To: Sergey Temerkhanov <temerkhanov@cifronik.ru>,
"Steven J. Magnani" <steve@digidescorp.com>,
microblaze-uclinux@itee.uq.edu.au,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] [RFC] Xilinx MPMC SDMA subsystem
Date: Fri, 26 Mar 2010 17:53:32 -0600 [thread overview]
Message-ID: <fa686aa41003261653j5a9be6e8gbe8f12e19a563cd6@mail.gmail.com> (raw)
In-Reply-To: <201003172118.41559.temerkhanov@cifronik.ru>
I've not got time to review this patch right now, but Sergey and
Steven, you both posted MPMC drivers on the same day; Steven on the
microblaze list and Sergey on the powerpc list. Can you two please
coordinate and figure out how to mork toward a single driver that will
meet both your needs? I don't want to have 2 drivers (3 if you count
the ll_temac driver) in mainline for the same hardware interface.
Thanks,
g.
On Wed, Mar 17, 2010 at 12:18 PM, Sergey Temerkhanov
<temerkhanov@cifronik.ru> wrote:
> This patch adds generic support for Xilinx MPMC SoftDMA channels which ar=
e
> used by, e.g., LLTEMAC and other IP cores (including custom cores). So, t=
he
> implemented functions include only SDMA channels enumeration and control
> (finding device by phandle property, channel reset, initialization of RX/=
TX
> links, enabling/disabling IRQs, =9AIRQ coalescing control and submission =
of
> descriptors (struct sdma_desc).
>
> The users of this subsystem are supposed to get the pointer to the struct
> sdma_device by phandle (using sdma_find_device() function), fill the stru=
ct
> sdma_client with pointers to the callback functions which are called on r=
x/tx
> completion, on error, and when sdma_reset is called by any client and the=
n
> register the client with add_client() (sdma_del_client can be used to
> unregister the struct sdma_client)
>
> Also, some auxiliary functions are provided to check the status of descri=
ptors
> (busy, done, start of packet, end of packet).
>
> The user is also responsible for maintenance of linked descriptors queue,
> proper initialization of their fields, and submission of the descriptors =
list
> to SDMA channel. IRQ acknowledge must be performed by user too (calling
> sdma_[rx|tx]_irq_ack respectively in [rx|tx]_complete callbacks). Also on=
RX
> side user must check the __be32 user[4] fields of descriptors to get the
> information supplied by SDMA channel.
>
> This code uses SDMA channels in "Tail pointer fashion", i.e. the call to
> sdma_[rx|tx]_init is performed only once after reset and then only sdma_[=
rx|
> tx]_submit calls are used to update the pointer to the last descriptor in=
SDMA
> channel.
>
> Simple bus driver for MPMC is also added by this patch.
>
> This code is in production use with our internal LLTEMAC driver implement=
ation
> since 2008 and with a few custom cores drivers since 2009.
>
> This code currently supports only soft MPMCs, i.e., only SDMA channels wi=
th
> memory-mapped registers. In order to support channels with DCR, a few
> modifications are needed.
>
> Any comments and suggestions are appreciated.
>
> Regards, Sergey Temerkhanov, Cifronic ZAO
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
next prev parent reply other threads:[~2010-03-26 23:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-17 18:18 [PATCH] [RFC] Xilinx MPMC SDMA subsystem Sergey Temerkhanov
2010-03-26 23:53 ` Grant Likely [this message]
2010-03-29 15:42 ` Steven J. Magnani
2010-03-29 15:56 ` Grant Likely
2010-03-29 19:04 ` Sergey Temerkhanov
2010-03-29 20:20 ` Grant Likely
2010-04-20 16:29 ` Steven J. Magnani
2010-04-27 16:09 ` Sergey Temerkhanov
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=fa686aa41003261653j5a9be6e8gbe8f12e19a563cd6@mail.gmail.com \
--to=grant.likely@secretlab.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=microblaze-uclinux@itee.uq.edu.au \
--cc=steve@digidescorp.com \
--cc=temerkhanov@cifronik.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).