From: andy.shevchenko@gmail.com
To: Mukesh Ojha <quic_mojha@quicinc.com>
Cc: agross@kernel.org, andersson@kernel.org,
konrad.dybcio@linaro.org, linus.walleij@linaro.org,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-gpio@vger.kernel.org
Subject: Re: [PATCH v6 4/5] firmware: qcom_scm: Refactor code to support multiple download mode
Date: Sat, 27 May 2023 01:08:26 +0300 [thread overview]
Message-ID: <ZHEt2mrYpSMKBuIX@surfacebook> (raw)
In-Reply-To: <1680076012-10785-5-git-send-email-quic_mojha@quicinc.com>
Wed, Mar 29, 2023 at 01:16:51PM +0530, Mukesh Ojha kirjoitti:
> Currently on Qualcomm SoC, download_mode is enabled if
> CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is selected.
>
> Refactor the code such that it supports multiple download
> modes and drop CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT config
> instead, give interface to set the download mode from
> module parameter.
...
> #include <linux/clk.h>
> #include <linux/reset-controller.h>
> #include <linux/arm-smccc.h>
> +#include <linux/kstrtox.h>
Can this be located after clk.h which makes (some) order in this block?
...
> #define QCOM_DOWNLOAD_MODE_MASK 0x30
> #define QCOM_DOWNLOAD_FULLDUMP 0x1
> +#define QCOM_DOWNLOAD_NODUMP 0x0
Okay, so you start backward ordering.
But see comments to the next patch.
...
> ret = qcom_scm_io_update_field(__scm->dload_mode_addr,
> - QCOM_DOWNLOAD_MODE_MASK,
> - enable ? QCOM_DOWNLOAD_FULLDUMP : 0);
> + QCOM_DOWNLOAD_MODE_MASK, download_mode);
Can ping-pong style be avoided? I.e. do the right thing in the previous patch,
so you won't change lines that were introduced just before.
...
> }
>
> +
Stray change.
> +static int get_download_mode(char *buffer, const struct kernel_param *kp)
> +{
> + int len = 0;
> +
> + if (download_mode == QCOM_DOWNLOAD_FULLDUMP)
> + len = sysfs_emit(buffer, "full\n");
> + else if (download_mode == QCOM_DOWNLOAD_NODUMP)
> + len = sysfs_emit(buffer, "off\n");
> +
> + return len;
You can return directly.
Also, what about download_mode that doesn't fit to the above two?
> +}
...
> +static int set_download_mode(const char *val, const struct kernel_param *kp)
> +{
> + u32 old = download_mode;
> +
> + if (sysfs_streq(val, "full")) {
> + download_mode = QCOM_DOWNLOAD_FULLDUMP;
> + } else if (sysfs_streq(val, "off")) {
> + download_mode = QCOM_DOWNLOAD_NODUMP;
NIH sysfs_match_string().
> + } else if (kstrtouint(val, 0, &download_mode) ||
> + !(download_mode == 0 || download_mode == 1)) {
> + download_mode = old;
> + pr_err("qcom_scm: unknown download mode: %s\n", val);
> + return -EINVAL;
Do not shadow the error code from kstrtouint() it can be different to this one.
> + }
> +
> + if (__scm)
> + qcom_scm_set_download_mode(download_mode);
> +
> + return 0;
> +}
...
Have you updated corresponding documentation about this parameter?
Or there is none?
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2023-05-26 22:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-29 7:46 [PATCH v6 0/5] Refactor to support multiple download mode Mukesh Ojha
2023-03-29 7:46 ` [PATCH v6 1/5] firmware: qcom_scm: provide a read-modify-write function Mukesh Ojha
2023-05-26 22:00 ` andy.shevchenko
2023-03-29 7:46 ` [PATCH v6 2/5] pinctrl: qcom: Use qcom_scm_io_update_field() Mukesh Ojha
2023-05-26 22:02 ` andy.shevchenko
2023-03-29 7:46 ` [PATCH v6 3/5] firmware: scm: Modify only the download bits in TCSR register Mukesh Ojha
2023-05-26 20:17 ` Bjorn Andersson
2023-03-29 7:46 ` [PATCH v6 4/5] firmware: qcom_scm: Refactor code to support multiple download mode Mukesh Ojha
2023-05-26 22:08 ` andy.shevchenko [this message]
2023-06-26 16:27 ` Mukesh Ojha
2023-06-26 17:12 ` Andy Shevchenko
2023-03-29 7:46 ` [PATCH v6 5/5] firmware: qcom_scm: Add multiple download mode support Mukesh Ojha
2023-05-26 22:14 ` andy.shevchenko
2023-05-26 23:36 ` Bjorn Andersson
2023-05-27 7:22 ` Andy Shevchenko
2023-04-10 14:34 ` [PATCH v6 0/5] Refactor to support multiple download mode Mukesh Ojha
2023-05-26 22:15 ` andy.shevchenko
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=ZHEt2mrYpSMKBuIX@surfacebook \
--to=andy.shevchenko@gmail.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=quic_mojha@quicinc.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.