From: Vinod Koul <vkoul@kernel.org>
To: Bard Liao <yung-chuan.liao@linux.intel.com>
Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
pierre-louis.bossart@linux.intel.com, bard.liao@intel.com
Subject: Re: [PATCH] soundwire: intel_auxdevice: add kernel parameter for mclk divider
Date: Sun, 18 Aug 2024 12:53:32 +0530 [thread overview]
Message-ID: <ZsGhdFm8nYkm5Y5w@vaman> (raw)
In-Reply-To: <20240806083840.24094-1-yung-chuan.liao@linux.intel.com>
On 06-08-24, 16:38, Bard Liao wrote:
> From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
>
> Add a kernel parameter to work-around discrepancies between hardware
> and platform firmware, it's not unusual to see e.g. 38.4MHz listed in
> _DSD properties as the SoundWire clock source, but the hardware may be
> based on a 19.2 MHz mclk source.
I think this should be documented in kernel-parameters.txt?
>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
> ---
> drivers/soundwire/intel_auxdevice.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/soundwire/intel_auxdevice.c b/drivers/soundwire/intel_auxdevice.c
> index dff49c5ce5b3..e372195b07b3 100644
> --- a/drivers/soundwire/intel_auxdevice.c
> +++ b/drivers/soundwire/intel_auxdevice.c
> @@ -41,6 +41,10 @@ static int md_flags;
> module_param_named(sdw_md_flags, md_flags, int, 0444);
> MODULE_PARM_DESC(sdw_md_flags, "SoundWire Intel Master device flags (0x0 all off)");
>
> +static int mclk_divider;
> +module_param_named(sdw_mclk_divider, mclk_divider, int, 0444);
> +MODULE_PARM_DESC(sdw_mclk_divider, "SoundWire Intel mclk divider");
> +
> struct wake_capable_part {
> const u16 mfg_id;
> const u16 part_id;
> @@ -142,8 +146,12 @@ static int sdw_master_read_intel_prop(struct sdw_bus *bus)
> "intel-sdw-ip-clock",
> &prop->mclk_freq);
>
> - /* the values reported by BIOS are the 2x clock, not the bus clock */
> - prop->mclk_freq /= 2;
> + if (mclk_divider)
> + /* use kernel parameter for BIOS or board work-arounds */
> + prop->mclk_freq /= mclk_divider;
> + else
> + /* the values reported by BIOS are the 2x clock, not the bus clock */
> + prop->mclk_freq /= 2;
>
> fwnode_property_read_u32(link,
> "intel-quirk-mask",
> --
> 2.43.0
--
~Vinod
next prev parent reply other threads:[~2024-08-18 7:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-06 8:38 [PATCH] soundwire: intel_auxdevice: add kernel parameter for mclk divider Bard Liao
2024-08-18 7:23 ` Vinod Koul [this message]
2024-08-19 8:13 ` Liao, Bard
2024-10-03 8:00 ` Vinod Koul
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=ZsGhdFm8nYkm5Y5w@vaman \
--to=vkoul@kernel.org \
--cc=bard.liao@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=yung-chuan.liao@linux.intel.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.