From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Vinod Koul <vkoul@kernel.org>
Cc: alsa-devel@alsa-project.org, tiwai@suse.de,
gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
broonie@kernel.org, srinivas.kandagatla@linaro.org,
jank@cadence.com, slawomir.blauciak@intel.com,
Sanyog Kale <sanyog.r.kale@intel.com>,
Bard liao <yung-chuan.liao@linux.intel.com>,
Rander Wang <rander.wang@linux.intel.com>
Subject: Re: [alsa-devel] [PATCH v2 2/5] soundwire: cadence_master: add hw_reset capability in debugfs
Date: Mon, 21 Oct 2019 05:20:27 -0500 [thread overview]
Message-ID: <96f5b446-ae02-afd6-9e5c-12e3507567f3@linux.intel.com> (raw)
In-Reply-To: <20191021040458.GX2654@vkoul-mobl>
On 10/20/19 11:04 PM, Vinod Koul wrote:
> On 16-09-19, 14:09, Pierre-Louis Bossart wrote:
>> Provide debugfs capability to kick link and devices into hard-reset
>> (as defined by MIPI). This capability is really useful when some
>> devices are no longer responsive and/or to check the software handling
>> of resynchronization.
>>
>> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
>> ---
>> drivers/soundwire/cadence_master.c | 20 ++++++++++++++++++++
>> 1 file changed, 20 insertions(+)
>>
>> diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c
>> index e3d06330d125..5f900cf2acb9 100644
>> --- a/drivers/soundwire/cadence_master.c
>> +++ b/drivers/soundwire/cadence_master.c
>> @@ -340,6 +340,23 @@ static int cdns_reg_show(struct seq_file *s, void *data)
>> }
>> DEFINE_SHOW_ATTRIBUTE(cdns_reg);
>>
>> +static int cdns_hw_reset(void *data, u64 value)
>> +{
>> + struct sdw_cdns *cdns = data;
>> + int ret;
>> +
>> + if (value != 1)
>> + return -EINVAL;
>> +
>> + ret = sdw_cdns_exit_reset(cdns);
>
> So we are performing reset of the device behind the kernel, so I think
> it makes sense to mark the kernel as tainted.
This is a bit ironic. This reset is the only way to prove that the
enumeration is done right and that all the subsystem fully recovers, and
yet we'd mark the kernel as 'untrustworthy' and all bug reports would be
ignored.
I don't mind doing this but we'd have to agree on a code. The only one I
see relevant is "taint requested by userspace application", which is not
exactly super useful.
>
>> +
>> + dev_dbg(cdns->dev, "link hw_reset done: %d\n", ret);
>> +
>> + return ret;
>
> We may want to get rid of the debug and do:
> return sdw_cdns_exit_reset();
this debug line is useful, it marks the start of the reset sequence and
that's valuable information. Remove it and you've lost the ability to
analyze the dmesg logs. It's even more useful if we mark the kernel as
tainted as you suggested above.
>
>> +}
>> +
>> +DEFINE_DEBUGFS_ATTRIBUTE(cdns_hw_reset_fops, NULL, cdns_hw_reset, "%llu\n");
>> +
>> /**
>> * sdw_cdns_debugfs_init() - Cadence debugfs init
>> * @cdns: Cadence instance
>> @@ -348,6 +365,9 @@ DEFINE_SHOW_ATTRIBUTE(cdns_reg);
>> void sdw_cdns_debugfs_init(struct sdw_cdns *cdns, struct dentry *root)
>> {
>> debugfs_create_file("cdns-registers", 0400, root, cdns, &cdns_reg_fops);
>> +
>> + debugfs_create_file("cdns-hw-reset", 0200, root, cdns,
>> + &cdns_hw_reset_fops);
>> }
>> EXPORT_SYMBOL_GPL(sdw_cdns_debugfs_init);
>>
>> --
>> 2.20.1
>
next prev parent reply other threads:[~2019-10-21 11:08 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-16 19:09 [PATCH v2 0/5] soundwire: intel/cadence: better initialization Pierre-Louis Bossart
2019-09-16 19:09 ` [PATCH v2 1/5] soundwire: intel/cadence: fix startup sequence Pierre-Louis Bossart
2019-09-16 19:09 ` [PATCH v2 2/5] soundwire: cadence_master: add hw_reset capability in debugfs Pierre-Louis Bossart
2019-10-21 4:04 ` Vinod Koul
2019-10-21 10:20 ` Pierre-Louis Bossart [this message]
2019-10-22 4:53 ` [alsa-devel] " Vinod Koul
2019-09-16 19:09 ` [PATCH v2 3/5] soundwire: intel: add helper for initialization Pierre-Louis Bossart
2019-09-16 19:09 ` [PATCH v2 4/5] soundwire: intel/cadence: add flag for interrupt enable Pierre-Louis Bossart
2019-10-21 4:14 ` Vinod Koul
2019-10-21 10:26 ` [alsa-devel] " Pierre-Louis Bossart
2019-10-22 4:55 ` Vinod Koul
2019-10-22 20:41 ` Pierre-Louis Bossart
2019-09-16 19:09 ` [PATCH v2 5/5] soundwire: cadence_master: make clock stop exit configurable on init Pierre-Louis Bossart
2019-10-14 16:00 ` [alsa-devel] [PATCH v2 0/5] soundwire: intel/cadence: better initialization 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=96f5b446-ae02-afd6-9e5c-12e3507567f3@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--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=rander.wang@linux.intel.com \
--cc=ranjani.sridharan@linux.intel.com \
--cc=sanyog.r.kale@intel.com \
--cc=slawomir.blauciak@intel.com \
--cc=srinivas.kandagatla@linaro.org \
--cc=tiwai@suse.de \
--cc=vkoul@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox