Re: [PATCH 0/4] Genericize DW MIPI DSI bridge and add i.MX 6 driver

From: Emil Velikov
Date: Thu Oct 31 2019 - 13:09:34 EST


Hi Adrian,

On Thu, 31 Oct 2019 at 14:26, Adrian Ratiu <adrian.ratiu@xxxxxxxxxxxxx> wrote:
>
> Having a generic Synopsis DesignWare MIPI-DSI host controller bridge
> driver is a very good idea, however the current implementation has
> hardcoded quite a lot of the register layouts used by the two supported
> SoC vendors, STM and Rockchip, which use IP cores v1.30 and v1.31.
>
> This makes it hard to support other SoC vendors like the FSL/NXP i.MX 6
> which use older v1.01 cores or future versions because, based on history,
> layout changes should also be expected in new DSI versions / SoCs.
>
> This patch series converts the bridge and platform drivers to access
> registers via generic regmap APIs and allows each platform driver to
> configure its register layout via struct reg_fields, then adds support
> for the host controller found on i.MX 6.
>
Have you considered keeping the difference internal to the dw-mipi-dsi driver?
Say having the iMX6 module "request" the v1.01 regmap from the bridge
driver, while rockchip/others doing the equivalent.

> .../bindings/display/imx/mipi-dsi.txt | 56 ++
> drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 518 +++++++++---------
> drivers/gpu/drm/imx/Kconfig | 7 +
> drivers/gpu/drm/imx/Makefile | 1 +
> drivers/gpu/drm/imx/dw_mipi_dsi-imx.c | 502 +++++++++++++++++
> .../gpu/drm/rockchip/dw-mipi-dsi-rockchip.c | 154 +++++-
> drivers/gpu/drm/stm/dw_mipi_dsi-stm.c | 160 +++++-
> include/drm/bridge/dw_mipi_dsi.h | 60 +-
> 8 files changed, 1185 insertions(+), 273 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/display/imx/mipi-dsi.txt
> create mode 100644 drivers/gpu/drm/imx/dw_mipi_dsi-imx.c
>

This should make the delta a lot smaller, avoiding the unnecessary
copy of register fields and regmap.
Plus plugging future users will be dead trivial.

-Emil