Re: [alsa-devel] [PATCH 15/27] ALSA: hda - Use timecounter_initialize interface

From: Takashi Iwai
Date: Fri Dec 15 2017 - 06:10:55 EST


On Fri, 15 Dec 2017 08:38:30 +0100,
Sagar Arun Kamble wrote:
>
> With new interface timecounter_initialize we can initialize timecounter
> fields and underlying cyclecounter together. Update azx timecounter
> init with this new function.
>
> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx>
> Cc: Richard Cochran <richardcochran@xxxxxxxxx>
> Cc: Jaroslav Kysela <perex@xxxxxxxx>
> Cc: Takashi Iwai <tiwai@xxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Vinod Koul <vinod.koul@xxxxxxxxx>
> Cc: alsa-devel@xxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> sound/hda/hdac_stream.c | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c
> index 9426c1a..ad91dde 100644
> --- a/sound/hda/hdac_stream.c
> +++ b/sound/hda/hdac_stream.c
> @@ -477,12 +477,8 @@ static void azx_timecounter_init(struct hdac_stream *azx_dev,
> bool force, u64 last)
> {
> struct timecounter *tc = &azx_dev->tc;
> - struct cyclecounter *cc = &azx_dev->tc.cc;
> u64 nsec;
>
> - cc->read = azx_cc_read;
> - cc->mask = CLOCKSOURCE_MASK(32);
> -
> /*
> * Converting from 24 MHz to ns means applying a 125/3 factor.
> * To avoid any saturation issues in intermediate operations,
> @@ -493,11 +489,13 @@ static void azx_timecounter_init(struct hdac_stream *azx_dev,
> * overflows occur after about 4 hours or less, not a option.
> */
>
> - cc->mult = 125; /* saturation after 195 years */
> - cc->shift = 0;
> -
> nsec = 0; /* audio time is elapsed time since trigger */
> - timecounter_init(tc, nsec);
> + timecounter_initialize(tc,
> + azx_cc_read,
> + CLOCKSOURCE_MASK(32),
> + 125, /* saturation after 195 years */
> + 0,
> + nsec);

Hmm, a function with so many arguments is difficult to remember and is
often error-prone. By this transition, it becomes harder to read
through.


thanks,

Takashi