From: Sudeep Dutt <sudeep.dutt@intel.com>
To: Vinod Koul <vinod.koul@intel.com>
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Dan Williams <dan.j.williams@intel.com>,
linux-kernel@vger.kernel.org, Nikhil Rao <nikhil.rao@intel.com>,
Siva Yerramreddy <yshivakrishna@gmail.com>,
Sudeep Dutt <sudeep.dutt@intel.com>
Subject: Re: [PATCH char-misc-next 11/19] dma: Add support to program MIC x100 status descriptiors
Date: Thu, 20 Aug 2015 10:30:50 -0700 [thread overview]
Message-ID: <1440091850.115234.110.camel@localhost> (raw)
In-Reply-To: <20150820052014.GU13546@localhost>
On Thu, 2015-08-20 at 10:50 +0530, Vinod Koul wrote:
> On Mon, Jul 27, 2015 at 04:58:17PM -0700, Ashutosh Dixit wrote:
> > +/* Program a status descriptor with phys as address and value to be written */
> > +static int mic_dma_do_status_update(struct mic_dma_chan *ch, dma_addr_t phys,
> > + u64 value)
> > +{
> > + int ret = mic_dma_avail_desc_ring_space(ch, 4);
> > +
> > + if (ret < 0)
> > + return ret;
> > + ret = 0;
> ?
> > + mic_dma_prep_status_desc(&ch->desc_ring[ch->head],
> > + value, phys, false);
> > + mic_dma_hw_ring_inc_head(ch);
> > + return ret;
>
> return 0 then?
>
Sounds good. We will change this in the next revision of the patch
series which will be posted after the 4.3 merge window closes.
> > +}
> > +
> > static inline void mic_dma_issue_pending(struct dma_chan *ch)
> > {
> > struct mic_dma_chan *mic_ch = to_mic_dma_chan(ch);
> > @@ -287,9 +310,28 @@ mic_dma_prep_memcpy_lock(struct dma_chan *ch, dma_addr_t dma_dest,
> > return NULL;
> >
> > spin_lock(&mic_ch->prep_lock);
> > + if (len == 8) {
> magic number?
>
The MIC X100 DMA engine requires cache line (64 bytes) aligned
src/dst/len. We use the length of 8 bytes as a special case for
programming the status descriptor since it writes an 8 byte value. We
will use a macro in the next revision of the patch series.
> > + /*
> > + * This is a hack to program status descriptor since
> > + * DMA engine API doesn't have support for this.
> > + */
> what do you mean by programming status descriptor, what do you need to
> program?
>
The MIC X100 DMA engine has a special status descriptor which writes an
8 byte immediate data value to a destination address. It is used to
signal completion of all DMA descriptors prior to the status descriptor.
The DMA engine API does not allow drivers to pass a 8 byte value. We are
allowed to pass a source physical address but we cannot determine the
source value within the DMA driver using that information specifically
with the IOMMU enabled. We have added this workaround so that we can
program this special status update descriptor without making any changes
to the DMA engine API.
Thanks for the review!
Sudeep Dutt
next prev parent reply other threads:[~2015-08-20 17:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-27 23:52 [PATCH char-misc-next 00/19] misc: mic: Enable COSM and remaining SCIF functionality Ashutosh Dixit
2015-07-27 23:53 ` [PATCH char-misc-next 01/19] misc: mic: SCIF poll Ashutosh Dixit
2015-07-27 23:53 ` [PATCH char-misc-next 02/19] misc: mic: Add support for kernel mode SCIF clients Ashutosh Dixit
2015-07-27 23:54 ` [PATCH char-misc-next 03/19] misc: mic: MIC COSM bus Ashutosh Dixit
2015-07-27 23:54 ` [PATCH char-misc-next 04/19] misc: mic: Coprocessor State Management (COSM) driver Ashutosh Dixit
2015-07-27 23:55 ` [PATCH char-misc-next 05/19] misc: mic: COSM SCIF server Ashutosh Dixit
2015-07-27 23:55 ` [PATCH char-misc-next 06/19] misc: mic: COSM client driver Ashutosh Dixit
2015-07-27 23:55 ` [PATCH char-misc-next 07/19] misc: mic: Remove COSM functionality from the MIC host driver Ashutosh Dixit
2015-07-27 23:55 ` [PATCH char-misc-next 08/19] misc: mic: Remove COSM functionality from the MIC card driver Ashutosh Dixit
2015-07-27 23:56 ` [PATCH char-misc-next 09/19] misc: mic: Update MIC host daemon with COSM changes Ashutosh Dixit
2015-07-27 23:57 ` [PATCH char-misc-next 10/19] lib: convert iova.c into a library Ashutosh Dixit
2015-07-28 10:03 ` Joerg Roedel
2015-07-28 10:41 ` Robin Murphy
2015-07-28 14:38 ` David Woodhouse
2015-07-28 17:01 ` Sudeep Dutt
2015-07-28 20:40 ` Andrew Morton
2015-07-31 0:31 ` Ashutosh Dixit
2015-07-27 23:58 ` [PATCH char-misc-next 11/19] dma: Add support to program MIC x100 status descriptiors Ashutosh Dixit
2015-08-20 5:20 ` Vinod Koul
2015-08-20 17:30 ` Sudeep Dutt [this message]
2015-08-21 8:29 ` Vinod Koul
2015-08-21 16:14 ` Sudeep Dutt
2015-07-27 23:59 ` [PATCH char-misc-next 12/19] misc: mic: SCIF RMA header file and IOCTL changes Ashutosh Dixit
2015-07-27 23:59 ` [PATCH char-misc-next 13/19] misc: mic: SCIF RMA header file Ashutosh Dixit
2015-07-27 23:59 ` [PATCH char-misc-next 14/19] misc: mic: SCIF memory registration and unregistration Ashutosh Dixit
2015-07-28 0:00 ` [PATCH char-misc-next 15/19] misc: mic: SCIF RMA list operations Ashutosh Dixit
2015-07-28 0:00 ` [PATCH char-misc-next 16/19] misc: mic: SCIF remote memory map/unmap interface Ashutosh Dixit
2015-07-28 0:00 ` [PATCH char-misc-next 17/19] misc: mic: SCIF DMA and CPU copy interface Ashutosh Dixit
2015-07-28 0:00 ` [PATCH char-misc-next 18/19] misc: mic: SCIF fence Ashutosh Dixit
2015-07-28 0:01 ` [PATCH char-misc-next 19/19] misc: mic: SCIF RMA nodeqp and minor miscellaneous changes Ashutosh Dixit
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=1440091850.115234.110.camel@localhost \
--to=sudeep.dutt@intel.com \
--cc=ashutosh.dixit@intel.com \
--cc=dan.j.williams@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nikhil.rao@intel.com \
--cc=vinod.koul@intel.com \
--cc=yshivakrishna@gmail.com \
/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).