mbox series

[v4,0/7] Add support to the mmsys driver to be a reset controller

Message ID 20210930083150.3317003-1-enric.balletbo@collabora.com (mailing list archive)
Headers show
Series Add support to the mmsys driver to be a reset controller | expand

Message

Enric Balletbo i Serra Sept. 30, 2021, 8:31 a.m. UTC
Dear all,

The following patchset is a reimplementation of the patch sent by Jitao
Shi [1] some time ago. As suggested by Chun-Kuang Hu, this time the
reset is done using the reset API, where the mmsys driver is the reset
controller and the mtk_dsi driver is the reset consumer.

Note that the first patch is kind of unrelated change, it's just a
cleanup but is needed if you want to apply all the following patches
cleanly.

This patchset is important in order to have the DSI panel working on some
kukui MT8183 Chromebooks (i.e Lenovo IdeaPad Duet). Without it, you just
get a black screen.

Best regards,
  Enric

[1] https://lore.kernel.org/linux-arm-kernel/20210420132614.150242-4-jitao.shi@mediatek.com/


Changes in v4:
- Remove unnused variable as pointed by Hsin-Yi

Changes in v3:
- Based on top of the patch that converts mmsys to schema
- Fix typo in the commit description

Changes in v2:
- Fix build test ERROR Reported-by: kernel test robot <lkp@intel.com>
- Added a new patch to describe the dsi reset optional property.

Enric Balletbo i Serra (7):
  arm64: dts: mediatek: Move reset controller constants into common
    location
  dt-bindings: mediatek: Add #reset-cells to mmsys system controller
  dt-bindings: display: mediatek: add dsi reset optional property
  arm64: dts: mt8173: Add the mmsys reset bit to reset the dsi0
  arm64: dts: mt8183: Add the mmsys reset bit to reset the dsi0
  soc: mediatek: mmsys: Add reset controller support
  drm/mediatek: mtk_dsi: Reset the dsi0 hardware

 .../bindings/arm/mediatek/mediatek,mmsys.yaml |  4 ++
 .../display/mediatek/mediatek,dsi.txt         |  6 ++
 arch/arm64/boot/dts/mediatek/mt8173.dtsi      |  2 +
 arch/arm64/boot/dts/mediatek/mt8183.dtsi      |  5 +-
 drivers/gpu/drm/mediatek/mtk_dsi.c            |  5 +-
 drivers/soc/mediatek/mtk-mmsys.c              | 68 +++++++++++++++++++
 drivers/soc/mediatek/mtk-mmsys.h              |  2 +
 drivers/watchdog/mtk_wdt.c                    |  6 +-
 .../mt2712-resets.h                           |  0
 include/dt-bindings/reset/mt8173-resets.h     |  2 +
 .../mt8183-resets.h                           |  3 +
 .../mt8192-resets.h                           |  0
 12 files changed, 97 insertions(+), 6 deletions(-)
 rename include/dt-bindings/{reset-controller => reset}/mt2712-resets.h (100%)
 rename include/dt-bindings/{reset-controller => reset}/mt8183-resets.h (98%)
 rename include/dt-bindings/{reset-controller => reset}/mt8192-resets.h (100%)

Comments

Matthias Brugger Oct. 8, 2021, 1:16 p.m. UTC | #1
On 30/09/2021 10:31, Enric Balletbo i Serra wrote:
> Dear all,
> 
> The following patchset is a reimplementation of the patch sent by Jitao
> Shi [1] some time ago. As suggested by Chun-Kuang Hu, this time the
> reset is done using the reset API, where the mmsys driver is the reset
> controller and the mtk_dsi driver is the reset consumer.
> 
> Note that the first patch is kind of unrelated change, it's just a
> cleanup but is needed if you want to apply all the following patches
> cleanly.
> 
> This patchset is important in order to have the DSI panel working on some
> kukui MT8183 Chromebooks (i.e Lenovo IdeaPad Duet). Without it, you just
> get a black screen.
> 

Patch 1-5 pushed to v5.15-next/dts64
Patch 6-7 pushed to v5.15-next/soc

Thanks!
Matthias

> Best regards,
>    Enric
> 
> [1] https://lore.kernel.org/linux-arm-kernel/20210420132614.150242-4-jitao.shi@mediatek.com/
> 
> 
> Changes in v4:
> - Remove unnused variable as pointed by Hsin-Yi
> 
> Changes in v3:
> - Based on top of the patch that converts mmsys to schema
> - Fix typo in the commit description
> 
> Changes in v2:
> - Fix build test ERROR Reported-by: kernel test robot <lkp@intel.com>
> - Added a new patch to describe the dsi reset optional property.
> 
> Enric Balletbo i Serra (7):
>    arm64: dts: mediatek: Move reset controller constants into common
>      location
>    dt-bindings: mediatek: Add #reset-cells to mmsys system controller
>    dt-bindings: display: mediatek: add dsi reset optional property
>    arm64: dts: mt8173: Add the mmsys reset bit to reset the dsi0
>    arm64: dts: mt8183: Add the mmsys reset bit to reset the dsi0
>    soc: mediatek: mmsys: Add reset controller support
>    drm/mediatek: mtk_dsi: Reset the dsi0 hardware
> 
>   .../bindings/arm/mediatek/mediatek,mmsys.yaml |  4 ++
>   .../display/mediatek/mediatek,dsi.txt         |  6 ++
>   arch/arm64/boot/dts/mediatek/mt8173.dtsi      |  2 +
>   arch/arm64/boot/dts/mediatek/mt8183.dtsi      |  5 +-
>   drivers/gpu/drm/mediatek/mtk_dsi.c            |  5 +-
>   drivers/soc/mediatek/mtk-mmsys.c              | 68 +++++++++++++++++++
>   drivers/soc/mediatek/mtk-mmsys.h              |  2 +
>   drivers/watchdog/mtk_wdt.c                    |  6 +-
>   .../mt2712-resets.h                           |  0
>   include/dt-bindings/reset/mt8173-resets.h     |  2 +
>   .../mt8183-resets.h                           |  3 +
>   .../mt8192-resets.h                           |  0
>   12 files changed, 97 insertions(+), 6 deletions(-)
>   rename include/dt-bindings/{reset-controller => reset}/mt2712-resets.h (100%)
>   rename include/dt-bindings/{reset-controller => reset}/mt8183-resets.h (98%)
>   rename include/dt-bindings/{reset-controller => reset}/mt8192-resets.h (100%)
>