[Intel-gfx] [PATCH v8 19/38] drm/i915/icl: Allocate hosts for DSI ports
Madhav Chauhan
madhav.chauhan at intel.com
Wed Oct 31 11:26:59 UTC 2018
On 10/30/2018 5:26 PM, Jani Nikula wrote:
> This patch allocates DSI host structure for each
> DSI port available on gen11 and register them with
> DSI fwk of DRM. Some of the DSI host operations are
> also registered as part of this. This patch also fills
> MIPI config block info from VBT to local structure.
>
> v2 by Jani:
> - indentation
Looks fine.
Regards,
Madhav
>
> Signed-off-by: Madhav Chauhan <madhav.chauhan at intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/icl_dsi.c | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/icl_dsi.c b/drivers/gpu/drm/i915/icl_dsi.c
> index a117ecc6c5a3..d0c60d402dfe 100644
> --- a/drivers/gpu/drm/i915/icl_dsi.c
> +++ b/drivers/gpu/drm/i915/icl_dsi.c
> @@ -982,6 +982,23 @@ static const struct drm_encoder_funcs gen11_dsi_encoder_funcs = {
> static const struct drm_connector_funcs gen11_dsi_connector_funcs = {
> };
>
> +static int gen11_dsi_host_attach(struct mipi_dsi_host *host,
> + struct mipi_dsi_device *dsi)
> +{
> + return 0;
> +}
> +
> +static int gen11_dsi_host_detach(struct mipi_dsi_host *host,
> + struct mipi_dsi_device *dsi)
> +{
> + return 0;
> +}
> +
> +static const struct mipi_dsi_host_ops gen11_dsi_host_ops = {
> + .attach = gen11_dsi_host_attach,
> + .detach = gen11_dsi_host_detach,
> +};
> +
> void icl_dsi_init(struct drm_i915_private *dev_priv)
> {
> struct drm_device *dev = &dev_priv->drm;
> @@ -1052,6 +1069,21 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
> intel_panel_init(&intel_connector->panel, fixed_mode, NULL);
> intel_panel_setup_backlight(connector, INVALID_PIPE);
>
> + for_each_dsi_port(port, intel_dsi->ports) {
> + struct intel_dsi_host *host;
> +
> + host = intel_dsi_host_init(intel_dsi, &gen11_dsi_host_ops, port);
> + if (!host)
> + goto err;
> +
> + intel_dsi->dsi_hosts[port] = host;
> + }
> +
> + if (!intel_dsi_vbt_init(intel_dsi, MIPI_DSI_GENERIC_PANEL_ID)) {
> + DRM_DEBUG_KMS("no device found\n");
> + goto err;
> + }
> +
> return;
>
> err:
More information about the Intel-gfx
mailing list