From: Vinod Koul <vinod.koul@intel.com>
To: Hyun Kwon <hyunk@xilinx.com>
Cc: "dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Michal Simek <michal.simek@xilinx.com>,
Tejas Upadhyay <TEJASU@xilinx.com>
Subject: [2/2] dma: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver
Date: Wed, 24 Jan 2018 20:10:59 +0530 [thread overview]
Message-ID: <20180124144059.GI18649@localhost> (raw)
On Tue, Jan 23, 2018 at 05:03:19PM +0000, Hyun Kwon wrote:
> > why should this be a compile option
> >
>
> This debugfs code is for testing / regression, and we don't want to enable it
> for regular users.
Right and that is why you have CONFIG_DEBUGFS, why not use that?
> > do you need all these headers?
> >
>
> I directly included all headers that are used in this driver. Some of them can
> be removed from indirect inclusions, and I'm fine with that. Please let me know
> if that's your preference.
Yes pls remove the ones that are needed
> > > +#define XILINX_DPDMA_INTR_DESC_DONE_SHIFT 0
> >
> > you can define a common shift using ffs
> >
>
> I guess you mean to replace, (value & MASK) << SHIFT, with
> (value & MASK) << ffs(MASK). I'll change to that way. Let me know otherwise.
yes and you may use the ones in bitfield.h
> > what does it mean (lower 32 bit of Nth 4KB page)
> >
>
> Each descriptor can point up to 5 - 48bit address payloads. src_addr* fields
> contain lower 32bit of 48bit address. Remaining upper 16bit is programmed in
> addr_ext* fields.
pls document this
> > > +static int xilinx_dpdma_config(struct dma_chan *dchan,
> > > + struct dma_slave_config *config)
> > > +{
> > > + if (config->direction != DMA_MEM_TO_DEV)
> > > + return -EINVAL;
> >
> > ?? Why are the config values not used, how else do you configure the
> > channel?
> >
>
> There's not much configuration to be done. Channels are pretty much identical
> with fixed configurations.
hmmm, you do support DMA_SLAVE right?
> > why have these wrappers which do not do anything?
> >
>
> It's just my personal preference to split into different code partitions, and
> each section is partitioned / grouped with some comment line. :-)
> Ex, a partition for struct dma_chan, and another one for
> struct xilinx_dpdma_chan. It gives me sort of abstracted view. But it may be
> just me, and it comes with extra indirections. I'll remove unnecessary wrappers.
wrapper without any logic dont help
> > > + for (i = 0; i < XILINX_DPDMA_NUM_CHAN; i++)
> > > + if (xdev->chan[i])
> > > + xilinx_dpdma_chan_remove(xdev->chan[i]);
> >
> > At this point your irq is still enabled and can fire, and can schedule
> > tasklet.. Are you sure you are okay with that?
> >
>
> Ok. You mean that an interrupt can occur right before
> xilinx_dpdma_disable_intr(), and the interrupt may be handled in the middle or
> after removing this driver. I'll switch to request_irq() from
> devm_request_irq(), and remove the irq when removing the driver.
yes and ensure tasklets are quiesced
> > > +MODULE_AUTHOR("Xilinx, Inc.");
> > > +MODULE_DESCRIPTION("Xilinx DPDMA driver");
> > > +MODULE_LICENSE("GPL v2");
> >
> > No MODULE_ALIAS()?
>
> Is it required? Could you please elaborate, to help my understanding?
did you try builing as modules and testing this?
next reply other threads:[~2018-01-24 14:40 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-24 14:40 Vinod Koul [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-01-29 4:19 [2/2] dma: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver Vinod Koul
2018-01-24 17:45 Hyun Kwon
2018-01-23 17:03 Hyun Kwon
2018-01-12 14:13 Vinod Koul
2018-01-06 2:14 Hyun Kwon
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=20180124144059.GI18649@localhost \
--to=vinod.koul@intel.com \
--cc=TEJASU@xilinx.com \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=hyunk@xilinx.com \
--cc=michal.simek@xilinx.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).