[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<AM7P189MB10091A1D4F0C98898780079EE373A@AM7P189MB1009.EURP189.PROD.OUTLOOK.COM>
Date: Tue, 17 Jun 2025 08:00:29 +0200
From: Maud Spierings <maud_spierings@...mail.com>
To: Michal Wilczynski <m.wilczynski@...sung.com>,
keith zhao <keith.zhao@...rfivetech.com>, devicetree@...r.kernel.org,
dri-devel@...ts.freedesktop.org, william.qiu@...rfivetech.com,
xingyu.wu@...rfivetech.com,
"paul.walmsley@...ive.com" <paul.walmsley@...ive.com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
changhuang.liang@...rfivetech.com, jack.zhu@...rfivetech.com
Cc: andrzej.hajda@...el.com, neil.armstrong@...aro.org, rfoss@...nel.org,
Laurent.pinchart@...asonboard.com, jonas@...boo.se,
jernej.skrabec@...il.com, maarten.lankhorst@...ux.intel.com,
mripard@...nel.org, tzimmermann@...e.de, airlied@...il.com, simona@...ll.ch,
robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
hjc@...k-chips.com, heiko@...ech.de, andy.yan@...k-chips.com,
kernel@...il.dk, palmer@...belt.com, aou@...s.berkeley.edu,
p.zabel@...gutronix.de, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 0/9] drm/verisilicon : support DC8200 and inno hdmi
On 6/14/25 20:53, Michal Wilczynski wrote:
>
>
> On 3/11/25 08:42, Maud Spierings wrote:
>> On 11/20/24 07:18, keith zhao wrote:
>>> Verisilicon/DC8200 display controller IP has 2 display pipes and each
>>> pipe support a primary plane and a cursor plane .
>>> In addition, there are 4 overlay planes as 2 display pipes common resources.
>>>
>>> The first display pipe is bound to the inno HDMI encoder.
>>> The second display pipe is bound to Internal custom encoder,
>>> which is used to find dsi bridge by dts node.
>>>
>>> This patchset should be applied on next branch.
>>>
>>> V1:
>>> Changes since v1:
>>> - Further standardize the yaml file.
>>> - Dts naming convention improved.
>>> - Fix the problem of compiling and loading ko files.
>>> - Use drm new api to automatically manage resources.
>>> - Drop vs_crtc_funcs&vs_plane_funcs, subdivide the plane's help interface.
>>> - Reduce the modifiers unused.
>>> - Optimize the hdmi driver code
>>>
>>> V2:
>>> Changes since v2:
>>> - fix the error about checking the yaml file.
>>> - match drm driver GEM DMA API.
>>> - Delete the custom crtc property .
>>> - hdmi use drmm_ new api to automatically manage resources.
>>> - update the modifiers comments.
>>> - enabling KASAN, fix the error during removing module
>>>
>>> V3:
>>> Changes since v3:
>>> - Delete the custom plane property.
>>> - Delete the custom fourcc modifiers.
>>> - Adjust the calculation mode of hdmi pixclock.
>>> - Add match data for dc8200 driver.
>>> - Adjust some magic values.
>>> - Add a simple encoder for dsi output.
>>>
>>> V4:
>>> Changes since v4:
>>> - Delete the display subsystem module as all crtcs and planes are a driver.
>>> - Delete the custom struct, directly use the drm struct data.
>>> - Tidy up the inno hdmi public interface.
>>> - Add a simple encoder for dsi output.
>>>
>>> V5:
>>> Changes since v5:
>>> - Refine the Innosilicon HDMI by quoting bridge abstracting.
>>> - Delete the encoder driver, which is created directly by internal functions.
>>> - Adapt to the changes in kernel upgrade APIs, such as drm_client_setup.
>>>
>>> keith zhao (9):
>>> dt-bindings: display: bindings for starfive,JH7110 display pipeline
>>> riscv: dts: Add display property
>>> drm: bridge: inno-hdmi: add inno bridge driver.
>>> drm/vs: Add Hardware Functions for VS DC8200
>>> drm/vs: Add Base API for VS Mode Configuration
>>> drm/vs: Add CRTC Functions
>>> drm/vs: Add VS Plane API
>>> drm/vs: Add Innosilicon HDMI Support
>>> drm/vs: Add VS DRM Master Driver for JH7110 SoC
>>>
>>> .../display/bridge/innosilicon,inno-hdmi.yaml | 45 +
>>> .../display/rockchip/rockchip,inno-hdmi.yaml | 27 +-
>>> .../starfive/starfive,jh7110-dc8200.yaml | 176 +++
>>> .../starfive/starfive,jh7110-inno-hdmi.yaml | 91 ++
>>> .../soc/starfive/starfive,jh7110-syscon.yaml | 1 +
>>> MAINTAINERS | 11 +
>>> .../boot/dts/starfive/jh7110-common.dtsi | 125 ++
>>> arch/riscv/boot/dts/starfive/jh7110.dtsi | 41 +
>>> drivers/gpu/drm/Kconfig | 2 +
>>> drivers/gpu/drm/Makefile | 1 +
>>> drivers/gpu/drm/bridge/Kconfig | 2 +
>>> drivers/gpu/drm/bridge/Makefile | 1 +
>>> drivers/gpu/drm/bridge/innosilicon/Kconfig | 6 +
>>> drivers/gpu/drm/bridge/innosilicon/Makefile | 2 +
>>> .../gpu/drm/bridge/innosilicon/inno-hdmi.c | 376 ++++++
>>> .../gpu/drm/bridge/innosilicon/inno-hdmi.h | 34 +
>>> drivers/gpu/drm/rockchip/Kconfig | 1 +
>>> drivers/gpu/drm/rockchip/Makefile | 2 +-
>>> drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c | 690 +++++++++++
>>> .../{inno_hdmi.h => inno_hdmi-rockchip.h} | 0
>>> drivers/gpu/drm/rockchip/inno_hdmi.c | 1025 ---------------
>>> drivers/gpu/drm/verisilicon/Kconfig | 32 +
>>> drivers/gpu/drm/verisilicon/Makefile | 10 +
>>> .../gpu/drm/verisilicon/inno_hdmi-starfive.c | 553 +++++++++
>>> .../gpu/drm/verisilicon/inno_hdmi-starfive.h | 194 +++
>>> drivers/gpu/drm/verisilicon/vs_crtc.c | 241 ++++
>>> drivers/gpu/drm/verisilicon/vs_crtc.h | 42 +
>>> drivers/gpu/drm/verisilicon/vs_dc_hw.c | 1104 +++++++++++++++++
>>> drivers/gpu/drm/verisilicon/vs_dc_hw.h | 492 ++++++++
>>> drivers/gpu/drm/verisilicon/vs_drv.c | 777 ++++++++++++
>>> drivers/gpu/drm/verisilicon/vs_drv.h | 41 +
>>> drivers/gpu/drm/verisilicon/vs_modeset.c | 31 +
>>> drivers/gpu/drm/verisilicon/vs_modeset.h | 10 +
>>> drivers/gpu/drm/verisilicon/vs_plane.c | 358 ++++++
>>> drivers/gpu/drm/verisilicon/vs_plane.h | 27 +
>>> drivers/gpu/drm/verisilicon/vs_type.h | 54 +
>>> include/drm/bridge/inno_hdmi.h | 56 +
>>> 37 files changed, 5630 insertions(+), 1051 deletions(-)
>>> create mode 100644 Documentation/devicetree/bindings/display/bridge/innosilicon,inno-hdmi.yaml
>>> create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,jh7110-dc8200.yaml
>>> create mode 100644 Documentation/devicetree/bindings/display/starfive/starfive,jh7110-inno-hdmi.yaml
>>> create mode 100644 drivers/gpu/drm/bridge/innosilicon/Kconfig
>>> create mode 100644 drivers/gpu/drm/bridge/innosilicon/Makefile
>>> create mode 100644 drivers/gpu/drm/bridge/innosilicon/inno-hdmi.c
>>> create mode 100644 drivers/gpu/drm/bridge/innosilicon/inno-hdmi.h
>>> create mode 100644 drivers/gpu/drm/rockchip/inno_hdmi-rockchip.c
>>> rename drivers/gpu/drm/rockchip/{inno_hdmi.h => inno_hdmi-rockchip.h} (100%)
>>> delete mode 100644 drivers/gpu/drm/rockchip/inno_hdmi.c
>>> create mode 100644 drivers/gpu/drm/verisilicon/Kconfig
>>> create mode 100644 drivers/gpu/drm/verisilicon/Makefile
>>> create mode 100644 drivers/gpu/drm/verisilicon/inno_hdmi-starfive.c
>>> create mode 100644 drivers/gpu/drm/verisilicon/inno_hdmi-starfive.h
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_crtc.c
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_crtc.h
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_dc_hw.c
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_dc_hw.h
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_drv.c
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_drv.h
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_modeset.c
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_modeset.h
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_plane.c
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_plane.h
>>> create mode 100644 drivers/gpu/drm/verisilicon/vs_type.h
>>> create mode 100644 include/drm/bridge/inno_hdmi.h
>>>
>>
>> Is this patch series still being worked on? If not I would like to give it a try to fix it up and get it merged.
>>
>> Would like to get it working on my deepcomputing fml13v01 board, there is also a gpu driver for the thead th1520 being worked on by Michal Wilczynski that depends on this. Would be nice if that could get merged when it is ready.
>
> Hi Maud,
>
> Thanks for your interest in this patch series. I'm also keen to see it
> merged, as the GPU support on the TH1520 Soc depends on it. I just sent
> v4 of my series [1] with the last missing pieces to enable the GPU
> driver to probe correctly.
>
> I'm not aware of any recent progress on this particular set from Keith.
> I would be happy to collaborate with you or take over the work of
> getting it ready for merging.
I've tried rebasing it ontop of a new -next, but it got quite
complicated fast unfortunately. Especially the hdmi part, as there have
been changes inbetween there. I have not managed yet to create a working
rebase, though I feel like I also didn't try hard enough yet.
> I also have a StarFive Vision Five 2 board, and my plan was to get the
> driver working for the JH7110 first. The only thing different for the
> TH1520 SoC is the HDMI driver, which could be added later.
>
> However, the main blocker is the lack of public documentation for the
> Verisilicon DC8200 controller. The official StarFive documentation
> portal [2] mentions two essential documents: "DC8200 Dual Display
> Controller DPU IP Exposed Accessible Registers" and "DC8200 Dual Display
> Controller IP Hardware Features."
>
> Pinging the StarFive developers on this thread: would it be possible to
> make these documents available? Access to them is critical for us to
> successfully move this driver forward.
Those would indeed be very nice to have.
> [1] - https://lore.kernel.org/all/20250614-apr_14_for_sending-v4-0-8e3945c819cd@samsung.com/
> [2] - https://doc-en.rvspace.org/JH7110/TRM/JH7110_TRM/detail_info_display.html
>
Kind regards,
Maud
Powered by blists - more mailing lists