From nobody Mon Feb 9 12:43:06 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 F14E32D0C98 for ; Thu, 18 Dec 2025 14:38:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766068715; cv=none; b=GtMsJsE1x4kpzTGyeeLufJyUTIeZ5cSZ3mHtOVPE+NtLqt1LIOXZTQhrvMTrE64RVA85qN60pSwqkBHYyXMOh9AyjdOpB5YswvhenPewkvSK1flJXfakNlrjxqYnSf+aM1TClpLd0R5syI2Rys9bWFwyVHblmDVBVXd3QY8nDM4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766068715; c=relaxed/simple; bh=ArL2dpKAJjAc+7mXNblJNDmtmUpgtot12YPCAF2ieD4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kIMVDxxJRagKjygISaQYORR1Qhe6WxRvohxsXoMYQ9b/C7NXbwlbvx35GxraXn/yMBcBUHwkLf4hWtlmG4Q4BTdDV+T4BNBpRnMH2/U11L8XBY0DhCxdcfdS4/N8rz7utRFEPfaevbOJwhEMLFqboDzwEQJtFPf4cx9yeBV5+xs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Mswjy1Vl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KMsEz3yP; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Mswjy1Vl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KMsEz3yP" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BI8rOY03447759 for ; Thu, 18 Dec 2025 14:38:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 5Y26BULJ8RBq8/D+FuknUz03YZBdAhneAsR52EWKMMc=; b=Mswjy1Vlgde/VVMV PsnE/UvWUYz5E6XJaUWUl6XlpMDJDecx7hz4RFl4KFJGCIUxmvz7cYFfXJxYXPeC T11JnGIiplug1yP7+AhgW8OgmHkE3MdQn1Q2CL08e6dnj8YFF+U2pUHE3thriXiY CblQa865hk3i3341DnHYkfPnsneus0H+CVkIaBEfh2lke4cdxSxrijIg5TMjimn2 Xw2RirzFdd1fcdHX8kXDRyHkQEHMtY/ZBN0qVEkOeIDoPQpYZQdJFFepIzdRPdfe GUvwwB77W+ZEyp8kZKU7uVEQx7x+bvm/uwNP3dDkw+Evuw2SuIY4B+qPYsP+nJsk 6vadpg== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b4egb95nw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Dec 2025 14:38:32 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4ee0995fa85so17658511cf.1 for ; Thu, 18 Dec 2025 06:38:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766068711; x=1766673511; 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=5Y26BULJ8RBq8/D+FuknUz03YZBdAhneAsR52EWKMMc=; b=KMsEz3yPUvW5iSr+OMtULXKLmKNuQlQhZRam2uvXyUgiMLPAW1QFbdbng/sAJelL+5 kTpMeaosCJhm+1t6bS24AaXKB95E4j33KN5h8FLrImUNcYnd3oICz1Q9Zkvf/exelTFs wF9sNYqO6OYIfzp11n+g+1CbyozzqlpqFGb+iv5eG+Y9sjSIIObv+btJ/I0LEsNC4Zc/ W42cP1AP81If9am4SWDYgpe+BuBN6mXpxR8JpXII0rabm0hDMPglpiHIe7GloJcuJB+i GrI8yGT/jlpgn2keFWRd9dCIA8AvbZTHRF0NYR7bNzfrRgIBEXS6J2dKy3esqiczs/ld FbCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766068711; x=1766673511; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=5Y26BULJ8RBq8/D+FuknUz03YZBdAhneAsR52EWKMMc=; b=NQbuyL00AvyUhw/1rAf4rnJixwvgOgS74AY0XdTOaNwNeQF1A2yhBA+7akgsfBm9is wPNC+qZl0kocaa1zdUuj/nRCBhMPgLtiLvU6wuJnJOt5gwtZcgo0XWeovdBDmiiv4Pow lyz2QaPgeWlGI1r5iFVIkeAsg6RtU9Xba4epcRWvdHLuQWJsXeOGEMNRFY8bZVzu/eRt iSk7t7sssBBvEsyq85hYu+snRBT6mGbJ8fgOTxvvHUBgGL/frnVYL+9oS762oXI0Ktv2 2/WzLN9MvsZ6+3doOtwB1e/EJ1KLXX6alFb6mewntgaX8Wk3kGYYuk8HfhyoRS4N4vzv wR3w== X-Forwarded-Encrypted: i=1; AJvYcCXVGUwNIOHtWIgPMDGe9cm9n60nIbyEhy0/TTXeam1c6e+uREUFPZEa4GFgn5USCf2RlCH+au+HkH9zUvo=@vger.kernel.org X-Gm-Message-State: AOJu0Yzu2vzlP6X02In0wVULpJkx8bznhXqNF0FvZ3ZX82FaMUd5DNMn HM3r3V2alRKFsNMcNf/BWankLDg/28ZJ+ZFCM9MhijdR64vMcEpBTZCJJ7I8uva/MPh1SyMCdUo gMqEhNf/A2DDKJsvcTm6ikXQFRwBvo1X3TFm29sKG4h1JfsCanU3ZxJ78BN9PJ9ybj9Y= X-Gm-Gg: AY/fxX5vVEFjNV4Rri0RJKOW1Yz8nqd44aSHvprAOfPzKZulIzHXuS+82QdQ0KFBfO1 PO/RzOi2t3TJ0ycPh4zgwK8dYpVh8kfhuzFDFS9rh5YcEgMWRRVYeoiXbz1qybHYBhrWRDRpn2s vHX7czfdWhSSELGams4yr4JdtL52AnfyRtqPJQ2lP8O/YijzntklnsoJqhLrgMnxe8dXhiKIjvi AZGnY2yP+mkxOkT1qOyGry0QlWEEZjFy2lPaD0TvoYnUfHXRt1YZSVM8UnJ68Xjkb3DypIUdlN2 b9K9Z+OHcehukzv7/Ue4PY1MIioVh8c+CRjwCtMBdpUz/GjUrLnVjNF54wSvXvSzKRWAAz8Y9SL l8yGdK7IzGaEvgvWXDh6oBrkacwwtFBT1s8HplZFriag41tVvchdtq/nx9SwrN8DOaicZ3SmNKn 60Naph4CZ9oxtoICAKTptSxuM= X-Received: by 2002:ac8:7619:0:b0:4f1:e99f:7d74 with SMTP id d75a77b69052e-4f1e99f80a7mr178650601cf.12.1766068711206; Thu, 18 Dec 2025 06:38:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IFlEjQv+ygaBdqph3ve8a6YaNgg6UhxtXDrabzkJXxuxcFj1Fh/AECTZrZvFwrReoNsFEU/Mw== X-Received: by 2002:ac8:7619:0:b0:4f1:e99f:7d74 with SMTP id d75a77b69052e-4f1e99f80a7mr178650211cf.12.1766068710573; Thu, 18 Dec 2025 06:38:30 -0800 (PST) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59a132d3c3dsm1160214e87.33.2025.12.18.06.38.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Dec 2025 06:38:29 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 18 Dec 2025 16:38:25 +0200 Subject: [PATCH v2 3/3] drm/msm/mdp5: drop support for MSM8998, SDM630 and SDM660 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251218-mdp5-drop-dpu3-v2-3-11299f1999d2@oss.qualcomm.com> References: <20251218-mdp5-drop-dpu3-v2-0-11299f1999d2@oss.qualcomm.com> In-Reply-To: <20251218-mdp5-drop-dpu3-v2-0-11299f1999d2@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Alexey Minnekhanov , David Airlie , Simona Vetter , Alexey Minnekhanov 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.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=10672; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=ArL2dpKAJjAc+7mXNblJNDmtmUpgtot12YPCAF2ieD4=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpRBHh76SAH27gYa/CXPaY+ut8tVW+Fwu+alavP YH4oSO/buGJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaUQR4QAKCRCLPIo+Aiko 1SqWB/4rPUw4X7Z10ue2JgU45F0EcvH0czjZ37NeLdgRLPzEAt85KbAar2zJSe/MRX1cAQ9GLFM eq/DhzphJhGxxnSqvGkGxwVPs2qMTRjl2LAbX8mGhSrKsYZBUeDS+WzfVJ5ZVeqCuIDmNz/YD++ Ea8SVWRLTeSMzZCKiqPf5Op9Omwt1ZT+CrvC+V6frFocaEfizf0E7d1GVQhaKAlrhaVMAelEHd5 Hny7NV2JZ4p2U3fAfN22RirB9nYq+1EoklwoOEq0Dd4nZqy8XOAXF6NPiNC92UV9DyxvfhKQbp7 4uJvmtJeAqJJLHPhPaLvi1A+AK46JXIoeiJWwXSLNcmalzAu X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjE4MDEyMSBTYWx0ZWRfXzrnZgNKSshLC gqBLdvd2UX7LzB5af3NWrHpRzCCs+2957tvXEO5yJiZGj/ZjCY/F+vK6HUAI/TKBS3/u2+FHnZ1 KzFNZgaBAVwK1XpbxbvOuaRnK53W9H4FwxrE3biL5xvjEMlr7a5U4ZJM4yE6BYvRmeS6WRWnd1o MB585CS8B6AE5lhRGQ3HI23YZ+xgWkhMK1aybyzvDFaXGPMT+U1HjX2Z9QOC0H6WFcgKS9Xlo3g wfoozDe4jZJdxgU8nJj3AAErg2aR1wh2cTcTKZi7iWqOBiGzlt9Qn96d5L6PUKxITHokDD/tJJC JDHk2hchRkE43vAW+SZdl/FMMsUoqEqK08jAIZemAIFeBiNzjiObYYskA9VTtFHs0He4/oBpvVr SOviF5S2+d2SiPdTXtM7MSRDN1RnBg== X-Authority-Analysis: v=2.4 cv=M9tA6iws c=1 sm=1 tr=0 ts=694411e8 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=-7OkC1N2hDg87y89b1EA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: nvSvAnTePK2rWuUmZis10Cu1ooTLXsuZ X-Proofpoint-ORIG-GUID: nvSvAnTePK2rWuUmZis10Cu1ooTLXsuZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-18_02,2025-12-17_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 clxscore=1015 suspectscore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512180121 Currently MDP5 3.x (MSM8998, SDM630 and SDM660) platforms are support by both DPU and MDP5 drivers. Support for them in the DPU driver is mature enough, so it's no longer sensible to keep them enabled in the MDP5 driver. Not to mention that MSM8998 never used an MDP5 compatible string. Drop support for the MDP5 3.x genration inside the MDP5 driver and migrate those to the DPU driver only. Note: this will break if one uses the DT generated before v6.3 as they had only the generic, "qcom,mdp5" compatible string for SDM630 and SDM660. However granted that we had two LTS releases inbetween I don't think it is an issue. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c | 314 ---------------------------= ---- drivers/gpu/drm/msm/msm_drv.c | 16 +- 2 files changed, 13 insertions(+), 317 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c b/drivers/gpu/drm/msm= /disp/mdp5/mdp5_cfg.c index df464f7c05bf..69fef034d0df 100644 --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c @@ -1097,310 +1097,6 @@ static const struct mdp5_cfg_hw msm8937_config =3D { .max_clk =3D 320000000, }; =20 -static const struct mdp5_cfg_hw msm8998_config =3D { - .name =3D "msm8998", - .mdp =3D { - .count =3D 1, - .caps =3D MDP_CAP_DSC | - MDP_CAP_CDM | - MDP_CAP_SRC_SPLIT | - 0, - }, - .ctl =3D { - .count =3D 5, - .base =3D { 0x01000, 0x01200, 0x01400, 0x01600, 0x01800 }, - .flush_hw_mask =3D 0xf7ffffff, - }, - .pipe_vig =3D { - .count =3D 4, - .base =3D { 0x04000, 0x06000, 0x08000, 0x0a000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SCALE | - MDP_PIPE_CAP_CSC | - MDP_PIPE_CAP_DECIMATION | - MDP_PIPE_CAP_SW_PIX_EXT | - 0, - }, - .pipe_rgb =3D { - .count =3D 4, - .base =3D { 0x14000, 0x16000, 0x18000, 0x1a000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SCALE | - MDP_PIPE_CAP_DECIMATION | - MDP_PIPE_CAP_SW_PIX_EXT | - 0, - }, - .pipe_dma =3D { - .count =3D 2, /* driver supports max of 2 currently */ - .base =3D { 0x24000, 0x26000, 0x28000, 0x2a000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SW_PIX_EXT | - 0, - }, - .pipe_cursor =3D { - .count =3D 2, - .base =3D { 0x34000, 0x36000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SW_PIX_EXT | - MDP_PIPE_CAP_CURSOR | - 0, - }, - - .lm =3D { - .count =3D 6, - .base =3D { 0x44000, 0x45000, 0x46000, 0x47000, 0x48000, 0x49000 }, - .instances =3D { - { .id =3D 0, .pp =3D 0, .dspp =3D 0, - .caps =3D MDP_LM_CAP_DISPLAY | - MDP_LM_CAP_PAIR, }, - { .id =3D 1, .pp =3D 1, .dspp =3D 1, - .caps =3D MDP_LM_CAP_DISPLAY, }, - { .id =3D 2, .pp =3D 2, .dspp =3D -1, - .caps =3D MDP_LM_CAP_DISPLAY | - MDP_LM_CAP_PAIR, }, - { .id =3D 3, .pp =3D -1, .dspp =3D -1, - .caps =3D MDP_LM_CAP_WB, }, - { .id =3D 4, .pp =3D -1, .dspp =3D -1, - .caps =3D MDP_LM_CAP_WB, }, - { .id =3D 5, .pp =3D 3, .dspp =3D -1, - .caps =3D MDP_LM_CAP_DISPLAY, }, - }, - .nb_stages =3D 8, - .max_width =3D 2560, - .max_height =3D 0xFFFF, - }, - .dspp =3D { - .count =3D 2, - .base =3D { 0x54000, 0x56000 }, - }, - .ad =3D { - .count =3D 3, - .base =3D { 0x78000, 0x78800, 0x79000 }, - }, - .pp =3D { - .count =3D 4, - .base =3D { 0x70000, 0x70800, 0x71000, 0x71800 }, - }, - .cdm =3D { - .count =3D 1, - .base =3D { 0x79200 }, - }, - .dsc =3D { - .count =3D 2, - .base =3D { 0x80000, 0x80400 }, - }, - .intf =3D { - .base =3D { 0x6a000, 0x6a800, 0x6b000, 0x6b800, 0x6c000 }, - .connect =3D { - [0] =3D INTF_eDP, - [1] =3D INTF_DSI, - [2] =3D INTF_DSI, - [3] =3D INTF_HDMI, - }, - }, - .max_clk =3D 412500000, -}; - -static const struct mdp5_cfg_hw sdm630_config =3D { - .name =3D "sdm630", - .mdp =3D { - .count =3D 1, - .caps =3D MDP_CAP_CDM | - MDP_CAP_SRC_SPLIT | - 0, - }, - .ctl =3D { - .count =3D 5, - .base =3D { 0x01000, 0x01200, 0x01400, 0x01600, 0x01800 }, - .flush_hw_mask =3D 0xf4ffffff, - }, - .pipe_vig =3D { - .count =3D 1, - .base =3D { 0x04000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SCALE | - MDP_PIPE_CAP_CSC | - MDP_PIPE_CAP_DECIMATION | - MDP_PIPE_CAP_SW_PIX_EXT | - 0, - }, - .pipe_rgb =3D { - .count =3D 4, - .base =3D { 0x14000, 0x16000, 0x18000, 0x1a000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SCALE | - MDP_PIPE_CAP_DECIMATION | - MDP_PIPE_CAP_SW_PIX_EXT | - 0, - }, - .pipe_dma =3D { - .count =3D 2, /* driver supports max of 2 currently */ - .base =3D { 0x24000, 0x26000, 0x28000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SW_PIX_EXT | - 0, - }, - .pipe_cursor =3D { - .count =3D 1, - .base =3D { 0x34000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SW_PIX_EXT | - MDP_PIPE_CAP_CURSOR | - 0, - }, - - .lm =3D { - .count =3D 2, - .base =3D { 0x44000, 0x46000 }, - .instances =3D { - { .id =3D 0, .pp =3D 0, .dspp =3D 0, - .caps =3D MDP_LM_CAP_DISPLAY | - MDP_LM_CAP_PAIR, }, - { .id =3D 1, .pp =3D 1, .dspp =3D -1, - .caps =3D MDP_LM_CAP_WB, }, - }, - .nb_stages =3D 8, - .max_width =3D 2048, - .max_height =3D 0xFFFF, - }, - .dspp =3D { - .count =3D 1, - .base =3D { 0x54000 }, - }, - .ad =3D { - .count =3D 2, - .base =3D { 0x78000, 0x78800 }, - }, - .pp =3D { - .count =3D 3, - .base =3D { 0x70000, 0x71000, 0x72000 }, - }, - .cdm =3D { - .count =3D 1, - .base =3D { 0x79200 }, - }, - .intf =3D { - .base =3D { 0x6a000, 0x6a800 }, - .connect =3D { - [0] =3D INTF_DISABLED, - [1] =3D INTF_DSI, - }, - }, - .max_clk =3D 412500000, -}; - -static const struct mdp5_cfg_hw sdm660_config =3D { - .name =3D "sdm660", - .mdp =3D { - .count =3D 1, - .caps =3D MDP_CAP_DSC | - MDP_CAP_CDM | - MDP_CAP_SRC_SPLIT | - 0, - }, - .ctl =3D { - .count =3D 5, - .base =3D { 0x01000, 0x01200, 0x01400, 0x01600, 0x01800 }, - .flush_hw_mask =3D 0xf4ffffff, - }, - .pipe_vig =3D { - .count =3D 2, - .base =3D { 0x04000, 0x6000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SCALE | - MDP_PIPE_CAP_CSC | - MDP_PIPE_CAP_DECIMATION | - MDP_PIPE_CAP_SW_PIX_EXT | - 0, - }, - .pipe_rgb =3D { - .count =3D 4, - .base =3D { 0x14000, 0x16000, 0x18000, 0x1a000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SCALE | - MDP_PIPE_CAP_DECIMATION | - MDP_PIPE_CAP_SW_PIX_EXT | - 0, - }, - .pipe_dma =3D { - .count =3D 2, /* driver supports max of 2 currently */ - .base =3D { 0x24000, 0x26000, 0x28000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SW_PIX_EXT | - 0, - }, - .pipe_cursor =3D { - .count =3D 1, - .base =3D { 0x34000 }, - .caps =3D MDP_PIPE_CAP_HFLIP | - MDP_PIPE_CAP_VFLIP | - MDP_PIPE_CAP_SW_PIX_EXT | - MDP_PIPE_CAP_CURSOR | - 0, - }, - - .lm =3D { - .count =3D 4, - .base =3D { 0x44000, 0x45000, 0x46000, 0x49000 }, - .instances =3D { - { .id =3D 0, .pp =3D 0, .dspp =3D 0, - .caps =3D MDP_LM_CAP_DISPLAY | - MDP_LM_CAP_PAIR, }, - { .id =3D 1, .pp =3D 1, .dspp =3D 1, - .caps =3D MDP_LM_CAP_DISPLAY, }, - { .id =3D 2, .pp =3D 2, .dspp =3D -1, - .caps =3D MDP_LM_CAP_DISPLAY | - MDP_LM_CAP_PAIR, }, - { .id =3D 3, .pp =3D 3, .dspp =3D -1, - .caps =3D MDP_LM_CAP_WB, }, - }, - .nb_stages =3D 8, - .max_width =3D 2560, - .max_height =3D 0xFFFF, - }, - .dspp =3D { - .count =3D 2, - .base =3D { 0x54000, 0x56000 }, - }, - .ad =3D { - .count =3D 2, - .base =3D { 0x78000, 0x78800 }, - }, - .pp =3D { - .count =3D 5, - .base =3D { 0x70000, 0x70800, 0x71000, 0x71800, 0x72000 }, - }, - .cdm =3D { - .count =3D 1, - .base =3D { 0x79200 }, - }, - .dsc =3D { - .count =3D 2, - .base =3D { 0x80000, 0x80400 }, - }, - .intf =3D { - .base =3D { 0x6a000, 0x6a800, 0x6b000, 0x6b800 }, - .connect =3D { - [0] =3D INTF_DISABLED, - [1] =3D INTF_DSI, - [2] =3D INTF_DSI, - [3] =3D INTF_HDMI, - }, - }, - .max_clk =3D 412500000, -}; - static const struct mdp5_cfg_handler cfg_handlers_v1[] =3D { { .revision =3D 0, .config =3D { .hw =3D &msm8x74v1_config } }, { .revision =3D 1, .config =3D { .hw =3D &msm8x26_config } }, @@ -1416,12 +1112,6 @@ static const struct mdp5_cfg_handler cfg_handlers_v1= [] =3D { { .revision =3D 16, .config =3D { .hw =3D &msm8x53_config } }, }; =20 -static const struct mdp5_cfg_handler cfg_handlers_v3[] =3D { - { .revision =3D 0, .config =3D { .hw =3D &msm8998_config } }, - { .revision =3D 2, .config =3D { .hw =3D &sdm660_config } }, - { .revision =3D 3, .config =3D { .hw =3D &sdm630_config } }, -}; - const struct mdp5_cfg_hw *mdp5_cfg_get_hw_config(struct mdp5_cfg_handler *= cfg_handler) { return cfg_handler->config.hw; @@ -1455,10 +1145,6 @@ struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_k= ms *mdp5_kms, cfg_handlers =3D cfg_handlers_v1; num_handlers =3D ARRAY_SIZE(cfg_handlers_v1); break; - case 3: - cfg_handlers =3D cfg_handlers_v3; - num_handlers =3D ARRAY_SIZE(cfg_handlers_v3); - break; default: DRM_DEV_ERROR(dev->dev, "unexpected MDP major version: v%d.%d\n", major, minor); diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 7e977fec4100..abee7149a9e8 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -960,23 +960,33 @@ static bool prefer_mdp5 =3D true; MODULE_PARM_DESC(prefer_mdp5, "Select whether MDP5 or DPU driver should be= preferred"); module_param(prefer_mdp5, bool, 0444); =20 +/* list all platforms that have been migrated from mdp5 to dpu driver */ +static const char *const msm_mdp5_dpu_migrated[] =3D { + /* there never was qcom,msm8998-mdp5 */ + "qcom,sdm630-mdp5", + "qcom,sdm660-mdp5", + NULL +}; + /* list all platforms supported by both mdp5 and dpu drivers */ static const char *const msm_mdp5_dpu_migration[] =3D { "qcom,msm8917-mdp5", "qcom,msm8937-mdp5", "qcom,msm8953-mdp5", "qcom,msm8996-mdp5", - "qcom,sdm630-mdp5", - "qcom,sdm660-mdp5", NULL, }; =20 bool msm_disp_drv_should_bind(struct device *dev, bool dpu_driver) { - /* If it is not an MDP5 device, do not try MDP5 driver */ + /* If it is not an MDP5 device, use DPU */ if (!of_device_is_compatible(dev->of_node, "qcom,mdp5")) return dpu_driver; =20 + /* If it is no longer supported by MDP5, use DPU */ + if (of_device_compatible_match(dev->of_node, msm_mdp5_dpu_migrated)) + return dpu_driver; + /* If it is not in the migration list, use MDP5 */ if (!of_device_compatible_match(dev->of_node, msm_mdp5_dpu_migration)) return !dpu_driver; --=20 2.47.3