All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Beer <daniel.beer@igorinstitute.com>
To: Mark Brown <broonie@kernel.org>
Cc: Andy Liu <andy-liu@ti.com>,
	alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/2] ASoC: tas5805m: add missing page switch.
Date: Tue, 7 Feb 2023 09:45:46 +1300	[thread overview]
Message-ID: <20230206204546.GA233871@nyquist.nev> (raw)
In-Reply-To: <Y+D8bf/19aOL7Wzl@sirena.org.uk>

On Mon, Feb 06, 2023 at 01:11:09PM +0000, Mark Brown wrote:
> On Thu, Oct 27, 2022 at 09:38:38PM +1300, Daniel Beer wrote:
> > In tas5805m_refresh, we switch pages to update the DSP volume control,
> > but we need to switch back to page 0 before trying to alter the
> > soft-mute control. This latter page-switch was missing.
> 
> You should just use the register windowing support in regmap, it will
> take care of this for you, avoiding any further similar errors.

Hi Mark,

Thanks for reviewing.

We did discuss this a while back when the driver first went in.
Unfortunately the vendor software tools provide configuration for the
part in the form of a sequence of raw register writes, including
explicit page changes:

    https://lore.kernel.org/lkml/Yd85bjKEX9JnoOlI@sirena.org.uk/

Aside from this, I have two other practical issues.

The first is that I'm not sure how exactly to implement the paging
scheme in terms of regmap_range_cfg (assuming this is what you're
referring to). This chip has multi-level paging (books/pages), with the
book selection register itself requiring paging to access. A sequence of
three register writes is therefore required in the general case to
select the correct page. I had a quick look at a random assortment of
existing regmap_range_cfg uses, but didn't find anything that looked
like the same problem.

Secondly, the patches as submitted here have been tested, but I don't
currently have access to hardware. I'm very hesitant to make a
significant change without retesting and leave the driver in a broken
state again.

Cheers,
Daniel

-- 
Daniel Beer
Firmware Engineer at Igor Institute
daniel.beer@igorinstitute.com or +64-27-420-8101
Offices in Seattle, San Francisco, and Vancouver BC or (206) 494-3312

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Beer <daniel.beer@igorinstitute.com>
To: Mark Brown <broonie@kernel.org>
Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org,
	Andy Liu <andy-liu@ti.com>
Subject: Re: [PATCH v3 2/2] ASoC: tas5805m: add missing page switch.
Date: Tue, 7 Feb 2023 09:45:46 +1300	[thread overview]
Message-ID: <20230206204546.GA233871@nyquist.nev> (raw)
In-Reply-To: <Y+D8bf/19aOL7Wzl@sirena.org.uk>

On Mon, Feb 06, 2023 at 01:11:09PM +0000, Mark Brown wrote:
> On Thu, Oct 27, 2022 at 09:38:38PM +1300, Daniel Beer wrote:
> > In tas5805m_refresh, we switch pages to update the DSP volume control,
> > but we need to switch back to page 0 before trying to alter the
> > soft-mute control. This latter page-switch was missing.
> 
> You should just use the register windowing support in regmap, it will
> take care of this for you, avoiding any further similar errors.

Hi Mark,

Thanks for reviewing.

We did discuss this a while back when the driver first went in.
Unfortunately the vendor software tools provide configuration for the
part in the form of a sequence of raw register writes, including
explicit page changes:

    https://lore.kernel.org/lkml/Yd85bjKEX9JnoOlI@sirena.org.uk/

Aside from this, I have two other practical issues.

The first is that I'm not sure how exactly to implement the paging
scheme in terms of regmap_range_cfg (assuming this is what you're
referring to). This chip has multi-level paging (books/pages), with the
book selection register itself requiring paging to access. A sequence of
three register writes is therefore required in the general case to
select the correct page. I had a quick look at a random assortment of
existing regmap_range_cfg uses, but didn't find anything that looked
like the same problem.

Secondly, the patches as submitted here have been tested, but I don't
currently have access to hardware. I'm very hesitant to make a
significant change without retesting and leave the driver in a broken
state again.

Cheers,
Daniel

-- 
Daniel Beer
Firmware Engineer at Igor Institute
daniel.beer@igorinstitute.com or +64-27-420-8101
Offices in Seattle, San Francisco, and Vancouver BC or (206) 494-3312

  reply	other threads:[~2023-02-06 20:46 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-04  7:55 [PATCH v3 0/2] Two bug fixes for tas5805m codec driver Daniel Beer
2023-02-04  7:55 ` Daniel Beer
2022-10-27  8:28 ` [PATCH v3 1/2] ASoC: tas5805m: rework to avoid scheduling while atomic Daniel Beer
2022-10-27  8:28   ` Daniel Beer
2022-10-27  8:38 ` [PATCH v3 2/2] ASoC: tas5805m: add missing page switch Daniel Beer
2022-10-27  8:38   ` Daniel Beer
2023-02-06 13:11   ` Mark Brown
2023-02-06 13:11     ` Mark Brown
2023-02-06 20:45     ` Daniel Beer [this message]
2023-02-06 20:45       ` Daniel Beer
2023-02-06 21:14       ` Mark Brown
2023-02-06 21:14         ` Mark Brown
2023-02-06 21:37 ` [PATCH v3 0/2] Two bug fixes for tas5805m codec driver Mark Brown
2023-02-06 21:37   ` Mark Brown

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=20230206204546.GA233871@nyquist.nev \
    --to=daniel.beer@igorinstitute.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=andy-liu@ti.com \
    --cc=broonie@kernel.org \
    --cc=linux-kernel@vger.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 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.