From nobody Thu Oct 2 20:28:26 2025 Received: from mail-m15591.qiye.163.com (mail-m15591.qiye.163.com [101.71.155.91]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B0C727A929; Fri, 12 Sep 2025 09:14:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=101.71.155.91 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757668498; cv=none; b=aamlghBdWHaSMZ/JyPoOWvpTMfkWmXWyB+AVGWYvRZEbyEw1EZz+mBTtHQiSWQNeT7ESdgWQdY9qrk9FtOXcLLVw66DzrIfJKfn8KP+KANTdT1nP8ytViXIkx6r3N1wK5GmqZBWBmSF3yyJlNLUcnRb1+DnCBwSmg7t3yrSNmfk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757668498; c=relaxed/simple; bh=Ki5OoiXjEL+PaSrppr++Piel8Ih63dYLwRyCJHkyAL8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=JBMG+30/zA3Pkq1hvrpitIaFU/VrPL9eWkvavSZBIt2eBy31NnmVtPot65Vt1GCmXp7dbUYIL5UGBc7lRwU7JVF0qEgNVBXSg/hjQJprqz/AkhAdnmtHau0yMdroFtv821/NeNO3Tng3nd0hurVn5TJA7CglP0UJkdfXSzaNwWU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rock-chips.com; spf=pass smtp.mailfrom=rock-chips.com; dkim=pass (1024-bit key) header.d=rock-chips.com header.i=@rock-chips.com header.b=PgTksgpc; arc=none smtp.client-ip=101.71.155.91 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rock-chips.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rock-chips.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=rock-chips.com header.i=@rock-chips.com header.b="PgTksgpc" Received: from zyb-HP-ProDesk-680-G2-MT.. (unknown [58.22.7.114]) by smtp.qiye.163.com (Hmail) with ESMTP id 2298a0eda; Fri, 12 Sep 2025 16:59:35 +0800 (GMT+08:00) From: Damon Ding To: andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org Cc: Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, jingoohan1@gmail.com, inki.dae@samsung.com, sw0312.kim@samsung.com, kyungmin.park@samsung.com, krzk@kernel.org, alim.akhtar@samsung.com, hjc@rock-chips.com, heiko@sntech.de, andy.yan@rock-chips.com, dmitry.baryshkov@oss.qualcomm.com, dianders@chromium.org, m.szyprowski@samsung.com, luca.ceresoli@bootlin.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, Damon Ding Subject: [PATCH v5 15/17] drm/bridge: analogix_dp: Remove panel disabling and enabling in analogix_dp_set_bridge() Date: Fri, 12 Sep 2025 16:58:44 +0800 Message-Id: <20250912085846.7349-16-damon.ding@rock-chips.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250912085846.7349-1-damon.ding@rock-chips.com> References: <20250912085846.7349-1-damon.ding@rock-chips.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-HM-Tid: 0a993d26c6b703a3kunm813a8c8ea462ec X-HM-MType: 1 X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly tZV1koWUFDSUNOT01LS0k3V1ktWUFJV1kPCRoVCBIfWUFZGh9NS1ZCQxhLTUpKSB0YTUlWFRQJFh oXVRMBExYaEhckFA4PWVdZGBILWUFZTkNVSUlVTFVKSk9ZV1kWGg8SFR0UWUFZT0tIVUpLSEpKQk 1VSktLVUpCWQY+ DKIM-Signature: a=rsa-sha256; b=PgTksgpc/PwYaGUTj6Klp8yoOt6TxyzDZ8x4VQuQkvqqM7fmdM4IiV4LrrmsFPvCYX46rjoAWCJRWvO5m/DpYFs5/mdd/xKukI3uefNgCy+qb8mrjvzdh4yx4qg52m599JtqQRFvtx+evaho3SXqU7yJUn+r7JDD+V4HY0aSqwE=; c=relaxed/relaxed; s=default; d=rock-chips.com; v=1; bh=SWJejH2sMKm/oiMWo0ZDbrxLAvaEfmo2OLTed8h96hg=; h=date:mime-version:subject:message-id:from; Content-Type: text/plain; charset="utf-8" The &drm_panel_funcs.enable() and &drm_panel_funcs.disable() mainly help turn on/off the backlight to make the image visible, and the backlight operations are even needless if drm_panel_of_backlight() or drm_panel_dp_aux_backlight() is applied, in which case the enabling and disabling process just add necessary delays. Therefore, it should make sense to remove panel disabling and move panel enabling after analogix_dp_set_bridge() finished. Signed-off-by: Damon Ding --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/g= pu/drm/bridge/analogix/analogix_dp_core.c index 66d0cca1f268..c98058e9c917 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -749,9 +749,6 @@ static int analogix_dp_commit(struct analogix_dp_device= *dp) { int ret; =20 - /* Keep the panel disabled while we configure video */ - drm_panel_disable(dp->plat_data->panel); - ret =3D analogix_dp_train_link(dp); if (ret) { dev_err(dp->dev, "unable to do link train, ret=3D%d\n", ret); @@ -771,9 +768,6 @@ static int analogix_dp_commit(struct analogix_dp_device= *dp) return ret; } =20 - /* Safe to enable the panel now */ - drm_panel_enable(dp->plat_data->panel); - /* Check whether panel supports fast training */ ret =3D analogix_dp_fast_link_train_detection(dp); if (ret) @@ -1156,6 +1150,7 @@ static void analogix_dp_bridge_atomic_enable(struct d= rm_bridge *bridge, while (timeout_loop < MAX_PLL_LOCK_LOOP) { if (analogix_dp_set_bridge(dp) =3D=3D 0) { dp->dpms_mode =3D DRM_MODE_DPMS_ON; + drm_panel_enable(dp->plat_data->panel); return; } dev_err(dp->dev, "failed to set bridge, retry: %d\n", --=20 2.34.1