From: Vinod Koul <vinod.koul@intel.com>
To: Tomasz Figa <tomasz.figa@gmail.com>
Cc: alsa-devel@alsa-project.org, "Heiko Stübner" <heiko@sntech.de>,
"Padmavathi Venna" <padma.v@samsung.com>,
"Takashi Iwai" <tiwai@suse.de>,
"Linus Walleij" <linus.walleij@linaro.org>,
linux-kernel@vger.kernel.org,
"Giancarlo Asnaghi" <giancarlo.asnaghi@st.com>,
"Kukjin Kim" <kgene.kim@samsung.com>,
"Russell King - ARM Linux" <linux@arm.linux.org.uk>,
"Thomas Abraham" <thomas.abraham@linaro.org>,
"Grant Likely" <grant.likely@linaro.org>,
"Alessandro Rubini" <rubini@gnudd.com>,
"Arnd Bergmann" <arnd@arndb.de>,
linux-samsung-soc@vger.kernel.org,
"Sylwester Nawrocki" <sylvester.nawrocki@gmail.com>,
linux-arm-kernel@lists.infradead.org,
"Sangbeom Kim" <sbkim73@samsung.com>,
"Liam Girdwood" <lgirdwood@gmail.com>,
linux-spi@vger.kernel.org, "Mark Brown" <broonie@kernel.org>,
"Dan Williams" <djbw@fb.com>, "Olof Johansson" <olof@lixom.net>,
"Alban Bedel" <alban.bedel@avionic-design.de>
Subject: Re: [RFC PATCH v2 01/12] dmaengine: PL08x: Refactor pl08x_getbytes_chan() to lower indentation
Date: Tue, 25 Jun 2013 20:46:12 +0530 [thread overview]
Message-ID: <20130625151612.GO23141@intel.com> (raw)
In-Reply-To: <1371933764-24875-2-git-send-email-tomasz.figa@gmail.com>
On Sat, Jun 22, 2013 at 10:42:33PM +0200, Tomasz Figa wrote:
> Further patch will introduce support for PL080S, which requires some
> things to be done conditionally, thus increasing indentation level of
> some functions even more.
>
> This patch reduces indentation level of pl08x_getbytes_chan() function
> by inverting several conditions and returning from function wherever
> possible.
>
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> ---
> drivers/dma/amba-pl08x.c | 53 ++++++++++++++++++++++++++----------------------
> 1 file changed, 29 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
> index 06fe45c..6a12392 100644
> --- a/drivers/dma/amba-pl08x.c
> +++ b/drivers/dma/amba-pl08x.c
> @@ -469,47 +469,52 @@ static inline u32 get_bytes_in_cctl(u32 cctl)
> /* The channel should be paused when calling this */
> static u32 pl08x_getbytes_chan(struct pl08x_dma_chan *plchan)
> {
> + struct pl08x_lli *llis_va;
> struct pl08x_phy_chan *ch;
> + dma_addr_t llis_bus;
> struct pl08x_txd *txd;
> - size_t bytes = 0;
> + size_t bytes;
> + int index;
> + u32 clli;
>
> ch = plchan->phychan;
> txd = plchan->at;
>
> + if (!ch || !txd)
> + return 0;
shouldnt this be err return
> +
> /*
> * Follow the LLIs to get the number of remaining
> * bytes in the currently active transaction.
> */
> - if (ch && txd) {
> - u32 clli = readl(ch->base + PL080_CH_LLI) & ~PL080_LLI_LM_AHB2;
> + clli = readl(ch->base + PL080_CH_LLI) & ~PL080_LLI_LM_AHB2;
>
> - /* First get the remaining bytes in the active transfer */
> - bytes = get_bytes_in_cctl(readl(ch->base + PL080_CH_CONTROL));
> + /* First get the remaining bytes in the active transfer */
> + bytes = get_bytes_in_cctl(readl(ch->base + PL080_CH_CONTROL));
>
> - if (clli) {
> - struct pl08x_lli *llis_va = txd->llis_va;
> - dma_addr_t llis_bus = txd->llis_bus;
> - int index;
> + if (!clli)
> + return bytes;
>
> - BUG_ON(clli < llis_bus || clli >= llis_bus +
> + llis_va = txd->llis_va;
> + llis_bus = txd->llis_bus;
> +
> + BUG_ON(clli < llis_bus || clli >= llis_bus +
> sizeof(struct pl08x_lli) * MAX_NUM_TSFR_LLIS);
IMO BUG_ON is too much for this. Perhaps returning error and logging error would
be okay
--
~Vinod
WARNING: multiple messages have this Message-ID (diff)
From: vinod.koul@intel.com (Vinod Koul)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2 01/12] dmaengine: PL08x: Refactor pl08x_getbytes_chan() to lower indentation
Date: Tue, 25 Jun 2013 20:46:12 +0530 [thread overview]
Message-ID: <20130625151612.GO23141@intel.com> (raw)
In-Reply-To: <1371933764-24875-2-git-send-email-tomasz.figa@gmail.com>
On Sat, Jun 22, 2013 at 10:42:33PM +0200, Tomasz Figa wrote:
> Further patch will introduce support for PL080S, which requires some
> things to be done conditionally, thus increasing indentation level of
> some functions even more.
>
> This patch reduces indentation level of pl08x_getbytes_chan() function
> by inverting several conditions and returning from function wherever
> possible.
>
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> ---
> drivers/dma/amba-pl08x.c | 53 ++++++++++++++++++++++++++----------------------
> 1 file changed, 29 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
> index 06fe45c..6a12392 100644
> --- a/drivers/dma/amba-pl08x.c
> +++ b/drivers/dma/amba-pl08x.c
> @@ -469,47 +469,52 @@ static inline u32 get_bytes_in_cctl(u32 cctl)
> /* The channel should be paused when calling this */
> static u32 pl08x_getbytes_chan(struct pl08x_dma_chan *plchan)
> {
> + struct pl08x_lli *llis_va;
> struct pl08x_phy_chan *ch;
> + dma_addr_t llis_bus;
> struct pl08x_txd *txd;
> - size_t bytes = 0;
> + size_t bytes;
> + int index;
> + u32 clli;
>
> ch = plchan->phychan;
> txd = plchan->at;
>
> + if (!ch || !txd)
> + return 0;
shouldnt this be err return
> +
> /*
> * Follow the LLIs to get the number of remaining
> * bytes in the currently active transaction.
> */
> - if (ch && txd) {
> - u32 clli = readl(ch->base + PL080_CH_LLI) & ~PL080_LLI_LM_AHB2;
> + clli = readl(ch->base + PL080_CH_LLI) & ~PL080_LLI_LM_AHB2;
>
> - /* First get the remaining bytes in the active transfer */
> - bytes = get_bytes_in_cctl(readl(ch->base + PL080_CH_CONTROL));
> + /* First get the remaining bytes in the active transfer */
> + bytes = get_bytes_in_cctl(readl(ch->base + PL080_CH_CONTROL));
>
> - if (clli) {
> - struct pl08x_lli *llis_va = txd->llis_va;
> - dma_addr_t llis_bus = txd->llis_bus;
> - int index;
> + if (!clli)
> + return bytes;
>
> - BUG_ON(clli < llis_bus || clli >= llis_bus +
> + llis_va = txd->llis_va;
> + llis_bus = txd->llis_bus;
> +
> + BUG_ON(clli < llis_bus || clli >= llis_bus +
> sizeof(struct pl08x_lli) * MAX_NUM_TSFR_LLIS);
IMO BUG_ON is too much for this. Perhaps returning error and logging error would
be okay
--
~Vinod
WARNING: multiple messages have this Message-ID (diff)
From: Vinod Koul <vinod.koul@intel.com>
To: Tomasz Figa <tomasz.figa@gmail.com>
Cc: linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org,
alsa-devel@alsa-project.org, "Kukjin Kim" <kgene.kim@samsung.com>,
"Dan Williams" <djbw@fb.com>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Alessandro Rubini" <rubini@gnudd.com>,
"Giancarlo Asnaghi" <giancarlo.asnaghi@st.com>,
"Mark Brown" <broonie@kernel.org>,
"Grant Likely" <grant.likely@linaro.org>,
"Sangbeom Kim" <sbkim73@samsung.com>,
"Liam Girdwood" <lgirdwood@gmail.com>,
"Jaroslav Kysela" <perex@perex.cz>,
"Takashi Iwai" <tiwai@suse.de>,
"Padmavathi Venna" <padma.v@samsung.com>,
"Thomas Abraham" <thomas.abraham@linaro.org>,
"Arnd Bergmann" <arnd@arndb.de>,
"Olof Johansson" <olof@lixom.net>,
"Heiko Stübner" <heiko@sntech.de>,
"Sylwester Nawrocki" <sylvester.nawrocki@gmail.com>,
"Russell King - ARM Linux" <linux@arm.linux.org.uk>,
"Alban Bedel" <alban.bedel@avionic-design.de>
Subject: Re: [RFC PATCH v2 01/12] dmaengine: PL08x: Refactor pl08x_getbytes_chan() to lower indentation
Date: Tue, 25 Jun 2013 20:46:12 +0530 [thread overview]
Message-ID: <20130625151612.GO23141@intel.com> (raw)
In-Reply-To: <1371933764-24875-2-git-send-email-tomasz.figa@gmail.com>
On Sat, Jun 22, 2013 at 10:42:33PM +0200, Tomasz Figa wrote:
> Further patch will introduce support for PL080S, which requires some
> things to be done conditionally, thus increasing indentation level of
> some functions even more.
>
> This patch reduces indentation level of pl08x_getbytes_chan() function
> by inverting several conditions and returning from function wherever
> possible.
>
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> ---
> drivers/dma/amba-pl08x.c | 53 ++++++++++++++++++++++++++----------------------
> 1 file changed, 29 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
> index 06fe45c..6a12392 100644
> --- a/drivers/dma/amba-pl08x.c
> +++ b/drivers/dma/amba-pl08x.c
> @@ -469,47 +469,52 @@ static inline u32 get_bytes_in_cctl(u32 cctl)
> /* The channel should be paused when calling this */
> static u32 pl08x_getbytes_chan(struct pl08x_dma_chan *plchan)
> {
> + struct pl08x_lli *llis_va;
> struct pl08x_phy_chan *ch;
> + dma_addr_t llis_bus;
> struct pl08x_txd *txd;
> - size_t bytes = 0;
> + size_t bytes;
> + int index;
> + u32 clli;
>
> ch = plchan->phychan;
> txd = plchan->at;
>
> + if (!ch || !txd)
> + return 0;
shouldnt this be err return
> +
> /*
> * Follow the LLIs to get the number of remaining
> * bytes in the currently active transaction.
> */
> - if (ch && txd) {
> - u32 clli = readl(ch->base + PL080_CH_LLI) & ~PL080_LLI_LM_AHB2;
> + clli = readl(ch->base + PL080_CH_LLI) & ~PL080_LLI_LM_AHB2;
>
> - /* First get the remaining bytes in the active transfer */
> - bytes = get_bytes_in_cctl(readl(ch->base + PL080_CH_CONTROL));
> + /* First get the remaining bytes in the active transfer */
> + bytes = get_bytes_in_cctl(readl(ch->base + PL080_CH_CONTROL));
>
> - if (clli) {
> - struct pl08x_lli *llis_va = txd->llis_va;
> - dma_addr_t llis_bus = txd->llis_bus;
> - int index;
> + if (!clli)
> + return bytes;
>
> - BUG_ON(clli < llis_bus || clli >= llis_bus +
> + llis_va = txd->llis_va;
> + llis_bus = txd->llis_bus;
> +
> + BUG_ON(clli < llis_bus || clli >= llis_bus +
> sizeof(struct pl08x_lli) * MAX_NUM_TSFR_LLIS);
IMO BUG_ON is too much for this. Perhaps returning error and logging error would
be okay
--
~Vinod
next prev parent reply other threads:[~2013-06-25 15:56 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-22 20:42 [RFC PATCH v2 00/12] ARM: s3c64xx: Let amba-pl08x driver handle DMA Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` [RFC PATCH v2 01/12] dmaengine: PL08x: Refactor pl08x_getbytes_chan() to lower indentation Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-24 22:09 ` Linus Walleij
2013-06-24 22:09 ` Linus Walleij
2013-06-25 15:16 ` Vinod Koul [this message]
2013-06-25 15:16 ` Vinod Koul
2013-06-25 15:16 ` Vinod Koul
2013-06-25 18:30 ` Russell King - ARM Linux
2013-06-25 18:30 ` Russell King - ARM Linux
2013-06-25 18:30 ` Russell King - ARM Linux
2013-06-22 20:42 ` [RFC PATCH v2 02/12] dmaengine: PL08x: Add support for different offset of CONFIG register Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-24 22:11 ` Linus Walleij
2013-06-24 22:11 ` Linus Walleij
2013-06-25 15:34 ` Vinod Koul
2013-06-25 15:34 ` Vinod Koul
2013-06-25 15:34 ` Vinod Koul
2013-06-22 20:42 ` [RFC PATCH v2 03/12] dmaengine: PL08x: Rework LLI handling to be less fragile Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-24 22:23 ` Linus Walleij
2013-06-24 22:23 ` Linus Walleij
2013-06-26 22:04 ` Tomasz Figa
2013-06-26 22:04 ` Tomasz Figa
2013-06-27 9:31 ` Linus Walleij
2013-06-27 9:31 ` Linus Walleij
2013-06-22 20:42 ` [RFC PATCH v2 04/12] dmaengine: PL08x: Add support for PL080S variant Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-24 22:26 ` Linus Walleij
2013-06-24 22:26 ` Linus Walleij
2013-06-22 20:42 ` [RFC PATCH v2 05/12] dmaengine: PL08x: Add support for different maximum transfer size Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-24 22:27 ` Linus Walleij
2013-06-24 22:27 ` Linus Walleij
2013-06-25 16:10 ` Vinod Koul
2013-06-25 16:10 ` Vinod Koul
2013-06-25 16:10 ` Vinod Koul
2013-06-22 20:42 ` [RFC PATCH v2 06/12] dmaengine: PL08x: Fix reading the byte count in cctl Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-24 22:28 ` Linus Walleij
2013-06-24 22:28 ` Linus Walleij
2013-06-22 20:42 ` [RFC PATCH v2 07/12] dmaengine: PL08x: Add cyclic transfer support Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-24 22:33 ` Linus Walleij
2013-06-24 22:33 ` Linus Walleij
2013-06-22 20:42 ` [RFC PATCH v2 08/12] ASoC: Samsung: Do not queue cyclic buffers multiple times Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-24 22:35 ` Linus Walleij
2013-06-24 22:35 ` Linus Walleij
2013-06-22 20:42 ` [RFC PATCH v2 09/12] clk: samsung: s3c64xx: Add aliases for DMA clocks Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-24 22:38 ` Linus Walleij
2013-06-24 22:38 ` Linus Walleij
2013-06-25 5:30 ` Tomasz Figa
2013-06-25 5:30 ` Tomasz Figa
2013-06-22 20:42 ` [RFC PATCH v2 10/12] spi: s3c64xx: Do not require legacy DMA API in case of S3C64XX Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` [RFC PATCH v2 11/12] ASoC: Samsung: " Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` [RFC PATCH v2 12/12] ARM: s3c64xx: Add support for DMA using generic amba-pl08x driver Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-22 20:42 ` Tomasz Figa
2013-06-25 10:28 ` [RFC PATCH v2 00/12] ARM: s3c64xx: Let amba-pl08x driver handle DMA Mark Brown
2013-06-25 10:28 ` Mark Brown
2013-06-25 10:28 ` Mark Brown
2013-06-25 11:22 ` Tomasz Figa
2013-06-25 11:22 ` Tomasz Figa
2013-06-25 11:22 ` Tomasz Figa
2013-06-25 15:38 ` Mark Brown
2013-06-25 15:38 ` Mark Brown
2013-06-25 15:38 ` Mark Brown
2013-06-25 15:44 ` Tomasz Figa
2013-06-25 15:44 ` Tomasz Figa
2013-06-25 15:44 ` Tomasz Figa
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=20130625151612.GO23141@intel.com \
--to=vinod.koul@intel.com \
--cc=alban.bedel@avionic-design.de \
--cc=alsa-devel@alsa-project.org \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=djbw@fb.com \
--cc=giancarlo.asnaghi@st.com \
--cc=grant.likely@linaro.org \
--cc=heiko@sntech.de \
--cc=kgene.kim@samsung.com \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=olof@lixom.net \
--cc=padma.v@samsung.com \
--cc=rubini@gnudd.com \
--cc=sbkim73@samsung.com \
--cc=sylvester.nawrocki@gmail.com \
--cc=thomas.abraham@linaro.org \
--cc=tiwai@suse.de \
--cc=tomasz.figa@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.