From patchwork Mon Oct 16 16:53:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 735822 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 AE511C41513 for ; Mon, 16 Oct 2023 16:56:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233675AbjJPQ4w (ORCPT ); Mon, 16 Oct 2023 12:56:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38030 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234160AbjJPQ4g (ORCPT ); Mon, 16 Oct 2023 12:56:36 -0400 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A62C1FFF for ; Mon, 16 Oct 2023 09:54:01 -0700 (PDT) Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-40572aeb6d0so46860375e9.1 for ; Mon, 16 Oct 2023 09:54:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697475240; x=1698080040; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FXcBslb1MNvlJH1zjcV0wxGhoCZ7RiOAEccFN8ak0qg=; b=YFovLDEXyDoGaIgb31uRr3rCTzXY2JY2mK4M62oxV7NpWWcaBO3vfyDgv6Gfgsh4Uh D4Tehyq6kFV+cvNVASguvPIeRMSxmzB3cmbkaF+HWY29gwhW5cyz8ZnApFIkViCWzEGr x9lXv47nNFzC6c4AH+F+2vuYl1yoD/cCAMihMYhrwSn2gmew5jUYy3UTYre99LQ+tXEn EbW1aA26dm35qeTilpp/K19Ze4g2wxIcj3w2/lpfx1KBphiIAR/QNk2dvwjDprM3eAxX LqxuRFQR2X0e0MlxyjYCXJWy66dt1aa3o0Cu34IG36xymVqwXEYA3zPehMzCo2OZxCmh x4nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697475240; x=1698080040; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FXcBslb1MNvlJH1zjcV0wxGhoCZ7RiOAEccFN8ak0qg=; b=ONJD/eJTnSXgMRrm5dzZ21c2yS2lKUJFrdrMaAO/QjPddYHavNX37tX4Vvk+XgBxNx D1UBlNGOTcEz/o7P6AiH/PE02AwXRtKbiFUGKFDOrkJW25HzkJmeHyEu1BCXQpbU6G3X 6IjaeaU6zkFlxj79b6MCQaZokDqnPFlVtBdcYA40agPc0aeYJWLY5/SU6kosNHZu/Lda R7rKlP6swV6Ri0zWiyjGBRWgxE23ZJ7IZcmXskHTK8ZcFIZRvBgKgMulahLnZ7szBEls aillSfEfMWkK0amgNJ4SVSmiuehD38CYAbJQ94Y8VAdtWUcgdEMoRRciC/ctn6bUIRRd Dm6w== X-Gm-Message-State: AOJu0Yyut/zvn19M7eAHaWhR9DgLzCdJjep13ABkuZAO7Zc0PO0LX2dP Qvf1o4C1GCgxmHBVOi0qEd6rvw== X-Google-Smtp-Source: AGHT+IHoONg9qNPiKGeTIHddHvmhDg1GDHSsCUAu6Z2s65378ibuLRfTX/M31ed4RtOSacgQiyUf0g== X-Received: by 2002:a1c:4b11:0:b0:405:3455:e1a3 with SMTP id y17-20020a1c4b11000000b004053455e1a3mr30359791wma.17.1697475240062; Mon, 16 Oct 2023 09:54:00 -0700 (PDT) Received: from eriador.lumag.spb.ru ([45.84.211.189]) by smtp.gmail.com with ESMTPSA id s19-20020a05600c45d300b0040648217f4fsm7638996wmo.39.2023.10.16.09.53.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 09:53:59 -0700 (PDT) From: Dmitry Baryshkov To: Dave Stevenson , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Douglas Anderson , Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , Konrad Dybcio , Jessica Zhang Cc: Marek Vasut , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org Subject: [RFC PATCH 01/10] Revert "drm/bridge: tc358762: Split register programming from pre-enable to enable" Date: Mon, 16 Oct 2023 19:53:46 +0300 Message-ID: <20231016165355.1327217-2-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231016165355.1327217-1-dmitry.baryshkov@linaro.org> References: <20231016165355.1327217-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org It has been pointed out (e.g. in [1]) that enable is not the best place for sending the DSI commands. There are hosts (sunxi) that can not support sending DSI commands once video stream has enabled. Also most panel drivers send DSI commands in the prepare() callback (which maps to drm_bridg_funcs::pre_enable()). Thus the DSIM host should be fixed to be able to send DSI commands from pre_enable() state. [1] https://lore.kernel.org/dri-devel/CAPY8ntBrhYAmsraDqJGuTrSL6VjGXBAMVoN7xweV7E4qZv+v3Q@mail.gmail.com/ [2] https://github.com/torvalds/lincux/blob/master/include/drm/drm_mipi_dsi.h#L84-L87 Cc: Marek Vasut Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/tc358762.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc358762.c index 46198af9eebb..7b9f05f95fd1 100644 --- a/drivers/gpu/drm/bridge/tc358762.c +++ b/drivers/gpu/drm/bridge/tc358762.c @@ -185,17 +185,11 @@ static void tc358762_pre_enable(struct drm_bridge *bridge, struct drm_bridge_sta usleep_range(5000, 10000); } - ctx->pre_enabled = true; -} - -static void tc358762_enable(struct drm_bridge *bridge, struct drm_bridge_state *state) -{ - struct tc358762 *ctx = bridge_to_tc358762(bridge); - int ret; - ret = tc358762_init(ctx); if (ret < 0) dev_err(ctx->dev, "error initializing bridge (%d)\n", ret); + + ctx->pre_enabled = true; } static int tc358762_attach(struct drm_bridge *bridge, @@ -219,7 +213,6 @@ static void tc358762_bridge_mode_set(struct drm_bridge *bridge, static const struct drm_bridge_funcs tc358762_bridge_funcs = { .atomic_post_disable = tc358762_post_disable, .atomic_pre_enable = tc358762_pre_enable, - .atomic_enable = tc358762_enable, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_reset = drm_atomic_helper_bridge_reset,