[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200918183919.GQ3411@earth.li>
Date: Fri, 18 Sep 2020 19:39:19 +0100
From: Jonathan McDowell <noodles@...th.li>
To: Vinod Koul <vkoul@...nel.org>
Cc: Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Dan Williams <dan.j.williams@...el.com>,
Philipp Zabel <p.zabel@...gutronix.de>,
Thomas Pedersen <twp@...eaurora.org>,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
dmaengine@...r.kernel.org
Subject: Re: [PATCH] dmaengine: qcom: Add ADM driver
On Fri, Sep 18, 2020 at 05:04:43PM +0530, Vinod Koul wrote:
> Hello Jonathan
>
> On 16-09-20, 07:43, Jonathan McDowell wrote:
> > From: Andy Gross <agross@...eaurora.org>
> >
> > (I'm not sure how best to attribute this. It's originally from Andy
> > Gross, the version I picked up was a later version from Thomas Pedersen,
> > and I can't find clear indication of why the latest version wasn't
> > applied. The device tree details were added back in September 2014. The
> > driver is the missing piece in mainline for IPQ8064 NAND support and
> > I've been using it successfully with my RB3011 device on 5.8+)
>
> Yeah not sure why the driver was missed :(
> Btw this note is helpful but not great for log, you should add it after
> sob lines.
Noted, I'll move it for v2.
> > diff --git a/drivers/dma/qcom/Kconfig b/drivers/dma/qcom/Kconfig
> > index 3bcb689162c6..75ee112ccea9 100644
> > --- a/drivers/dma/qcom/Kconfig
> > +++ b/drivers/dma/qcom/Kconfig
> > @@ -28,3 +28,13 @@ config QCOM_HIDMA
> > (user to kernel, kernel to kernel, etc.). It only supports
> > memcpy interface. The core is not intended for general
> > purpose slave DMA.
> > +
> > +config QCOM_ADM
>
> alphabetical sort please
Ok.
> > + tristate "Qualcomm ADM support"
> > + depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM)
>
> Why COMPILE_TEST && OF? just COMPILE_TEST should be fine
Turns out (ARCH_QCOM || COMPILE_TEST) && !64BIT is sufficient.
> > + select DMA_ENGINE
> > + select DMA_VIRTUAL_CHANNELS
> > + ---help---
> > + Enable support for the Qualcomm ADM DMA controller. This controller
> > + provides DMA capabilities for both general purpose and on-chip
> > + peripheral devices.
> > diff --git a/drivers/dma/qcom/Makefile b/drivers/dma/qcom/Makefile
> > index 1ae92da88b0c..98a021fc6fe5 100644
> > --- a/drivers/dma/qcom/Makefile
> > +++ b/drivers/dma/qcom/Makefile
> > @@ -4,3 +4,4 @@ obj-$(CONFIG_QCOM_HIDMA_MGMT) += hdma_mgmt.o
> > hdma_mgmt-objs := hidma_mgmt.o hidma_mgmt_sys.o
> > obj-$(CONFIG_QCOM_HIDMA) += hdma.o
> > hdma-objs := hidma_ll.o hidma.o hidma_dbg.o
> > +obj-$(CONFIG_QCOM_ADM) += qcom_adm.o
>
> alphabetical sort please
Ok.
> > +/* channel conf */
> > +#define ADM_CH_CONF_SHADOW_EN BIT(12)
> > +#define ADM_CH_CONF_MPU_DISABLE BIT(11)
> > +#define ADM_CH_CONF_PERM_MPU_CONF BIT(9)
> > +#define ADM_CH_CONF_FORCE_RSLT_EN BIT(7)
> > +#define ADM_CH_CONF_SEC_DOMAIN(ee) (((ee & 0x3) << 4) | ((ee & 0x4) << 11))
>
> USE FIELD_PREP for this?
I can't see a way to neatly use FIELD_PREP for a split field; am I
missing something?
(other pieces fixed up for v2 as well; I'd run checkpatch but not with
--strict. Will post once I've actually tested it.)
J.
--
Minorities are the foundation of | .''`. Debian GNU/Linux Developer
society. | : :' : Happy to accept PGP signed
| `. `' or encrypted mail - RSA
| `- key on the keyservers.
Powered by blists - more mailing lists