linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: schowdhu@codeaurora.org
To: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Felipe Balbi <balbi@kernel.org>, Andy Gross <agross@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	devicetree@vger.kernel.org,
	Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>,
	Sibi Sankar <sibis@codeaurora.org>,
	Rajendra Nayak <rnayak@codeaurora.org>,
	vkoul@kernel.org
Subject: Re: [PATCH V3 2/4] soc: qcom: dcc:Add driver support for Data Capture and Compare unit(DCC)
Date: Tue, 20 Apr 2021 12:06:40 +0530	[thread overview]
Message-ID: <f9b28acabea8836b713cab2e0de53542@codeaurora.org> (raw)
In-Reply-To: <20210419143225.GO1538589@yoga>

On 2021-04-19 20:02, Bjorn Andersson wrote:
> On Mon 19 Apr 05:32 CDT 2021, schowdhu@codeaurora.org wrote:
> 
>> On 2021-04-15 12:01, Felipe Balbi wrote:
>> > Hi,
>> >
>> > Souradeep Chowdhury <schowdhu@codeaurora.org> writes:
>> > > diff --git a/drivers/soc/qcom/Makefile b/drivers/soc/qcom/Makefile
>> > > index ad675a6..e7f0ccb 100644
>> > > --- a/drivers/soc/qcom/Makefile
>> > > +++ b/drivers/soc/qcom/Makefile
>> > > @@ -1,19 +1,22 @@
>> > >  # SPDX-License-Identifier: GPL-2.0
>> > >  CFLAGS_rpmh-rsc.o := -I$(src)
>> > >  obj-$(CONFIG_QCOM_AOSS_QMP) +=	qcom_aoss.o
>> > > -obj-$(CONFIG_QCOM_GENI_SE) +=	qcom-geni-se.o
>> > > +obj-$(CONFIG_QCOM_APR) += apr.o
>> > >  obj-$(CONFIG_QCOM_COMMAND_DB) += cmd-db.o
>> > >  obj-$(CONFIG_QCOM_CPR)		+= cpr.o
>> > > +obj-$(CONFIG_QCOM_DCC) += dcc.o
>> > > +obj-$(CONFIG_QCOM_GENI_SE) +=   qcom-geni-se.o
>> > >  obj-$(CONFIG_QCOM_GSBI)	+=	qcom_gsbi.o
>> > > +obj-$(CONFIG_QCOM_KRYO_L2_ACCESSORS) += kryo-l2-accessors.o
>> > > +obj-$(CONFIG_QCOM_LLCC) += llcc-qcom.o
>> > >  obj-$(CONFIG_QCOM_MDT_LOADER)	+= mdt_loader.o
>> > >  obj-$(CONFIG_QCOM_OCMEM)	+= ocmem.o
>> > >  obj-$(CONFIG_QCOM_PDR_HELPERS)	+= pdr_interface.o
>> > >  obj-$(CONFIG_QCOM_QMI_HELPERS)	+= qmi_helpers.o
>> > > -qmi_helpers-y	+= qmi_encdec.o qmi_interface.o
>> > >  obj-$(CONFIG_QCOM_RMTFS_MEM)	+= rmtfs_mem.o
>> > >  obj-$(CONFIG_QCOM_RPMH)		+= qcom_rpmh.o
>> > > -qcom_rpmh-y			+= rpmh-rsc.o
>> > > -qcom_rpmh-y			+= rpmh.o
>> > > +obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o
>> > > +obj-$(CONFIG_QCOM_RPMPD) += rpmpd.o
>> > >  obj-$(CONFIG_QCOM_SMD_RPM)	+= smd-rpm.o
>> > >  obj-$(CONFIG_QCOM_SMEM) +=	smem.o
>> > >  obj-$(CONFIG_QCOM_SMEM_STATE) += smem_state.o
>> > > @@ -21,8 +24,6 @@ obj-$(CONFIG_QCOM_SMP2P)	+= smp2p.o
>> > >  obj-$(CONFIG_QCOM_SMSM)	+= smsm.o
>> > >  obj-$(CONFIG_QCOM_SOCINFO)	+= socinfo.o
>> > >  obj-$(CONFIG_QCOM_WCNSS_CTRL) += wcnss_ctrl.o
>> > > -obj-$(CONFIG_QCOM_APR) += apr.o
>> > > -obj-$(CONFIG_QCOM_LLCC) += llcc-qcom.o
>> > > -obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o
>> > > -obj-$(CONFIG_QCOM_RPMPD) += rpmpd.o
>> > > -obj-$(CONFIG_QCOM_KRYO_L2_ACCESSORS) +=	kryo-l2-accessors.o
>> > > +qmi_helpers-y   += qmi_encdec.o qmi_interface.o
>> > > +qcom_rpmh-y                     += rpmh-rsc.o
>> > > +qcom_rpmh-y                     += rpmh.o
>> >
>> > why so many changes?
>> 
>> This has been accidentally sorted based on the config names. Will be 
>> fixing
>> this in next version of the patch.
>> 
>> >
>> > > diff --git a/drivers/soc/qcom/dcc.c b/drivers/soc/qcom/dcc.c
>> > > new file mode 100644
>> > > index 0000000..fcd5580
>> > > --- /dev/null
>> > > +++ b/drivers/soc/qcom/dcc.c
>> > > @@ -0,0 +1,1539 @@
>> > > +// SPDX-License-Identifier: GPL-2.0-only
>> > > +/*
>> > > + * Copyright (c) 2015-2021, The Linux Foundation. All rights
>> > > reserved.
>> > > + */
>> > > +
>> > > +#include <linux/bitfield.h>
>> > > +#include <linux/bitops.h>
>> > > +#include <linux/cdev.h>
>> > > +#include <linux/delay.h>
>> > > +#include <linux/fs.h>
>> > > +#include <linux/io.h>
>> > > +#include <linux/iopoll.h>
>> > > +#include <linux/module.h>
>> > > +#include <linux/of.h>
>> > > +#include <linux/of_device.h>
>> > > +#include <linux/platform_device.h>
>> > > +#include <linux/slab.h>
>> > > +#include <linux/uaccess.h>
>> > > +
>> > > +
>> >
>> > one blank line is enough
>> 
>> Ack
>> 
>> >
>> > > +#define TIMEOUT_US		100
>> > > +
>> > > +#define dcc_writel(drvdata, val, off)					\
>> > > +	writel((val), drvdata->base + dcc_offset_conv(drvdata, off))
>> > > +#define dcc_readl(drvdata, off)						\
>> > > +	readl(drvdata->base + dcc_offset_conv(drvdata, off))
>> > > +
>> > > +#define dcc_sram_readl(drvdata, off)					\
>> > > +	readl(drvdata->ram_base + off)
>> >
>> > this would be probably be better as static inlines.
>> 
>> These are simple read and write operations used in the driver
>> which just calls the generic writel and readl function.
>> That's why macros have been used here to lesson the overhead
>> of an extra function call.
> 
> The compiler will realize that your static dcc_sram_readl() is cheaper
> to inline than call and do so for you. So you can expect that there's 
> no
> difference in the output from the compiler, and if there is then the
> compiler knows something that you're overlooking.

