From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1F302EB64DA for ; Fri, 7 Jul 2023 08:23:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232940AbjGGIXk (ORCPT ); Fri, 7 Jul 2023 04:23:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231912AbjGGIXi (ORCPT ); Fri, 7 Jul 2023 04:23:38 -0400 Received: from mail-vk1-xa2e.google.com (mail-vk1-xa2e.google.com [IPv6:2607:f8b0:4864:20::a2e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D7EE81FC9 for ; Fri, 7 Jul 2023 01:23:27 -0700 (PDT) Received: by mail-vk1-xa2e.google.com with SMTP id 71dfb90a1353d-47e35eba3e9so564286e0c.2 for ; Fri, 07 Jul 2023 01:23:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1688718207; x=1691310207; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=UICQMdLCdvd6RrW7LjkYioIbHWT7wIioRRBI6u6YoTQ=; b=hz3k4VuEy6wOXt0lpPW/xMVBDzyZvDuKbgWkY4EGFNjYwXz8DCR8+LcYru9Byh2iMT SDaNg56+FHWdEK4jTB1lH6ryhTs8aNRFH17wBz/E2P+TyLbJm3RmEpaf++GYdKuilvo/ xQUM55FuqVn8TNmVKwPczVS0HW9/lr3B0W1Gs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688718207; x=1691310207; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UICQMdLCdvd6RrW7LjkYioIbHWT7wIioRRBI6u6YoTQ=; b=VvC63yK4JXuQncZWXhc77JfB3+KDzxbeAAQtNurHRHP4zFj3kPI+IapsTbChCbHmLC aHU6IK23iAC30mASw0D/JMza0kS5JO+09IDt/cF4GFQkhWu1xWkng6Zq0zIWRAbbnCgw rzuezj+RtE9IejTSEd4gYyj9NyDJc2e1/MQmVFeOMB1on3eJMUlxiY0kKhwgzUgHDUYP glCwqFWXEywAduaZh907w7pxTANG2SAZA6Dg4jhalZNXuGTVVOSezUyPkMSyw9QjtrVg K1vGLbcP2c4YBT2CPyBhGkE+dS4orsB1Mmi1Di7v6wk57emU3XUoqbZzD/DoPo+cotXv 9EsA== X-Gm-Message-State: ABy/qLYcpYRoCqXrXTmesat34OHDEHBOzXIoPQ2jdhyNDQ+llZXOSgV6 dNvgdufyRXs9g5aAtRG5t63AZzB/JEx4dzdxMBaC84z1723ifWEi X-Google-Smtp-Source: APBJJlGvUYzs6kqfoBR7guDmWvUdTBV4+dxg/LGaHxj/ZWQDKLYy/+hENdwRNzqMUFiPa0wdy0CneTJF76dXm8qQU2U= X-Received: by 2002:a1f:4144:0:b0:47e:9bbb:103b with SMTP id o65-20020a1f4144000000b0047e9bbb103bmr1455691vka.6.1688718206907; Fri, 07 Jul 2023 01:23:26 -0700 (PDT) MIME-Version: 1.0 References: <20230706123025.208408-1-angelogioacchino.delregno@collabora.com> In-Reply-To: <20230706123025.208408-1-angelogioacchino.delregno@collabora.com> From: Chen-Yu Tsai Date: Fri, 7 Jul 2023 16:23:15 +0800 Message-ID: Subject: Re: [PATCH v4 0/9] MediaTek DisplayPort: support eDP and aux-bus To: AngeloGioacchino Del Regno Cc: chunkuang.hu@kernel.org, p.zabel@pengutronix.de, airlied@gmail.com, daniel@ffwll.ch, matthias.bgg@gmail.com, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kernel@collabora.com, nfraprado@collabora.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 6, 2023 at 8:30=E2=80=AFPM AngeloGioacchino Del Regno wrote: > > Changes in v4: > - Set data lanes to idle to prevent stalls if bootloader didn't > properly close the eDP port > - Now using the .done_probing() callback for AUX bus to prevent > probe deferral loops in case the panel-edp driver is a module > as previously seen with another bridge driver (ANX7625) on > some other SoCs (MT8192 and others) > - Rebased over next-20230706 > - Dropped Chen-Yu's T-b tag on last patch as some logic changed > (before, I wasn't using the .done_probing() callback). > > Changes in v3: > - Added DPTX AUX block initialization before trying to communicate > to stop relying on the bootloader keeping it initialized before > booting Linux. > - Fixed commit description for patch [09/09] and removed commented > out code (that slipped from dev phase.. sorry!). > > This series adds "real" support for eDP in the mtk-dp DisplayPort driver. > > Explaining the "real": > Before this change, the DisplayPort driver did support eDP to some > extent, but it was treating it entirely like a regular DP interface > which is partially fine, after all, embedded DisplayPort *is* actually > DisplayPort, but there might be some differences to account for... and > this is for both small performance improvements and, more importantly, > for correct functionality in some systems. > > Functionality first: > > One of the common differences found in various boards implementing eDP > and machines using an eDP panel is that many times the HPD line is not > connected. This *must* be accounted for: at startup, this specific IP > will raise a HPD interrupt (which should maybe be ignored... as it does > not appear to be a "real" event...) that will make the eDP panel to be > detected and to actually work but, after a suspend-resume cycle, there > will be no HPD interrupt (as there's no HPD line in my case!) producing > a functionality issue - specifically, the DP Link Training fails because > the panel doesn't get powered up, then it stays black and won't work > until rebooting the machine (or removing and reinserting the module I > think, but I haven't tried that). > > Now for.. both: > eDP panels are *e*DP because they are *not* removable (in the sense that > you can't unplug the cable without disassembling the machine, in which > case, the machine shall be powered down..!): this (correct) assumption > makes us able to solve some issues and to also gain a little performance > during PM operations. > > What was done here is: > - Caching the EDID if the panel is eDP: we're always going to read the > same data everytime, so we can just cache that (as it's small enough) > shortening PM resume times for the eDP driver instance; > - Always return connector_status_connected if it's eDP: non-removable > means connector_status_disconnected can't happen during runtime... > this also saves us some time and even power, as we won't have to > perform yet another power cycle of the HW; > - Added aux-bus support! > This makes us able to rely on panel autodetection from the EDID, > avoiding to add more and more panel timings to panel-edp and, even > better, allowing to use one panel node in devicetrees for multiple > variants of the same machine since, at that point, it's not important > to "preventively know" what panel we have (eh, it's autodetected...!). > > This was tested on a MT8195 Cherry Tomato Chromebook (panel-edp on aux-bu= s) Do you have panel-edp built as a module? If I have it built in, the panel can correctly display stuff. If I have it built as a module, the panel is correctly detected, but the panel stays black even if DRM thinks it is displaying stuff. And it looks like EDID reading and panel power sequencing is still not working correctly, i.e. needs regulator-always-on? ChenYu > P.S.: For your own testing commodity, here's a reference devicetree: > &edp_tx { > status =3D "okay"; > > pinctrl-names =3D "default"; > pinctrl-0 =3D <&edptx_pins_default>; > > ports { > #address-cells =3D <1>; > #size-cells =3D <0>; > > port@0 { > reg =3D <0>; > edp_in: endpoint { > remote-endpoint =3D <&dp_intf0_out>; > }; > }; > > port@1 { > reg =3D <1>; > edp_out: endpoint { > data-lanes =3D <0 1 2 3>; > remote-endpoint =3D <&panel_in>; > }; > }; > }; > > aux-bus { > panel: panel { > compatible =3D "edp-panel"; > power-supply =3D <&pp3300_disp_x>; > backlight =3D <&backlight_lcd0>; > port { > panel_in: endpoint { > remote-endpoint =3D <&edp_out>; > }; > }; > }; > }; > }; > > > AngeloGioacchino Del Regno (9): > drm/mediatek: dp: Cache EDID for eDP panel > drm/mediatek: dp: Move AUX and panel poweron/off sequence to function > drm/mediatek: dp: Always return connected status for eDP in .detect() > drm/mediatek: dp: Always set cable_plugged_in at resume for eDP panel > drm/mediatek: dp: Change logging to dev for mtk_dp_aux_transfer() > drm/mediatek: dp: Enable event interrupt only when bridge attached > drm/mediatek: dp: Use devm variant of drm_bridge_add() > drm/mediatek: dp: Move AUX_P0 setting to > mtk_dp_initialize_aux_settings() > drm/mediatek: dp: Add support for embedded DisplayPort aux-bus > > drivers/gpu/drm/mediatek/mtk_dp.c | 197 +++++++++++++++++++----------- > 1 file changed, 127 insertions(+), 70 deletions(-) > > -- > 2.40.1 > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 30B3CEB64D9 for ; Fri, 7 Jul 2023 08:23:31 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2961F10E1A1; Fri, 7 Jul 2023 08:23:30 +0000 (UTC) Received: from mail-vk1-xa2f.google.com (mail-vk1-xa2f.google.com [IPv6:2607:f8b0:4864:20::a2f]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7568610E1A1 for ; Fri, 7 Jul 2023 08:23:28 +0000 (UTC) Received: by mail-vk1-xa2f.google.com with SMTP id 71dfb90a1353d-47e36c35285so573764e0c.0 for ; Fri, 07 Jul 2023 01:23:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1688718207; x=1691310207; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=UICQMdLCdvd6RrW7LjkYioIbHWT7wIioRRBI6u6YoTQ=; b=hz3k4VuEy6wOXt0lpPW/xMVBDzyZvDuKbgWkY4EGFNjYwXz8DCR8+LcYru9Byh2iMT SDaNg56+FHWdEK4jTB1lH6ryhTs8aNRFH17wBz/E2P+TyLbJm3RmEpaf++GYdKuilvo/ xQUM55FuqVn8TNmVKwPczVS0HW9/lr3B0W1Gs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688718207; x=1691310207; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UICQMdLCdvd6RrW7LjkYioIbHWT7wIioRRBI6u6YoTQ=; b=A/dirbxoYqD1wB1mNFZHBa1hkgetSRjnDo7pIar6oBFvLTuS5F98PYQNoGVaKahQhz xs+Cnlg1RDP/7j/EpAx6241/uEFE4vI5c8X+RX86xaPz4kY85K35AlNHEjW0xMYRWjCM kbM/1tirap6hJ3XWNy5Sn0ghYx7F38otghbiUIhxKkcd1L202tkEWaP+h7p97bqN/VoK 9Ts1xPM9U37Xtgjp6mF8skjvYLvKviSxGFYCcqLLh0r6Z5S/GdY0AMx23PZ2J56G5o7w r+URYm5AB4zG07aH0WR5opMtRXVz4ERAOyyD1NVvFB0wn7h6vKCq/U7CjHbcN8OyIvf7 QCIQ== X-Gm-Message-State: ABy/qLbGzaFkfTCtTXtsHVZYV9V31B9phIuhKBzl5isN9jTNzlUfqJ6N Ey91TRBF+bywmp+TFfQuTsJiPi7s+0KlWPZd1jfDFQ== X-Google-Smtp-Source: APBJJlGvUYzs6kqfoBR7guDmWvUdTBV4+dxg/LGaHxj/ZWQDKLYy/+hENdwRNzqMUFiPa0wdy0CneTJF76dXm8qQU2U= X-Received: by 2002:a1f:4144:0:b0:47e:9bbb:103b with SMTP id o65-20020a1f4144000000b0047e9bbb103bmr1455691vka.6.1688718206907; Fri, 07 Jul 2023 01:23:26 -0700 (PDT) MIME-Version: 1.0 References: <20230706123025.208408-1-angelogioacchino.delregno@collabora.com> In-Reply-To: <20230706123025.208408-1-angelogioacchino.delregno@collabora.com> From: Chen-Yu Tsai Date: Fri, 7 Jul 2023 16:23:15 +0800 Message-ID: Subject: Re: [PATCH v4 0/9] MediaTek DisplayPort: support eDP and aux-bus To: AngeloGioacchino Del Regno Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: chunkuang.hu@kernel.org, nfraprado@collabora.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, matthias.bgg@gmail.com, kernel@collabora.com, linux-arm-kernel@lists.infradead.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Thu, Jul 6, 2023 at 8:30=E2=80=AFPM AngeloGioacchino Del Regno wrote: > > Changes in v4: > - Set data lanes to idle to prevent stalls if bootloader didn't > properly close the eDP port > - Now using the .done_probing() callback for AUX bus to prevent > probe deferral loops in case the panel-edp driver is a module > as previously seen with another bridge driver (ANX7625) on > some other SoCs (MT8192 and others) > - Rebased over next-20230706 > - Dropped Chen-Yu's T-b tag on last patch as some logic changed > (before, I wasn't using the .done_probing() callback). > > Changes in v3: > - Added DPTX AUX block initialization before trying to communicate > to stop relying on the bootloader keeping it initialized before > booting Linux. > - Fixed commit description for patch [09/09] and removed commented > out code (that slipped from dev phase.. sorry!). > > This series adds "real" support for eDP in the mtk-dp DisplayPort driver. > > Explaining the "real": > Before this change, the DisplayPort driver did support eDP to some > extent, but it was treating it entirely like a regular DP interface > which is partially fine, after all, embedded DisplayPort *is* actually > DisplayPort, but there might be some differences to account for... and > this is for both small performance improvements and, more importantly, > for correct functionality in some systems. > > Functionality first: > > One of the common differences found in various boards implementing eDP > and machines using an eDP panel is that many times the HPD line is not > connected. This *must* be accounted for: at startup, this specific IP > will raise a HPD interrupt (which should maybe be ignored... as it does > not appear to be a "real" event...) that will make the eDP panel to be > detected and to actually work but, after a suspend-resume cycle, there > will be no HPD interrupt (as there's no HPD line in my case!) producing > a functionality issue - specifically, the DP Link Training fails because > the panel doesn't get powered up, then it stays black and won't work > until rebooting the machine (or removing and reinserting the module I > think, but I haven't tried that). > > Now for.. both: > eDP panels are *e*DP because they are *not* removable (in the sense that > you can't unplug the cable without disassembling the machine, in which > case, the machine shall be powered down..!): this (correct) assumption > makes us able to solve some issues and to also gain a little performance > during PM operations. > > What was done here is: > - Caching the EDID if the panel is eDP: we're always going to read the > same data everytime, so we can just cache that (as it's small enough) > shortening PM resume times for the eDP driver instance; > - Always return connector_status_connected if it's eDP: non-removable > means connector_status_disconnected can't happen during runtime... > this also saves us some time and even power, as we won't have to > perform yet another power cycle of the HW; > - Added aux-bus support! > This makes us able to rely on panel autodetection from the EDID, > avoiding to add more and more panel timings to panel-edp and, even > better, allowing to use one panel node in devicetrees for multiple > variants of the same machine since, at that point, it's not important > to "preventively know" what panel we have (eh, it's autodetected...!). > > This was tested on a MT8195 Cherry Tomato Chromebook (panel-edp on aux-bu= s) Do you have panel-edp built as a module? If I have it built in, the panel can correctly display stuff. If I have it built as a module, the panel is correctly detected, but the panel stays black even if DRM thinks it is displaying stuff. And it looks like EDID reading and panel power sequencing is still not working correctly, i.e. needs regulator-always-on? ChenYu > P.S.: For your own testing commodity, here's a reference devicetree: > &edp_tx { > status =3D "okay"; > > pinctrl-names =3D "default"; > pinctrl-0 =3D <&edptx_pins_default>; > > ports { > #address-cells =3D <1>; > #size-cells =3D <0>; > > port@0 { > reg =3D <0>; > edp_in: endpoint { > remote-endpoint =3D <&dp_intf0_out>; > }; > }; > > port@1 { > reg =3D <1>; > edp_out: endpoint { > data-lanes =3D <0 1 2 3>; > remote-endpoint =3D <&panel_in>; > }; > }; > }; > > aux-bus { > panel: panel { > compatible =3D "edp-panel"; > power-supply =3D <&pp3300_disp_x>; > backlight =3D <&backlight_lcd0>; > port { > panel_in: endpoint { > remote-endpoint =3D <&edp_out>; > }; > }; > }; > }; > }; > > > AngeloGioacchino Del Regno (9): > drm/mediatek: dp: Cache EDID for eDP panel > drm/mediatek: dp: Move AUX and panel poweron/off sequence to function > drm/mediatek: dp: Always return connected status for eDP in .detect() > drm/mediatek: dp: Always set cable_plugged_in at resume for eDP panel > drm/mediatek: dp: Change logging to dev for mtk_dp_aux_transfer() > drm/mediatek: dp: Enable event interrupt only when bridge attached > drm/mediatek: dp: Use devm variant of drm_bridge_add() > drm/mediatek: dp: Move AUX_P0 setting to > mtk_dp_initialize_aux_settings() > drm/mediatek: dp: Add support for embedded DisplayPort aux-bus > > drivers/gpu/drm/mediatek/mtk_dp.c | 197 +++++++++++++++++++----------- > 1 file changed, 127 insertions(+), 70 deletions(-) > > -- > 2.40.1 > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E6AC2EB64D9 for ; Fri, 7 Jul 2023 08:24:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=NsX9AF+KzjIK1q3N8DKI9T15cBXa1ci2ABJG6p/cRPc=; b=GAsGJZXZ9P0ONJ UXucVJYH3E4wgJdOZZ4aQER6lt8/qOMoqHYufZFpymPCmF5RgReyE6N4Y/0ILi11m8J2w9SKn/chy QMG69cqYNaIGnvppIuWHBUfK4QuaovKR/vVNXTR/gMK//ca+jFhqaPNgNap8GeW/qh+xRGc/GPIol 7kx5EmqRbozpDtJP/ZpCZajYsVThB3gwlq3wIA42T+gLG8NNuucbNQfB/y777Znubz1znUVzRO/db +v0ReynrppLQAxJK7yx9P33QYdj2PRf4e5qT9iDRbv40BbvLz8O/Bp1tUFAkcaa3uSwKBmu30gC2v 0fYCWbDfcqm0wiIoV1eA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qHgkX-003zEi-2P; Fri, 07 Jul 2023 08:23:33 +0000 Received: from mail-vk1-xa30.google.com ([2607:f8b0:4864:20::a30]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qHgkU-003zCj-13 for linux-arm-kernel@lists.infradead.org; Fri, 07 Jul 2023 08:23:32 +0000 Received: by mail-vk1-xa30.google.com with SMTP id 71dfb90a1353d-47e58485212so564200e0c.1 for ; Fri, 07 Jul 2023 01:23:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1688718207; x=1691310207; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=UICQMdLCdvd6RrW7LjkYioIbHWT7wIioRRBI6u6YoTQ=; b=hz3k4VuEy6wOXt0lpPW/xMVBDzyZvDuKbgWkY4EGFNjYwXz8DCR8+LcYru9Byh2iMT SDaNg56+FHWdEK4jTB1lH6ryhTs8aNRFH17wBz/E2P+TyLbJm3RmEpaf++GYdKuilvo/ xQUM55FuqVn8TNmVKwPczVS0HW9/lr3B0W1Gs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688718207; x=1691310207; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UICQMdLCdvd6RrW7LjkYioIbHWT7wIioRRBI6u6YoTQ=; b=ja5at2ls0x1CjqzvLWK0ZhooAThGqB8kb5Tgtu/2pux7uLagIab3jzIE/cZiKdKmTo O+Nb8g1jUIn97ukKte2UyQz0pVxMFXy/6bckbs5cKRepYuMOsmAQ4Ac2fe9jqf2xyPoq hu8Psg+c1iLEP5/C8GVNTTNcI8gark21pqVg8V6PgNG9J8PE+1dVh4+NDr61XLFo10Ec qjsZsNtTLzkeGfvqA0qhbzSW9oOulXYlllDqw2EksMIXr+0eurp9pCxvibUbOlwdWfiE T7hq5u7snfCPVaR1T5kqPs7M2uFek3+f7u0PjMYaCFuX7AvDt1VjdYdSOXDSnh1FlBij 2ruQ== X-Gm-Message-State: ABy/qLb5bzrEpL5u32WCDoA7I/zrvMl2t0GXKuGh3XzyhWARRBGu7iLj Ry0wAuGe8pwaVS+zAs45RLkb41Gw7ITYTNBFp4Je9w== X-Google-Smtp-Source: APBJJlGvUYzs6kqfoBR7guDmWvUdTBV4+dxg/LGaHxj/ZWQDKLYy/+hENdwRNzqMUFiPa0wdy0CneTJF76dXm8qQU2U= X-Received: by 2002:a1f:4144:0:b0:47e:9bbb:103b with SMTP id o65-20020a1f4144000000b0047e9bbb103bmr1455691vka.6.1688718206907; Fri, 07 Jul 2023 01:23:26 -0700 (PDT) MIME-Version: 1.0 References: <20230706123025.208408-1-angelogioacchino.delregno@collabora.com> In-Reply-To: <20230706123025.208408-1-angelogioacchino.delregno@collabora.com> From: Chen-Yu Tsai Date: Fri, 7 Jul 2023 16:23:15 +0800 Message-ID: Subject: Re: [PATCH v4 0/9] MediaTek DisplayPort: support eDP and aux-bus To: AngeloGioacchino Del Regno Cc: chunkuang.hu@kernel.org, p.zabel@pengutronix.de, airlied@gmail.com, daniel@ffwll.ch, matthias.bgg@gmail.com, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kernel@collabora.com, nfraprado@collabora.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230707_012330_362848_393C9618 X-CRM114-Status: GOOD ( 37.03 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBKdWwgNiwgMjAyMyBhdCA4OjMw4oCvUE0gQW5nZWxvR2lvYWNjaGlubyBEZWwgUmVn bm8KPGFuZ2Vsb2dpb2FjY2hpbm8uZGVscmVnbm9AY29sbGFib3JhLmNvbT4gd3JvdGU6Cj4KPiBD aGFuZ2VzIGluIHY0Ogo+ICAtIFNldCBkYXRhIGxhbmVzIHRvIGlkbGUgdG8gcHJldmVudCBzdGFs bHMgaWYgYm9vdGxvYWRlciBkaWRuJ3QKPiAgICBwcm9wZXJseSBjbG9zZSB0aGUgZURQIHBvcnQK PiAgLSBOb3cgdXNpbmcgdGhlIC5kb25lX3Byb2JpbmcoKSBjYWxsYmFjayBmb3IgQVVYIGJ1cyB0 byBwcmV2ZW50Cj4gICAgcHJvYmUgZGVmZXJyYWwgbG9vcHMgaW4gY2FzZSB0aGUgcGFuZWwtZWRw IGRyaXZlciBpcyBhIG1vZHVsZQo+ICAgIGFzIHByZXZpb3VzbHkgc2VlbiB3aXRoIGFub3RoZXIg YnJpZGdlIGRyaXZlciAoQU5YNzYyNSkgb24KPiAgICBzb21lIG90aGVyIFNvQ3MgKE1UODE5MiBh bmQgb3RoZXJzKQo+ICAtIFJlYmFzZWQgb3ZlciBuZXh0LTIwMjMwNzA2Cj4gIC0gRHJvcHBlZCBD aGVuLVl1J3MgVC1iIHRhZyBvbiBsYXN0IHBhdGNoIGFzIHNvbWUgbG9naWMgY2hhbmdlZAo+ICAg IChiZWZvcmUsIEkgd2Fzbid0IHVzaW5nIHRoZSAuZG9uZV9wcm9iaW5nKCkgY2FsbGJhY2spLgo+ Cj4gQ2hhbmdlcyBpbiB2MzoKPiAgLSBBZGRlZCBEUFRYIEFVWCBibG9jayBpbml0aWFsaXphdGlv biBiZWZvcmUgdHJ5aW5nIHRvIGNvbW11bmljYXRlCj4gICAgdG8gc3RvcCByZWx5aW5nIG9uIHRo ZSBib290bG9hZGVyIGtlZXBpbmcgaXQgaW5pdGlhbGl6ZWQgYmVmb3JlCj4gICAgYm9vdGluZyBM aW51eC4KPiAgLSBGaXhlZCBjb21taXQgZGVzY3JpcHRpb24gZm9yIHBhdGNoIFswOS8wOV0gYW5k IHJlbW92ZWQgY29tbWVudGVkCj4gICAgb3V0IGNvZGUgKHRoYXQgc2xpcHBlZCBmcm9tIGRldiBw aGFzZS4uIHNvcnJ5ISkuCj4KPiBUaGlzIHNlcmllcyBhZGRzICJyZWFsIiBzdXBwb3J0IGZvciBl RFAgaW4gdGhlIG10ay1kcCBEaXNwbGF5UG9ydCBkcml2ZXIuCj4KPiBFeHBsYWluaW5nIHRoZSAi cmVhbCI6Cj4gQmVmb3JlIHRoaXMgY2hhbmdlLCB0aGUgRGlzcGxheVBvcnQgZHJpdmVyIGRpZCBz dXBwb3J0IGVEUCB0byBzb21lCj4gZXh0ZW50LCBidXQgaXQgd2FzIHRyZWF0aW5nIGl0IGVudGly ZWx5IGxpa2UgYSByZWd1bGFyIERQIGludGVyZmFjZQo+IHdoaWNoIGlzIHBhcnRpYWxseSBmaW5l LCBhZnRlciBhbGwsIGVtYmVkZGVkIERpc3BsYXlQb3J0ICppcyogYWN0dWFsbHkKPiBEaXNwbGF5 UG9ydCwgYnV0IHRoZXJlIG1pZ2h0IGJlIHNvbWUgZGlmZmVyZW5jZXMgdG8gYWNjb3VudCBmb3Iu Li4gYW5kCj4gdGhpcyBpcyBmb3IgYm90aCBzbWFsbCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMg YW5kLCBtb3JlIGltcG9ydGFudGx5LAo+IGZvciBjb3JyZWN0IGZ1bmN0aW9uYWxpdHkgaW4gc29t ZSBzeXN0ZW1zLgo+Cj4gRnVuY3Rpb25hbGl0eSBmaXJzdDoKPgo+IE9uZSBvZiB0aGUgY29tbW9u IGRpZmZlcmVuY2VzIGZvdW5kIGluIHZhcmlvdXMgYm9hcmRzIGltcGxlbWVudGluZyBlRFAKPiBh bmQgbWFjaGluZXMgdXNpbmcgYW4gZURQIHBhbmVsIGlzIHRoYXQgbWFueSB0aW1lcyB0aGUgSFBE IGxpbmUgaXMgbm90Cj4gY29ubmVjdGVkLiBUaGlzICptdXN0KiBiZSBhY2NvdW50ZWQgZm9yOiBh dCBzdGFydHVwLCB0aGlzIHNwZWNpZmljIElQCj4gd2lsbCByYWlzZSBhIEhQRCBpbnRlcnJ1cHQg KHdoaWNoIHNob3VsZCBtYXliZSBiZSBpZ25vcmVkLi4uIGFzIGl0IGRvZXMKPiBub3QgYXBwZWFy IHRvIGJlIGEgInJlYWwiIGV2ZW50Li4uKSB0aGF0IHdpbGwgbWFrZSB0aGUgZURQIHBhbmVsIHRv IGJlCj4gZGV0ZWN0ZWQgYW5kIHRvIGFjdHVhbGx5IHdvcmsgYnV0LCBhZnRlciBhIHN1c3BlbmQt cmVzdW1lIGN5Y2xlLCB0aGVyZQo+IHdpbGwgYmUgbm8gSFBEIGludGVycnVwdCAoYXMgdGhlcmUn cyBubyBIUEQgbGluZSBpbiBteSBjYXNlISkgcHJvZHVjaW5nCj4gYSBmdW5jdGlvbmFsaXR5IGlz c3VlIC0gc3BlY2lmaWNhbGx5LCB0aGUgRFAgTGluayBUcmFpbmluZyBmYWlscyBiZWNhdXNlCj4g dGhlIHBhbmVsIGRvZXNuJ3QgZ2V0IHBvd2VyZWQgdXAsIHRoZW4gaXQgc3RheXMgYmxhY2sgYW5k IHdvbid0IHdvcmsKPiB1bnRpbCByZWJvb3RpbmcgdGhlIG1hY2hpbmUgKG9yIHJlbW92aW5nIGFu ZCByZWluc2VydGluZyB0aGUgbW9kdWxlIEkKPiB0aGluaywgYnV0IEkgaGF2ZW4ndCB0cmllZCB0 aGF0KS4KPgo+IE5vdyBmb3IuLiBib3RoOgo+IGVEUCBwYW5lbHMgYXJlICplKkRQIGJlY2F1c2Ug dGhleSBhcmUgKm5vdCogcmVtb3ZhYmxlIChpbiB0aGUgc2Vuc2UgdGhhdAo+IHlvdSBjYW4ndCB1 bnBsdWcgdGhlIGNhYmxlIHdpdGhvdXQgZGlzYXNzZW1ibGluZyB0aGUgbWFjaGluZSwgaW4gd2hp Y2gKPiBjYXNlLCB0aGUgbWFjaGluZSBzaGFsbCBiZSBwb3dlcmVkIGRvd24uLiEpOiB0aGlzIChj b3JyZWN0KSBhc3N1bXB0aW9uCj4gbWFrZXMgdXMgYWJsZSB0byBzb2x2ZSBzb21lIGlzc3VlcyBh bmQgdG8gYWxzbyBnYWluIGEgbGl0dGxlIHBlcmZvcm1hbmNlCj4gZHVyaW5nIFBNIG9wZXJhdGlv bnMuCj4KPiBXaGF0IHdhcyBkb25lIGhlcmUgaXM6Cj4gIC0gQ2FjaGluZyB0aGUgRURJRCBpZiB0 aGUgcGFuZWwgaXMgZURQOiB3ZSdyZSBhbHdheXMgZ29pbmcgdG8gcmVhZCB0aGUKPiAgICBzYW1l IGRhdGEgZXZlcnl0aW1lLCBzbyB3ZSBjYW4ganVzdCBjYWNoZSB0aGF0IChhcyBpdCdzIHNtYWxs IGVub3VnaCkKPiAgICBzaG9ydGVuaW5nIFBNIHJlc3VtZSB0aW1lcyBmb3IgdGhlIGVEUCBkcml2 ZXIgaW5zdGFuY2U7Cj4gIC0gQWx3YXlzIHJldHVybiBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3Rl ZCBpZiBpdCdzIGVEUDogbm9uLXJlbW92YWJsZQo+ICAgIG1lYW5zIGNvbm5lY3Rvcl9zdGF0dXNf ZGlzY29ubmVjdGVkIGNhbid0IGhhcHBlbiBkdXJpbmcgcnVudGltZS4uLgo+ICAgIHRoaXMgYWxz byBzYXZlcyB1cyBzb21lIHRpbWUgYW5kIGV2ZW4gcG93ZXIsIGFzIHdlIHdvbid0IGhhdmUgdG8K PiAgICBwZXJmb3JtIHlldCBhbm90aGVyIHBvd2VyIGN5Y2xlIG9mIHRoZSBIVzsKPiAgLSBBZGRl ZCBhdXgtYnVzIHN1cHBvcnQhCj4gICAgVGhpcyBtYWtlcyB1cyBhYmxlIHRvIHJlbHkgb24gcGFu ZWwgYXV0b2RldGVjdGlvbiBmcm9tIHRoZSBFRElELAo+ICAgIGF2b2lkaW5nIHRvIGFkZCBtb3Jl IGFuZCBtb3JlIHBhbmVsIHRpbWluZ3MgdG8gcGFuZWwtZWRwIGFuZCwgZXZlbgo+ICAgIGJldHRl ciwgYWxsb3dpbmcgdG8gdXNlIG9uZSBwYW5lbCBub2RlIGluIGRldmljZXRyZWVzIGZvciBtdWx0 aXBsZQo+ICAgIHZhcmlhbnRzIG9mIHRoZSBzYW1lIG1hY2hpbmUgc2luY2UsIGF0IHRoYXQgcG9p bnQsIGl0J3Mgbm90IGltcG9ydGFudAo+ICAgIHRvICJwcmV2ZW50aXZlbHkga25vdyIgd2hhdCBw YW5lbCB3ZSBoYXZlIChlaCwgaXQncyBhdXRvZGV0ZWN0ZWQuLi4hKS4KPgo+IFRoaXMgd2FzIHRl c3RlZCBvbiBhIE1UODE5NSBDaGVycnkgVG9tYXRvIENocm9tZWJvb2sgKHBhbmVsLWVkcCBvbiBh dXgtYnVzKQoKRG8geW91IGhhdmUgcGFuZWwtZWRwIGJ1aWx0IGFzIGEgbW9kdWxlPyBJZiBJIGhh dmUgaXQgYnVpbHQgaW4sIHRoZSBwYW5lbApjYW4gY29ycmVjdGx5IGRpc3BsYXkgc3R1ZmYuIElm IEkgaGF2ZSBpdCBidWlsdCBhcyBhIG1vZHVsZSwgdGhlIHBhbmVsIGlzCmNvcnJlY3RseSBkZXRl Y3RlZCwgYnV0IHRoZSBwYW5lbCBzdGF5cyBibGFjayBldmVuIGlmIERSTSB0aGlua3MgaXQgaXMK ZGlzcGxheWluZyBzdHVmZi4KCkFuZCBpdCBsb29rcyBsaWtlIEVESUQgcmVhZGluZyBhbmQgcGFu ZWwgcG93ZXIgc2VxdWVuY2luZyBpcyBzdGlsbCBub3QKd29ya2luZyBjb3JyZWN0bHksIGkuZS4g bmVlZHMgcmVndWxhdG9yLWFsd2F5cy1vbj8KCkNoZW5ZdQoKPiBQLlMuOiBGb3IgeW91ciBvd24g dGVzdGluZyBjb21tb2RpdHksIGhlcmUncyBhIHJlZmVyZW5jZSBkZXZpY2V0cmVlOgo+ICZlZHBf dHggewo+ICAgICAgICAgc3RhdHVzID0gIm9rYXkiOwo+Cj4gICAgICAgICBwaW5jdHJsLW5hbWVz ID0gImRlZmF1bHQiOwo+ICAgICAgICAgcGluY3RybC0wID0gPCZlZHB0eF9waW5zX2RlZmF1bHQ+ Owo+Cj4gICAgICAgICBwb3J0cyB7Cj4gICAgICAgICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0g PDE+Owo+ICAgICAgICAgICAgICAgICAjc2l6ZS1jZWxscyA9IDwwPjsKPgo+ICAgICAgICAgICAg ICAgICBwb3J0QDAgewo+ICAgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDwwPjsKPiAgICAg ICAgICAgICAgICAgICAgICAgICBlZHBfaW46IGVuZHBvaW50IHsKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlbW90ZS1lbmRwb2ludCA9IDwmZHBfaW50ZjBfb3V0PjsKPiAgICAg ICAgICAgICAgICAgICAgICAgICB9Owo+ICAgICAgICAgICAgICAgICB9Owo+Cj4gICAgICAgICAg ICAgICAgIHBvcnRAMSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDE+Owo+ICAg ICAgICAgICAgICAgICAgICAgICAgIGVkcF9vdXQ6IGVuZHBvaW50IHsKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRhdGEtbGFuZXMgPSA8MCAxIDIgMz47Cj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZW1vdGUtZW5kcG9pbnQgPSA8JnBhbmVsX2luPjsKPiAgICAg ICAgICAgICAgICAgICAgICAgICB9Owo+ICAgICAgICAgICAgICAgICB9Owo+ICAgICAgICAgfTsK Pgo+ICAgICAgICAgYXV4LWJ1cyB7Cj4gICAgICAgICAgICAgICAgIHBhbmVsOiBwYW5lbCB7Cj4g ICAgICAgICAgICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJlZHAtcGFuZWwiOwo+ICAgICAg ICAgICAgICAgICAgICAgICAgIHBvd2VyLXN1cHBseSA9IDwmcHAzMzAwX2Rpc3BfeD47Cj4gICAg ICAgICAgICAgICAgICAgICAgICAgYmFja2xpZ2h0ID0gPCZiYWNrbGlnaHRfbGNkMD47Cj4gICAg ICAgICAgICAgICAgICAgICAgICAgcG9ydCB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwYW5lbF9pbjogZW5kcG9pbnQgewo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZW1vdGUtZW5kcG9pbnQgPSA8JmVkcF9vdXQ+Owo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfTsKPiAgICAgICAgICAgICAgICAgICAgICAgICB9Owo+ICAgICAg ICAgICAgICAgICB9Owo+ICAgICAgICAgfTsKPiB9Owo+Cj4KPiBBbmdlbG9HaW9hY2NoaW5vIERl bCBSZWdubyAoOSk6Cj4gICBkcm0vbWVkaWF0ZWs6IGRwOiBDYWNoZSBFRElEIGZvciBlRFAgcGFu ZWwKPiAgIGRybS9tZWRpYXRlazogZHA6IE1vdmUgQVVYIGFuZCBwYW5lbCBwb3dlcm9uL29mZiBz ZXF1ZW5jZSB0byBmdW5jdGlvbgo+ICAgZHJtL21lZGlhdGVrOiBkcDogQWx3YXlzIHJldHVybiBj b25uZWN0ZWQgc3RhdHVzIGZvciBlRFAgaW4gLmRldGVjdCgpCj4gICBkcm0vbWVkaWF0ZWs6IGRw OiBBbHdheXMgc2V0IGNhYmxlX3BsdWdnZWRfaW4gYXQgcmVzdW1lIGZvciBlRFAgcGFuZWwKPiAg IGRybS9tZWRpYXRlazogZHA6IENoYW5nZSBsb2dnaW5nIHRvIGRldiBmb3IgbXRrX2RwX2F1eF90 cmFuc2ZlcigpCj4gICBkcm0vbWVkaWF0ZWs6IGRwOiBFbmFibGUgZXZlbnQgaW50ZXJydXB0IG9u bHkgd2hlbiBicmlkZ2UgYXR0YWNoZWQKPiAgIGRybS9tZWRpYXRlazogZHA6IFVzZSBkZXZtIHZh cmlhbnQgb2YgZHJtX2JyaWRnZV9hZGQoKQo+ICAgZHJtL21lZGlhdGVrOiBkcDogTW92ZSBBVVhf UDAgc2V0dGluZyB0bwo+ICAgICBtdGtfZHBfaW5pdGlhbGl6ZV9hdXhfc2V0dGluZ3MoKQo+ICAg ZHJtL21lZGlhdGVrOiBkcDogQWRkIHN1cHBvcnQgZm9yIGVtYmVkZGVkIERpc3BsYXlQb3J0IGF1 eC1idXMKPgo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwLmMgfCAxOTcgKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMjcgaW5zZXJ0aW9u cygrKSwgNzAgZGVsZXRpb25zKC0pCj4KPiAtLQo+IDIuNDAuMQo+CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==