From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC v9 11/20] drm/bridge: Add Synopsys DesignWare MIPI DSI host controller driver
Date: Thu, 9 Apr 2015 10:43:54 +0200 [thread overview]
Message-ID: <20150409084353.GD12103@ulmo> (raw)
In-Reply-To: <1423720903-24806-12-git-send-email-Ying.Liu@freescale.com>
On Thu, Feb 12, 2015 at 02:01:34PM +0800, Liu Ying wrote:
[...]
> diff --git a/drivers/gpu/drm/bridge/dw_mipi_dsi.c b/drivers/gpu/drm/bridge/dw_mipi_dsi.c
[...]
> +struct dw_mipi_dsi {
> + struct mipi_dsi_host dsi_host;
> + struct drm_connector connector;
> + struct drm_encoder *encoder;
> + struct drm_bridge *bridge;
> + struct drm_panel *panel;
> + struct device *dev;
> +
> + void __iomem *base;
> +
> + struct clk *pllref_clk;
> + struct clk *cfg_clk;
> + struct clk *pclk;
> +
> + unsigned int lane_mbps; /* per lane */
> + u32 channel;
> + u32 lanes;
> + u32 format;
> + struct drm_display_mode *mode;
> +
> + const struct dw_mipi_dsi_plat_data *pdata;
> +
> + bool enabled;
> +};
While reviewing this I kept thinking whether this is really the right
architectural design. This driver is a MIPI DSI host, a connector and
a bridge, all in one. But it seems to me like it should really be an
encoder/connector and a MIPI DSI host. Why the need for a bridge? The
bridge abstraction targets blocks outside of the SoC, but it is my
understanding that these DesignWare IP blocks are designed into SoCs.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150409/26414472/attachment.sig>
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding@gmail.com>
To: Liu Ying <Ying.Liu@freescale.com>
Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org,
linux@arm.linux.org.uk, sboyd@codeaurora.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
a.hajda@samsung.com, kernel@pengutronix.de,
andy.yan@rock-chips.com, mturquette@linaro.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH RFC v9 11/20] drm/bridge: Add Synopsys DesignWare MIPI DSI host controller driver
Date: Thu, 9 Apr 2015 10:43:54 +0200 [thread overview]
Message-ID: <20150409084353.GD12103@ulmo> (raw)
In-Reply-To: <1423720903-24806-12-git-send-email-Ying.Liu@freescale.com>
[-- Attachment #1.1: Type: text/plain, Size: 1115 bytes --]
On Thu, Feb 12, 2015 at 02:01:34PM +0800, Liu Ying wrote:
[...]
> diff --git a/drivers/gpu/drm/bridge/dw_mipi_dsi.c b/drivers/gpu/drm/bridge/dw_mipi_dsi.c
[...]
> +struct dw_mipi_dsi {
> + struct mipi_dsi_host dsi_host;
> + struct drm_connector connector;
> + struct drm_encoder *encoder;
> + struct drm_bridge *bridge;
> + struct drm_panel *panel;
> + struct device *dev;
> +
> + void __iomem *base;
> +
> + struct clk *pllref_clk;
> + struct clk *cfg_clk;
> + struct clk *pclk;
> +
> + unsigned int lane_mbps; /* per lane */
> + u32 channel;
> + u32 lanes;
> + u32 format;
> + struct drm_display_mode *mode;
> +
> + const struct dw_mipi_dsi_plat_data *pdata;
> +
> + bool enabled;
> +};
While reviewing this I kept thinking whether this is really the right
architectural design. This driver is a MIPI DSI host, a connector and
a bridge, all in one. But it seems to me like it should really be an
encoder/connector and a MIPI DSI host. Why the need for a bridge? The
bridge abstraction targets blocks outside of the SoC, but it is my
understanding that these DesignWare IP blocks are designed into SoCs.
Thierry
[-- Attachment #1.2: Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding@gmail.com>
To: Liu Ying <Ying.Liu@freescale.com>
Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux@arm.linux.org.uk,
kernel@pengutronix.de, p.zabel@pengutronix.de,
shawn.guo@linaro.org, mturquette@linaro.org, airlied@linux.ie,
andy.yan@rock-chips.com, stefan.wahren@i2se.com,
a.hajda@samsung.com, sboyd@codeaurora.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH RFC v9 11/20] drm/bridge: Add Synopsys DesignWare MIPI DSI host controller driver
Date: Thu, 9 Apr 2015 10:43:54 +0200 [thread overview]
Message-ID: <20150409084353.GD12103@ulmo> (raw)
In-Reply-To: <1423720903-24806-12-git-send-email-Ying.Liu@freescale.com>
[-- Attachment #1: Type: text/plain, Size: 1115 bytes --]
On Thu, Feb 12, 2015 at 02:01:34PM +0800, Liu Ying wrote:
[...]
> diff --git a/drivers/gpu/drm/bridge/dw_mipi_dsi.c b/drivers/gpu/drm/bridge/dw_mipi_dsi.c
[...]
> +struct dw_mipi_dsi {
> + struct mipi_dsi_host dsi_host;
> + struct drm_connector connector;
> + struct drm_encoder *encoder;
> + struct drm_bridge *bridge;
> + struct drm_panel *panel;
> + struct device *dev;
> +
> + void __iomem *base;
> +
> + struct clk *pllref_clk;
> + struct clk *cfg_clk;
> + struct clk *pclk;
> +
> + unsigned int lane_mbps; /* per lane */
> + u32 channel;
> + u32 lanes;
> + u32 format;
> + struct drm_display_mode *mode;
> +
> + const struct dw_mipi_dsi_plat_data *pdata;
> +
> + bool enabled;
> +};
While reviewing this I kept thinking whether this is really the right
architectural design. This driver is a MIPI DSI host, a connector and
a bridge, all in one. But it seems to me like it should really be an
encoder/connector and a MIPI DSI host. Why the need for a bridge? The
bridge abstraction targets blocks outside of the SoC, but it is my
understanding that these DesignWare IP blocks are designed into SoCs.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-04-09 8:43 UTC|newest]
Thread overview: 194+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-12 6:01 [PATCH RFC v9 00/20] Add support for i.MX MIPI DSI DRM driver Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 01/20] clk: divider: Correct parent clk round rate if no bestdiv is normally found Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 9:33 ` Sascha Hauer
2015-02-12 9:33 ` Sascha Hauer
2015-02-12 9:33 ` Sascha Hauer
2015-02-12 10:39 ` Liu Ying
2015-02-12 10:39 ` Liu Ying
2015-02-12 10:39 ` Liu Ying
2015-02-12 12:24 ` Sascha Hauer
2015-02-12 12:24 ` Sascha Hauer
2015-02-12 12:24 ` Sascha Hauer
2015-02-12 12:56 ` Russell King - ARM Linux
2015-02-12 12:56 ` Russell King - ARM Linux
2015-02-12 12:56 ` Russell King - ARM Linux
2015-02-12 13:41 ` Sascha Hauer
2015-02-12 13:41 ` Sascha Hauer
2015-02-12 13:41 ` Sascha Hauer
2015-02-12 14:06 ` Liu Ying
2015-02-12 14:06 ` Liu Ying
2015-02-12 14:06 ` Liu Ying
2015-02-13 2:58 ` Liu Ying
2015-02-13 2:58 ` Liu Ying
2015-02-13 2:58 ` Liu Ying
2015-02-13 2:58 ` Travis
2015-02-13 2:58 ` Travis
2015-02-13 2:58 ` Travis
2015-02-13 14:35 ` Tomi Valkeinen
2015-02-13 14:35 ` Tomi Valkeinen
2015-02-13 14:35 ` Tomi Valkeinen
2015-02-13 18:57 ` Sascha Hauer
2015-02-13 18:57 ` Sascha Hauer
2015-02-13 18:57 ` Sascha Hauer
2015-02-16 11:18 ` Tomi Valkeinen
2015-02-16 11:18 ` Tomi Valkeinen
2015-02-16 11:18 ` Tomi Valkeinen
2015-02-17 10:32 ` Sascha Hauer
2015-02-17 10:32 ` Sascha Hauer
2015-02-17 10:32 ` Sascha Hauer
2015-02-16 11:27 ` Russell King - ARM Linux
2015-02-16 11:27 ` Russell King - ARM Linux
2015-02-16 11:27 ` Russell King - ARM Linux
2015-02-20 19:13 ` Mike Turquette
2015-02-20 19:13 ` Mike Turquette
2015-02-20 19:20 ` Russell King - ARM Linux
2015-02-20 19:20 ` Russell King - ARM Linux
2015-02-20 19:20 ` Russell King - ARM Linux
2015-02-20 19:42 ` Mike Turquette
2015-02-20 19:42 ` Mike Turquette
2015-02-21 8:56 ` Uwe Kleine-König
2015-02-21 8:56 ` Uwe Kleine-König
2015-02-21 8:56 ` Uwe Kleine-König
2015-02-21 10:40 ` [PATCH 0/3] clk: divider: three exactness fixes (and a rant) Uwe Kleine-König
2015-02-21 10:40 ` Uwe Kleine-König
2015-02-21 10:40 ` [PATCH 1/3] clk: divider: fix calculation of maximal parent rate for a given divider Uwe Kleine-König
2015-02-21 10:40 ` Uwe Kleine-König
2015-02-23 7:32 ` Sascha Hauer
2015-02-23 7:32 ` Sascha Hauer
2015-03-05 8:35 ` Uwe Kleine-König
2015-03-05 8:35 ` Uwe Kleine-König
2015-02-21 10:40 ` [PATCH 2/3] clk: divider: fix selection of divider when rounding to closest Uwe Kleine-König
2015-02-21 10:40 ` Uwe Kleine-König
2015-02-23 9:46 ` Maxime Coquelin
2015-02-23 9:46 ` Maxime Coquelin
2015-02-21 10:40 ` [PATCH 3/3] clk: divider: fix calculation of initial best " Uwe Kleine-König
2015-02-21 10:40 ` Uwe Kleine-König
2015-02-23 9:42 ` Maxime Coquelin
2015-02-23 9:42 ` Maxime Coquelin
2015-02-23 7:23 ` [PATCH 0/3] clk: divider: three exactness fixes (and a rant) Sascha Hauer
2015-02-23 7:23 ` Sascha Hauer
2015-03-06 18:57 ` Mike Turquette
2015-03-06 18:57 ` Mike Turquette
2015-03-06 19:28 ` Uwe Kleine-König
2015-03-06 19:28 ` Uwe Kleine-König
2015-03-06 19:40 ` Stephen Boyd
2015-03-06 19:40 ` Stephen Boyd
2015-03-09 9:58 ` Philipp Zabel
2015-03-09 9:58 ` Philipp Zabel
2015-03-09 19:05 ` Stephen Boyd
2015-03-09 19:05 ` Stephen Boyd
2015-03-09 20:23 ` Uwe Kleine-König
2015-03-09 20:23 ` Uwe Kleine-König
2015-03-09 21:07 ` Mike Turquette
2015-03-09 21:07 ` Mike Turquette
2015-03-09 21:58 ` Uwe Kleine-König
2015-03-09 21:58 ` Uwe Kleine-König
2015-03-09 22:40 ` Stephen Boyd
2015-03-09 22:40 ` Stephen Boyd
2015-03-09 23:34 ` Uwe Kleine-König
2015-03-09 23:34 ` Uwe Kleine-König
2015-03-12 1:21 ` Stephen Boyd
2015-03-12 1:21 ` Stephen Boyd
2015-03-12 8:57 ` Philipp Zabel
2015-03-12 8:57 ` Philipp Zabel
2015-03-13 7:50 ` Uwe Kleine-König
2015-03-13 7:50 ` Uwe Kleine-König
2015-03-13 8:13 ` Philipp Zabel
2015-03-13 8:13 ` Philipp Zabel
2015-03-06 19:44 ` Stephen Boyd
2015-03-06 19:44 ` Stephen Boyd
2015-03-06 21:09 ` Uwe Kleine-König
2015-03-06 21:09 ` Uwe Kleine-König
2015-02-12 6:01 ` [PATCH RFC v9 02/20] ARM: imx6q: Add GPR3 MIPI muxing control register field shift bits definition Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 03/20] ARM: imx6q: clk: Add the video_27m clock Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 04/20] ARM: imx6q: clk: Change hdmi_isfr clock's parent to be " Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 05/20] ARM: imx6q: clk: Change hsi_tx clock to be a shared clock gate Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 06/20] ARM: imx6q: clk: Add support for mipi_core_cfg clock as " Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 07/20] ARM: imx6q: clk: Add support for mipi_ipg " Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 08/20] ARM: dts: imx6qdl: Move existing MIPI DSI ports into a new 'ports' node Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 09/20] drm/dsi: Add a helper to get bits per pixel of MIPI DSI pixel format Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 9:26 ` Daniel Vetter
2015-02-12 9:26 ` Daniel Vetter
2015-02-12 9:26 ` Daniel Vetter
2015-02-13 5:01 ` Liu Ying
2015-02-13 5:01 ` Liu Ying
2015-02-13 5:01 ` Liu Ying
2015-03-03 11:07 ` Philipp Zabel
2015-03-03 11:07 ` Philipp Zabel
2015-03-03 11:07 ` Philipp Zabel
2015-04-03 3:28 ` Liu Ying
2015-04-03 3:28 ` Liu Ying
2015-04-09 7:10 ` Thierry Reding
2015-04-09 7:10 ` Thierry Reding
2015-04-09 7:10 ` Thierry Reding
2015-02-12 6:01 ` [PATCH RFC v9 10/20] Documentation: dt-bindings: Add bindings for Synopsys DW MIPI DSI DRM bridge driver Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 11/20] drm/bridge: Add Synopsys DesignWare MIPI DSI host controller driver Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-04-09 8:43 ` Thierry Reding [this message]
2015-04-09 8:43 ` Thierry Reding
2015-04-09 8:43 ` Thierry Reding
2015-04-16 5:39 ` Archit Taneja
2015-04-16 5:39 ` Archit Taneja
2015-04-16 5:39 ` Archit Taneja
2015-04-22 12:13 ` Heiko Stübner
2015-04-22 12:13 ` Heiko Stübner
2015-04-22 12:13 ` Heiko Stübner
2015-02-12 6:01 ` [PATCH RFC v9 12/20] Documentation: dt-bindings: Add bindings for i.MX specific Synopsys DW MIPI DSI driver Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 13/20] drm: imx: Support Synopsys DesignWare MIPI DSI host controller Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 14/20] Documentation: dt-bindings: Add bindings for Himax HX8369A DRM panel driver Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-04-09 7:20 ` Thierry Reding
2015-04-09 7:20 ` Thierry Reding
2015-04-09 7:20 ` Thierry Reding
2015-02-12 6:01 ` [PATCH RFC v9 15/20] drm: panel: Add support for Himax HX8369A MIPI DSI panel Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-04-09 8:09 ` Thierry Reding
2015-04-09 8:09 ` Thierry Reding
2015-04-09 8:09 ` Thierry Reding
2015-02-12 6:01 ` [PATCH RFC v9 16/20] ARM: dtsi: imx6qdl: Add support for MIPI DSI host controller Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 17/20] ARM: dts: imx6qdl-sabresd: Add support for TRULY TFT480800-16-E MIPI DSI panel Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 18/20] ARM: imx_v6_v7_defconfig: Cleanup for imx drm being moved out of staging Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 19/20] ARM: imx_v6_v7_defconfig: Add support for MIPI DSI host controller Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` [PATCH RFC v9 20/20] ARM: imx_v6_v7_defconfig: Add support for Himax HX8369A panel Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-02-12 6:01 ` Liu Ying
2015-03-02 13:24 ` [PATCH RFC v9 00/20] Add support for i.MX MIPI DSI DRM driver Shawn Guo
2015-03-02 13:24 ` Shawn Guo
2015-03-02 13:24 ` Shawn Guo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150409084353.GD12103@ulmo \
--to=thierry.reding@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.