[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACvgo50NmofJrCvADOTxJqJqKEWDsy8qD-1B6R356vFMcmdbWA@mail.gmail.com>
Date: Thu, 31 Oct 2019 17:07:36 +0000
From: Emil Velikov <emil.l.velikov@...il.com>
To: Adrian Ratiu <adrian.ratiu@...labora.com>
Cc: LAKML <linux-arm-kernel@...ts.infradead.org>,
linux-stm32@...md-mailman.stormreply.com,
linux-rockchip <linux-rockchip@...ts.infradead.org>,
kernel@...labora.com,
"Linux-Kernel@...r. Kernel. Org" <linux-kernel@...r.kernel.org>,
ML dri-devel <dri-devel@...ts.freedesktop.org>
Subject: Re: [PATCH 0/4] Genericize DW MIPI DSI bridge and add i.MX 6 driver
Hi Adrian,
On Thu, 31 Oct 2019 at 14:26, Adrian Ratiu <adrian.ratiu@...labora.com> 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
Powered by blists - more mailing lists