From nobody Sat Oct 4 17:32:57 2025 Received: from mail-m49207.qiye.163.com (mail-m49207.qiye.163.com [45.254.49.207]) (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 4AD8830102F; Thu, 14 Aug 2025 10:48:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.254.49.207 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755168514; cv=none; b=LdRlon0yZ1QfgwlR8K373+ERVcFWp/ot97kuUsLo60q621ubuXDkqQxO5zR1VqCGmGsDWhVlwDedBdtuYbApRGFeLQuZW0HA/Z1gybl1/d9p3G4L6yIigyhdO3qGbsnXGLcPYYHkZAhiG2ml/fsYkgl9uKUkWe/PsSwMuk4qO38= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755168514; c=relaxed/simple; bh=+IzjDyvwGPYZcXeuyZwZJqqV2WLQ3kJMdIrE89r2VyI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rjgR9p95ypeQGQAxPPxBvPX8jsddbhwsQPlKIx9yAoa7nN46w9MwYwFTPGBpxPqwLDTOm5vOLuEmxTRPCtFRL+PRCNrfYXr+9uuUyK8UleRzZHEa2TMK3o+hHkVRurgb8kpAcQ1FL/dr6oElev1fwtKJXqL2Ro/rpalYrcQRvEI= 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=A8PJRmiz; arc=none smtp.client-ip=45.254.49.207 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="A8PJRmiz" Received: from zyb-HP-ProDesk-680-G2-MT.. (unknown [58.22.7.114]) by smtp.qiye.163.com (Hmail) with ESMTP id 1f63a9a3e; Thu, 14 Aug 2025 18:48:21 +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, l.stach@pengutronix.de, dianders@chromium.org, 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 v4 11/13] drm/bridge: analogix_dp: Remove panel disabling and enabling in analogix_dp_set_bridge() Date: Thu, 14 Aug 2025 18:47:51 +0800 Message-Id: <20250814104753.195255-12-damon.ding@rock-chips.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250814104753.195255-1-damon.ding@rock-chips.com> References: <20250814104753.195255-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: 0a98a831ee1603a3kunm254826283f231c X-HM-MType: 1 X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly tZV1koWUFDSUNOT01LS0k3V1ktWUFJV1kPCRoVCBIfWUFZGkhJTFZNGkkeTE4aQk5NHkNWFRQJFh oXVRMBExYaEhckFA4PWVdZGBILWUFZTkNVSUlVTFVKSk9ZV1kWGg8SFR0UWUFZT0tIVUpLSU9PT0 hVSktLVUpCS0tZBg++ DKIM-Signature: a=rsa-sha256; b=A8PJRmizdGZSNeaM+eeA/IVHBRk6YpZ9DGXrJXfPDL8/2fKJxC+68H7df/id++2R/FI3d3RuPsd7UKlF3+dhNhEdK5scLUhltjMgXVnMHSuG492Ul+Cp5CwRIGFTB1PnbAvASh+kzGdMtA04pgQp3EYLXHUTPN+0eLCbvybKe2o=; c=relaxed/relaxed; s=default; d=rock-chips.com; v=1; bh=Huwtfl/4DY7+Ye0RBesZOhBs/hvliM0EJhdOv++XHys=; 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 3e76a7b7d227..3c518106b896 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -840,9 +840,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); @@ -862,9 +859,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) @@ -1242,6 +1236,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