From patchwork Fri Feb 28 04:14:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13995643 Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B18521A9B5D for ; Fri, 28 Feb 2025 04:14:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716056; cv=none; b=R1317N83LP3ik9oWbhdjAZqg1T/0JxD+iP4GN9xgZx0vS0pBMucJYbDIHlQtkgs0zSAO8zePDP4IDxO3zNYUcoZ7/sEMREvlCKWBhB7j/rjgy8JP4ABa6E78X6WjvxQDSQA6zCR76HHcKJNXp6NzjgyYDAdEORc6xbj32Ko0uPI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716056; c=relaxed/simple; bh=Db28RCeq/Z1F9VUkba+d3OjHCuLcQ1RUKoNZ2nefo0Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TegR2tKb6QrMybufSo+/5wLHlKcpBcY23eB4uRMYtOKjXLpWR7zm7r/l0lkkDi9eywaDEqI4gu+LVrQocl2nP7bJOrk04ba183AlOm1+ZseLIf3j1p1SemokVMeT6H7uLHj/lsOCZ0z8HJEFho5WzX41/ZlhvObKeM6hDAd58BI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=IYmhA+KC; arc=none smtp.client-ip=209.85.167.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IYmhA+KC" Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-5494cb8c2e7so516478e87.0 for ; Thu, 27 Feb 2025 20:14:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740716053; x=1741320853; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=BV2g354nchRnBXWZVfbxLCtDMmHT1sLILUGtzSkps/s=; b=IYmhA+KCbcFlapPEdgwOd0OJI+elTi0gycDdwG6j9RjbZWSHJHUxftCvkt3yt0j3Ok BaDqirFAcTTTOEMaqf3GKO4O7Mbq4hddRVrnRWR+DCmFplcD23SSUnRi2xEKvcFc0Hnp uk6giDaXWG9RjpqQkb57TgGatL3cbtXoWrtSxAvZ1Fx/k+CRRsB4xXhO+1k1N/Y6KWzR 41Q0VMw+zm+z6FexCBfKUoxBJKiy4wH5TVrdE3V/3kscbUaEpl183Iwmv2TY7fgLKLwh rl9RP3dcRR2VZ2pZgn8vWIiAG+HvQ+7FBkuzRzIKFIS0K6CJHuQ66vSxCiJ7na57fjVz uJ6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740716053; x=1741320853; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BV2g354nchRnBXWZVfbxLCtDMmHT1sLILUGtzSkps/s=; b=TPfDkP6qMshGa4JkWNbONHo4Yye/QZEj0r9Ll4cS6fu7Dbpyc/nreTkp50CwjVoE6P d9zR71yMQgQXjrq5y8cw+qj7q0MTBC4+tcJkWm6+WejDb294GWZkEIYmCMDtoM2yB1Sr chI02bP1m2N48LJBebJpKlVwi4THHX1rDJugg4UqPISYIshctcxunfvP4ntZdxcTQXu+ /Fsq1nRQJmpoggAWDNvBQOsYJqTU6aHtNMkYAT3llYAYQkqBoowbiNPmmZ6VZ4gqsrme uTGrTNG+ic+efAbwzQRd/PyGoR+5ueBpDk9nK4aN40wUVrmehz5qq2JIzyF2ZiDgtY7I YnZw== X-Gm-Message-State: AOJu0YxRN+GynvrRhLy/onndhm12T8wsxRfv8f6S5Rqp8jvICvOhMFKf Pr0EqGw+lG9yCIAPPWMy2CpMMencZqrJ3TLPXywk45/73AEYeKFIXwg5XKK8sW4= X-Gm-Gg: ASbGncuvsxIxS/ZoPy0XyAc19HDTEtZuF5K48WD8rf8dfE/bbD1jqxKylc4JwrdDoBb DCuv78QalD23XGk/vF+iKziFrWR1dfQSlB0r1LTxQoqQgRtir08ZadjMw9jykIup5E79Ezjpvwe GZ1Z0gy5MI6VMKE1z/SxF25Ddu0ql5t4dkJUZWavkmv6JyC1Z4kMPfQ9Kwgp0jo7ylQtLHUXxu1 CLZ4+kH/2TRvmcBP+l6guT944BROOdhpT9p1z0/OOWsz+BHu0AkgpDZ1zxrmZruRcItjngirCtZ ew4WNLPHl8kx2F44aYCrgMBPyhlSt77xeA== X-Google-Smtp-Source: AGHT+IE9YBTQR0iV6z+4YepiNFtTYxrWpO2RsdsEJMdQ2gFeW5S0vYwMjTGDZ3kcFTQ5S0SfoKkU5A== X-Received: by 2002:a05:6512:281d:b0:545:2950:5361 with SMTP id 2adb3069b0e04-5494c129f93mr735078e87.5.1740716052705; Thu, 27 Feb 2025 20:14:12 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441262b9sm361101e87.0.2025.02.27.20.14.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 20:14:11 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 28 Feb 2025 06:14:05 +0200 Subject: [PATCH v2 1/8] drm/msm/dpu: don't overwrite CTL_MERGE_3D_ACTIVE register Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250228-dpu-active-ctl-v2-1-9a9df2ee5193@linaro.org> References: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> In-Reply-To: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2182; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=Db28RCeq/Z1F9VUkba+d3OjHCuLcQ1RUKoNZ2nefo0Y=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnwTgOusw857TkyTSoMiWxrvJMdo3LAJUISc0/L 9jFAe2cySKJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ8E4DgAKCRCLPIo+Aiko 1QK1B/4gSzJoznIbF6hHlsqXJji1ggjQMu8PWaU29vFYaqaUN4wmnphk65OGL0wrF5300/u+ew8 20fdZGfbJWN3TgnO/90hH51YuE9eOMeV6ruKTZoBRQyBYZ9zqrUt/67hXw2UU+0QGxVgmdpFLH2 D5Q/wskOJ1NCiP8ETGMlaeR0cR1ONr5k+RVvNJjIIl2/Dvo/WWMqqoHQNkj5iISwTkSXGfk/PlP HlHh33TKB66Ei5fTrP/bfWJYe6HlgMUkOUrFHqzGgd1UyeYB5NmEFlE239EseEewJO6huzdljB3 dgiizUDrhoXlICW5r0hgeLgqR6WQD7Ec2KhEPdZ0y8Z75QR6 X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A In case of complex pipelines (e.g. the forthcoming quad-pipe) the DPU might use more that one MERGE_3D block for a single output. Follow the pattern and extend the CTL_MERGE_3D_ACTIVE active register instead of simply writing new value there. Currently at most one MERGE_3D block is being used, so this has no impact on existing targets. Reviewed-by: Marijn Suijten Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c index 4893f10d6a5832521808c0f4d8b231c356dbdc41..32ab33b314fc44e12ccb935c1695d2eea5c7d9b2 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c @@ -548,6 +548,7 @@ static void dpu_hw_ctl_intf_cfg_v1(struct dpu_hw_ctl *ctx, u32 dsc_active = 0; u32 wb_active = 0; u32 mode_sel = 0; + u32 merge_3d_active = 0; /* CTL_TOP[31:28] carries group_id to collate CTL paths * per VM. Explicitly disable it until VM support is @@ -562,6 +563,7 @@ static void dpu_hw_ctl_intf_cfg_v1(struct dpu_hw_ctl *ctx, intf_active = DPU_REG_READ(c, CTL_INTF_ACTIVE); wb_active = DPU_REG_READ(c, CTL_WB_ACTIVE); dsc_active = DPU_REG_READ(c, CTL_DSC_ACTIVE); + merge_3d_active = DPU_REG_READ(c, CTL_MERGE_3D_ACTIVE); if (cfg->intf) intf_active |= BIT(cfg->intf - INTF_0); @@ -572,14 +574,14 @@ static void dpu_hw_ctl_intf_cfg_v1(struct dpu_hw_ctl *ctx, if (cfg->dsc) dsc_active |= cfg->dsc; + if (cfg->merge_3d) + merge_3d_active |= BIT(cfg->merge_3d - MERGE_3D_0); + DPU_REG_WRITE(c, CTL_TOP, mode_sel); DPU_REG_WRITE(c, CTL_INTF_ACTIVE, intf_active); DPU_REG_WRITE(c, CTL_WB_ACTIVE, wb_active); DPU_REG_WRITE(c, CTL_DSC_ACTIVE, dsc_active); - - if (cfg->merge_3d) - DPU_REG_WRITE(c, CTL_MERGE_3D_ACTIVE, - BIT(cfg->merge_3d - MERGE_3D_0)); + DPU_REG_WRITE(c, CTL_MERGE_3D_ACTIVE, merge_3d_active); if (cfg->cdm) DPU_REG_WRITE(c, CTL_CDM_ACTIVE, cfg->cdm); From patchwork Fri Feb 28 04:14:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13995644 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 283EE1B041F for ; Fri, 28 Feb 2025 04:14:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716059; cv=none; b=QHppMxBMn5e4mT3Tfjv5NsWl55TqXxi9HAaPhuOIrjL3P05lYUT15kK5fu8c+womRcqwKTKC46rYBZULUGrUB9GSXYNDHRNmVRkcAcRY9JsNxW5aFZFXxTRO0QFlgGCI9zgDDt/IeJpRxlswSx+eHjVfUOQNKFkdW61GfYpAXcA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716059; c=relaxed/simple; bh=AoDhO2t+dIdRoZkxxXCA28rPq8VTkQxMjsmlolETDOo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PcD36gyGkymoe7ULa9Y89jsXMee75JTz8pgLhmz673/DGS+bN27zR6ZvwhN3P74weSX+glV69eNxTdKLpWO1Ye/R9W6mCF3XZZyJNRvK9Vuw8IW5swlzVPAUu7qv6CWafj/SJL7sS9/o2oiOcaEti9c6FyW+ToSFOOFu9WtiXyU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=JPO7JSdl; arc=none smtp.client-ip=209.85.167.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="JPO7JSdl" Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-5495078cd59so191093e87.1 for ; Thu, 27 Feb 2025 20:14:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740716055; x=1741320855; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=229LaQQs3AtVYpVY7CYXwuqYuFTusa/OnRSCiJVHHMQ=; b=JPO7JSdlglpxMeiGfDKfk+kHDTYiQ6sTFYELLEe625gQqXEEGaWVcCfUG8GbPM7805 SnxiP38GEQeUHIsnR1bRu3KBC4NEWyVagFixxDsVJohczSu0lYA385ZHNbmz6T78g4m5 prhR00uLd7B/n1E1pMENNdDyp+JzGCH5uoer45fI5l3wIOCLXd8VQezQ3lx3lnFIzgy/ zTN1epPmlsQEL7xJ09MRRxii9aY4Hyv9LuD8z6xPXmbHmdN4cLF9AFcSUStx/VBkWxHK 86NPkxSH45lVvTpWjTsAOlvSRu2+p1sB7ezSefF6FvSb/vwaZcXe226yFw7g3/4btNw7 IOmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740716055; x=1741320855; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=229LaQQs3AtVYpVY7CYXwuqYuFTusa/OnRSCiJVHHMQ=; b=sU2Fk5stKWEaivsqy77ttw/tgJ6Z8ApwdjZf0qqgM89eGPqAT0cTJ9EcVRztLfLyp4 fTEt9CylRKpZU0gyDmZLWCq7AIO1oGs3PURTCxCgBYZcQhsOudbfOhgkWvNECHlW688p KJEGCdHDMR22wOkZDgs9BJZCxFbdFlxWVaAV3/Bcxocsppimqa2FwJ+y0bdkg2b2VS/w Q37Sd6+8XcHg0CnieKTYdIH/phyzOQ4+UqoWBwPqHXDCCVnaDygm6/uEAXde3xu/8+KZ AjUcjnxB2jJ5lOgP/ZyOWoiyThDR7KOYKt8NfammxQOQ8gHHpX5iqFWmNekvtsFiNisj 8ojw== X-Gm-Message-State: AOJu0YzeHn/NyuJY+hgYc3TEiWEGgyEGTQkY0v9JSWWyKiDBZG9sOZhd FRCENlM7X/TdlW7qipFZJ7aCpypi+xH1FVTodKW+DhmYIw5UBJNKvMAS2n4CFAA= X-Gm-Gg: ASbGncvv91Qga71+i9YosG+FZ5iWGufxqVOlS5cJ71stWDpL4gA3K/MydLhyWwm9Kl4 NimXLi63x1YIic3SVKfVCvqeLICBIUpQy5LLKk6+mmaiCdsHN2FetsPStbJ8QQrRItj8c5EwGKg KSVXL85BVq7cjqz7u3uLpBXJfMpbZlvfHrAadBkhzVcUWTtyfm45zvvc/hUBhxHT8QBPsqgnIkk fx4HGofgmT8tz3+OGSP/kz/P/mGtyYw1/wiasnb+piGHnk3t4dSP/0wWcvKlU63/ZwyNjENlDPM QYO2SsIutQtX7lngS4kYrk6ho9qxEDUTIg== X-Google-Smtp-Source: AGHT+IESa8qolAMTFNqWbMDxjYResyR5kPLAkWzhjfwsqrBTG4hn9eOwmrwmXsP01jgv8LizRkO9Kw== X-Received: by 2002:a05:6512:3ca8:b0:545:1dea:7b2f with SMTP id 2adb3069b0e04-5494c38bd76mr634215e87.45.1740716055177; Thu, 27 Feb 2025 20:14:15 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441262b9sm361101e87.0.2025.02.27.20.14.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 20:14:13 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 28 Feb 2025 06:14:06 +0200 Subject: [PATCH v2 2/8] drm/msm/dpu: program master INTF value Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250228-dpu-active-ctl-v2-2-9a9df2ee5193@linaro.org> References: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> In-Reply-To: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2935; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=AoDhO2t+dIdRoZkxxXCA28rPq8VTkQxMjsmlolETDOo=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnwTgOI2a12c5nnpkFzuRBe/F8av9QAf5AGQdLt PAmBneIexiJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ8E4DgAKCRCLPIo+Aiko 1c/NB/4ld7gG0gXOmNt1fY0qrRWkykgxbJC059ytvMKjIFROSR3D9yGOy2W6VW5i3SVUU4RWYD5 4HDjTvWuaP9iBjO/AqntSMDzuAS3xupXntxShitM4JcZDrRSXk2Gdy8C1B3TYfnArBSQOJOTyA7 R3krlOq4v3n9me4V0BBsdQMbYzpTZIm11r6T2diA9NLtyXPoTPL3K8qj704t2d3ngq6hXjV7+et c6g/uznC+99Z8AbvtxmJ8ZciTFk5CaZofU4sqSOvoMUH5jVzkFiVesvv2oA4lT5zfv9L8uNxRca I1ELPXN4oFJVMUE30IPHTEP9+NYsOocTtEOF5QBMAOJKmTUa X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A If several interfaces are being handled through a single CTL, a main ('master') INTF needs to be programmed into a separate register. Write corresponding value into that register. Co-developed-by: Marijn Suijten Signed-off-by: Marijn Suijten Signed-off-by: Dmitry Baryshkov Reviewed-by: Marijn Suijten --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 12 ++++++++++++ drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c index 32ab33b314fc44e12ccb935c1695d2eea5c7d9b2..ffff60c4206c6f2833293fdcc56b653f7d3124a5 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c @@ -583,6 +583,9 @@ static void dpu_hw_ctl_intf_cfg_v1(struct dpu_hw_ctl *ctx, DPU_REG_WRITE(c, CTL_DSC_ACTIVE, dsc_active); DPU_REG_WRITE(c, CTL_MERGE_3D_ACTIVE, merge_3d_active); + if (cfg->intf_master) + DPU_REG_WRITE(c, CTL_INTF_MASTER, BIT(cfg->intf_master - INTF_0)); + if (cfg->cdm) DPU_REG_WRITE(c, CTL_CDM_ACTIVE, cfg->cdm); } @@ -625,6 +628,7 @@ static void dpu_hw_ctl_reset_intf_cfg_v1(struct dpu_hw_ctl *ctx, { struct dpu_hw_blk_reg_map *c = &ctx->hw; u32 intf_active = 0; + u32 intf_master = 0; u32 wb_active = 0; u32 merge3d_active = 0; u32 dsc_active; @@ -651,6 +655,14 @@ static void dpu_hw_ctl_reset_intf_cfg_v1(struct dpu_hw_ctl *ctx, intf_active = DPU_REG_READ(c, CTL_INTF_ACTIVE); intf_active &= ~BIT(cfg->intf - INTF_0); DPU_REG_WRITE(c, CTL_INTF_ACTIVE, intf_active); + + intf_master = DPU_REG_READ(c, CTL_INTF_MASTER); + + /* Unset this intf as master, if it is the current master */ + if (intf_master == BIT(cfg->intf - INTF_0)) { + DPU_DEBUG_DRIVER("Unsetting INTF_%d master\n", cfg->intf - INTF_0); + DPU_REG_WRITE(c, CTL_INTF_MASTER, 0); + } } if (cfg->wb) { diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h index 85c6c835cc8780e6cb66f3a262d9897c91962935..e95989a2fdda6344d0cb9d3036e6ed22a0458675 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h @@ -36,6 +36,7 @@ struct dpu_hw_stage_cfg { /** * struct dpu_hw_intf_cfg :Describes how the DPU writes data to output interface * @intf : Interface id + * @intf_master: Master interface id in the dual pipe topology * @mode_3d: 3d mux configuration * @merge_3d: 3d merge block used * @intf_mode_sel: Interface mode, cmd / vid @@ -45,6 +46,7 @@ struct dpu_hw_stage_cfg { */ struct dpu_hw_intf_cfg { enum dpu_intf intf; + enum dpu_intf intf_master; enum dpu_wb wb; enum dpu_3d_blend_mode mode_3d; enum dpu_merge_3d merge_3d; From patchwork Fri Feb 28 04:14:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13995645 Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A96561B041F for ; Fri, 28 Feb 2025 04:14:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716061; cv=none; b=bjZVwprKCcEfDMFNwHuRwWvEQVSPbqQhj9MbQfLjbx5woOnA5IK7LkBixdE+1yCjMg48Y+8Bjx+zuPxsJNeMNy0zxr6uIN3+VuKgAdYFD1YRYMXw1bkDzYqZMS1OKzvcnpfTm2zb0zK5KwEvZnqm1u3cqTZExX4kXF2K7sBQIpI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716061; c=relaxed/simple; bh=hfgy9wzGA5Q6AEJ70BD9uWOFMy1Prwe8QkTd0ByFtoY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qyR4sqH3yYQPijnANjb/ZlfIpNpqxZ2qQUDBajxoz1wW8YLvbA1yvey14OrDbgY9epWg4BTcHs09/zPq/+xXOvdUI9V3BcMWAWFIbsZ3KRofQohNESXN9DaFdBoULUtt+645Ux9WuoHyIOu06WapHhXx6B5muim9sHXrxXDLh0w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=vuAbZVtm; arc=none smtp.client-ip=209.85.208.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="vuAbZVtm" Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-30613802a04so18075621fa.2 for ; Thu, 27 Feb 2025 20:14:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740716058; x=1741320858; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=lLWgX9Jq7cWL0p5yKqN9Wo4wrXfetoQdLwdK7I3i/GY=; b=vuAbZVtm1DmAlmyCKom7ExUNXrZ/AHc+TWqBaQSKjWEPD7ynnKEVEq4M3qMDwvEj4k GFCIGK3qqdFzrudr9xVYi7PwRtMGviZGHZTr7gxTtKucigaQgJ/XOER/5KklgogAf5Ep SHnynRK/WCoveY3QpbB0DP3+QKCVTGg/pwNecB8VqAZbCvqN9aydJF34KIk1Y2I2PMst 3rHflDmyPBaM4BlBgWk+PbwN4LlO1seKiWhhQWqN5TcvtNLe9OSkg8c9QA4VLQLkZ5T/ e/WtGeBHAT3svKkLyRjodxtxaTbFj2ccpclt8/cLmVZTnO9m1BcOxYlPlsXDpFJWPqx7 Wp/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740716058; x=1741320858; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lLWgX9Jq7cWL0p5yKqN9Wo4wrXfetoQdLwdK7I3i/GY=; b=AyD8Yks2N1COZtvjtpAGlJeT2GbGLLAgv8at79FLxfWj5dGK2tdgOOVLNW9BvYGdSp SfZlvJUVTNL7+sUvXmmkvhTypt2ongPgSHjHSBzk1SXX3hGG2yAI6Kjed5eNquppVpmr EDfF+RLYEI4aj0n2Z8g3r+p3XZCQ3fWsUF7tnGCR3pxPw5pbJOnI6UQnZneD12yfEyGH dccG3R33N2DXoEMGrFWz7Ttv5w4ZoK9XIoDkdbGhXRS0DdvZYDtjYayj8CBWmjFDi0vh DNsh0A+29KzeIhHIanlkT/dQOBoQpXuAknHN6tOHKMG+wVti31yE/SMoTxjI0DCoMVcO WpqQ== X-Gm-Message-State: AOJu0YwJZoLrbQo+/rK0ZBvKRf7mVF6iCHsCQXwVWPlneI6j/MXenhEZ BjeL3FypMKk1f0Uu0zuai72kZRYSwSa1n52X9LF6N9jDVjQiKI/oxzUyJfljIHk= X-Gm-Gg: ASbGncsYtzF9AtSbd4JK2f6Q3Z+sOlWujGCvdDho3NKoB8j8SNAAGNKbrK1Xiwzisqi JrreVb2/vGCvQHY2XvxUTKFd4FdBhaPVTrkrQiNFDzapqEGQHGNSoHqh1Rrj2FwOHn0ZZ5lVXQh dM95suj7jQXgBIeFMr3mtMYin7hJyQvEUEfOI9U/sZ40T3UYA54HFxC+u0G6r6lt21UGk5GTVww E46DPet1qsGPSXhBwvQxe6ZjMoeAy5oM4MYIyfzm2NjsD0iVsrnhj4pmqDvSCRigA2V6poycfaR WD+nukBO19/7IyGBB/V2YCiy5GdSwp7N6w== X-Google-Smtp-Source: AGHT+IFcT7s4yVONTyYgY6zAKsU9+9abRufWWlIMfQD+nj7E9gZmr9mDgSCmtquQiPUvpSCt6Cmr3g== X-Received: by 2002:a05:6512:2827:b0:545:ece:82da with SMTP id 2adb3069b0e04-5494c12a0a2mr667916e87.4.1740716057671; Thu, 27 Feb 2025 20:14:17 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441262b9sm361101e87.0.2025.02.27.20.14.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 20:14:16 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 28 Feb 2025 06:14:07 +0200 Subject: [PATCH v2 3/8] drm/msm/dpu: pass master interface to CTL configuration Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250228-dpu-active-ctl-v2-3-9a9df2ee5193@linaro.org> References: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> In-Reply-To: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1955; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=hfgy9wzGA5Q6AEJ70BD9uWOFMy1Prwe8QkTd0ByFtoY=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnwTgO7AzfWXjKQ6q1tuTp6RHJgAal/Up8SzZqq QYw2I3uvDyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ8E4DgAKCRCLPIo+Aiko 1amBB/9ISmNQ/7w5UzOXxtpKcafpK0NDzRl2xZa+xPfU3WIIyQBQl7XQ1mExWV4yT53OzNbW3fl UjmLXTMkn815GuemnTmkSAoWOK+9irdUboUHmSwwN1TxDscP+OemA/gvyh5QDjOVL1sYu67hisQ BKiTgTwO3g4PvPdjW6KTjxzind9WLQzplTYYXLi7gHkfCDqtHFf0PHcWo7dyaFXjCa6yoOtBK0z jIsfNBrMS1d+SYmcjKvdZOAdNx80K1m/CNymtdTl16BY/6jzvCB8cpTn3QuS4ZKGNXQUfUsI0cV LcGdSKR7/kwjufT9P3MgiRqzFGDZ/a/jqOTmWnTbEJm7HYYw X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Active controls require setup of the master interface. Pass the selected interface to CTL configuration. Reviewed-by: Marijn Suijten Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 2 ++ drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c index da9994a79ca293ec0265680c438835742102db2a..a0ba55ab3c894c200225fe48ec6214ae4135d059 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c @@ -60,6 +60,8 @@ static void _dpu_encoder_phys_cmd_update_intf_cfg( return; intf_cfg.intf = phys_enc->hw_intf->idx; + if (phys_enc->split_role == ENC_ROLE_MASTER) + intf_cfg.intf_master = phys_enc->hw_intf->idx; intf_cfg.intf_mode_sel = DPU_CTL_MODE_SEL_CMD; intf_cfg.stream_sel = cmd_enc->stream_sel; intf_cfg.mode_3d = dpu_encoder_helper_get_3d_blend_mode(phys_enc); diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c index abd6600046cb3a91bf88ca240fd9b9c306b0ea2e..232055473ba55998b79dd2e8c752c129bbffbff4 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c @@ -298,6 +298,8 @@ static void dpu_encoder_phys_vid_setup_timing_engine( if (phys_enc->hw_cdm) intf_cfg.cdm = phys_enc->hw_cdm->idx; intf_cfg.intf = phys_enc->hw_intf->idx; + if (phys_enc->split_role == ENC_ROLE_MASTER) + intf_cfg.intf_master = phys_enc->hw_intf->idx; intf_cfg.intf_mode_sel = DPU_CTL_MODE_SEL_VID; intf_cfg.stream_sel = 0; /* Don't care value for video mode */ intf_cfg.mode_3d = dpu_encoder_helper_get_3d_blend_mode(phys_enc); From patchwork Fri Feb 28 04:14:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13995646 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E3471B041F for ; Fri, 28 Feb 2025 04:14:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716065; cv=none; b=jBYD0Fuw41gbpgI5gQ+bKCQyEEk0pExwBpCbctFrQM2MA23bYIoeg1uQMHacZW63Mzv3sGiW9fSibXfcDXnjwulQDABXd+wS+O6KId6Q+RyVyQ6SmLb5GEZJ+GTuYG9vXq7JRSiEM46l4v/LCe/ocbmMYs1s8Gyd9Yoz0UF9gxc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716065; c=relaxed/simple; bh=GhhCZJjEajy0jFOjY9R54kVOCzIOaWWu2XrVcVmmfhQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=H0HWgE4xCx6Vd1B5PbWT+CJ+fXI8rvI8NWNuiJegS7s5di8HYX00ioF+8BhfBXyyZQu3oVwT8a2yuM9X/ERb4+Vllt7OiTBSsor9bHbHZHWA7cYloLPOK8/1T0jufDrGjK2Op4uFS/gXl/uexp011GT47hAWA1KTP/XCJ8UVnOo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=pRok49+7; arc=none smtp.client-ip=209.85.167.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="pRok49+7" Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-54943bb8006so1723655e87.0 for ; Thu, 27 Feb 2025 20:14:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740716060; x=1741320860; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=qlvs3krFui5VM4RI+RTWfvb2I0najIuzQ1OGaYdSCdA=; b=pRok49+7H8OF5oxlOpXg2skncqCNCTPs2FpgMyCIP2zqOHoAwL90Le8rtAvV7n2Ru4 Bxq36MtWC8Ei1F06OPVuRIPaub3tsufv4hRcZQ1tif0FvxnkOEZvpC9IRm5yX62ZZKDq bnSaOXZE2dD5wJ8qH6IXHWsYx7uWkTRFsfMKwgcut5TjmUbY++Imy0ZkUB3zWZN46qNX rvUBA3TX6/FDHY3rWiLr/qb34PGHd4LrDapLn1QEnm2A7/VhARdCujqfTKFhe7viNv8O 6cqKHEMjWEQ/X11OSpWiR0wkOHzfwgjcNHtoh50kSg2Sx8JzA542yDyyUpItSv83OgTL nY1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740716060; x=1741320860; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qlvs3krFui5VM4RI+RTWfvb2I0najIuzQ1OGaYdSCdA=; b=sVpmM4WOeziNts+e9sLACn0608xJnuFWh99qDWlE9Sl0m6QYJFTZiuQbmcH91Nmpab NOrlACzYxVYH7Yu6kjmDc3Eky49+1kqoo8y/9+vBVLAqPUx9Gc2Ihp4ygtpqrmwY3N2c 8MM7BeCf3+Mn/zYQrSUgMz4sfeZXao9pBoNIdk7mnCMijlwlU6gEMdu4WZk6SOhdfUjE yzeZng/0MmBnDHyuzekRbcejEqkgSKxrcHHj38ivbBo3Y5VUyDVVBHr8iQQTpaMfq87Q fjEF/0lbsSP2g3rr/Vv5iIm61zX/SiYJ/+7xlygzMwqCLlvCejzqCCAgLuhuqSygiU/9 sFUA== X-Gm-Message-State: AOJu0YwpB1EHqQix0WwGyM0vDTpdwkWOtzwXnJMH2WD/kgQJpJev8kgv S4zKWqsopLdIhN323p4e17EHqQxcaj5wp5sVaOxmg/zY76N1LgWlzCdwPVb+vjg= X-Gm-Gg: ASbGncsZokMhWYx+4uURfyD/YRpim3dEOziECBTF9SsKdD29yO6Z/Es8DfOOODAdOoC R26JjrEXVoXOtfYsnTFqa5o/JmlWAmM8awIPzVsR3n81z6Z6N/Wa/EiuahqgIBtOn0bHIEf/nIi 2+S+XWh/oRgFFpzPznk47E7GMttwJ36rHW4Am80qenUdtFyV7jS/hifuQB9zSuuFT/X7amJGGNv JKrtu2JlvrrvgdJzzHIimmSQH2nGSbb20Sz+lihCkKnBZmGXzZTa/+Rgudy6Y+AAyQMDZT6zxRM 8qu22LU/7Ntpd+BPsrA2g/4jboioHm2kgg== X-Google-Smtp-Source: AGHT+IGrnEWMPE2WkcbT7JIvexF88rB0I+CKgbkhNnFe45kc4J3u2IM/i+GrBzAjghv03i/XJfxOOA== X-Received: by 2002:a05:6512:3d19:b0:544:e61:a1f1 with SMTP id 2adb3069b0e04-5494c11a280mr714153e87.14.1740716060111; Thu, 27 Feb 2025 20:14:20 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441262b9sm361101e87.0.2025.02.27.20.14.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 20:14:18 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 28 Feb 2025 06:14:08 +0200 Subject: [PATCH v2 4/8] drm/msm/dpu: use single CTL if it is the only CTL returned by RM Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250228-dpu-active-ctl-v2-4-9a9df2ee5193@linaro.org> References: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> In-Reply-To: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1258; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=GhhCZJjEajy0jFOjY9R54kVOCzIOaWWu2XrVcVmmfhQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnwTgO3RF6v4/ky5eEIRQSKeqiOSPOMFzE4bKwP 7MT1jG0WbSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ8E4DgAKCRCLPIo+Aiko 1T/vB/0Wymc/HhBvJljvIgyIsJdh3NY6aNpzKXKMO+cdPwVsVqJkFWOoTCpDCbEllSIJv/TrwyK WnWQr9oOj0lTApx3SG/Of/mzx9UBElIAhdwyjiY3oM/fkG94DGyrhD6xmyjbS4O2GOY+5QlJQkN vVTgDQGjqKD/L8hzGzztmeVG734r9jCkB9iFgm4vJ3ktwPNfuaUjrID44OT0gEyAcbrkgu+mgKO 6Culz7HEx40OG9eOecbTfYuaAQh5QI8agbkpVzh5HLjJPVYH9sRGA4H5cghPbPnxNQFJe0tczyJ T5fIyQQiSunfcEflM1qHEgna8v1MdyyQHqUUMaCplzmV/w9Z X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A On DPU >= 5.0 CTL blocks were reworked in order to support using a single CTL for all outputs. In preparation of reworking the RM code to return single CTL make sure that dpu_encoder can cope with that. Reviewed-by: Marijn Suijten Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c index 32992e9525530ea4dec2f46643fc06d40d3bca7b..e7dad94d91a7b6e99adb9aadb48aa8cd164babfa 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c @@ -1288,7 +1288,11 @@ static void dpu_encoder_virt_atomic_mode_set(struct drm_encoder *drm_enc, return; } - phys->hw_ctl = i < num_ctl ? to_dpu_hw_ctl(hw_ctl[i]) : NULL; + /* Use first (and only) CTL if active CTLs are supported */ + if (num_ctl == 1) + phys->hw_ctl = to_dpu_hw_ctl(hw_ctl[0]); + else + phys->hw_ctl = i < num_ctl ? to_dpu_hw_ctl(hw_ctl[i]) : NULL; if (!phys->hw_ctl) { DPU_ERROR_ENC(dpu_enc, "no ctl block assigned at idx: %d\n", i); From patchwork Fri Feb 28 04:14:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13995647 Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9AA461BBBDC for ; Fri, 28 Feb 2025 04:14:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716066; cv=none; b=PabNFaOgxvfatg2qTzxsZAVxvptPFPQ857u+SIouzqUeHUex+ePuVPCQ891njUvxFRkD/YX+HUH1lYFa4f8hdfFENWiPXhk5mcXsiBklM587mSZUa2JrvT9AuG/0vvyYN18vYayutadfXZCxTXWV01pLQdUVau711aA0q1NwKPk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716066; c=relaxed/simple; bh=Mj6W/g1cQTXrPDSCV2G/UAnCYQZDcnBUJoxZDb1VnZ4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IoRcPLg3XQF2wLGk8eIODUC9pSDErKzaUTC7ZwLa8rMG7BqnOLJdY/i0HzdStizfeRkFdGVTvqfsMAToXjz/PTXT4HUXOpDTOW5W/9t5qI/z0zl1y1UOfxnXq6PpiVpjs5IF2MrdLvKV8RX7wq9bUQTyMjGFaiJ5dDB8k9CSirY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=JCzvX1cv; arc=none smtp.client-ip=209.85.167.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="JCzvX1cv" Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-54838cd334cso1886294e87.1 for ; Thu, 27 Feb 2025 20:14:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740716062; x=1741320862; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=X3V4xBbQpvjplr+11vPrizjbtJxjqV5/lKZ5s7afZXk=; b=JCzvX1cvB5WyqDebFFS3OiY4LSL0ijFp+UjaKNkgZV8SvZb5vDcm2XmQCqN9LZxADh 3vjLhNYWG2FvkAl0dklhve8wfPnamp/UXJLMIL9XfC4fJBh661iemJsXg1R3U0w/x3Da sG+8g/0dHzjRbgVXBu/1qXJXPlka56uPQgHmPkD4OuTEXpLXf1dtzkdSmEeM43faelgL 6vZYhhEqGAF1emODI/7lZRc8XzgHsWSVK2Db7GARH9/4YSt2lxusHeYscX4dYjgqHlX4 OD/5e0hWQh4wke4ZOY6coNFb2gmZaFzs+5izFPKqfhjxFDI/LRcIPlKDUl8yNghdBH0o /8Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740716062; x=1741320862; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X3V4xBbQpvjplr+11vPrizjbtJxjqV5/lKZ5s7afZXk=; b=KVqXhIa8hziSAU89U7/y39rB3vJu80gmj7NxND/jmyHLsDbG6EcsLKurfhSp/Mpu2u JPovh0BLZdqCZm7+kv64szkfyjnzok8HNuu1uKGBKqbgXFPCtZWm50rSWq/WkrZLw/Sr MvF45W1cWh1mFkT24z1r4Pi6RuyQi2m+yErs7YiBJg2h9eHkvihJ/E6Ia8denbLt0FoP bpmPestdbjr6p8T52LawGJKlb79mxMBU9oB+fT0gMpXL4qNra5C21bEV5zRNEjm9mgTY fNHMNKM+gHNdb1JqRk0kCuxX1t7aPxIH4sxJb/YSU2CgIucQjIB/mT929D4oljxgJs9x YB7w== X-Gm-Message-State: AOJu0YwKcvcFQIcmwV60IasThdLIKnfukx8tmleFnze73mfOQe3nGXo+ dEeEUxRdoC2WRrQyrh9Xb1vg0Zl1MK1CTEVTQ+92E8qVSFesq3pZTil663lPQqY= X-Gm-Gg: ASbGncvbS4IDF+YsE5RTMbgX+s+2XNjyupfrWyhQ3Xky7MwNB/sF0Ys6G0WOUmqSydK 0wloGn6j7dTeRBtOa+MS1t8Ba0N50wHM408yT0X4cuUeThWcQyXKfHtBj79OwC6eBzkHyiYzvaC socQbFtl/HTko+n/3N4yLBG4oLFhSawgIazk4xK1JmZr1qJnbQ4E4OS2TRkSrUhzW9ymWHq1UGV JrS1lGQAf9pErgJTJUDjhcHrMQt2DU7fsNs49BTkqmPJzNT5yrqLV8uxSxFaaxxCODsCzH2XEZV 1C2GSI8QfW1vsWd7Z8KS7zrDg7jgXp/eUg== X-Google-Smtp-Source: AGHT+IEmKR7512b7rPCxOxH6Leo8TXNyRwalCUNGBUQoHUipqV75M6jxF5LcurElBJTLK8KR7bcGCQ== X-Received: by 2002:a05:6512:3a90:b0:549:4416:df02 with SMTP id 2adb3069b0e04-5494c332da2mr711075e87.41.1740716062588; Thu, 27 Feb 2025 20:14:22 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441262b9sm361101e87.0.2025.02.27.20.14.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 20:14:21 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 28 Feb 2025 06:14:09 +0200 Subject: [PATCH v2 5/8] drm/msm/dpu: don't select single flush for active CTL blocks Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250228-dpu-active-ctl-v2-5-9a9df2ee5193@linaro.org> References: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> In-Reply-To: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1072; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=Mj6W/g1cQTXrPDSCV2G/UAnCYQZDcnBUJoxZDb1VnZ4=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnwTgP4KRcHBqD2Y7auegS7rtZ5I4melMFiEZdK 0WuqCAAgLOJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ8E4DwAKCRCLPIo+Aiko 1XA7B/4lyHDEWi+MrQa5obFMN7alj9kvr0s/v5T0MSenczs9W5rOlcwWgZwtTlYOZ0DwtObtB8P 1X2H6gJTY2PPKPmSET/iTt/PH/cf4ey3p1+ho8iogaBa9aykS5QeNavZpoRvwhTYv0BbdB2IinW IBtEFNuQFymgDrk7J5xvTIRfu7ncagUaFRgx/abgr2CDHIYmqI6tx4gmx+bIGmIliknpmSVh3lE TCqBeu4QnT5pa1V0XSZYs0uBErCBw1ukukGyaffORJx51BxxAqyO7G8K934LDptaVpm43kF8wZq lMZRTp6stKw5JrcxfjzZrZmv9aCoJ7AQw7s4Udj2IYgbVShB X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A In case of ACTIVE CTLs, a single CTL is being used for flushing all INTF blocks. Don't skip programming the CTL on those targets. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c index 232055473ba55998b79dd2e8c752c129bbffbff4..8a618841e3ea89acfe4a42d48319a6c54a1b3495 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c @@ -374,7 +374,8 @@ static void dpu_encoder_phys_vid_underrun_irq(void *arg) static bool dpu_encoder_phys_vid_needs_single_flush( struct dpu_encoder_phys *phys_enc) { - return phys_enc->split_role != ENC_ROLE_SOLO; + return !(phys_enc->hw_ctl->caps->features & BIT(DPU_CTL_ACTIVE_CFG)) && + phys_enc->split_role != ENC_ROLE_SOLO; } static void dpu_encoder_phys_vid_atomic_mode_set( From patchwork Fri Feb 28 04:14:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13995648 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F0601BDA99 for ; Fri, 28 Feb 2025 04:14:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716069; cv=none; b=JValYzXdnJc+dPcmAB5roL4Mvo7V7BNIiTPo8oUB2HQzNqfoHoKE6FDd7slMuk2lPvYXvvz7YlCDvxrvW40JTNGN1YHi5rRRh7hxi3TS6UI+5DZvlQ7TEqcszjY1zzcxeH4VlXG58nGwZJHb89yBLkZMDpKSArDmSn+7/pNGjhc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716069; c=relaxed/simple; bh=9ME/m1J0a8xy6pkwPYSmuv8Gj0s9JDUVh/PU+W77WMM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Jjc4l/kzMvzrwtP9DRUWVd6BcaeaN/6+hzmYD8x8ppUcc3a1LH3bpjEvgf4WkXKXXrveFWGktMAWEqgLjOeSoYuai4ROpkOOuwH9M9agk9RhxNIFLczIzHZua3HqsmD3jmL8I7TuyjGGCeFRSBP94w2Rg8AgDXljhl3D9RoQbIk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=MCf3lpz8; arc=none smtp.client-ip=209.85.167.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="MCf3lpz8" Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-5493b5bc6e8so1854458e87.2 for ; Thu, 27 Feb 2025 20:14:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740716065; x=1741320865; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=wKmEhSMCDJBoOlvCmALSOOybeelc7567Ow0tL2ku5rA=; b=MCf3lpz8BDqh7VmVrlJ74ej2jAjPsWZ+G3OXUgQTioXLjBh9r1pgIBouXC8SCLR59h 2iU7sg5pbN5LhtamriOsSWa6gvG3p6M8w/T2rOFWkWIxNcFQqcFRmG1g2gPvy4BEAeI6 H288Fcztq6eK27fH7lpz99P+n/qomFoSarxtPCCTIBBtD8tB7cKH7o3HrW/m3O1R6N7W TX2AEntqfDtvFWZEm55HtKYUjxcS4/WwAgC7gveCbe+T+ConCwuZCDAnY4n3Gz8tUr5M IHKSL9cKEGU+m16GecP4nZkW77/Hxiv1xEzJuJZec2eXifaI4byWvJtMcAp8RszDECtD z0MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740716065; x=1741320865; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wKmEhSMCDJBoOlvCmALSOOybeelc7567Ow0tL2ku5rA=; b=PcGvUL7zUNFB4CLsjOL3ea/KeF/In2M4nmPrVAt8qWFTDGYlI9kVlDz0GqDU8U7K5E Dodsv/QJIhVHzpDm5RvxFYF+HErSVFN/XKF78jhZOHW3D6QSjDR8iatAFuXaHtdIHOCO aLo/g7T9A8tbFSRUOJoWEVvhrNG/2dozwXt/ZT3+QPYq9EeFdmKuwT7BCcdmJnHr4J3V VFjfZSqTy4H6UUGdIH698t9Ps98qh/HFCQMMfg+TCXYedrHCAkYpaY63UtN6Mw9tcYHk MBdpQoN9FnTW306N8BXsd0sDSSO5hvYtJ4cVB7ENUTqcwrBX/Rx/sFeDsK5DUFaRE4oj Cn2g== X-Gm-Message-State: AOJu0YzR73GEVQsdBVwVEuW7M11eBI/6tCoMP4iW+9yFVlIwg+Wwx4L4 yCHuZPM8YlVlvj8zXSW4NDHHVu5a7R8ctKj9laWCsUd4fDZJVGYn0U0R1HFbiuE= X-Gm-Gg: ASbGncuDlbeG4P2HmCz+gTQIXY1U96yuI+YOD8AlL+rrZqL2uZ7OduuNQgr5hJ/CmQK cHy3BwD9043tDPJcL61uDzidkmOPFDHlH/U6dhNq/Jd9s7nHPfq9XyWZHY7LznGahGUIiSuyVuk JIe+5MzgYCM4oDdI3ugFQRaXMsIWKAma6liZW7jX712IIBAk0//UWFAVyKmXh76UF2+/DFnI1Wa fG5GC9FjIYC+fUUgqJyCQRiidqimW4pO5DdlWOcwNb9h236u7IdrRP1y6ZEB3HhiF4ep8QDT70K lVWb8SKbdAe3K2APEn37Ji/px/vKcZCO+g== X-Google-Smtp-Source: AGHT+IFrTPCwHoGYny5G5ckuZI9C77r7UCSKuEcNlsrjyiXZzEXpDmSCPxAlcfpE49ug1V57noOTpw== X-Received: by 2002:a05:6512:281d:b0:53e:3a7c:c0b5 with SMTP id 2adb3069b0e04-5494c129c16mr531065e87.10.1740716065030; Thu, 27 Feb 2025 20:14:25 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441262b9sm361101e87.0.2025.02.27.20.14.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 20:14:23 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 28 Feb 2025 06:14:10 +0200 Subject: [PATCH v2 6/8] drm/msm/dpu: allocate single CTL for DPU >= 5.0 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250228-dpu-active-ctl-v2-6-9a9df2ee5193@linaro.org> References: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> In-Reply-To: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2950; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=9ME/m1J0a8xy6pkwPYSmuv8Gj0s9JDUVh/PU+W77WMM=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnwTgPW1XbcApwPVKDVEeAb03bL+wmkGORnOawA uH15T8hTtGJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ8E4DwAKCRCLPIo+Aiko 1e9OB/9D4+zlNGC1yj7F8c0RRfwqJqfV6I3eZX/gkilovYH5z/qUEgL4iDR5UHJToEYT9jih8N5 vw5J2AqH2CDEhPbTizrPvX3j3/inVKMqWYVYjoLNpB7iJoiCJPv7v1yXN6e3DYuuuRdgh7+hfoa 3Hp5ahV7CNuJonfRI0RIXQ62eadvSDgEmTA552kowBP/MaHzLAMuAdrch+v0FANs2bPI6u2zYE8 zrXe9dacEQQ+7IFFHchXWk/dHNkwt7ayZ5HYJ3YZiSlS8gEgC34U+sAGo3VZAl1XogSJJsIUWFY J1GuLCirv3jYxmdpvlncb1RdAaHRAyF/GuGl5Xz8KhFpeSe8 X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Unlike previous generation, since DPU 5.0 it is possible to use just one CTL to handle all INTF and WB blocks for a single output. And one has to use single CTL to support bonded DSI config. Allocate single CTL for these DPU versions. Reviewed-by: Marijn Suijten Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 17 +++++++++++++---- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 2 ++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c index 5baf9df702b84b74ba00e703ad3cc12afb0e94a4..4dbc9bc7eb4f151f83055220665ee5fd238ae7ba 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c @@ -53,6 +53,8 @@ int dpu_rm_init(struct drm_device *dev, /* Clear, setup lists */ memset(rm, 0, sizeof(*rm)); + rm->has_legacy_ctls = (cat->mdss_ver->core_major_ver < 5); + /* Interrogate HW catalog and create tracking items for hw blocks */ for (i = 0; i < cat->mixer_count; i++) { struct dpu_hw_mixer *hw; @@ -381,10 +383,16 @@ static int _dpu_rm_reserve_ctls( int i = 0, j, num_ctls; bool needs_split_display; - /* each hw_intf needs its own hw_ctrl to program its control path */ - num_ctls = top->num_intf; + if (rm->has_legacy_ctls) { + /* each hw_intf needs its own hw_ctrl to program its control path */ + num_ctls = top->num_intf; - needs_split_display = _dpu_rm_needs_split_display(top); + needs_split_display = _dpu_rm_needs_split_display(top); + } else { + /* use single CTL */ + num_ctls = 1; + needs_split_display = false; + } for (j = 0; j < ARRAY_SIZE(rm->ctl_blks); j++) { const struct dpu_hw_ctl *ctl; @@ -402,7 +410,8 @@ static int _dpu_rm_reserve_ctls( DPU_DEBUG("ctl %d caps 0x%lX\n", j + CTL_0, features); - if (needs_split_display != has_split_display) + if (rm->has_legacy_ctls && + needs_split_display != has_split_display) continue; ctl_idx[i] = j; diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h index 99bd594ee0d1995eca5a1f661b15e24fdf6acf39..130f753c36338544e84a305b266c3b47fa028d84 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h @@ -24,6 +24,7 @@ struct dpu_global_state; * @dspp_blks: array of dspp hardware resources * @hw_sspp: array of sspp hardware resources * @cdm_blk: cdm hardware resource + * @has_legacy_ctls: DPU uses pre-ACTIVE CTL blocks. */ struct dpu_rm { struct dpu_hw_blk *pingpong_blks[PINGPONG_MAX - PINGPONG_0]; @@ -37,6 +38,7 @@ struct dpu_rm { struct dpu_hw_blk *dsc_blks[DSC_MAX - DSC_0]; struct dpu_hw_sspp *hw_sspp[SSPP_MAX - SSPP_NONE]; struct dpu_hw_blk *cdm_blk; + bool has_legacy_ctls; }; struct dpu_rm_sspp_requirements { From patchwork Fri Feb 28 04:14:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13995649 Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9588E1C173D for ; Fri, 28 Feb 2025 04:14:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716071; cv=none; b=j2JH5AQ3/bunHR/DNy/ifRTXyZleFuXImL6spsspzs2aTwNCZh3I8TSkAyJAZQfVpW4sE+wi87pNdc/Om78xXhEM1Qoewhh5NfmqRT2P/accTmgXRTW288mhtoRa4uot7+HGN29UywU1rn82vbWttTjoM1hIumF4S1dT/J4enDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716071; c=relaxed/simple; bh=bj4Yf8AfjuiGY7pe/RVAlBltajmV4p4Z1Zh75EHSoSc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cnHl/4uhYopBP7l7045zSDgIdXRGZ5HrQVDFlMcNjd3N1xGZG0kh+aQVMwr0BO5KxRbX7DCY+obHHDJcY/qRRA3MI38PRshEcW2QnzU0Bc/GcqHtiXsP3zUF3ZIy7gcOjj9SJk+JqL78Wz+IOQMWxmMj6xJmliBitJQGpCxawpI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=lqQduL+K; arc=none smtp.client-ip=209.85.208.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="lqQduL+K" Received: by mail-lj1-f182.google.com with SMTP id 38308e7fff4ca-30a2f240156so19843281fa.3 for ; Thu, 27 Feb 2025 20:14:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740716068; x=1741320868; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=BDSCHXpLZYZYkFt+tYCxH2hYxyoDEe4p5qu58S7sqRk=; b=lqQduL+KC3eGRmJQFvVNm3o4fasqEnHxO9yk8oKo8jfGeiDiUsEkjv+tW2pHcZIU6l 5t0v3EWCzwYaidfRammVe8o0PQ5hh5RocK9mYv8DXs4hdoHFckmB/jyqvFWdLHEt8Gp1 EerreUlpkAjjMG0t2aohl6PK6Rc4/2YIvbuaMsTF0YWfLbMp6agOCc1RIYrA9xA6LkKl SZ1ps897cDl6ssYbyGu5rKxRXKSu3x7jrci/mGPxT3fJOTc0sXSymdvlLo59bfKxV7VH IbsopjCp41xV/7jWY7I9/wHOChw34n6o44o35G9u2y+n/7Ikp58mcI+n/Cx78xg6+j5a 0cRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740716068; x=1741320868; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BDSCHXpLZYZYkFt+tYCxH2hYxyoDEe4p5qu58S7sqRk=; b=Ut34+C4cieIwKft50RhIvzVLnP8gDi9kp9j5WeUbs7/iIplk7TJ2Di7DkExtW8JQXi XBNp3LV45Cx4I8A4M66xQ1nu9HxtCv+Zu3PrN+/jsWi/u2RcfrFw12diqLjXVNyoftxv vrl1KpuaadEJY68v2JFGguRa34ez84GaWXVchCixSFhAufHILFeHMSWWYBC7O9ah+h9a qGeTRIj5TrL18Aq7vGiDRrBtv3fvsJRvU9v9lA+F+4LGW4zdvckgkuT2NlUf+OeYFXMX ZYbqUqC95jsdx+XL5yeG7JJiv2/Z+yBk/nMZuvHQWbMVAJZFJ4spjYPxnn9balqfKhz1 en4Q== X-Gm-Message-State: AOJu0YxtGakc7m3clW7n5aMMZzjGIOqLgMO1sz2XwI65d+GJ5IuT0Lo0 xqdOnPsaruHy2pVmlIBRfQ5SDwn1WzvfpD1hGBvGHHmgFd1yJOn9arjGk6eFHj4= X-Gm-Gg: ASbGnctn5xuUcglABmCnLR6TxY1WOLphxqdjs0e/OTbbeaxVwnB3rdsiNDbMFZkkqpk r7yALKuHBqRusYqi6FmM3n90axPAmSW6X/f5pXOoYOeSOmHmqj9QBsBPRGvbk9/raKP8snFFFX2 fSmqOP38yqNECbnN7tWtf88S6MTILYJbBWm9rDv0VcR54phJvY73Wu2fZKpm0HqMTOdSpNDAqTX qKs6iDp9C31aan7CN9DjJ2SNWH2KjbLNmZXYKkarFeJytyA38O2j29HYrQDJ/P6GS1sq9KWHjGc p8Xo9JSDW4QKM+EVPRwz8+euYJvLpl9gTQ== X-Google-Smtp-Source: AGHT+IEawxqM2ZnHwu46No3cFJ3knLAbV3OFnZ+vhoWq26EGKf2C0OpJrZzp+ak7l0kAe9Hid7GxSw== X-Received: by 2002:a05:6512:3d0e:b0:545:8a1:536e with SMTP id 2adb3069b0e04-5494c129f17mr694097e87.6.1740716067525; Thu, 27 Feb 2025 20:14:27 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441262b9sm361101e87.0.2025.02.27.20.14.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 20:14:26 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 28 Feb 2025 06:14:11 +0200 Subject: [PATCH v2 7/8] drm/msm/dpu: remove DPU_CTL_SPLIT_DISPLAY from CTL blocks on DPU >= 5.0 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250228-dpu-active-ctl-v2-7-9a9df2ee5193@linaro.org> References: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> In-Reply-To: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=12670; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=bj4Yf8AfjuiGY7pe/RVAlBltajmV4p4Z1Zh75EHSoSc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnwTgPtQaMrAsK/fVr2FPyjKK5LLHYiRVKBf5fZ zz9R+Mg3WGJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ8E4DwAKCRCLPIo+Aiko 1T8gB/9B0fyg41tqbytaqNip5ePTsDPf6BXdsnM0ciXXlt1SpS//UBTr537oztfee8kKBUvIeqc 7PEl9pyhGQzaHECb2C+xOwJEv1avgWv5B3nM0sBGnT9U51npX4u/GQRWv2SxllKx+evAzs4WQ7r ljAVBIHmEH0zZ+D8FIZACXhe/s4ut85vPSUkHrwhXpUi30NeLBve7AIwYaa4YsOT+z8obfzQg5f 62b7QhX3qi/ij/tZxzACn6yXORLnSjtyqChLxzJsYoXwMMw3EBZjGb10vvM+Q6jCTVtt0ljkyzV 0my5/JiNtStibEBTvFKITU6r/DVc+/PMxJBvh08M+VRZF75V X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Since DPU 5.0 CTL blocks do not require DPU_CTL_SPLIT_DISPLAY, as single CTL is used for both interfaces. As both RM and encoder now handle active CTLs, drop that feature bit. Reviewed-by: Marijn Suijten Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_10_0_sm8650.h | 5 ++--- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 5 ++--- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 4 ++-- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_2_sm7150.h | 4 ++-- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h | 5 ++--- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h | 5 ++--- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h | 5 ++--- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h | 5 ++--- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h | 5 ++--- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h | 5 ++--- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_2_x1e80100.h | 5 ++--- 11 files changed, 22 insertions(+), 31 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_10_0_sm8650.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_10_0_sm8650.h index bcb39807fe61e231d6e318d8729ed86f213fb06a..a705e3e761d9a578777cd03011e90df8002127a6 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_10_0_sm8650.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_10_0_sm8650.h @@ -27,17 +27,16 @@ static const struct dpu_mdp_cfg sm8650_mdp = { }, }; -/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */ static const struct dpu_ctl_cfg sm8650_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x15000, .len = 0x1000, - .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = CTL_SM8550_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x16000, .len = 0x1000, - .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = CTL_SM8550_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h index 36cc9dbc00b5c1219e1aa557dd4ee0e801b5c9e7..714c27abddbec28e9d0a4f2d7c70828a6c1b0be5 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h @@ -37,17 +37,16 @@ static const struct dpu_mdp_cfg sm8150_mdp = { }, }; -/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */ static const struct dpu_ctl_cfg sm8150_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x1000, .len = 0x1e0, - .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = BIT(DPU_CTL_ACTIVE_CFG), .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x1200, .len = 0x1e0, - .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = BIT(DPU_CTL_ACTIVE_CFG), .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h index e8eacdb47967a227567a96a85a93a69befbb00d5..669f3a44c3387d5620530edab0fcca8d70671cb8 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h @@ -41,12 +41,12 @@ static const struct dpu_ctl_cfg sc8180x_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x1000, .len = 0x1e0, - .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = BIT(DPU_CTL_ACTIVE_CFG), .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x1200, .len = 0x1e0, - .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = BIT(DPU_CTL_ACTIVE_CFG), .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_2_sm7150.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_2_sm7150.h index 2fe674d1e05988f39f66a01fedee96113437ea65..0d102888741a0c61ac547ec568e44c1e91350835 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_2_sm7150.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_2_sm7150.h @@ -38,12 +38,12 @@ static const struct dpu_ctl_cfg sm7150_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x1000, .len = 0x1e0, - .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = BIT(DPU_CTL_ACTIVE_CFG), .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x1200, .len = 0x1e0, - .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = BIT(DPU_CTL_ACTIVE_CFG), .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h index e8916ae826a6daf30eb08de53521dae89c07636c..3da26970426f9672c34f213064cdb8eff8c18da5 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h @@ -35,17 +35,16 @@ static const struct dpu_mdp_cfg sm8250_mdp = { }, }; -/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */ static const struct dpu_ctl_cfg sm8250_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x1000, .len = 0x1e0, - .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = BIT(DPU_CTL_ACTIVE_CFG), .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x1200, .len = 0x1e0, - .features = BIT(DPU_CTL_ACTIVE_CFG) | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = BIT(DPU_CTL_ACTIVE_CFG), .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h index f7c08e89c882038aa658955ca1202bda3d928e80..16fbfea01e3272229c817db480b86c1a715d5c4a 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h @@ -35,17 +35,16 @@ static const struct dpu_mdp_cfg sm8350_mdp = { }, }; -/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */ static const struct dpu_ctl_cfg sm8350_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x15000, .len = 0x1e8, - .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK, + .features = CTL_SC7280_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x16000, .len = 0x1e8, - .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK, + .features = CTL_SC7280_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h index 0d143e390eca964b1c81f835d0904a2079b0b941..e6f2a8665ea2598ca5a813158ba1cdd9f491a41f 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h @@ -35,17 +35,16 @@ static const struct dpu_mdp_cfg sc8280xp_mdp = { }, }; -/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */ static const struct dpu_ctl_cfg sc8280xp_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x15000, .len = 0x204, - .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK, + .features = CTL_SC7280_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x16000, .len = 0x204, - .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK, + .features = CTL_SC7280_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h index 08742472f9cc812fbaf8f842ff7bd78f597e2b8d..bac75783063fd5588bc1cc19cb79f11cb0431bb8 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h @@ -36,17 +36,16 @@ static const struct dpu_mdp_cfg sm8450_mdp = { }, }; -/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */ static const struct dpu_ctl_cfg sm8450_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x15000, .len = 0x204, - .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK, + .features = CTL_SC7280_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x16000, .len = 0x204, - .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK, + .features = CTL_SC7280_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h index 76ec72a323781363d37b62fec752ea1232bbd75b..2b36c438bc8a22e2650f1d546d0259f8c6e747b4 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h @@ -35,17 +35,16 @@ static const struct dpu_mdp_cfg sa8775p_mdp = { }, }; -/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */ static const struct dpu_ctl_cfg sa8775p_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x15000, .len = 0x204, - .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK, + .features = CTL_SC7280_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x16000, .len = 0x204, - .features = BIT(DPU_CTL_SPLIT_DISPLAY) | CTL_SC7280_MASK, + .features = CTL_SC7280_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h index 4d3787fceb72fb3641057a7ea04ae6503b671042..5e0d2e8aabbaa406e332024676c5eb8205fec177 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h @@ -27,17 +27,16 @@ static const struct dpu_mdp_cfg sm8550_mdp = { }, }; -/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */ static const struct dpu_ctl_cfg sm8550_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x15000, .len = 0x290, - .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = CTL_SM8550_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x16000, .len = 0x290, - .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = CTL_SM8550_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_2_x1e80100.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_2_x1e80100.h index 6b112e3d17da6a4423851525262b66aa6c8622e3..a500a38ce07b84c2c9ad51aaf5847ee0bbcc72a5 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_2_x1e80100.h +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_2_x1e80100.h @@ -26,17 +26,16 @@ static const struct dpu_mdp_cfg x1e80100_mdp = { }, }; -/* FIXME: get rid of DPU_CTL_SPLIT_DISPLAY in favour of proper ACTIVE_CTL support */ static const struct dpu_ctl_cfg x1e80100_ctl[] = { { .name = "ctl_0", .id = CTL_0, .base = 0x15000, .len = 0x290, - .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = CTL_SM8550_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), }, { .name = "ctl_1", .id = CTL_1, .base = 0x16000, .len = 0x290, - .features = CTL_SM8550_MASK | BIT(DPU_CTL_SPLIT_DISPLAY), + .features = CTL_SM8550_MASK, .intr_start = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), }, { .name = "ctl_2", .id = CTL_2, From patchwork Fri Feb 28 04:14:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 13995650 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C07E1C54AF for ; Fri, 28 Feb 2025 04:14:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716073; cv=none; b=cLA+7RSr9je+EsGcG5uODzV+SridIYjOU0bSIRGrMdiqAihSHXqL4LpZC/+SL8aUOuZhj2NJz/k0Jy2q4ysopnzpr7kTxV2P5pYnZMYpS+iWZUbGSQ+FAjuKqE8QQsbJsg4utglFv39dXW+B3C+i7QUBDKo6ylBlVkvBYU+3Bx0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740716073; c=relaxed/simple; bh=gbAmmg7YrMzJ9XNxwCPOatERTxM1Dbe3+ajpkL6KPO8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MLg9A8t/Q1VogppvecTAc3SsaGo35dsU8u1i8DPO2Ovos6QoK1d2LPDWMfK+27+UOSxhqM4T7C1l8btr0VH/sKOYhRcSSfYTudDGxc4mbedbuiqwJx8ZwFiv+JiY9+8Eu9N2vunWGVx8bRQ4slbtDuQeZPhae1OvtvHxAdgXVgk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=IFY0tDo+; arc=none smtp.client-ip=209.85.167.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IFY0tDo+" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-548878c6a5aso1737761e87.3 for ; Thu, 27 Feb 2025 20:14:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740716070; x=1741320870; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=k3kLn8+jQchoUvHapCVtAnDT2HhczV+P/3nKNxhd/mI=; b=IFY0tDo+C0bFruux1M+XTLWb4bI5ITNY/XTODarN3eDTy+wVpjV/b1GtL/+UXYBoPC BsE90wrHZ+RyIlRbbHKtS9iVfGc7JXX5qirnkS1ZSkQ1YLR9V/E6ucAEGaBJIJdgXnRk RWurGGqfRNaYPeZe/SkWPw7gBOabDrpELPNqwVC4jgMQ6Io0HgTS5Jbm++4UkuRXoaeq oCtwvg7cuHoWA0lq1BteasswTlaKI17HzRBdwUoA7u8vmh9kPpexTdyBh4PwmDzegqCU u5mnQXDLyz34wGAdGx/h4I4Yb9tsIHKyEUS9FKYR1ksmF1toNI5PSQOAuLG6GUF61tqj JBMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740716070; x=1741320870; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=k3kLn8+jQchoUvHapCVtAnDT2HhczV+P/3nKNxhd/mI=; b=Fs/5Ee9Tal+WBNBWghcXm+WusTQiTQwXEonV8aPkuckghwr6ooxYctwDWntoPp/a9/ Xpsx6X93Cn87OrHg6ACXq8IRIFFuN5SkVmTlsII63YgNlv86UphE0CRR2JcgUhl6j7uF ok1zWMEVdBzgzBSla6jv1zoP95kdBHbJotb1xSKwvNVZX1XKk3LrFC6vPIHCTXsuydcg 1TcS28+hdT6S+oB1/OK03ZgP/zE0ncYuEQ8DvcZc5oSu7Y4Wj6xTrlRYLv0fmr5AveGs Jd/wco1PVzBQacPWmNZu9/B8KzrplUy46174rj9VdI8FchRmqac7wuVwInK9+iKUrJfX RBjw== X-Gm-Message-State: AOJu0Yxo8PQxC4M95qNTj+xjXidddQgIDlULCXzquRo1QDeGMxGld7sJ D+FNmd9sIbXLFFhlzcc84RQK3jeZZpD1F4+HOT426bZVM0AxM5kG40f+rE0nsjs= X-Gm-Gg: ASbGncvC2tmu1pjKsmmyyMD5ZtKI3weRV0+AXVD2dm2XVtPRRsyGri39LFZu6LjkYdn 7o18o4q8ix+5fE432wqc+Xp1n10eFQjVCaP8cSKpdtEMvMdCUig4h96HmEQSUsuRUfOBHlUQDvS 1cTB05H3MoXLl6XF3ofuZIQw0T/f/SXRFIUqclQJ2Gi624IyP89leYGjZpcOI1wovYX38hTf9Ip QRJbrVDjo5xVaktftKTlAMWY+3dHBsmW2PQ6RqS01wghns448ATHNoJawiiIrzBYh1nwwEeGroV ekcxQKeyr9vL2U7h6MmJKpjwaP3NHHopkQ== X-Google-Smtp-Source: AGHT+IFDSc3I2mqP5qdXMpIRdHJvwKMmhG7fxY3oSiaLL4XJ56Lr0lDFiJk8seHX0EAq0LMWQw0Tdw== X-Received: by 2002:a05:6512:693:b0:546:2a27:ec35 with SMTP id 2adb3069b0e04-5494c37d6dcmr634988e87.37.1740716069990; Thu, 27 Feb 2025 20:14:29 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441262b9sm361101e87.0.2025.02.27.20.14.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 20:14:28 -0800 (PST) From: Dmitry Baryshkov Date: Fri, 28 Feb 2025 06:14:12 +0200 Subject: [PATCH v2 8/8] drm/msm/dpu: drop now-unused condition for has_legacy_ctls Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250228-dpu-active-ctl-v2-8-9a9df2ee5193@linaro.org> References: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> In-Reply-To: <20250228-dpu-active-ctl-v2-0-9a9df2ee5193@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1163; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=gbAmmg7YrMzJ9XNxwCPOatERTxM1Dbe3+ajpkL6KPO8=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnwTgPgCbq+XDOYj4H5rvYaOVt6Lx/s7AaC8vhi DkF7csW16yJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ8E4DwAKCRCLPIo+Aiko 1arGB/9gEroWlk0T+tDjWT0IrtdxlhHsIIkLIlfrjs+HlEfUh1WEodAZTwZ9DWE07tG3DNCmZpn c3YEYkngaozD/ybdEE51nsh1lEdop/cJhejr/tusiBpBB3fvZ0M1nfUxsKfVut+XDfA+VaIqbQm sGNHgulMZGb1AX+2QY8LAxfVbV4MXZLt4GSmh5ZJhFqPxRHP3LqNh/yAoGYdYQoi6P4981GJwh6 ZZG3Vq65duMphoVG53KKXxs87SPOdjM68WYAVpfclLHF4DyCHtBoPlUPxPKMpDurxwKVphZSete e7/Ks+NJ6bjmi2liXy02qC0fUERYj/Dr8KMxiyyrWS4tvvUe X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Now as we have dropped the DPU_CTL_SPLIT_DISPLAY from DPU >= 5.0 configuration, drop the rm->has_legacy_ctl condition which short-cutted the check for those platforms. Suggested-by: Marijn Suijten Signed-off-by: Dmitry Baryshkov Reviewed-by: Marijn Suijten --- Note, it is imposible to reoder commits in any other sensible way. The DPU_CTL_SPLIT_DISPLAY can not be dropped before the patch that enables single-CTL support. --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c index 4dbc9bc7eb4f151f83055220665ee5fd238ae7ba..2557effe639b5360bc948a49b0cccdb59ee35dab 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c @@ -410,8 +410,7 @@ static int _dpu_rm_reserve_ctls( DPU_DEBUG("ctl %d caps 0x%lX\n", j + CTL_0, features); - if (rm->has_legacy_ctls && - needs_split_display != has_split_display) + if (needs_split_display != has_split_display) continue; ctl_idx[i] = j;