Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1688210ybz; Thu, 16 Apr 2020 13:43:35 -0700 (PDT) X-Google-Smtp-Source: APiQypKYW9XjPUnPEsZjqBwUVMx7ryVI141sJhmbIP5YJDgc4sQzNGPsNuONps2QYmoGKgYYhLGZ X-Received: by 2002:a50:f298:: with SMTP id f24mr38288edm.199.1587069814846; Thu, 16 Apr 2020 13:43:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587069814; cv=none; d=google.com; s=arc-20160816; b=kWctWAGI/d0Ff29XN0xFndK2LcVGWBPNI9sMTxVMZVCY6j3bbcw8U0zQIaCLnISlFS CQAlMBrpINxztmSRaUh5tPLwQS8KfwPcUHFKtbDS0qRskF/yTnGFpMr7ryje/2XrgtJ0 D9PYIhINF1yMY+Kf8VfEiUcgN7ANLoNKvzpQigwUwShEpSTlUom6sYdb139pcndcKm5q 3qRxJyBjJTnLuNz85J8Q/DE6rHpMGiT3tlCYQ6QBIT7Vzk4C60HxL9BQf/qNujtr+Lfj +6fblIKULlv9gLIcOyLMCLEBHyo+1IKn9B9WH3TO3+smboC4zvkk0MnxhEPUtluEi22N auFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=9UUyk6IgnVaYUtZPIARoZyKPUJJiCz1x3Ji+zrRPrOk=; b=R/4PDRBF6kwNmwrYz0NEniu79DV+X67JqqCnWRAm7ruYVkWhhhZdad/5jYGTtVxKKG QOFj4Fl4OsEapFe6vH1mwMvsBhps4QhZ3of/5KHUhN+USj9t1up3pZZU4pYGujKXXaq1 9JzPnPY6cnKfdMh4T+bOxu0rh1wsEgur1TXxHCLq8wgaqa1jocWLvNgVmf/Qe0NFucGd TJM/sq0KiFsuxTkzJvqcG0X17kXbzg2qY8jk0Lmo30gWV8GXCxNq2R272UXWl2zy80d0 aCAxHbT5WmoOceLdeCoCfy16KQco51xnZceTmmXGmAsjmou0L2fNLW60bXFtF67WeOgP eJbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=wRSP0OzC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c5si4060436edt.222.2020.04.16.13.43.06; Thu, 16 Apr 2020 13:43:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=wRSP0OzC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728235AbgDPRfm (ORCPT + 99 others); Thu, 16 Apr 2020 13:35:42 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:50680 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728067AbgDPRfj (ORCPT ); Thu, 16 Apr 2020 13:35:39 -0400 Received: from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 5601C97D; Thu, 16 Apr 2020 19:35:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1587058537; bh=4Q847mvkwFuCXv962ZXNNdX9bZudBbb/nEWEfDUEdNw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=wRSP0OzCTXppY61r2bs0z/Gd6zSMzkjfjOUnd/qz/qv8cGp6y+isKPskzxXCwxKtV Q19e78n3HZKWHzvU71dJiwtecFsCBV3I1UjZb7B/YE58u5zq8IwUqfioxT9tQKqaz2 h7z9Cq2mIDYQDDiHs6UojyVB4F+dhS8UA1i7aS+M= Date: Thu, 16 Apr 2020 20:35:25 +0300 From: Laurent Pinchart To: Enric Balletbo i Serra Cc: linux-kernel@vger.kernel.org, Collabora Kernel ML , matthias.bgg@gmail.com, drinkcat@chromium.org, hsinyi@chromium.org, Chun-Kuang Hu , Daniel Vetter , David Airlie , Philipp Zabel , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: Re: [PATCH v2 7/7] drm/mediatek: mtk_dsi: Create connector for bridges Message-ID: <20200416173525.GQ4796@pendragon.ideasonboard.com> References: <20200416155720.2360443-1-enric.balletbo@collabora.com> <20200416155720.2360443-8-enric.balletbo@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20200416155720.2360443-8-enric.balletbo@collabora.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Enric, Thank you for the patch. On Thu, Apr 16, 2020 at 05:57:19PM +0200, Enric Balletbo i Serra wrote: > Use the drm_bridge_connector helper to create a connector for pipelines > that use drm_bridge. This allows splitting connector operations across > multiple bridges when necessary, instead of having the last bridge in > the chain creating the connector and handling all connector operations > internally. That's the right direction, but this should be done in the mtk display controller driver core, not in here. I'm OK with the code being here as an interim measure if needed to move forward, but that should then be temporary only. > Signed-off-by: Enric Balletbo i Serra > --- > > Changes in v2: None > > drivers/gpu/drm/mediatek/mtk_dsi.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > index 44718fa3d1ca..2f8876c32864 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > @@ -17,6 +17,7 @@ > > #include > #include > +#include > #include > #include > #include > @@ -184,6 +185,7 @@ struct mtk_dsi { > struct drm_bridge bridge; > struct drm_bridge *panel_bridge; > struct drm_bridge *next_bridge; > + struct drm_connector *connector; > struct phy *phy; > > void __iomem *regs; > @@ -983,10 +985,19 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) > */ > dsi->encoder.possible_crtcs = 1; > > - ret = drm_bridge_attach(&dsi->encoder, &dsi->bridge, NULL, 0); > + ret = drm_bridge_attach(&dsi->encoder, &dsi->bridge, NULL, > + DRM_BRIDGE_ATTACH_NO_CONNECTOR); > if (ret) > goto err_cleanup_encoder; > > + dsi->connector = drm_bridge_connector_init(drm, &dsi->encoder); > + if (IS_ERR(dsi->connector)) { > + DRM_ERROR("Unable to create bridge connector\n"); > + ret = PTR_ERR(dsi->connector); > + goto err_cleanup_encoder; > + } > + drm_connector_attach_encoder(dsi->connector, &dsi->encoder); > + > return 0; > > err_cleanup_encoder: > @@ -1144,6 +1155,7 @@ static int mtk_dsi_probe(struct platform_device *pdev) > > dsi->bridge.funcs = &mtk_dsi_bridge_funcs; > dsi->bridge.of_node = dev->of_node; > + dsi->bridge.type = DRM_MODE_CONNECTOR_DSI; I think this line belongs to the patch that adds drm_bridge support to this driver. > > drm_bridge_add(&dsi->bridge); > -- Regards, Laurent Pinchart