From: Abel Vesa <abel.vesa@linaro.org>
To: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Bjorn Andersson <andersson@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] phy: qualcomm: eusb2-repeater: Drop the redundant zeroing
Date: Fri, 5 Jan 2024 12:19:17 +0200 [thread overview]
Message-ID: <ZZfXpWpFAELlUnUT@linaro.org> (raw)
In-Reply-To: <e216c027-dc23-415d-8d00-e6b1cbbd4248@linaro.org>
On 24-01-05 11:09:33, Konrad Dybcio wrote:
> On 5.01.2024 10:16, Abel Vesa wrote:
> > On 24-01-04 23:50:48, Konrad Dybcio wrote:
> >> On 4.01.2024 15:52, Abel Vesa wrote:
> >>> The local init_tlb is already zero initialized, so the entire zeroing loop
> >>> is useless in this case, since the initial values are copied over anyway,
> >>> before being written.
> >>>
> >>> Fixes: 99a517a582fc ("phy: qualcomm: phy-qcom-eusb2-repeater: Zero out untouched tuning regs")
> >>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> >>> ---
> >>
> >> That's another good spot.. partial struct initialization of
> >> pm8550b_init_tbl zeroes out the uninitialized fields.
> >>
> >>
> >>> drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c | 10 ----------
> >>> 1 file changed, 10 deletions(-)
> >>>
> >>> diff --git a/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c b/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
> >>> index 5f5862a68b73..3060c0749797 100644
> >>> --- a/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
> >>> +++ b/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
> >>> @@ -156,16 +156,6 @@ static int eusb2_repeater_init(struct phy *phy)
> >>>
> >>> regmap_field_update_bits(rptr->regs[F_EN_CTL1], EUSB2_RPTR_EN, EUSB2_RPTR_EN);
> >>>
> >>> - for (i = 0; i < F_NUM_TUNE_FIELDS; i++) {
> >>> - if (init_tbl[i]) {
> >>> - regmap_field_update_bits(rptr->regs[i], init_tbl[i], init_tbl[i]);
> >>> - } else {
> >>> - /* Write 0 if there's no value set */
> >>> - u32 mask = GENMASK(regfields[i].msb, regfields[i].lsb);
> >>> -
> >>> - regmap_field_update_bits(rptr->regs[i], mask, 0);
> >>> - }
> >>> - }
> >>> memcpy(init_tbl, rptr->cfg->init_tbl, sizeof(init_tbl));
> >>
> >> I think this patchset can be made even better, this memcpy is also
> >> useless and we can simply initialize init_tbl=rptr->cfg->init_tbl.
> >
> > Actually no. The init_tbl in cfg is a pointer to const. Plus, if you do
> > that, you will end up with the same situation like in the other patch,
> > as there are some overrides based on DT values below this.
>
> Hm, you're right. Maybe we should simple store *base and stop
> modifying these tables then. There's not a whole lot of regmap_rw
> calls, so making the first argument "rptr->base + rptr->regs[ASDF]"
> shouldn't add much fluff. Then we can make the cfg referernce const.
>
Oh, sorry, did not see your reply in time before sending v2.
Have a look at v2 and we can decide if we want something different then.
https://lore.kernel.org/all/20240105-phy-qcom-eusb2-repeater-fixes-v2-0-775d98e7df05@linaro.org/
Thanks for reviewing.
> Konrad
>
> >
> > But now that I've had another look, maybe doing the exact same thing as
> > the other patch does (kmemdup) will probably look better anyway,
> > specially if we do that on probe.
> >
> >>
> >> Konrad
WARNING: multiple messages have this Message-ID (diff)
From: Abel Vesa <abel.vesa@linaro.org>
To: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Bjorn Andersson <andersson@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] phy: qualcomm: eusb2-repeater: Drop the redundant zeroing
Date: Fri, 5 Jan 2024 12:19:17 +0200 [thread overview]
Message-ID: <ZZfXpWpFAELlUnUT@linaro.org> (raw)
In-Reply-To: <e216c027-dc23-415d-8d00-e6b1cbbd4248@linaro.org>
On 24-01-05 11:09:33, Konrad Dybcio wrote:
> On 5.01.2024 10:16, Abel Vesa wrote:
> > On 24-01-04 23:50:48, Konrad Dybcio wrote:
> >> On 4.01.2024 15:52, Abel Vesa wrote:
> >>> The local init_tlb is already zero initialized, so the entire zeroing loop
> >>> is useless in this case, since the initial values are copied over anyway,
> >>> before being written.
> >>>
> >>> Fixes: 99a517a582fc ("phy: qualcomm: phy-qcom-eusb2-repeater: Zero out untouched tuning regs")
> >>> Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
> >>> ---
> >>
> >> That's another good spot.. partial struct initialization of
> >> pm8550b_init_tbl zeroes out the uninitialized fields.
> >>
> >>
> >>> drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c | 10 ----------
> >>> 1 file changed, 10 deletions(-)
> >>>
> >>> diff --git a/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c b/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
> >>> index 5f5862a68b73..3060c0749797 100644
> >>> --- a/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
> >>> +++ b/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
> >>> @@ -156,16 +156,6 @@ static int eusb2_repeater_init(struct phy *phy)
> >>>
> >>> regmap_field_update_bits(rptr->regs[F_EN_CTL1], EUSB2_RPTR_EN, EUSB2_RPTR_EN);
> >>>
> >>> - for (i = 0; i < F_NUM_TUNE_FIELDS; i++) {
> >>> - if (init_tbl[i]) {
> >>> - regmap_field_update_bits(rptr->regs[i], init_tbl[i], init_tbl[i]);
> >>> - } else {
> >>> - /* Write 0 if there's no value set */
> >>> - u32 mask = GENMASK(regfields[i].msb, regfields[i].lsb);
> >>> -
> >>> - regmap_field_update_bits(rptr->regs[i], mask, 0);
> >>> - }
> >>> - }
> >>> memcpy(init_tbl, rptr->cfg->init_tbl, sizeof(init_tbl));
> >>
> >> I think this patchset can be made even better, this memcpy is also
> >> useless and we can simply initialize init_tbl=rptr->cfg->init_tbl.
> >
> > Actually no. The init_tbl in cfg is a pointer to const. Plus, if you do
> > that, you will end up with the same situation like in the other patch,
> > as there are some overrides based on DT values below this.
>
> Hm, you're right. Maybe we should simple store *base and stop
> modifying these tables then. There's not a whole lot of regmap_rw
> calls, so making the first argument "rptr->base + rptr->regs[ASDF]"
> shouldn't add much fluff. Then we can make the cfg referernce const.
>
Oh, sorry, did not see your reply in time before sending v2.
Have a look at v2 and we can decide if we want something different then.
https://lore.kernel.org/all/20240105-phy-qcom-eusb2-repeater-fixes-v2-0-775d98e7df05@linaro.org/
Thanks for reviewing.
> Konrad
>
> >
> > But now that I've had another look, maybe doing the exact same thing as
> > the other patch does (kmemdup) will probably look better anyway,
> > specially if we do that on probe.
> >
> >>
> >> Konrad
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2024-01-05 10:19 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-04 14:52 [PATCH 0/2] phy: qualcomm: eusb2-repeater: Some fixes after the regmap rework Abel Vesa
2024-01-04 14:52 ` Abel Vesa
2024-01-04 14:52 ` [PATCH 1/2] phy: qualcomm: eusb2-repeater: Fix the regfields for multiple instances Abel Vesa
2024-01-04 14:52 ` Abel Vesa
2024-01-04 19:12 ` Abel Vesa
2024-01-04 19:12 ` Abel Vesa
2024-01-04 22:46 ` Konrad Dybcio
2024-01-04 22:46 ` Konrad Dybcio
2024-01-04 14:52 ` [PATCH 2/2] phy: qualcomm: eusb2-repeater: Drop the redundant zeroing Abel Vesa
2024-01-04 14:52 ` Abel Vesa
2024-01-04 22:50 ` Konrad Dybcio
2024-01-04 22:50 ` Konrad Dybcio
2024-01-05 9:16 ` Abel Vesa
2024-01-05 9:16 ` Abel Vesa
2024-01-05 10:09 ` Konrad Dybcio
2024-01-05 10:09 ` Konrad Dybcio
2024-01-05 10:19 ` Abel Vesa [this message]
2024-01-05 10:19 ` Abel Vesa
2024-01-06 17:30 ` kernel test robot
2024-01-06 17:30 ` kernel test robot
2024-01-04 22:58 ` [PATCH 0/2] phy: qualcomm: eusb2-repeater: Some fixes after the regmap rework Elliot Berman
2024-01-04 22:58 ` Elliot Berman
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=ZZfXpWpFAELlUnUT@linaro.org \
--to=abel.vesa@linaro.org \
--cc=andersson@kernel.org \
--cc=kishon@kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--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.