From: "Peter Wang (王信友)" <peter.wang@mediatek.com>
To: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"angelogioacchino.delregno@collabora.com"
<angelogioacchino.delregno@collabora.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"avri.altman@wdc.com" <avri.altman@wdc.com>,
"bvanassche@acm.org" <bvanassche@acm.org>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"broonie@kernel.org" <broonie@kernel.org>,
"alim.akhtar@samsung.com" <alim.akhtar@samsung.com>,
"chu.stanley@gmail.com" <chu.stanley@gmail.com>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"robh@kernel.org" <robh@kernel.org>,
"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"krzysztof.kozlowski+dt@linaro.org"
<krzysztof.kozlowski+dt@linaro.org>,
"Stanley Chu (朱原陞)" <stanley.chu@mediatek.com>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>
Subject: Re: [PATCH v3 1/8] scsi: ufs: ufs-mediatek: Remove useless mediatek,ufs-support-va09 property
Date: Mon, 15 Apr 2024 09:03:05 +0000 [thread overview]
Message-ID: <00ecb45910f795c7b4af02c7aaae0caa29871821.camel@mediatek.com> (raw)
In-Reply-To: <20240415075406.47543-2-angelogioacchino.delregno@collabora.com>
On Mon, 2024-04-15 at 09:53 +0200, AngeloGioacchino Del Regno wrote:
> Remove checking the mediatek,ufs-support-va09 property to decide
> whether to try to support the VA09 regulator handling and change
> the ufs_mtk_init_va09_pwr_ctrl() function to make it call
> devm_regulator_get_optional(): if the regulator is present, then
> we set the UFS_MTK_CAP_VA09_PWR_CTRL, effectively enabling the
> handling of the VA09 regulator based on that.
>
> Also, make sure to pass the return value of the call to
> devm_regulator_get_optional() to the probe function, so that
> if it returns a probe deferral, the appropriate action will be
> taken.
>
> While at it, remove the error print (disguised as info...) when
> the va09 regulator was not found.
>
> Fixes: ac8c2459091c ("scsi: ufs-mediatek: Decouple features from
> platform bindings")
> Signed-off-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> ---
> drivers/ufs/host/ufs-mediatek.c | 34 +++++++++++++++++++++++------
> ----
> 1 file changed, 24 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-
> mediatek.c
> index 0b0c923b1d7b..e4643ac49033 100644
> --- a/drivers/ufs/host/ufs-mediatek.c
> +++ b/drivers/ufs/host/ufs-mediatek.c
> @@ -622,27 +622,38 @@ static void ufs_mtk_init_boost_crypt(struct
> ufs_hba *hba)
> return;
> }
>
> -static void ufs_mtk_init_va09_pwr_ctrl(struct ufs_hba *hba)
> +static int ufs_mtk_init_va09_pwr_ctrl(struct ufs_hba *hba)
> {
> struct ufs_mtk_host *host = ufshcd_get_variant(hba);
> + int ret;
>
> - host->reg_va09 = regulator_get(hba->dev, "va09");
> - if (IS_ERR(host->reg_va09))
> - dev_info(hba->dev, "failed to get va09");
> - else
> - host->caps |= UFS_MTK_CAP_VA09_PWR_CTRL;
> + host->reg_va09 = devm_regulator_get_optional(hba->dev, "va09");
>
Hi Angelo,
Mediatek may have pmic va09 but is not used by ufs.
The real va09 use module will have abnormal behavior if ufs control his
power.
Thanks.
Peter
> + if (IS_ERR(host->reg_va09)) {
> + ret = PTR_ERR(host->reg_va09);
> +
> + /* Return an error only if this is a deferral */
> + if (ret == -EPROBE_DEFER)
> + return ret;
> +
> + return 0;
> + }
> +
> + host->caps |= UFS_MTK_CAP_VA09_PWR_CTRL;
> + return 0;
> }
>
> -static void ufs_mtk_init_host_caps(struct ufs_hba *hba)
> +static int ufs_mtk_init_host_caps(struct ufs_hba *hba)
> {
> struct ufs_mtk_host *host = ufshcd_get_variant(hba);
> struct device_node *np = hba->dev->of_node;
> + int ret;
>
> if (of_property_read_bool(np, "mediatek,ufs-boost-crypt"))
> ufs_mtk_init_boost_crypt(hba);
>
> - if (of_property_read_bool(np, "mediatek,ufs-support-va09"))
> - ufs_mtk_init_va09_pwr_ctrl(hba);
> + ret = ufs_mtk_init_va09_pwr_ctrl(hba);
> + if (ret)
> + return ret;
>
> if (of_property_read_bool(np, "mediatek,ufs-disable-ah8"))
> host->caps |= UFS_MTK_CAP_DISABLE_AH8;
> @@ -663,6 +674,7 @@ static void ufs_mtk_init_host_caps(struct ufs_hba
> *hba)
> host->caps |= UFS_MTK_CAP_RTFF_MTCMOS;
>
> dev_info(hba->dev, "caps: 0x%x", host->caps);
> + return 0;
> }
>
> static void ufs_mtk_scale_perf(struct ufs_hba *hba, bool scale_up)
> @@ -985,7 +997,9 @@ static int ufs_mtk_init(struct ufs_hba *hba)
> }
>
> /* Initialize host capability */
> - ufs_mtk_init_host_caps(hba);
> + err = ufs_mtk_init_host_caps(hba);
> + if (err)
> + goto out;
>
> ufs_mtk_init_mcq_irq(hba);
>
next prev parent reply other threads:[~2024-04-15 9:03 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-15 7:53 [PATCH v3 0/8] MediaTek UFS fixes and cleanups - Part 1 AngeloGioacchino Del Regno
2024-04-15 7:53 ` [PATCH v3 1/8] scsi: ufs: ufs-mediatek: Remove useless mediatek,ufs-support-va09 property AngeloGioacchino Del Regno
2024-04-15 9:03 ` Peter Wang (王信友) [this message]
2024-04-15 7:54 ` [PATCH v3 2/8] scsi: ufs: ufs-mediatek: Fix property name for crypt boost voltage AngeloGioacchino Del Regno
2024-04-15 7:54 ` [PATCH v3 3/8] scsi: ufs: ufs-mediatek: Remove useless mediatek,ufs-boost-crypt property AngeloGioacchino Del Regno
2024-04-15 7:54 ` [PATCH v3 4/8] scsi: ufs: ufs-mediatek: Avoid underscores in crypt clock names AngeloGioacchino Del Regno
2024-04-15 7:54 ` [PATCH v3 5/8] dt-bindings: ufs: mediatek,ufs: Document MT8192 compatible with MT8183 AngeloGioacchino Del Regno
2024-04-15 9:47 ` Rob Herring
2024-04-15 7:54 ` [PATCH v3 6/8] dt-bindings: ufs: mediatek,ufs: Document MT8195 compatible AngeloGioacchino Del Regno
2024-04-15 9:47 ` Rob Herring
2024-04-15 7:54 ` [PATCH v3 7/8] dt-bindings: ufs: mediatek,ufs: Document additional clocks AngeloGioacchino Del Regno
2024-04-15 7:54 ` [PATCH v3 8/8] dt-bindings: ufs: mediatek,ufs: Document optional dvfsrc/va09 regulators AngeloGioacchino Del Regno
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=00ecb45910f795c7b4af02c7aaae0caa29871821.camel@mediatek.com \
--to=peter.wang@mediatek.com \
--cc=alim.akhtar@samsung.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=avri.altman@wdc.com \
--cc=broonie@kernel.org \
--cc=bvanassche@acm.org \
--cc=chu.stanley@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jejb@linux.ibm.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=matthias.bgg@gmail.com \
--cc=robh@kernel.org \
--cc=stanley.chu@mediatek.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
all inboxes | Powered by JetHome®