From: Vinod Koul <vinod.koul@intel.com>
To: Mark Brown <broonie@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
LKML <linux-kernel@vger.kernel.org>,
ALSA <alsa-devel@alsa-project.org>, Takashi <tiwai@suse.de>,
Pierre <pierre-louis.bossart@linux.intel.com>,
Sanyog Kale <sanyog.r.kale@intel.com>,
Shreyas NC <shreyas.nc@intel.com>,
patches.audio@intel.com, alan@linux.intel.com,
Charles Keepax <ckeepax@opensource.cirrus.com>,
Sagar Dharia <sdharia@codeaurora.org>,
srinivas.kandagatla@linaro.org, plai@codeaurora.org,
Sudheer Papothi <spapothi@codeaurora.org>
Subject: Re: [PATCH 06/14] soundwire: Add IO transfer
Date: Sat, 21 Oct 2017 17:10:28 +0530 [thread overview]
Message-ID: <20171021114028.GH30097@localhost> (raw)
In-Reply-To: <20171021092908.yevlinnkiv5lzus3@sirena.org.uk>
On Sat, Oct 21, 2017 at 10:29:08AM +0100, Mark Brown wrote:
> On Thu, Oct 19, 2017 at 08:33:22AM +0530, Vinod Koul wrote:
>
> > +static bool sdw_get_page(struct sdw_slave *slave, struct sdw_msg *msg)
> > +{
> > + bool page = false, paging_support = false;
> > +
> > + if (slave && slave->prop.paging_support)
> > + paging_support = true;
> > +
> > + /*
> > + * Programme SCP page addr for:
> > + * 1. addr_page1 and addr_page2 contains non-zero values.
> > + * 2. Paging supported by Slave.
> > + */
> > + switch (msg->dev_num) {
> > + case SDW_ENUM_DEV_NUM:
> > + case SDW_BROADCAST_DEV_NUM:
> > + break;
> > +
> > + default:
> > + if (paging_support && ((msg->addr_page1) || (msg->addr_page2)))
> > + page = true;
> > + }
> > +
> > + return page;
>
> So if a page was specified but we don't have paging support we silently
> just write to the base pagee?
yeah we should log this, will add
> > +int sdw_transfer(struct sdw_bus *bus, struct sdw_slave *slave,
> > + struct sdw_msg *msg)
> > +{
> > + bool page;
> > + int ret;
> > +
> > + mutex_lock(&bus->msg_lock);
> > +
> > + page = sdw_get_page(slave, msg);
>
> get_page() doesn't interact with the hardware at all so it could be
> outside the lock.
right
>
> > + ret = do_transfer(bus, msg, page);
> > + if (ret != 0 && ret != -ENODATA) {
> > + dev_err(bus->dev, "trf on Slave %d failed:%d\n",
> > + msg->dev_num, ret);
> > + goto error;
> > + }
> > +
> > + if (page)
> > + ret = sdw_reset_page(bus, msg->dev_num);
>
> Wouldn't it be safer to reset the page even on error so future messages
> go to the right place if the paging bit of the failed operation worked?
You have a valid point, let me check that part.
> > +int sdw_nread(struct sdw_slave *slave, u32 addr, size_t count, u8 *val)
> > +{
> > + struct sdw_msg msg;
> > + int ret;
> > +
> > + pm_runtime_get_sync(slave->bus->dev);
>
> No error check.
will add
> > + pm_runtime_get_sync(slave->bus->dev);
> > +
> > + sdw_fill_msg(&msg, addr, count, slave->dev_num, SDW_MSG_FLAG_WRITE, val);
>
> The device doesn't need to be powered up for us to fill in the data
> structures we're going to use.
Yes I can move it down a bit before do_transfer()
--
~Vinod
next prev parent reply other threads:[~2017-10-21 11:40 UTC|newest]
Thread overview: 139+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-19 3:03 [PATCH 00/14] soundwire: Add a new SoundWire subsystem Vinod Koul
2017-10-19 3:03 ` Vinod Koul
2017-10-19 3:03 ` [PATCH 01/14] Documentation: Add SoundWire summary Vinod Koul
2017-10-19 3:33 ` Randy Dunlap
2017-10-19 3:33 ` Randy Dunlap
2017-10-19 4:44 ` Vinod Koul
2017-10-19 4:44 ` Vinod Koul
2017-10-20 10:39 ` Greg Kroah-Hartman
2017-10-20 10:39 ` Greg Kroah-Hartman
2017-10-20 15:49 ` Vinod Koul
2017-10-20 15:49 ` Vinod Koul
2017-10-20 16:22 ` Greg Kroah-Hartman
2017-10-20 16:22 ` Greg Kroah-Hartman
2017-10-20 17:09 ` Vinod Koul
2017-10-20 17:09 ` Vinod Koul
2017-10-21 8:57 ` Mark Brown
2017-10-21 8:57 ` Mark Brown
2017-10-21 11:28 ` Vinod Koul
2017-10-21 11:28 ` Vinod Koul
2017-10-22 10:06 ` [alsa-devel] " Pierre-Louis Bossart
2017-10-23 8:21 ` Mark Brown
2017-10-23 7:50 ` Mark Brown
2017-10-23 7:50 ` Mark Brown
2017-10-23 11:18 ` [alsa-devel] " Vinod Koul
2017-10-19 3:03 ` [PATCH 02/14] soundwire: Add SoundWire bus type Vinod Koul
2017-10-19 7:40 ` Takashi Iwai
2017-10-19 8:32 ` Takashi Iwai
2017-10-19 8:32 ` [alsa-devel] " Takashi Iwai
2017-10-20 5:11 ` Vinod Koul
2017-10-20 5:11 ` Vinod Koul
2017-10-20 6:59 ` Takashi Iwai
2017-10-20 15:46 ` Vinod Koul
2017-10-20 15:50 ` Takashi Iwai
2017-10-20 15:50 ` Takashi Iwai
2017-10-20 16:11 ` Vinod Koul
2017-10-20 10:41 ` Greg Kroah-Hartman
2017-10-20 10:41 ` Greg Kroah-Hartman
2017-10-20 15:52 ` Vinod Koul
2017-10-20 10:45 ` Greg Kroah-Hartman
2017-10-20 16:01 ` Vinod Koul
2017-10-20 16:21 ` Greg Kroah-Hartman
2017-10-20 16:21 ` Greg Kroah-Hartman
2017-10-20 17:10 ` Vinod Koul
2017-10-23 11:46 ` Alan Cox
2017-10-23 11:46 ` Alan Cox
2017-10-26 8:33 ` Vinod Koul
2017-10-26 8:33 ` Vinod Koul
2017-10-27 8:57 ` Greg Kroah-Hartman
2017-10-30 13:11 ` Vinod Koul
2017-10-20 16:03 ` Philippe Ombredanne
2017-10-20 16:20 ` Vinod Koul
2017-10-20 16:20 ` Vinod Koul
2017-10-20 16:27 ` Greg Kroah-Hartman
2017-10-20 17:13 ` Vinod Koul
2017-10-20 17:13 ` Vinod Koul
2017-10-23 11:52 ` Alan Cox
2017-10-23 11:52 ` Alan Cox
2017-10-21 9:03 ` Mark Brown
2017-10-21 11:29 ` Vinod Koul
2017-10-21 11:29 ` Vinod Koul
2017-11-09 21:14 ` Srinivas Kandagatla
2017-11-09 21:14 ` Srinivas Kandagatla
2017-11-10 4:59 ` Vinod Koul
2017-11-10 4:59 ` Vinod Koul
2017-11-10 8:55 ` Vinod Koul
2017-11-10 10:50 ` Srinivas Kandagatla
2017-11-10 10:42 ` Srinivas Kandagatla
2017-11-10 10:42 ` Srinivas Kandagatla
2017-11-10 10:58 ` Vinod Koul
2017-10-19 3:03 ` [PATCH 03/14] soundwire: Add Master registration Vinod Koul
2017-10-19 3:03 ` Vinod Koul
2017-10-19 8:54 ` Takashi Iwai
2017-10-19 8:54 ` [alsa-devel] " Takashi Iwai
2017-10-20 5:19 ` Vinod Koul
2017-10-20 5:19 ` [alsa-devel] " Vinod Koul
2017-10-20 10:47 ` Greg Kroah-Hartman
2017-10-20 16:05 ` Vinod Koul
2017-10-21 9:12 ` Mark Brown
2017-10-21 9:12 ` Mark Brown
2017-10-21 11:35 ` Vinod Koul
2017-10-21 11:35 ` Vinod Koul
2017-10-23 8:24 ` Mark Brown
2017-10-23 8:24 ` Mark Brown
2017-10-23 11:19 ` Vinod Koul
2017-11-09 21:14 ` Srinivas Kandagatla
2017-11-10 5:02 ` Vinod Koul
2017-11-10 5:02 ` Vinod Koul
2017-10-19 3:03 ` [PATCH 04/14] soundwire: Add MIPI DisCo property helpers Vinod Koul
2017-10-19 9:02 ` [alsa-devel] " Takashi Iwai
2017-10-20 5:25 ` Vinod Koul
2017-10-21 9:20 ` Mark Brown
2017-10-21 9:20 ` Mark Brown
2017-10-21 11:37 ` Vinod Koul
2017-10-22 10:14 ` Pierre-Louis Bossart
2017-10-22 10:14 ` [alsa-devel] " Pierre-Louis Bossart
2017-10-19 3:03 ` [PATCH 05/14] soundwire: Add SoundWire MIPI defined registers Vinod Koul
2017-10-19 3:03 ` [PATCH 06/14] soundwire: Add IO transfer Vinod Koul
2017-10-19 3:03 ` Vinod Koul
2017-10-19 9:13 ` [alsa-devel] " Takashi Iwai
2017-10-20 5:30 ` Vinod Koul
2017-10-20 5:30 ` [alsa-devel] " Vinod Koul
2017-10-20 7:06 ` Takashi Iwai
2017-10-20 7:06 ` [alsa-devel] " Takashi Iwai
2017-10-20 15:48 ` Vinod Koul
2017-10-21 9:29 ` Mark Brown
2017-10-21 9:29 ` Mark Brown
2017-10-21 11:40 ` Vinod Koul [this message]
2017-10-19 3:03 ` [PATCH 07/14] regmap: Add SoundWire bus support Vinod Koul
2017-10-21 9:34 ` Mark Brown
2017-10-21 9:34 ` Mark Brown
2017-10-21 11:44 ` Vinod Koul
2017-10-23 11:56 ` Alan Cox
2017-10-23 13:16 ` Mark Brown
2017-10-19 3:03 ` [PATCH 08/14] soundwire: Add Slave status handling helpers Vinod Koul
2017-10-19 13:44 ` [alsa-devel] " Takashi Iwai
2017-10-31 13:04 ` Vinod Koul
2017-10-31 13:04 ` [alsa-devel] " Vinod Koul
2017-10-31 21:19 ` Pierre-Louis Bossart
2017-10-31 21:19 ` [alsa-devel] " Pierre-Louis Bossart
2017-11-01 9:08 ` Vinod Koul
2017-11-01 9:08 ` [alsa-devel] " Vinod Koul
2017-11-01 21:10 ` Pierre-Louis Bossart
2017-11-02 3:28 ` Vinod Koul
2017-10-19 3:03 ` [PATCH 09/14] soundwire: Add slave status handling Vinod Koul
2017-10-19 3:03 ` [PATCH 10/14] soundwire: Add sysfs for SoundWire DisCo properties Vinod Koul
2017-10-21 9:42 ` Mark Brown
2017-10-21 9:42 ` Mark Brown
2017-10-21 11:53 ` Vinod Koul
2017-10-21 11:53 ` Vinod Koul
2017-11-09 21:14 ` Srinivas Kandagatla
2017-11-10 4:52 ` Vinod Koul
2017-10-19 3:03 ` [PATCH 11/14] soundwire: cdns: Add cadence module Vinod Koul
2017-10-21 9:52 ` Mark Brown
2017-10-21 9:52 ` Mark Brown
2017-10-21 11:54 ` Vinod Koul
2017-10-21 11:54 ` Vinod Koul
2017-10-19 3:03 ` [PATCH 12/14] soundwire: cdns: Add sdw_master_ops and IO transfer support Vinod Koul
2017-10-19 3:03 ` [PATCH 13/14] soundwire: intel: Add Intel Master driver Vinod Koul
2017-10-19 3:03 ` [PATCH 14/14] soundwire: intel: Add Intel init module 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=20171021114028.GH30097@localhost \
--to=vinod.koul@intel.com \
--cc=alan@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches.audio@intel.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=plai@codeaurora.org \
--cc=sanyog.r.kale@intel.com \
--cc=sdharia@codeaurora.org \
--cc=shreyas.nc@intel.com \
--cc=spapothi@codeaurora.org \
--cc=srinivas.kandagatla@linaro.org \
--cc=tiwai@suse.de \
/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.