Ack. Will go for static inline here.

> 
> Regards,
> Bjorn

  reply	other threads:[~2021-04-20  6:36 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-14  8:32 [PATCH V3 0/4] Add driver support for Data Capture and Compare Engine(DCC) for SM8150 Souradeep Chowdhury
2021-04-14  8:32 ` [PATCH V3 1/4] dt-bindings: Added the yaml bindings for DCC Souradeep Chowdhury
2021-04-14  8:32 ` [PATCH V3 2/4] soc: qcom: dcc:Add driver support for Data Capture and Compare unit(DCC) Souradeep Chowdhury
2021-04-15  6:31   ` Felipe Balbi
2021-04-19 10:32     ` schowdhu
2021-04-19 14:32       ` Bjorn Andersson
2021-04-20  6:36         ` schowdhu [this message]
2021-04-14  8:32 ` [PATCH V3 3/4] MAINTAINERS: Add the entry for DCC(Data Capture and Compare) driver support Souradeep Chowdhury
2021-04-14  8:32 ` [PATCH V3 4/4] arm64: dts: qcom: sm8150: Add Data Capture and Compare(DCC) support node Souradeep Chowdhury

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=f9b28acabea8836b713cab2e0de53542@codeaurora.org \
    --to=schowdhu@codeaurora.org \
    --cc=agross@kernel.org \
    --cc=balbi@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rnayak@codeaurora.org \
    --cc=robh+dt@kernel.org \
    --cc=saiprakash.ranjan@codeaurora.org \
    --cc=sibis@codeaurora.org \
    --cc=vkoul@kernel.org \
    /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).