mbox series

[v5,0/3] mmc: mediatek: add optional reset property

Message ID 20200814014346.6496-1-wenbin.mei@mediatek.com
Headers show
Series mmc: mediatek: add optional reset property | expand

Message

Wenbin Mei Aug. 14, 2020, 1:43 a.m. UTC
Wenbin Mei (3):
  mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings
  arm64: dts: mt7622: add reset node for mmc device
  mmc: mediatek: add optional module reset property

 Documentation/devicetree/bindings/mmc/mtk-sd.txt |  2 ++
 arch/arm64/boot/dts/mediatek/mt7622.dtsi         |  2 ++
 drivers/mmc/host/mtk-sd.c                        | 13 +++++++++++++
 3 files changed, 17 insertions(+)

--
2.18.0

Comments

Ulf Hansson Aug. 24, 2020, 9:50 a.m. UTC | #1
On Fri, 14 Aug 2020 at 03:44, Wenbin Mei <wenbin.mei@mediatek.com> wrote:
>
> This patch fixs eMMC-Access on mt7622/Bpi-64.
> Before we got these Errors on mounting eMMC ion R64:
> [   48.664925] blk_update_request: I/O error, dev mmcblk0, sector 204800 op 0x1:(WRITE)
> flags 0x800 phys_seg 1 prio class 0
> [   48.676019] Buffer I/O error on dev mmcblk0p1, logical block 0, lost sync page write
>
> This patch adds a optional reset management for msdc.
> Sometimes the bootloader does not bring msdc register
> to default state, so need reset the msdc controller.
>
> Cc: <stable@vger.kernel.org> # v5.4+
> Fixes: 966580ad236e ("mmc: mediatek: add support for MT7622 SoC")
> Signed-off-by: Wenbin Mei <wenbin.mei@mediatek.com>
> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
> Tested-by: Frank Wunderlich <frank-w@public-files.de>

Applied for fixes, but needed to resolve a conflict when applying, thanks!


> ---
>  drivers/mmc/host/mtk-sd.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
> index 39e7fc54c438..fc97d5bf3a20 100644
> --- a/drivers/mmc/host/mtk-sd.c
> +++ b/drivers/mmc/host/mtk-sd.c
> @@ -22,6 +22,7 @@
>  #include <linux/slab.h>
>  #include <linux/spinlock.h>
>  #include <linux/interrupt.h>
> +#include <linux/reset.h>
>
>  #include <linux/mmc/card.h>
>  #include <linux/mmc/core.h>
> @@ -434,6 +435,7 @@ struct msdc_host {
>         struct msdc_save_para save_para; /* used when gate HCLK */
>         struct msdc_tune_para def_tune_para; /* default tune setting */
>         struct msdc_tune_para saved_tune_para; /* tune result of CMD21/CMD19 */
> +       struct reset_control *reset;

I moved this a couple of lines above, since this conflicts with later
changes for mtk-sd.

[...]

Kind regards
Uffe
Ulf Hansson Aug. 24, 2020, 9:50 a.m. UTC | #2
On Fri, 14 Aug 2020 at 03:44, Wenbin Mei <wenbin.mei@mediatek.com> wrote:
>
> This commit adds reset node for mmc device.
>
> Cc: <stable@vger.kernel.org> # v5.4+
> Fixes: 966580ad236e ("mmc: mediatek: add support for MT7622 SoC")
> Signed-off-by: Wenbin Mei <wenbin.mei@mediatek.com>
> Tested-by: Frank Wunderlich <frank-w@public-files.de>

I can pick this for my fixes branch, together with the other changes,
however deferring that until Matthias acks it.

Kind regards
Uffe



> ---
>  arch/arm64/boot/dts/mediatek/mt7622.dtsi | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> index 1a39e0ef776b..5b9ec032ce8d 100644
> --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> @@ -686,6 +686,8 @@
>                 clocks = <&pericfg CLK_PERI_MSDC30_0_PD>,
>                          <&topckgen CLK_TOP_MSDC50_0_SEL>;
>                 clock-names = "source", "hclk";
> +               resets = <&pericfg MT7622_PERI_MSDC0_SW_RST>;
> +               reset-names = "hrst";
>                 status = "disabled";
>         };
>
> --
> 2.18.0
Matthias Brugger Aug. 27, 2020, 8:23 a.m. UTC | #3
On 24/08/2020 11:50, Ulf Hansson wrote:
> On Fri, 14 Aug 2020 at 03:44, Wenbin Mei <wenbin.mei@mediatek.com> wrote:
>>
>> This commit adds reset node for mmc device.
>>
>> Cc: <stable@vger.kernel.org> # v5.4+
>> Fixes: 966580ad236e ("mmc: mediatek: add support for MT7622 SoC")
>> Signed-off-by: Wenbin Mei <wenbin.mei@mediatek.com>
>> Tested-by: Frank Wunderlich <frank-w@public-files.de>
> 
> I can pick this for my fixes branch, together with the other changes,
> however deferring that until Matthias acks it.

Acked-by: Matthias Brugger <matthias.bgg@gmail.com>

My understanding is, that this will land also in v5.9-rc[3,4], correct?

Regards,
Matthias

> 
> Kind regards
> Uffe
> 
> 
> 
>> ---
>>   arch/arm64/boot/dts/mediatek/mt7622.dtsi | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
>> index 1a39e0ef776b..5b9ec032ce8d 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
>> @@ -686,6 +686,8 @@
>>                  clocks = <&pericfg CLK_PERI_MSDC30_0_PD>,
>>                           <&topckgen CLK_TOP_MSDC50_0_SEL>;
>>                  clock-names = "source", "hclk";
>> +               resets = <&pericfg MT7622_PERI_MSDC0_SW_RST>;
>> +               reset-names = "hrst";
>>                  status = "disabled";
>>          };
>>
>> --
>> 2.18.0
Ulf Hansson Aug. 28, 2020, 8:43 a.m. UTC | #4
On Thu, 27 Aug 2020 at 10:23, Matthias Brugger <matthias.bgg@gmail.com> wrote:
>
>
>
> On 24/08/2020 11:50, Ulf Hansson wrote:
> > On Fri, 14 Aug 2020 at 03:44, Wenbin Mei <wenbin.mei@mediatek.com> wrote:
> >>
> >> This commit adds reset node for mmc device.
> >>
> >> Cc: <stable@vger.kernel.org> # v5.4+
> >> Fixes: 966580ad236e ("mmc: mediatek: add support for MT7622 SoC")
> >> Signed-off-by: Wenbin Mei <wenbin.mei@mediatek.com>
> >> Tested-by: Frank Wunderlich <frank-w@public-files.de>
> >
> > I can pick this for my fixes branch, together with the other changes,
> > however deferring that until Matthias acks it.
>
> Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
>
> My understanding is, that this will land also in v5.9-rc[3,4], correct?

Correct.

Applied for fixes, thanks!

[...]

Kind regards
Uffe