From nobody Mon Feb 9 10:28:32 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 EE51130C63E for ; Wed, 24 Dec 2025 15:42:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766590969; cv=none; b=ONIoMuhscAW/Sk8FxY47W4HONzIX5Fqu22YRHuAyCzazTieZzeJebVssf971a2fyhRyou33wOST/S27RUxoi+a261sv/wQsoY3rJC43dcadXfIoZ+cDs5VC/TGLr88KKI5LHhp192gE+3ZH3Pwb2CSuvSegskziK3NWDIOzSAUk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766590969; c=relaxed/simple; bh=ArL2dpKAJjAc+7mXNblJNDmtmUpgtot12YPCAF2ieD4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KiEAh9OhGjO/N5HJeJqcZC8EF+JKlfO96NGr+kceqDNbpzAYZh1f5eK9BiO2XlyoNWOBZoi9P627aTYj84hX/s2aKI03szw91QNwZCR929p62e3/SyzSIA9plmaq67+7AM2gUraxUayxbHwPzoAWE8w5sPPKn19YfxaMrGgq/TY= 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=pdcfKq2+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=A2X7J0JW; arc=none smtp.client-ip=205.220.180.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="pdcfKq2+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="A2X7J0JW" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BO90vUC700441 for ; Wed, 24 Dec 2025 15:42:37 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=pdcfKq2+jePakO/b CoVMhtu7dP34cKaxKjbEmc+r+NA9ry5EwIOlfXIUWZHfhhMasj+N2rusf7OnhBb5 /+RPG0bbnqiBKtn6UyL1LuF0iQgGZNsG3On8YmBOx/7GqitFQHkC2UVXfnN+dQjY betrPxljhxoaJOcYAmTLjDQK2S4em4z+HamiIlAkc0vuMkJbboKukm1sJVImBc5R 4YCNp7/K9GKLVoZpriTWcKnOfRAdQZToTll55sQOs2rbZEFP08nC2oxwBjZSCkgU ksbQNorHIeyKij3CgXfjyVk1mHBaFhnsprmHFy3Voul5/8vF7JSqg1AQTuZkYe1W DpEvMw== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7t7jv39a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 24 Dec 2025 15:42:37 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-88887611049so183083806d6.3 for ; Wed, 24 Dec 2025 07:42:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766590957; x=1767195757; 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=A2X7J0JWqZtQfbCZsO8e8uxyzAxyW2CH6YiHFJfT2N94BvwtaqX3SBFWdRIVbT3ICu KPEMoNQRtK4L6FNIIt3bSVuRj2f8vhM6cajMY6CW4MokEtjQuoPgy+mte2n3qsOJG2hY Hq4kXYTMNQg8cvlQhmLQ5ONRoFOLza4ktuTtFnpmfH1ysLpywOGpSyh//+JI/y/mpHYC x99E518D1uDVReKaYZ4GZsvUBAp2tWALtKPUctvN54wi6wNFXAnmgedv1PzMjMYGWDgX YTKw9Idx/1yeLN/kDzeXUGcylhItWqUaAQGA+7PiSNVsK1vj86F6X71oyuZInfd9ME/u 4t0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766590957; x=1767195757; 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=IAdNMkCMMaQTO4oxM2z/6q8m5s/g/IP324RWwkrwPX3U5xLN9ZI43MiGEJDwBYShrb DsWd1Fzqw9ULBBA+EjcL+c9aRkpWdr85WUUnN4dM1J1stN8VSMFOBaKOYzuj/B9g0zjx VrdFb7tnKXCqf8rPwTwZNFcsN1XDU8XKdKpBMsQ2+zhCG1Jqc+P7zBrkCTi6MiPT5QID zyFMpzTvghWUJ/brp3b8EXTnqRAUksBznVFQs7FXH4nOHINiXCEFb7RxTY7SmW5skdhO 2qzts48LSb31IogJGfEKrPPhpDyG1qjuggYUGpXEGVkPJBAq/mt9a8qXldYG/Jpl1fVt nFfA== X-Forwarded-Encrypted: i=1; AJvYcCU0FM0DAiXI72mZqIbegO6I56JMXo6YvoXe8+sNX/xaHkV7qnu0SXCYfWokwFzcwangkJt6mBlTnoBoW+c=@vger.kernel.org X-Gm-Message-State: AOJu0YwiL6n12IFpw1J7nEKVLBWOspEHHdNzjeA/yJy2Bw80O7Dn8N7G RemXJgTB8jUyiTfd31NRhO1PCwAfp8Z4EH6tz7cBLmdIxAiMJZcO9X6GYCCZoj3Asn/BCUepWjn ZektyjWTp6X+YeHMqfqtJdYbw0Kg7DlRGuCcFd9MPd3TRSuZlsqgpWn4aFowuEFMAcvE= X-Gm-Gg: AY/fxX6rlQWpjFIonH303gLXsEtS+MabS7THC3yALKJZyQ7w8rkExLP21HcNsGmdbXZ wCUHiY8tHbmnuQ6Bhncg4nPHTGXuzgE8+RZDJGNk75tcgZkaW7AvBhLv6BuTWy883CiwDveBQRG krtTf/NWROM86Ecx9CMSk2Sf4GPXE3d9MdtFdT3LyDzkfroHHnXxpxEyH7cLuLkIYTJoedzTb5s mNaBV/G1TJOk85EER/sorbzCOBlANME9Xy9P7RBcrqUqqqAhJBOpoVbVrNB8cYPSAxbguvD9iap R/XaqlK+/mXTHBdtVMcWuOMTD11isj24PfK1GUsuZaZMdlEAka4hH5gRRgkR5ttD9KnxZJnwbsD zjzddMSvKMvtMC+ulyhPTq7IcTqmqUFV33YZdi4krynyVS8w1hUCBN0DyApqIy5ZAOspDUq2E6O ucD3WUJaOfgslsrFyoT6FDgB4= X-Received: by 2002:a05:6214:238a:b0:882:3c0c:a41c with SMTP id 6a1803df08f44-88d81663888mr284522326d6.11.1766590956644; Wed, 24 Dec 2025 07:42:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IEnAa6clq/X0DdSozBEnJAaz2cedKnSHfL12U6OniShni9Ox1I8Tiigv3QBP6+58KmpndEaBA== X-Received: by 2002:a05:6214:238a:b0:882:3c0c:a41c with SMTP id 6a1803df08f44-88d81663888mr284521896d6.11.1766590956154; Wed, 24 Dec 2025 07:42:36 -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-59a1861f2e6sm5071562e87.69.2025.12.24.07.42.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Dec 2025 07:42:35 -0800 (PST) From: Dmitry Baryshkov Date: Wed, 24 Dec 2025 17:42:32 +0200 Subject: [PATCH v3 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: <20251224-mdp5-drop-dpu3-v3-3-fd7bb8546c30@oss.qualcomm.com> References: <20251224-mdp5-drop-dpu3-v3-0-fd7bb8546c30@oss.qualcomm.com> In-Reply-To: <20251224-mdp5-drop-dpu3-v3-0-fd7bb8546c30@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/pANAwAKAYs8ij4CKSjVAcsmYgBpTAnnwk7wn9W0zOGcuVyon8TD/QKjjWIyUVc8g BtiL3LTT1uJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaUwJ5wAKCRCLPIo+Aiko 1W4lCACSU0EXY7KbJvUM636h9kO3PUW+3agLE6nhiNjzl5+6OOQK/sQrBs9VBwyNcFwLJ6heQXj /LP7Z18CkjLAooXAsjGzclSFTYp/Ra1mTweti3t3MpSUTDbT8TrHolP+ACEIV3xfG4JhJfVyxgT T/ISGOAkKLqRPR18kEZmg01byU7mMfjL72S65p5EWmArowgX4zkrzc5QETNjn57dG6GBZuYaSVZ JktohQ03NALVJ3ewlWaS1vndJtl/23qPBPp/5nbCLG11jdkyKBBd6MWoYEm6oCwlQJkmhAGoQjH crojxKZlviS2+tVzqA8404KIbdvJsJk2FGhopBlt8r0Nyt38 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjI0MDEzOCBTYWx0ZWRfX1lR7+QcpubFn HIF+OqPedNGwADXDG1zfsLzOVxOpLo4e1hZ/phF7VzDcxG84DJ/PVMkh+z2AhYKA+bRF48u0VgS JuNv/Jgv/OJBeT2haqSEPg2rsH1I/7PM0xB3p2/yt7TzVXqRq/GfG3Pz2TtUIak5Rotkrzemo5l y9MmAw2vqV1i2kW8fsOUiX2PQW5kpRKCyPlWNUA9HVcKEBNkeMByLH654ZyiiOGqJP3ebEGr1IL YJlg/E5uqeA3f1QHWP7zEQsK3b9/Wg3TlzM7BGtXvkVEsdP7UWfvpBC1lbO7YuDNpmyyCHgVz6x pBTUmvgo7Hzj5PMIiNwVcygydpt4hdKLoA5U+K7xM8MyVa5VRKCiYap8rTSaWi9Tn5oAZLWSXBF lhWFBVGIZaa95MO+E7Rppk7D1AvGWVqo/B2eie+XdDNlN5ksobzzMp4YRmSPRwGDQTHKfsqEaMK /XSEXGALxzfXnbr9spQ== X-Authority-Analysis: v=2.4 cv=IvATsb/g c=1 sm=1 tr=0 ts=694c09ed cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==: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=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-GUID: Gr-10UMHAhBET7WYNOGJBQaE0IK9cSFa X-Proofpoint-ORIG-GUID: Gr-10UMHAhBET7WYNOGJBQaE0IK9cSFa 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-24_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 bulkscore=0 malwarescore=0 impostorscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512240138 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