Received: by 2002:a05:6358:701b:b0:131:369:b2a3 with SMTP id 27csp4135353rwo; Tue, 25 Jul 2023 00:47:23 -0700 (PDT) X-Google-Smtp-Source: APBJJlGRn/2G5oDX5eMwiWjSHG5Qh5wN2cKCA5sioxMoOLOwgML9V0ty1z5Fkvw4Zk8H09iPrjEl X-Received: by 2002:a17:902:a501:b0:1b7:de50:7d9c with SMTP id s1-20020a170902a50100b001b7de507d9cmr1764038plq.15.1690271242725; Tue, 25 Jul 2023 00:47:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690271242; cv=none; d=google.com; s=arc-20160816; b=erXoOnfZGZTFuwE8mhyEZKnDhlelciVLZKniRZmUhaKlmccXPgK7TISsPBes2wWOQt /Kr4d4uDfjMK8BS5buWrq05K5I/NMsEjZCB2kAYfM0BH54ZBKacc6AM2ywWhWjvtuYTH BKGaiD2qgLqVoUuPruhar6FMJiLUvwTBJatFBWxj1WZ9xG/h7oGM5675u2yky0HY6mos EGeaR9Lmm0edmm18dHxQ1WOr7UvAaoAUBSdt0qwRUOJegDtlSBDB/ran2mAwv2OYH6Rs 1KzqRoDvG83EMoWBCAh8qSVAVXSL0qf6c3OF/2cViVf58V4BWtx0zGkfSXcFBpPtEmwE iE5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=NDY0R15801CZPI17NMNBmAMLOktcuzSpsElidr+LmcU=; fh=JSeiAtxQBv1eBH4udCpdEE+PP+31vLEhoExbM4Pa0h0=; b=Sjfk6ihv9AYB5acuCKfvNxbUVWOwHr1wp+D9ZoXAXX6tH5p/XJolrfETRq+ZMYk+Gj nqoljwWTrejElv0TKn+2P+ig2Ztrm9gg3jfhUa1Qe5dElnusDdeRk/eCHdNAAjPDewoN HXs95fO6EkAqnF0Lel0PBWkBgYZH91fDaNsDHH2PALazJ9wDCoLBxTwgPyOjnPQV95MO kbR4V3kMsf+b7xht1+KxznKVMX0AikcMM1LJEFXyf1O3qJPBOnLzIilibmKewl7b4Rxy 72pXuKQhRmmCSJCFqNfkNLwvgjeLLve6SBqzrrYiWBHRUNAuKRfyBYbgigTr9NWKrlUI tHMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=TRNrC1Y9; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ix22-20020a170902f81600b001bb7b3e607dsi7278514plb.21.2023.07.25.00.47.10; Tue, 25 Jul 2023 00:47:22 -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 header.i=@collabora.com header.s=mail header.b=TRNrC1Y9; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232571AbjGYHYG (ORCPT + 99 others); Tue, 25 Jul 2023 03:24:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45408 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232569AbjGYHXh (ORCPT ); Tue, 25 Jul 2023 03:23:37 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 675774C01 for ; Tue, 25 Jul 2023 00:20:04 -0700 (PDT) Received: from [192.168.1.100] (2-237-20-237.ip236.fastwebnet.it [2.237.20.237]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: kholk11) by madras.collabora.co.uk (Postfix) with ESMTPSA id 0C83D6607106; Tue, 25 Jul 2023 08:20:02 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1690269602; bh=vbQ80xzI0mEIKxkOSt1CxW5Uwoqn4TRg4kjpv8ZquGs=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=TRNrC1Y94J12i/tUhgVJm90x8AImCfDVvjbe0XcCZYvJt5s9x/OD44IQuvFCfBnwG vUhdXESET/1ljhVxvQMaUQwnKJGwNiqR1HywHHJvqwYxIjziCS3DngUgvved42HEYT DbpOs0Xjw9xhmE1xK+rirKMiVLRAOIhX7epYZGd2HT+Onz3nGn3BH3Z7KEHIlaQEfo BBsHt9eIAkGPzH4SqjIXM9oBj7yNpSYNG1/tDEO51NtN1ZEk+sQjlT+hqU9MK3i8zx x7C9b/N8ISjn6CZO02J0WRu0Qr7O36lmKnsivmQmlVd61mIBy2wDue9lGJ4od8R98J R8Ad7JJE6d5Zw== Message-ID: Date: Tue, 25 Jul 2023 09:19:59 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v6 11/11] drm/mediatek: dp: Don't register HPD interrupt handler for eDP case Content-Language: en-US To: =?UTF-8?B?Q0sgSHUgKOiDoeS/iuWFiSk=?= , "chunkuang.hu@kernel.org" Cc: "linux-kernel@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , "wenst@chromium.org" , "kernel@collabora.com" , "dri-devel@lists.freedesktop.org" , "linux-arm-kernel@lists.infradead.org" , "matthias.bgg@gmail.com" , "nfraprado@collabora.com" References: <20230717141438.274419-1-angelogioacchino.delregno@collabora.com> <20230717141438.274419-12-angelogioacchino.delregno@collabora.com> <16123fef00babcc855c626ff65b5510fdeea6e15.camel@mediatek.com> From: AngeloGioacchino Del Regno In-Reply-To: <16123fef00babcc855c626ff65b5510fdeea6e15.camel@mediatek.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 Il 25/07/23 08:37, CK Hu (胡俊光) ha scritto: > Hi, Angelo: > > On Mon, 2023-07-17 at 16:14 +0200, AngeloGioacchino Del Regno wrote: >> >> External email : Please do not click links or open attachments until >> you have verified the sender or the content. >> The interrupt handler for HPD is useful only if a display is >> actually >> supposed to be hotpluggable, as that manages the machinery to perform >> cable (un)plug detection, debouncing and setup for re-training. >> >> Since eDP panels are not supposed to be hotpluggable we can avoid >> using the HPD interrupts altogether and rely on HPD polling only >> for the suspend/resume case, saving us some spinlocking action and >> the overhead of interrupts firing at every suspend/resume cycle, >> achieving a faster (even if just slightly) display resume. >> >> Signed-off-by: AngeloGioacchino Del Regno < >> angelogioacchino.delregno@collabora.com> >> --- >> drivers/gpu/drm/mediatek/mtk_dp.c | 81 ++++++++++++++++++----------- >> -- >> 1 file changed, 46 insertions(+), 35 deletions(-) >> >> diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c >> b/drivers/gpu/drm/mediatek/mtk_dp.c >> index e74295ba9707..c06fcc7318e7 100644 >> --- a/drivers/gpu/drm/mediatek/mtk_dp.c >> +++ b/drivers/gpu/drm/mediatek/mtk_dp.c >> @@ -2182,9 +2182,11 @@ static int mtk_dp_bridge_attach(struct >> drm_bridge *bridge, >> >> mtk_dp->drm_dev = bridge->dev; >> >> - irq_clear_status_flags(mtk_dp->irq, IRQ_NOAUTOEN); >> - enable_irq(mtk_dp->irq); >> - mtk_dp_hwirq_enable(mtk_dp, true); >> + if (mtk_dp->bridge.type != DRM_MODE_CONNECTOR_eDP) { >> + irq_clear_status_flags(mtk_dp->irq, IRQ_NOAUTOEN); >> + enable_irq(mtk_dp->irq); >> + mtk_dp_hwirq_enable(mtk_dp, true); >> + } >> >> return 0; >> >> @@ -2199,8 +2201,10 @@ static void mtk_dp_bridge_detach(struct >> drm_bridge *bridge) >> { >> struct mtk_dp *mtk_dp = mtk_dp_from_bridge(bridge); >> >> - mtk_dp_hwirq_enable(mtk_dp, false); >> - disable_irq(mtk_dp->irq); >> + if (mtk_dp->bridge.type != DRM_MODE_CONNECTOR_eDP) { >> + mtk_dp_hwirq_enable(mtk_dp, false); >> + disable_irq(mtk_dp->irq); >> + } >> mtk_dp->drm_dev = NULL; >> mtk_dp_poweroff(mtk_dp); >> drm_dp_aux_unregister(&mtk_dp->aux); >> @@ -2579,40 +2583,44 @@ static int mtk_dp_probe(struct >> platform_device *pdev) >> mtk_dp->dev = dev; >> mtk_dp->data = (struct mtk_dp_data >> *)of_device_get_match_data(dev); >> >> - mtk_dp->irq = platform_get_irq(pdev, 0); >> - if (mtk_dp->irq < 0) >> - return dev_err_probe(dev, mtk_dp->irq, >> - "failed to request dp irq >> resource\n"); >> - >> - mtk_dp->next_bridge = devm_drm_of_get_bridge(dev, dev->of_node, >> 1, 0); >> - if (IS_ERR(mtk_dp->next_bridge) && >> - PTR_ERR(mtk_dp->next_bridge) == -ENODEV) >> - mtk_dp->next_bridge = NULL; >> - else if (IS_ERR(mtk_dp->next_bridge)) >> - return dev_err_probe(dev, PTR_ERR(mtk_dp->next_bridge), >> - "Failed to get bridge\n"); >> - > > Why remove next_bridge setting? > Hello CK, Thanks for making me notice that! The removal of this code snippet belongs to patch [9/11] `drm/mediatek: dp: Add support for embedded DisplayPort aux-bus` because in that patch I am moving the call to devm_drm_of_get_bridge() to function mtk_dp_edp_link_panel(), which is called as a .done_probing() callback if the eDP panel is on aux-bus, or "manually" if not on aux-bus. I'll send a v7 with the removal of this snippet in the right patch. Thanks again, Angelo