Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp2379528rwb; Mon, 19 Sep 2022 04:24:31 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6B4v6ArvlNfJCRNPCoYaRVWI82VQOhMZ+6R/A5vajijl5symO1Dp9g1ktRUl/fVJ/t80qz X-Received: by 2002:a17:90b:17ca:b0:200:b25e:cd7c with SMTP id me10-20020a17090b17ca00b00200b25ecd7cmr19258826pjb.53.1663586671672; Mon, 19 Sep 2022 04:24:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663586671; cv=none; d=google.com; s=arc-20160816; b=BkAEbnKXw2wo9toYrloKymhAzBuEZkWYgLuk3YNGM9PMsxs7TpQT4BR99+qR+4M/Kj 2I5oamCIkmOa2ln/8ukTxxLHHS5CO+AY72dAO+bFgxQHVdcohvrM/mX2WM/glAoLH70L zmeNYgbPoFOU30/zV2e4LiWM8Jm9+bbCg2MMJF3G47zLeF4EZwT3ne0Lr3WIvBm6Qjrr lIopBpjrzJEyxgecBenxnxm2b0NBD/7cjyzOaYAkheK++2km22xLJbmwWHIBRC0WJlJW JpH2mRPGuAw1uX495/hNW/vczuwQ2ssi1glRQ5AIPTxqXth+83FpbY3TkxPQFifPOIjC zZQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=Byjz+yksjaSxXOe9+O/8IS2V0AIweh3jepqT1p0oXSg=; b=posc2jy/6Md3ZRGY+MBT/nVpYOh9kAovueQ2iiFasi36O9zklknwUt9S0e6E8+1MlL oY09MAJNGEdumTrB5E4gggAPNldwonhkjUyfRNA10tiKA8/s7t0T7yV9qzOaaco/luDM OOzw6r7Y7M4KNUtHtNR+7D84X/zIBbQz/+7X6n14sPw4iNyReXjO4ia47+EKOjFgDI7c x/MjNBGRE+gygcUQZNRkda4d9ZqBL7FFksuKyjr3HRvYcfTpasAhkYm6i2r1bUlRCvYt LoxydfN+HJtSYi/gA2mYUFMlHWBztm5kEymnZc0yc9vBI9+hC2o+kXaXvJJtReI1QOL0 MWDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=GdOIsFJc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m2-20020a170902db0200b0016ef6b3b35dsi14713961plx.429.2022.09.19.04.24.19; Mon, 19 Sep 2022 04:24:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=GdOIsFJc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230046AbiISKuY (ORCPT + 99 others); Mon, 19 Sep 2022 06:50:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229945AbiISKtg (ORCPT ); Mon, 19 Sep 2022 06:49:36 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E53E55FC2; Mon, 19 Sep 2022 03:43:44 -0700 (PDT) Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CC227D02; Mon, 19 Sep 2022 12:43:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1663584223; bh=2VN+lPUU0HWbPH3ReA2VR1zfuu9H6VNxiwqm2QgC0mM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=GdOIsFJcS9bsIBQ/sE4of5jJpLh8y+E3c9Ul83JUFLZEqJXT7J41HBu0724QreAZ1 wy/nIeiy4T73bkWipU6xcAHJzY49ewB0kRIFsUof/xdNoPLrndEPNOOcf0K+v9rf44 9FHeL/kI1woSGQ2PJa1hhjaoUV4C/MPOquhB6mBk= Date: Mon, 19 Sep 2022 13:43:29 +0300 From: Laurent Pinchart To: Robert Foss Cc: andrzej.hajda@intel.com, narmstrong@baylibre.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, airlied@linux.ie, daniel@ffwll.ch, dianders@chromium.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Chris Morgan , devicetree@vger.kernel.org Subject: Re: [PATCH v2 1/2] Revert "Revert "drm/bridge: ti-sn65dsi86: Implement bridge connector operations for DP"" Message-ID: References: <20220919102009.150503-1-robert.foss@linaro.org> <20220919102009.150503-2-robert.foss@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20220919102009.150503-2-robert.foss@linaro.org> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Rob, Thank you for the patch. On Mon, Sep 19, 2022 at 12:20:08PM +0200, Robert Foss wrote: > This commit was accidentally reverted instead of another commit, and > therefore needs to be reinstated. > > This reverts commit 8c9c40ec83445b188fb6b59e119bf5c2de81b02d. > > Fixes: 8c9c40ec8344 ("Revert "drm/bridge: ti-sn65dsi86: Implement bridge connector operations for DP"") > Signed-off-by: Robert Foss Reviewed-by: Laurent Pinchart > --- > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 28 +++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > index 6e053e2af229..3c3561942eb6 100644 > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > @@ -29,6 +29,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -68,6 +69,7 @@ > #define BPP_18_RGB BIT(0) > #define SN_HPD_DISABLE_REG 0x5C > #define HPD_DISABLE BIT(0) > +#define HPD_DEBOUNCED_STATE BIT(4) > #define SN_GPIO_IO_REG 0x5E > #define SN_GPIO_INPUT_SHIFT 4 > #define SN_GPIO_OUTPUT_SHIFT 0 > @@ -1158,10 +1160,33 @@ static void ti_sn_bridge_atomic_post_disable(struct drm_bridge *bridge, > pm_runtime_put_sync(pdata->dev); > } > > +static enum drm_connector_status ti_sn_bridge_detect(struct drm_bridge *bridge) > +{ > + struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > + int val = 0; > + > + pm_runtime_get_sync(pdata->dev); > + regmap_read(pdata->regmap, SN_HPD_DISABLE_REG, &val); > + pm_runtime_put_autosuspend(pdata->dev); > + > + return val & HPD_DEBOUNCED_STATE ? connector_status_connected > + : connector_status_disconnected; > +} > + > +static struct edid *ti_sn_bridge_get_edid(struct drm_bridge *bridge, > + struct drm_connector *connector) > +{ > + struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge); > + > + return drm_get_edid(connector, &pdata->aux.ddc); > +} > + > static const struct drm_bridge_funcs ti_sn_bridge_funcs = { > .attach = ti_sn_bridge_attach, > .detach = ti_sn_bridge_detach, > .mode_valid = ti_sn_bridge_mode_valid, > + .get_edid = ti_sn_bridge_get_edid, > + .detect = ti_sn_bridge_detect, > .atomic_pre_enable = ti_sn_bridge_atomic_pre_enable, > .atomic_enable = ti_sn_bridge_atomic_enable, > .atomic_disable = ti_sn_bridge_atomic_disable, > @@ -1257,6 +1282,9 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev, > pdata->bridge.type = pdata->next_bridge->type == DRM_MODE_CONNECTOR_DisplayPort > ? DRM_MODE_CONNECTOR_DisplayPort : DRM_MODE_CONNECTOR_eDP; > > + if (pdata->bridge.type == DRM_MODE_CONNECTOR_DisplayPort) > + pdata->bridge.ops = DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_DETECT; > + > drm_bridge_add(&pdata->bridge); > > ret = ti_sn_attach_host(pdata); -- Regards, Laurent Pinchart