alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Takashi Iwai <tiwai@suse.com>
Cc: alsa-devel@alsa-project.org, Lars-Peter Clausen <lars@metafoo.de>
Subject: [PATCH 09/18] ALSA: hda: Use DIV_ROUND_UP()/roundup() instead of open-coding it
Date: Wed, 23 Dec 2020 18:22:20 +0100	[thread overview]
Message-ID: <20201223172229.781-9-lars@metafoo.de> (raw)
In-Reply-To: <20201223172229.781-1-lars@metafoo.de>

Use DIV_ROUND_UP() and roundup() instead of open-coding them. This
documents intent and makes it more clear what is going on for the casual
reviewer.

Generated using the following the Coccinelle semantic patch.

// <smpl>
@@
expression x, y;
@@
-((((x) + (y) - 1) / (y)) * y)
+roundup(x, y)

@r1@
expression x;
constant C1;
constant C2;
@@
 (x + C1) / C2

@script:python@
C1 << r1.C1;
C2 << r1.C2;
@@
print C1, C2
try:
	if int(C1) != int(C2) - 1:
		cocci.include_match(False)
except:
	cocci.include_match(False)

@@
expression r1.x;
constant r1.C1;
constant r1.C2;
@@
-(((x) + C1) / C2)
+DIV_ROUND_UP(x, C2)
// </smpl>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 sound/hda/hdac_stream.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c
index abe7a1b16fe1..a6ed3dc35f7e 100644
--- a/sound/hda/hdac_stream.c
+++ b/sound/hda/hdac_stream.c
@@ -435,12 +435,11 @@ int snd_hdac_stream_setup_periods(struct hdac_stream *azx_dev)
 	pos_adj = bus->bdl_pos_adj;
 	if (!azx_dev->no_period_wakeup && pos_adj > 0) {
 		pos_align = pos_adj;
-		pos_adj = (pos_adj * runtime->rate + 47999) / 48000;
+		pos_adj = DIV_ROUND_UP(pos_adj * runtime->rate, 48000);
 		if (!pos_adj)
 			pos_adj = pos_align;
 		else
-			pos_adj = ((pos_adj + pos_align - 1) / pos_align) *
-				pos_align;
+			pos_adj = roundup(pos_adj, pos_align);
 		pos_adj = frames_to_bytes(runtime, pos_adj);
 		if (pos_adj >= period_bytes) {
 			dev_warn(bus->dev, "Too big adjustment %d\n",
-- 
2.20.1


  parent reply	other threads:[~2020-12-23 17:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-23 17:22 [PATCH 01/18] ALSA: core: Use DIV_ROUND_UP() instead of open-coding it Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 02/18] ALSA: aloop: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 03/18] ALSA: asihpi: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 04/18] ALSA: bt87x: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 05/18] ALSA: cx46xx: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 06/18] ALSA: ctxfi: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 07/18] ALSA: dummy: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 08/18] ALSA: emu10k1: " Lars-Peter Clausen
2020-12-23 17:22 ` Lars-Peter Clausen [this message]
2020-12-23 17:22 ` [PATCH 10/18] ALSA: lola: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 11/18] ALSA: usb: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 12/18] ALSA: vx: Use roundup() " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 13/18] ALSA: oss: Use DIV_ROUND_CLOSEST() " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 14/18] ALSA: sonicvibes: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 15/18] ALSA: trident: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 16/18] ALSA: ens1370: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 17/18] ALSA: sis7019: " Lars-Peter Clausen
2020-12-23 17:22 ` [PATCH 18/18] ALSA: maestro: " Lars-Peter Clausen
2020-12-25  8:16 ` [PATCH 01/18] ALSA: core: Use DIV_ROUND_UP() " Takashi Iwai

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=20201223172229.781-9-lars@metafoo.de \
    --to=lars@metafoo.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.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).