All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org, tiwai@suse.de, broonie@kernel.org,
	vkoul@kernel.org, gregkh@linuxfoundation.org, jank@cadence.com,
	srinivas.kandagatla@linaro.org, Blauciak@vger.kernel.org,
	Slawomir <slawomir.blauciak@intel.com>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	Sanyog Kale <sanyog.r.kale@intel.com>
Subject: [PATCH 11/17] soundwire: intel: read mclk_freq property from firmware
Date: Mon,  5 Aug 2019 19:55:16 -0500	[thread overview]
Message-ID: <20190806005522.22642-12-pierre-louis.bossart@linux.intel.com> (raw)
In-Reply-To: <20190806005522.22642-1-pierre-louis.bossart@linux.intel.com>

The BIOS provides an Intel-specific property, let's use it to avoid
hard-coded clock dividers.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 drivers/soundwire/intel.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c
index fe3266bc1d12..3f876642cb7f 100644
--- a/drivers/soundwire/intel.c
+++ b/drivers/soundwire/intel.c
@@ -909,11 +909,37 @@ static int intel_register_dai(struct sdw_intel *sdw)
 					  dais, num_dai);
 }
 
+static int sdw_master_read_intel_prop(struct sdw_bus *bus)
+{
+	struct sdw_master_prop *prop = &bus->prop;
+	struct fwnode_handle *link;
+	char name[32];
+	int nval, i;
+
+	/* Find master handle */
+	snprintf(name, sizeof(name),
+		 "mipi-sdw-link-%d-subproperties", bus->link_id);
+
+	link = device_get_named_child_node(bus->dev, name);
+	if (!link) {
+		dev_err(bus->dev, "Master node %s not found\n", name);
+		return -EIO;
+	}
+
+	fwnode_property_read_u32(link,
+				 "intel-sdw-ip-clock",
+				 &prop->mclk_freq);
+	return 0;
+}
+
 static int intel_prop_read(struct sdw_bus *bus)
 {
 	/* Initialize with default handler to read all DisCo properties */
 	sdw_master_read_prop(bus);
 
+	/* read Intel-specific properties */
+	sdw_master_read_intel_prop(bus);
+
 	return 0;
 }
 
-- 
2.20.1


  parent reply	other threads:[~2019-08-06  0:56 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-06  0:55 [PATCH 00/17] soundwire: fixes for 5.4 Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 01/17] soundwire: intel: prevent possible dereference in hw_params Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 02/17] soundwire: intel: fix channel number reported by hardware Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 03/17] soundwire: cadence_master: revisit interrupt settings Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 04/17] soundwire: bus: improve dynamic debug comments for enumeration Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 05/17] soundwire: export helpers to find row and column values Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 06/17] soundwire: cadence_master: use firmware defaults for frame shape Pierre-Louis Bossart
2019-08-06 15:27   ` Cezary Rojewski
2019-08-06 15:36     ` [alsa-devel] " Pierre-Louis Bossart
2019-08-06 16:06       ` Cezary Rojewski
2019-08-06 16:06         ` Cezary Rojewski
2019-08-14  4:31         ` [alsa-devel] " Vinod Koul
2019-08-14 14:03           ` Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 07/17] soundwire: include mod_devicetable.h to avoid compiling warnings Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 08/17] soundwire: stream: fix disable sequence Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 09/17] soundwire: stream: remove unnecessary variable initializations Pierre-Louis Bossart
2019-08-06 15:31   ` Cezary Rojewski
2019-08-06 15:39     ` Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 10/17] soundwire: add new mclk_freq field for properties Pierre-Louis Bossart
2019-08-06  0:55 ` Pierre-Louis Bossart [this message]
2019-08-06  0:55 ` [PATCH 12/17] soundwire: cadence_master: make use of mclk_freq property Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 13/17] soundwire: cadence_master: fix divider setting in clock register Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 14/17] soundwire: intel: handle disabled links Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 15/17] soundwire: intel_init: add kernel module parameter to filter out links Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 16/17] soundwire: cadence_master: add kernel parameter to override interrupt mask Pierre-Louis Bossart
2019-08-06  0:55 ` [PATCH 17/17] soundwire: intel: move shutdown() callback and don't export symbol Pierre-Louis Bossart
2019-08-21  9:07 ` [PATCH 00/17] soundwire: fixes for 5.4 Vinod Koul
2019-08-21 14:03   ` [alsa-devel] " Pierre-Louis Bossart

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=20190806005522.22642-12-pierre-louis.bossart@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=Blauciak@vger.kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jank@cadence.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sanyog.r.kale@intel.com \
    --cc=slawomir.blauciak@intel.com \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tiwai@suse.de \
    --cc=vkoul@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.