From: Dragan Simic <dsimic@manjaro.org>
To: Conor Dooley <conor@kernel.org>
Cc: dev@folker-schwesinger.de, Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Chris Ruehl <chris.ruehl@gtsys.com.hk>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Christopher Obbard <chris.obbard@collabora.com>,
Alban Browaeys <alban.browaeys@gmail.com>,
Doug Anderson <dianders@chromium.org>,
Brian Norris <briannorris@chromium.org>,
Jensen Huang <jensenhuang@friendlyarm.com>,
linux-phy@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH 1/3] phy: rockchip: emmc: Enable pulldown for strobe line
Date: Tue, 26 Mar 2024 20:55:40 +0100 [thread overview]
Message-ID: <436f78a981ecba441a0636912ddd1cf2@manjaro.org> (raw)
In-Reply-To: <20240326-tactical-onlooker-3df8d2352dc2@spud>
Hello Conor and Folker,
On 2024-03-26 20:46, Conor Dooley wrote:
> On Tue, Mar 26, 2024 at 07:54:35PM +0100, Folker Schwesinger via B4
> Relay wrote:
>> From: Folker Schwesinger <dev@folker-schwesinger.de>
>>
>> Restore the behavior of the Rockchip kernel that undconditionally
>> enables the internal strobe pulldown.
>
> What do you mean "restore the behaviour of the rockchip kernel"? Did
> mainline behave the same as the rockchip kernel previously? If not,
> using "restore" here is misleading. "Unconditionally" is also
> incorrect,
> because you have a property that disables it.
>
>> As the DT property rockchip,enable-strobe-pulldown is obsolete now,
>> replace it with a property to disable the internal pulldown.
>>
>> This fixes I/O errors observed on various Rock Pi 4 and NanoPi4 series
>> boards with some eMMC modules. Other boards may also be affected.
>>
>> An example of these errors is as follows:
>>
>> [ 290.060817] mmc1: running CQE recovery
>> [ 290.061337] blk_update_request: I/O error, dev mmcblk1, sector
>> 1411072 op 0x1:(WRITE) flags 0x800 phys_seg 36 prio class 0
>> [ 290.061370] EXT4-fs warning (device mmcblk1p1): ext4_end_bio:348:
>> I/O error 10 writing to inode 29547 starting block 176466)
>> [ 290.061484] Buffer I/O error on device mmcblk1p1, logical block
>> 172288
>>
>> Fixes: 8b5c2b45b8f0 ("phy: rockchip: set pulldown for strobe line in
>> dts")
>> Signed-off-by: Folker Schwesinger <dev@folker-schwesinger.de>
>> ---
>> drivers/phy/rockchip/phy-rockchip-emmc.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/phy/rockchip/phy-rockchip-emmc.c
>> b/drivers/phy/rockchip/phy-rockchip-emmc.c
>> index 20023f6eb994..6e637f3e1b19 100644
>> --- a/drivers/phy/rockchip/phy-rockchip-emmc.c
>> +++ b/drivers/phy/rockchip/phy-rockchip-emmc.c
>> @@ -376,14 +376,14 @@ static int rockchip_emmc_phy_probe(struct
>> platform_device *pdev)
>> rk_phy->reg_offset = reg_offset;
>> rk_phy->reg_base = grf;
>> rk_phy->drive_impedance = PHYCTRL_DR_50OHM;
>> - rk_phy->enable_strobe_pulldown = PHYCTRL_REN_STRB_DISABLE;
>> + rk_phy->enable_strobe_pulldown = PHYCTRL_REN_STRB_ENABLE;
>> rk_phy->output_tapdelay_select = PHYCTRL_OTAPDLYSEL_DEFAULT;
>>
>> if (!of_property_read_u32(dev->of_node, "drive-impedance-ohm",
>> &val))
>> rk_phy->drive_impedance = convert_drive_impedance_ohm(pdev, val);
>>
>> - if (of_property_read_bool(dev->of_node,
>> "rockchip,enable-strobe-pulldown"))
>> - rk_phy->enable_strobe_pulldown = PHYCTRL_REN_STRB_ENABLE;
>> + if (of_property_read_bool(dev->of_node,
>> "rockchip,disable-strobe-pulldown"))
>> + rk_phy->enable_strobe_pulldown = PHYCTRL_REN_STRB_DISABLE;
>
> Unfortunately you cannot do this.
> Previously no property at all meant disabled and a property was
> required
> to enable it. With this change the absence of a property means that it
> will be enabled.
> An old devicetree is that wanted this to be disabled would have no
> property and will now end up with it enabled. This is an ABI break and
> is
> clearly not backwards compatible, that's a NAK unless it is
> demonstrable
> that noone actually wants to disable it at all.
Moreover, as I already explained some time ago, [1] some boards and
devices are unfortunately miswired, and we don't want to enable the
DATA STROBE pull-down on such boards.
[1]
https://lore.kernel.org/linux-rockchip/ca5b7cad01f645c7c559ab26a8db8085@manjaro.org/#t
> If this patch fixes a problem on a board that you have, I would suggest
> that you add the property to enable it, as the binding tells you to.
>
> Thanks,
> Conor.
>
>> if (!of_property_read_u32(dev->of_node,
>> "rockchip,output-tapdelay-select", &val)) {
>> if (val <= PHYCTRL_OTAPDLYSEL_MAXVALUE)
>>
>> --
>> 2.44.0
>>
>>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2024-03-26 19:55 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-26 18:54 [PATCH 0/3] phy: rockchip: emmc: Enable internal strobe pull-down by default Folker Schwesinger via B4 Relay
2024-03-26 18:54 ` [PATCH 1/3] phy: rockchip: emmc: Enable pulldown for strobe line Folker Schwesinger via B4 Relay
2024-03-26 19:46 ` Conor Dooley
2024-03-26 19:55 ` Dragan Simic [this message]
2024-03-27 16:21 ` Folker Schwesinger
2024-03-27 17:21 ` Conor Dooley
2024-03-28 17:00 ` Alban Browaeys
2024-03-28 18:01 ` Conor Dooley
2024-04-10 18:28 ` Alban Browaeys
2024-04-11 15:42 ` Conor Dooley
2024-04-19 14:31 ` Heiko Stübner
2024-06-11 19:38 ` Alban Browaeys
2024-06-14 18:34 ` Folker Schwesinger
2024-03-31 19:26 ` Dragan Simic
2024-03-26 18:54 ` [PATCH 2/3] devicetree: phy: rockchip-emmc: Document changed strobe-pulldown property Folker Schwesinger via B4 Relay
2024-03-26 19:34 ` Conor Dooley
2024-03-28 9:37 ` Krzysztof Kozlowski
2024-03-26 18:54 ` [PATCH 3/3] arm64: dts: rockchip: Remove enable-strobe-pulldown for NanoPi4 boards Folker Schwesinger via B4 Relay
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=436f78a981ecba441a0636912ddd1cf2@manjaro.org \
--to=dsimic@manjaro.org \
--cc=alban.browaeys@gmail.com \
--cc=briannorris@chromium.org \
--cc=chris.obbard@collabora.com \
--cc=chris.ruehl@gtsys.com.hk \
--cc=conor+dt@kernel.org \
--cc=conor@kernel.org \
--cc=dev@folker-schwesinger.de \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=heiko@sntech.de \
--cc=jensenhuang@friendlyarm.com \
--cc=kishon@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=robh@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox