lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