From nobody Sat Feb 7 08:55:00 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 8329B35E55C for ; Thu, 15 Jan 2026 09:28:20 +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=1768469301; cv=none; b=fAUHkO27o05qJuBIR4svS5mNCHKv14MoRFj0d+d5qdXTPBiZXPWIj+lTVvvvhKeipgHKXtpzK8Dy0tfGJ2ZqOcncHhCICSkeF1FOrLpw14MX0KqjmFTnmeOHprnHfwPmR4tEb/51YcgfWrh6no+Et9V8h5B1Jfx64CXoHLdxWm4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469301; c=relaxed/simple; bh=lT56rcO/2wjclbI67SuJRUAAr4AVOFYX1OPiKxP0VqQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=nVJAAtcbB1Zc+XY1Xi5h36buDUZ6/FFzkN511I08BdjCQKMAdt93Nz6bp7jOkRKGqyI3gjKM6Mlf85FKRcSvxRX+HcOy9SuQxSH+v+8iBJJu4dhGJRcoTO7X65GxsLrMkpoJ81Oxa9UZNS+5k4f23QmPsUAG+1FOQnnR+JCQ8As= 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=gNuYOHq9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GQf9RtZV; 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="gNuYOHq9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GQf9RtZV" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60F6fftP1744860 for ; Thu, 15 Jan 2026 09:28:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=Z3dXAwZWQrX iznkoQcO7REoUwgPXToMeXoe6XzLEAy4=; b=gNuYOHq9bGpDJAz+gDlrdBqizrr RjFNsg9vKfLdoNGUvmB7/bZWY8sihQcSIKiW3J1GMA1lBHRRLiiZXcbpURN7U0Pl VcC7nhD9PkNAjk1W7ApzMxeF7BCqdBA43ay2lGaJD5hmeSHkY6630KsHoKj9das9 lxqJaqhovS6RxKzNvWypOGyENgW04kbnWmr0u90UhfAsMh14oVABl+jhIPOHbjsx M4hnQarsGvWr8VTG4HwGpobvnGk0wPApqo/+N7q9eiITysFcOFYq1me5p/juNDpL ieTlvS3ZC1W8DSnh5x6lGd2DGWk8R7AfrQvD6Xa51R2FqLzbiqZt+JtZ+Uw== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bptu2gj3r-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:28:19 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8888447ffebso19894006d6.1 for ; Thu, 15 Jan 2026 01:28:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469298; x=1769074098; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Z3dXAwZWQrXiznkoQcO7REoUwgPXToMeXoe6XzLEAy4=; b=GQf9RtZV0GAxk8L2Ext1Kv2Tdh43N0LiLSQFRdGICES5yrnj1G/p6UQyU87HQJLkbm N1ko+OInjxcp2jK9Cmp498EkxZ1A9tntt/Jt8AHLAaFpv7E3E1cX0zUVIDKv+fXhXWU5 XjPjCwS+Yik4abbeEHEwSq4WSlzPHm25RbcYTU9itS7OYsEvLTOdPt0VItpK9szqNXVt QqGnutmyMZaoLcnOM5F4oYVB21F4GzNt9b5QDGicPoho5AzSSx9NTYsW52/vIT3fm3YW SAy9AhrBuBC1cBobpKCakab+n1oOTJ5Fv0hi8X/L8CtWw6C8pO/yUsJE5Sz6d2bPzPsQ ab1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469298; x=1769074098; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Z3dXAwZWQrXiznkoQcO7REoUwgPXToMeXoe6XzLEAy4=; b=aH06xfdxA/j0HJfIXoWQJCAHFm9QhV2VCfSIicV1JcPQ9vJaGvioCvI7w+92HKCukr bZmayDe0QRmjEIMSSbgeJ6n4TUwbRSZcel7p4HfPhk1y/8sLnU6P7PqUoTZP4+XrwLu4 i9IXyZz70sP4zsOVL+KmxBGY47HzEI9fsVHZu3kPh33uZ+qj+RzeCkyPMe07OESxaP8z rWqsO2RiUUww2ZxQfEpvvVlv/mxGtYoF90GGkg9nGLni1D7q+ak5DU5uNgQIgRCNils4 SKRJfh8ttGkX3hBK/Dbbsxb7hXBWjW1gWBYIxvd4HFopjHqZkVkuUfdP9KpCZpF/w9EI 1hog== X-Forwarded-Encrypted: i=1; AJvYcCX1uw0O4tltNOqmB4Ioy8sebnzfvW5kELCgOnMfwj4QLPEeKq8GPa1L3F72tC4FroCkefSCQi8Gjseb52o=@vger.kernel.org X-Gm-Message-State: AOJu0YzVxsQnLuV+DIsgFSabTbfUJGBmRq0eEsbnlrD3IG/Nqohtr5+t W8JgAqrp2tsT5QAJh9qSUJWWb3oGO6SeG5npNrnztNdYB2NAMYZRjLzcq193kkTxfAg/76TbHXZ oe0EmiKaaSqqx82dV2HYF4i/QncNreAAOHmbDqEygd37iY/698CMFkyHyLnVNpf5pj/E= X-Gm-Gg: AY/fxX7jEEAI+oqv8247kOkwh+LO1ousmo4iLVX3yGLi5ZuKwqVrDZar37Q5w8fjI1p n70yuFf/vimPAZLK1zUjhdhV+gF3YSf6PJ2vWA+Tme4UhX7+uoHeRzTjH4GSuT1Jkqt14oCLr1o jL08Xd/hFKRluhBGQxbhmb8Sv5tDW1hWG2i/LZ1mXUrGwzmbpwI5h/S/XUM0TC5RhQxJaU/S+tJ fVUh4YvWHO8p9QKW4WXIdPiWVBywK2pCU/jSU3xbWH5YciiPEs6XC9SbAXQgXG9JXQLjBNe3FJp Yybl0q5prXeoNGnGzDFoZ+pZEPsmwc0MzDDKqOg8yP4WxXdDsp9mPSgWCJKZaLUfkuYlVEI+Y7i C32SHHBZj80ejUKPpYqdbGTpGr5ZyPNqa32+MoFfoGnzTgUKgYSGtTWWl7yJZQxUL8Po= X-Received: by 2002:ad4:5961:0:b0:88a:3113:3ac3 with SMTP id 6a1803df08f44-89275ae069fmr74177416d6.10.1768469298125; Thu, 15 Jan 2026 01:28:18 -0800 (PST) X-Received: by 2002:ad4:5961:0:b0:88a:3113:3ac3 with SMTP id 6a1803df08f44-89275ae069fmr74177046d6.10.1768469297587; Thu, 15 Jan 2026 01:28:17 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.28.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:28:17 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com Subject: [PATCH v6 01/12] dt-bindings: display/msm: qcom,kaanapali-dpu: Add Kaanapali Date: Thu, 15 Jan 2026 17:27:38 +0800 Message-Id: <20260115092749.533-2-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfX/JxJCbMiXkxw e4d0U4CC84Fpr3votdm9S+rUa3G4JtMOj4uoqTCvigvqeDIzhBw1xs8j1srVxnyU7BCx4ZKEk+0 sk9+gHRt1hjjN43Zip/v9ZabODNWXo0rUOi7Ppi2t9I+PS+/w5qgLraWVfdO6kzfFbtnQhBYxH+ XBoo9wbGAcCzUndpkyKI7xERYJ8rD1e7SqozOAEpdmDNvuRVJ9sG1THDUqUZg+Vz/t3xxwcdtvi oY/KA7yKBbtq2gP6GcuZOouA70wab+1QSS1RUGLyjUEGU4R8m5W09mOs0lJ4GgjqqdunUllMw0T bWOS0ggtKhoUbfBvILwo1GkAIgZ2gynaomhI03SMtKYbuuV2+3rxOQM7MNlsbfyI0PBZRCuoydg xj+gZZTL3AnnaZV6Elv5g/dXIDZojtxwv1Swm4t6vC2B01HAJQla7u7VyTkuFJGqySiecYRisgr LRtYnBf1G52u6I0JpMg== X-Proofpoint-ORIG-GUID: k1UPafVbA4pba0KstZxzD04EF2I6qPk8 X-Authority-Analysis: v=2.4 cv=W6Y1lBWk c=1 sm=1 tr=0 ts=6968b333 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=LEfPF28z9Y6gGZEU5FYA:9 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-GUID: k1UPafVbA4pba0KstZxzD04EF2I6qPk8 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 malwarescore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang Add DPU version 13.0 for Qualcomm Kaanapali Soc. The Kaanapali DPU and SM8750 have significant differences, including additions and removals of registers, as well as changes in register addresses. Acked-by: Rob Herring (Arm) Signed-off-by: Yuanjie Yang --- .../devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.= yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml index fe296e3186d0..e29c4687c3a2 100644 --- a/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml +++ b/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml @@ -16,6 +16,7 @@ properties: oneOf: - enum: - qcom,glymur-dpu + - qcom,kaanapali-dpu - qcom,sa8775p-dpu - qcom,sm8650-dpu - qcom,sm8750-dpu --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 BFAE135C1B0 for ; Thu, 15 Jan 2026 09:28:28 +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=1768469310; cv=none; b=lJRFJdHcn+gY9VgUxo9hKoxteUiHNf7TgXLNUOCgSD4PtD3odKX2VWV4Sf4Wbz+P9EconqmyD89KAzqXeq8MSiZTkkLQJwp3EICnRzTJHWfDAcb/Gl7noAC1izhkeU1iFuSLlFqfhQurmtdCHYkBXHr3zLTVByigxOvht/nNo3E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469310; c=relaxed/simple; bh=My1fBcYOJahtcVWu83tUb+BFOAQ62WcHLViUm6slC7I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=WWMqKeeqmgSCtQME1cQxlrOTOe0oaPX4Db+liQYKW1KjAXD8OFc5Yaab8TPnizmINkSBQ+DlrWdmNVDiv49N9RS+HrWiKMNja8VV0a0PmrGk6r1BsTV9WEdkWrhgw8TL7Z2CkwNZgQrQzZhDNHDhfh/QK+QPdXmWuIFpUISwxuw= 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=Umef+Inq; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AMHE9UqL; 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="Umef+Inq"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AMHE9UqL" 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 60F6focN3419538 for ; Thu, 15 Jan 2026 09:28:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=tf4dNBy/KLh WAf/5SoedaBN7FYWOkjyT2K3kQyqfwiU=; b=Umef+InqOBFJnu5Z+DcXMfZ8ZkI llgTB2EeNIeb/ZplW98yyTUzhpYVrIy9m0v3OXsZN7fMwDeCXC10ZE53QdvqIY31 kS/Ar0b/Krd6+JITa+SWqjx+sL3NwMhlx/77ozO0inXGoh75HzuWiGjTi5BPUl6k VvQ9/KUcLXojbalqEsS+yOUjUb0xA+5yf0MAv96WNXZrseN5TX952KBvlUYRNONR refiu8rxvWbxH6MpdmnvrKu2fSICMwQdm1/WBGzi/9vw4vwuizUXEikbAMx8VcR3 ueT1T6jffJkQRCp4bGmia+G1cu2SWoYMKPZSrhf5gH7Bde2WgFDPYHX1N4A== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bpjj89x73-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:28:26 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-88a39993e5fso16546656d6.3 for ; Thu, 15 Jan 2026 01:28:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469306; x=1769074106; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tf4dNBy/KLhWAf/5SoedaBN7FYWOkjyT2K3kQyqfwiU=; b=AMHE9UqLYlOZ9DLXK7Oms613BCNyf2J3JVyBNfIxxVz2Q1yrNj/J78qsc2UEqKOyV0 zNQocC0N5MsRnTYgyUlroIXpxL7Jk4OY0jqUMhiC/J57M0OzObxHHFD2nH7SvPpbcHcv dl9oF6jzeSf6eqPqJG0we8vdn6GBZiZEB7OOdVAFn9qGoje/NeD+1iRNlFgcxCh7Cc9y Nkry29c1QOQ6xW9rnkPglSGEs6yenOYZ9TvZAv0UPLBiyDk7zXCCct/s1F9LTlfyBi3K qLPkXkCb283Addxfw0P3jPTx6Pefjev0OWySgtQ8pSyUnfT93hH2ByIFvMx6+5s9gjSc oa0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469306; x=1769074106; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=tf4dNBy/KLhWAf/5SoedaBN7FYWOkjyT2K3kQyqfwiU=; b=kKBN+WKpKQ9s1XzRRop0wuNWv5rvVuoarU93rE73EtSR9czSXPSf/RBSoNjpH+CAWb 18aeKr5W2+sYOkRMxBgAPgxIoNERt9wDshMXnvpIthWZgtFsSaW4TYfWCu8lnZcOxDm0 ijzkTRXoAmpvyEXOcgOQRywG2NtX5gE5RnRrv8ahiGpllA9VCPlGB2AejU8tQSE+Gl+8 kCZOxaXtRmliGzzNP4CsHKMDcMT4QKSqg5J+YKql9iEebLqyXYb1ABkKJvuNQipEzh9m BvtSotgiYbIwWYnNvuSQnHQ8QsA2v1B8SSVKyvzmYA6A5g4z7G8Lqm5hE7A6FWw0sgWt bbhA== X-Forwarded-Encrypted: i=1; AJvYcCUp/DQiFbeugz+H7AjcO5tsaoOU7GvJOYyCXPdV7KXqbndt+amuzShrrmXWZrLU0OIJ7sQ3Rl19+ETDzLY=@vger.kernel.org X-Gm-Message-State: AOJu0Yy1Oh5HBx/e1gGcVu+gi0hPF6g76cAz0rOO00EGI2G5hdihrhmo IcY3MSNK+fTS7GZLL+PdVN3nPC3PVBq3KbKUYxgw4y3fHGQJPbk6gonT71TtmjpkN+83ft3DpPw 7boKdoCP/eIakiA8yjGb7M1Zaih2pcNGnewvgbVhHuy/rWE2dJph06MHIAoppKeeKA8U= X-Gm-Gg: AY/fxX48tWEkasE2ywqX6jab9Ak9MUVSViWYgJTN4ZFiKkZjbNOBLo2a6SBIsLQRg1A J/vY3b6KUKMA/gGysABlR2Vwu8ffds3RbwZ/f1OQVKe3jkn7qEoE+sOUz9kF6Bf2hmyaIOXzaz1 YmO4UPTTq0mlYojj/L4YNlMWYiKQFzKf8n/WyWZ3fCnTyIbieRwAHZkfZeg87CCgYsV+7wUtqlW c6uc7oMBDrNzAGzznLiFstYrJZ4+TaleCKwbTrXg2PikgbJsQr/nu9JaL4a2OE0+QoWYEH0LEQW xlKqlPUBhn+jn3lA9H0AmUwKVtOrUnxKk/1mE9Nh1XnLl7yFgzPsxA0eADF9cKPFUGT3Cn1/WoX fDFhNd6fVQKXti/inBFlv2xSRMuHMDWAQy91t2pqd7cuMnDWhXOORcABCtEiREJ/uDVw= X-Received: by 2002:a05:6214:21e1:b0:88a:42b1:2607 with SMTP id 6a1803df08f44-892743de419mr94011586d6.36.1768469305655; Thu, 15 Jan 2026 01:28:25 -0800 (PST) X-Received: by 2002:a05:6214:21e1:b0:88a:42b1:2607 with SMTP id 6a1803df08f44-892743de419mr94011076d6.36.1768469305230; Thu, 15 Jan 2026 01:28:25 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.28.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:28:24 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Krzysztof Kozlowski Subject: [PATCH v6 02/12] dt-bindings: display/msm: dsi-phy-7nm: Add Kaanapali DSI PHY Date: Thu, 15 Jan 2026 17:27:39 +0800 Message-Id: <20260115092749.533-3-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: RvFTcpbLrLkE39mY0poWid94dTuXOryT X-Proofpoint-ORIG-GUID: RvFTcpbLrLkE39mY0poWid94dTuXOryT X-Authority-Analysis: v=2.4 cv=EIELElZC c=1 sm=1 tr=0 ts=6968b33a cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=vv4ZX1vSqPLa4hud_FIA:9 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfX4A/tugIu6TkP Sjz1HKNW/qgRnLeL6/7lW1r0t+N4OinG0UzLdUJxWMUG0IM2j53zT9bYwB7O9Y9M5DoE4RCvv0g wC7+UVih7D1aOsnyHU2rUHuAscFB8xysexc/rPZZGQF0ilxG+xGtU82032Sq8DTA4RFjqBHPZ7Y k2kIO96b2jsyaKdAz7Kd+YDPlHHlrClrHmK2ylssTSQduhbXCy9dUp37MDmfhJvOHOA/itpYPwY kvO7zd281D5Jt1mKAuPeeuuqpbA6EzI8nlvNFPDMxkgKXzcGZ0fhs2mGc6/PeGMWxDq0RO1tBo8 ZTHNrARtWDhfFD6Un+ITUeezm9/WIegWqucZc0jEk1EqvTxiVj8qZhKLi01Hl5a9fY2PQ093HIL fMTt5WR3+1X+r1PXpMTTD42cOI1F+mIdRHXoOGsMSDXD9ZkMq3zOyQF5ryDkLl142dasHROiL0N MYHn0czsii6TahqK13g== 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 suspectscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang The DSI PHY registers on the Kaanapali platform differ from those on SM8750. So add DSI PHY for Kaanapali to compatible these changes. Acked-by: Krzysztof Kozlowski Signed-off-by: Yuanjie Yang --- Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml= b/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml index 7a83387502da..9a9a6c4abf43 100644 --- a/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml +++ b/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml @@ -19,6 +19,7 @@ properties: - enum: - qcom,dsi-phy-7nm - qcom,dsi-phy-7nm-8150 + - qcom,kaanapali-dsi-phy-3nm - qcom,sa8775p-dsi-phy-5nm - qcom,sar2130p-dsi-phy-5nm - qcom,sc7280-dsi-phy-7nm --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 F367D35EDA7 for ; Thu, 15 Jan 2026 09:28:34 +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=1768469316; cv=none; b=sCftTISSIRn+mXaVDsf0qpg6V0IEkcxdKoZ9CRYg4I7ePz0wr8pTYp8gNV+/JN8N6SLfcdRJMsrXMlnBSeQG5M2QA+zdA9XszX1EwLKENTzuBfsN0fr6nRP2gPmV1tu5M22YzxwekxT/6wHAzxVg90VXSdO3Ke+rYnT+s5GyFIA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469316; c=relaxed/simple; bh=vBTkaY/Npgga42VfWKnIrCwOxlm4mmbuvmsSfmLrqoY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OXimwimw2oKBvxvHNBWwtRXduWwRFfrC3GNnEoYzSYuB9diUqLdJ7wz4/tcv7kCYL77HprWIeTb3ZzZJV9jq/xwDEeFAsVVKCeBQabU9x9rBTNaEG/2ikDXMHy/tR+AaKBsBfYQpZHfoCqQMs12TglK9MLzqB56RPA+w9BBRCiI= 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=QcldLNJb; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PqWbVObP; 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="QcldLNJb"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PqWbVObP" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60F6g4ja1745272 for ; Thu, 15 Jan 2026 09:28:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=QjeuQhZUGHp 7ssTy1dZfeQV909lxdktwUy+qtwp8b3M=; b=QcldLNJbcA3x8cKa9SwsoFvAmIb DURT6NGVh0J9YV8wyLaVuXsRfbv+uB9UhvDd5Jyj2sGv2IwirIO9Ya74shLMuqOY vpHLGgfWmRj2AAI9o4yjk7Hi872OUy5WlgaXmagW3BdCRa3FY7O90Uf71kxUhknG ey9xI/HGBZOQRXpiIGOz5ni6yP8lRG84Y6EeMJeHr9FLi5CTbp33kBzOkwNr4SFp sSFp2yrhFFi1SgbQb40StWo/9ktDf+XUVdGKC8KEwCu+ZnsGCN+koRV2xuc5FIvB mChvRL+BXDoxA/gZCrYNy51TBhfDW1RbpaL7DlkSfCFE/14oEuXQNs3bu3w== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bptu2gj4v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:28:33 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-88a47331c39so15884056d6.2 for ; Thu, 15 Jan 2026 01:28:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469313; x=1769074113; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QjeuQhZUGHp7ssTy1dZfeQV909lxdktwUy+qtwp8b3M=; b=PqWbVObP2YS8YUu2lYeNA+p25Aqa0p647zJi2LkK0pL6emqJPG6JH/ct3CQMVAvGOg M8toqkdqFRIb9xS3ZpmKFhqR8793B3fIPx3yV9bGfHPka3w6wp1PAhtN3aDeT9h9SSJK sFliaW0Bn2njnBIqEXKd5eIHUjTQF+ckQBm0JJYvGNYTERThxAxN5ydmtYVwl7p6P85d QUU0+IsSTFAZpjh7X59A65un20LOuE87IQPLPOFBzIAGFO3Mejk+/N1syuTiXpDqnZPH MiqojzdXJDxS7l+ddyO/IWbxTii17X2RlqNeXmghsu0dWVKyacgrKi20op0sEWYlEqb4 Gcbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469313; x=1769074113; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=QjeuQhZUGHp7ssTy1dZfeQV909lxdktwUy+qtwp8b3M=; b=Qv1Ui+3j2+EEiUxg/yg1xtCYoqTdHAGsesmM4EsgC/jsUg0iuagfl/VxD1du0h7nRl c04ns4aN8MUWKa3xNLhscApWd5jyszrawIWj6m4NGka0OhGIjhREZMqA6ulWUHzWSyWT Su2+rTzsurvrl3TVEse7w87LOOk/vARwm+QfUSZBAP6myzV4C2ZfRVsFJv7Hbm99nx8i tOodp+/FbCoPvT+5d0ZKIFRzEOWoZz1tnob5RFcnkLedr6nncOigi4aWHfbMYJOpOBa1 hW19IZrR+TbyKdPeC1oEk+HdxTDet1oFwqjmmZocY0eYJ7vBsshJ5AX+/8r76u9PLM8X e9qA== X-Forwarded-Encrypted: i=1; AJvYcCUzSQpoozPSPoJlb/kCOcMsQQaRLEsYjoh7e4a0kA+B34lTazJYWrKM2HGid192k0jH2bn+15cmvxSJyz0=@vger.kernel.org X-Gm-Message-State: AOJu0YzgZmeAK1+D4vys4HMyUrC3ieV/v7yFUmZyfYyOblfCEiVG64Qo ZtAgnngp4ioQmApEnsS/dDIbF5E8nQ6CkICDI0wNcySbgMxRcYKS/fe2t/9Fdeyzf9XwHAzm41H WClTyqhsBI/mGFcB+vJ/mbwrw4DMpfqfh0vlhV4qnBBUjUqTIcwneaiGUDVkxjajK5Zg= X-Gm-Gg: AY/fxX67rmoLB9hj5iJYpW5ZA+Omzvl44MuGz1aDU2Ie5qnIpgd/NxGRzvFMPcCrBz3 9b5v6YosqooiU7PgCrMEZqFbBiVNHEdXXjiQLhWwAenJh0WCViwJRoM7KdVjbh38RaehHb/4Scv ixrN1f+ruLSBaQefbZ2mF7Keuv2aWzCmug6fTwL8gwn1dPiJcsnqgrDg0JyfxVGht3NoBiKXFgR whtpJv4XUpP3Bhwp8YMxyKT/zHC3Rw1zaVIDXfprjAM1QQHYdAECZAbwEBpgpNlCk/GgZ4yKxKa sxgghMBhfrK57/RediFMV8H4ZvHg6MgqxfJ2bmLI+AwPmhgZZZcM3pAoToPkKJn3qABsgEAJbs0 x0C4PHHusSe4TDn9HNtQ+UgNS4z1mr4SOUYykrYwtkYh5WOmc5+a83z3950JR99aHHQ8= X-Received: by 2002:a05:6214:f62:b0:87d:fc3e:6d9b with SMTP id 6a1803df08f44-8927439bc0fmr83782956d6.42.1768469313239; Thu, 15 Jan 2026 01:28:33 -0800 (PST) X-Received: by 2002:a05:6214:f62:b0:87d:fc3e:6d9b with SMTP id 6a1803df08f44-8927439bc0fmr83782616d6.42.1768469312829; Thu, 15 Jan 2026 01:28:32 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.28.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:28:32 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Krzysztof Kozlowski Subject: [PATCH v6 03/12] dt-bindings: display/msm: dsi-controller-main: Add Kaanapali Date: Thu, 15 Jan 2026 17:27:40 +0800 Message-Id: <20260115092749.533-4-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfX1eKgMA04opEH voCy1uTbkecJUqD7877RkTcRedEhSE1dfoWM8ANoULyNl2n1HWlGRMjOEWSMOtRFk9b4s30yrWz 8F6ToAhgJIg4ZsuvPV0do3Ansk1UfcTuIjykEyUoF1W3RKq52dvD9UUK+SRYFs+qDo2Dp0yA8kX zBUwKoeggEkrHEyhJ+o6tAUl3PHK6jgjjH7B76sZEqJ1DAnqIFK1INm78hWDSRAqxSU59ZEemFY uIkngTUhtWJwaIBw3wRjybAPcN4Y4s5cxjDggg7p2XHyt23UYq/pdXdGIsRpezNOdep5+yISsHZ D3NlVA4M3i3tIDUCB/LQ2C35TK9njZHnaysY4t2IbDqjIkfDCN/f8KKWjr/+LuJgRi6b8Q1H1yo WXkmOLu1zXXI8vTU+AtTvVqRT8vPQAu6ToWmcXtg0sp7kumdpDi6wyJkQvFouwmdXUxmxZpUN1t A3wR7wUdIkfSzWBhSIQ== X-Proofpoint-ORIG-GUID: BW7nrv0l9CtwVQwFzCgc1_nhrd0wif26 X-Authority-Analysis: v=2.4 cv=W6Y1lBWk c=1 sm=1 tr=0 ts=6968b341 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=NRHHWUy0EX9jfUzwrTwA:9 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-GUID: BW7nrv0l9CtwVQwFzCgc1_nhrd0wif26 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 malwarescore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang The DSI registers on the Kaanapali platform differ from those on SM8750. So add DSI for Kaanapali to compatible these changes. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Yuanjie Yang --- .../devicetree/bindings/display/msm/dsi-controller-main.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-m= ain.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-mai= n.yaml index 6276350e582f..eb6d38dabb08 100644 --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml @@ -15,6 +15,7 @@ properties: - items: - enum: - qcom,apq8064-dsi-ctrl + - qcom,kaanapali-dsi-ctrl - qcom,msm8226-dsi-ctrl - qcom,msm8916-dsi-ctrl - qcom,msm8953-dsi-ctrl @@ -374,6 +375,7 @@ allOf: compatible: contains: enum: + - qcom,kaanapali-dsi-ctrl - qcom,sm8750-dsi-ctrl then: properties: --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 E013D35CBAF for ; Thu, 15 Jan 2026 09:28:42 +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=1768469324; cv=none; b=VEXS+xPihgRrpYXJE25Ic3W/QF7LTy8ImFunOBU5xkDkAzgJFW5/z62lVVaApiTjYZ+DKG64UZdOgCtoY+JlCwp1c4py/rNDZfhq788p2g+NLbJf3L8dDJPvYF4hwGuZ0scZOkyy0dQyiMYhpvlbtCQjM6WhBGwpc/n6nPixjCQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469324; c=relaxed/simple; bh=tNQoNBsoM8uyRsc2L0d2J2aq5cF2cTHJYVdz78ZDCEs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Jel+y2KUm1Yfla9t+3Pq73dGes3e3j5b5c3ySG9MVaLA8OLgm9/hnbxLVDGxjwP3jM8dsY1GpXTB3ngIhRR8i0vyBeTmDM/IcATCWih3iEOYAksFkkA+8cPNR9dkYpFdA8vyIGoX5juiTL3fUa//h+g/WHH+Usvc5nvknUbVrGY= 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=E8n206Dt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jTPVX16V; 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="E8n206Dt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jTPVX16V" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60F6g4bP783533 for ; Thu, 15 Jan 2026 09:28:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=uHFif/BS3PW PBJexCizq7O/EFeVP1u2QBncpGrCNcSI=; b=E8n206DtJZisfHXswSRdf7rq2wd xEJOTVjJh+0P971gTllR09ksReu4CfykgWZI9TXAGSG/mk97wIfEuDFWSagWdG2x neQf7l9x3ZGq99xn5IUQTKc0mKKv9wDZwPDtlysBgNWIR76uZy2ev5UzZw9NeEhQ 5hIbyM1ircA35kE1pHG/JGqmPEhSKo+VcaVkFDx8v1IglVbs7BiphUvSSkzKXF9a DcAvOW8KZKOdBGdDECIZ2E5mrdQHST0bB0yRnSz8eOP9vnef1fKXfz1oPDMfM8SJ S3b+ORTOiK0QmiBES8t4xcQV77w4WLFdkUHnk86Sv/ssBUOr3Kf+hy6RJgA== 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 4bpbj5kbr9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:28:41 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50146a67232so21648761cf.2 for ; Thu, 15 Jan 2026 01:28:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469321; x=1769074121; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uHFif/BS3PWPBJexCizq7O/EFeVP1u2QBncpGrCNcSI=; b=jTPVX16VY7OPT6YbjPx6RRNsHdYrG5BEsRtrOILVjPQFwuNp2iUYOpJFKYu4EU47Fg v1W3oz9H/MCkJbCesDJuLhvlU74lWAp8qlxC9yYmWizxA2Fdi/1FpAShojZ6LXbL1aJw UsoxMIfibeKlCzhlcSNkO2TkLTxrKYWlH6SfqTZVbKFQmqPzDa/SAfS8HNrxuYTUxNOm FQyNnMQaxnODm1g6cpAEyA/GNGV6R9U+7XsIwCX2wik66p6lF9/JQmLgeG8K9x+sDuCh c5rlcOzkbHi8ouzcuyjStmZkcne9d42CKrOFCZIOSCPtiTzbochNT8mKqAkPJXRSadza UWCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469321; x=1769074121; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=uHFif/BS3PWPBJexCizq7O/EFeVP1u2QBncpGrCNcSI=; b=dxxaiF6vF1BZ3OZbMB67vFgVIhvs0kQTvqmNRuP1LvkevjGcWcAHnF0c8JXUEaSrzw rgeWvra7LP3kHXkj5JN76thHEfFppLUtZQKPx/Vtc/xD82vp6Ylbvozc0oljWMoOnsiN rnyHuo/iWJ2bUuX1TLe8lMCBkX51Dco+TBbhuyuPDbHdkMvn6sRNtymWmmSVe4se4kKy mQLlD0dd8S/9LTYcMQ0vsopA2aEUIpQaSugIjiWYETFk5JwJNrDm9Je4ksUoE341z4qa p4+Lh4w8Mp+Unhn8km4F3wruIbbjwVb+NrztLoDJaEQG2sCAIrYPcCDruttOXRbu5kJR k9Xw== X-Forwarded-Encrypted: i=1; AJvYcCVT8t0X7Nw+XIDxYSIEeC3Y7bXnEamN4Eih0c8K9B6nZaOgQj0iaJLmlBFe7Gy/HPVwkDiO4shXCBs257Q=@vger.kernel.org X-Gm-Message-State: AOJu0YzP0iYgxHyZzu2pkcb4kggdQoJpgiN0BOrBAmz/FuMMnoLI1CBL pcSx1XAk11IqkWCZ38yfwDqUMEfJmeuA0lSVLcxxgvhku2QR5bALIlW9wDwGNdWGc778NHiDzWU rzwF7jD9w1c2abeJxsgzO6AI2UJuFjV7DtI0wQ8hbupJjepPILI75czE9Jpbm5TmO4Uw= X-Gm-Gg: AY/fxX4BXP3X4sTjy2oda59vvMeZAxVK5V5IW5f1V4bCMCGYTCPnhLhJSvLZ9MzQtRe 6l/Bvgo7iji7qS7V8E8asLgKcsaD1qaG828CV5/a9PJBcQnBdu/4lmAXoqwnuLXRGzc69TPRNgy KUTUJHx+1mwOC3K5qF7uXIXEJ7AdupskGfs64Q7QhnsVLMdVNY9iP3hRfDEj6iYoj2F2EIj5YB3 GZQHyDtoi6nc2GC1YsRDDJRbzZJ3f7tZb7gouvA6+VdhgantSM5WEWbcvPPwe28S3oQGFC7wtMn ODx6f1en5TDCh1fmqLisXBl/IeMHWmhUoyys5gwT7wG/GeFiv2GrMSvM/AluZLbjUU2e2CzAqo0 pcww0VELgPr+9hA/hKf508Mhc7Wx/8AchcFNlL8dILw6hVUKRY5GcNekUHDjuEAIouO8= X-Received: by 2002:ad4:5c48:0:b0:889:d7f3:3a5f with SMTP id 6a1803df08f44-89275ae050cmr63618166d6.6.1768469320859; Thu, 15 Jan 2026 01:28:40 -0800 (PST) X-Received: by 2002:ad4:5c48:0:b0:889:d7f3:3a5f with SMTP id 6a1803df08f44-89275ae050cmr63617826d6.6.1768469320399; Thu, 15 Jan 2026 01:28:40 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.28.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:28:40 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Krzysztof Kozlowski Subject: [PATCH v6 04/12] dt-bindings: display/msm: qcom,kaanapali-mdss: Add Kaanapali Date: Thu, 15 Jan 2026 17:27:41 +0800 Message-Id: <20260115092749.533-5-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfX08fY9oQNl73z ln6WpKvi8M2mP1XTzhw+5T1+PXGNUXsjff2KITyCEY0d9H2xzuU8YSh65IXzoHOLvfjRXeluEB5 VTraqurodw+t7IFHGPzwhn0etPR4J01/9Qvlw4qAYjse8azy6XuHpKk3fj96JDrVtS7P10cYEEv ELGJxRLY8I+gRY1g90bEqA3xyCeW1c+s3KCuvyqoRpPZWIcbJwpcggVRLW50Ne+wB+Ejy+aYXrh GRpF71q7pszallmspVndCV+8bthldqj0Nm3bftadf5mlzEmTwoBP2ki/zcJNq9r9v7+j57YVIYU gDdbz/LSOjQwMBR89kGVUIpCKya1LvzclDGsvjYg+Jr6FRoaEMT/mfaj19YPWs7o2H+iD2d+IO9 79kGOsX1gIN8xga3nrT19f4My1IYvcacRdb5ozz8RcuQ+XgAHGPxjFOcgrNG9M3AnpjBWmTQ1Pl Y47GfPErEBmo8EedciQ== X-Proofpoint-ORIG-GUID: GKq_3usmK4nV19qIvBi0FTcEIQA8VTo- X-Proofpoint-GUID: GKq_3usmK4nV19qIvBi0FTcEIQA8VTo- X-Authority-Analysis: v=2.4 cv=aapsXBot c=1 sm=1 tr=0 ts=6968b349 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=ttgK4pBlxCW4zpXUERAA:9 a=kacYvNCVWA4VmyqE58fU:22 a=sptkURWiP4Gy88Gu7hUp:22 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang Kaanapali introduces DPU 13.0.0 and DSI 2.10. Compared to SM8750, Kaanapali has significant register changes, making it incompatible with SM8750. So add MDSS/MDP display subsystem for Qualcomm Kaanapali. Co-developed-by: Yongxing Mou Signed-off-by: Yongxing Mou Reviewed-by: Krzysztof Kozlowski Signed-off-by: Yuanjie Yang --- .../display/msm/qcom,kaanapali-mdss.yaml | 297 ++++++++++++++++++ 1 file changed, 297 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,kaan= apali-mdss.yaml diff --git a/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-m= dss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mds= s.yaml new file mode 100644 index 000000000000..9f935defd6b1 --- /dev/null +++ b/Documentation/devicetree/bindings/display/msm/qcom,kaanapali-mdss.yaml @@ -0,0 +1,297 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/msm/qcom,kaanapali-mdss.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Kaanapali Display MDSS + +maintainers: + - Yongxing Mou + - Yuanjie Yang + +description: + Kaanapali MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blo= cks + like DPU display controller, DSI and DP interfaces etc. + +$ref: /schemas/display/msm/mdss-common.yaml# + +properties: + compatible: + const: qcom,kaanapali-mdss + + clocks: + items: + - description: Display AHB + - description: Display hf AXI + - description: Display core + - description: Display AHB SWI + + iommus: + maxItems: 1 + + interconnects: + items: + - description: Interconnect path from mdp0 port to the data bus + - description: Interconnect path from CPU to the reg bus + + interconnect-names: + items: + - const: mdp0-mem + - const: cpu-cfg + +patternProperties: + "^display-controller@[0-9a-f]+$": + type: object + additionalProperties: true + properties: + compatible: + const: qcom,kaanapali-dpu + + "^dsi@[0-9a-f]+$": + type: object + additionalProperties: true + properties: + compatible: + contains: + const: qcom,kaanapali-dsi-ctrl + + "^phy@[0-9a-f]+$": + type: object + additionalProperties: true + properties: + compatible: + const: qcom,kaanapali-dsi-phy-3nm + +required: + - compatible + +unevaluatedProperties: false + +examples: + - | + #include + #include + #include + #include + #include + + display-subsystem@9800000 { + compatible =3D "qcom,kaanapali-mdss"; + reg =3D <0x09800000 0x1000>; + reg-names =3D "mdss"; + + interrupts =3D ; + + clocks =3D <&disp_cc_mdss_ahb_clk>, + <&gcc_disp_hf_axi_clk>, + <&disp_cc_mdss_mdp_clk>, + <&disp_cc_mdss_ahb_swi_clk>; + resets =3D <&disp_cc_mdss_core_bcr>; + + power-domains =3D <&mdss_gdsc>; + + iommus =3D <&apps_smmu 0x800 0x2>; + + interrupt-controller; + #interrupt-cells =3D <1>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; + + display-controller@9801000 { + compatible =3D "qcom,kaanapali-dpu"; + reg =3D <0x09801000 0x1c8000>, + <0x09b16000 0x3000>; + reg-names =3D "mdp", + "vbif"; + + interrupts-extended =3D <&mdss 0>; + + clocks =3D <&gcc_disp_hf_axi_clk>, + <&disp_cc_mdss_ahb_clk>, + <&disp_cc_mdss_mdp_lut_clk>, + <&disp_cc_mdss_mdp_clk>, + <&disp_cc_mdss_vsync_clk>; + clock-names =3D "nrt_bus", + "iface", + "lut", + "core", + "vsync"; + + assigned-clocks =3D <&disp_cc_mdss_vsync_clk>; + assigned-clock-rates =3D <19200000>; + + operating-points-v2 =3D <&mdp_opp_table>; + + power-domains =3D <&rpmhpd RPMHPD_MMCX>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + dpu_intf1_out: endpoint { + remote-endpoint =3D <&mdss_dsi0_in>; + }; + }; + + port@1 { + reg =3D <1>; + + dpu_intf2_out: endpoint { + remote-endpoint =3D <&mdss_dsi1_in>; + }; + }; + }; + + mdp_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-156000000 { + opp-hz =3D /bits/ 64 <156000000>; + required-opps =3D <&rpmhpd_opp_low_svs_d1>; + }; + + opp-207000000 { + opp-hz =3D /bits/ 64 <207000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + }; + + opp-337000000 { + opp-hz =3D /bits/ 64 <337000000>; + required-opps =3D <&rpmhpd_opp_svs>; + }; + + opp-417000000 { + opp-hz =3D /bits/ 64 <417000000>; + required-opps =3D <&rpmhpd_opp_svs_l1>; + }; + + opp-532000000 { + opp-hz =3D /bits/ 64 <532000000>; + required-opps =3D <&rpmhpd_opp_nom>; + }; + + opp-600000000 { + opp-hz =3D /bits/ 64 <600000000>; + required-opps =3D <&rpmhpd_opp_nom_l1>; + }; + + opp-650000000 { + opp-hz =3D /bits/ 64 <650000000>; + required-opps =3D <&rpmhpd_opp_turbo>; + }; + }; + }; + + dsi@9ac0000 { + compatible =3D "qcom,kaanapali-dsi-ctrl", "qcom,mdss-dsi-ctrl"; + reg =3D <0x09ac0000 0x1000>; + reg-names =3D "dsi_ctrl"; + + interrupts-extended =3D <&mdss 4>; + + clocks =3D <&disp_cc_mdss_byte0_clk>, + <&disp_cc_mdss_byte0_intf_clk>, + <&disp_cc_mdss_pclk0_clk>, + <&disp_cc_mdss_esc0_clk>, + <&disp_cc_mdss_ahb_clk>, + <&gcc_disp_hf_axi_clk>, + <&mdss_dsi0_phy 1>, + <&mdss_dsi0_phy 0>, + <&disp_cc_esync0_clk>, + <&disp_cc_osc_clk>, + <&disp_cc_mdss_byte0_clk_src>, + <&disp_cc_mdss_pclk0_clk_src>; + clock-names =3D "byte", + "byte_intf", + "pixel", + "core", + "iface", + "bus", + "dsi_pll_pixel", + "dsi_pll_byte", + "esync", + "osc", + "byte_src", + "pixel_src"; + + operating-points-v2 =3D <&mdss_dsi_opp_table>; + + power-domains =3D <&rpmhpd RPMHPD_MMCX>; + + phys =3D <&mdss_dsi0_phy>; + phy-names =3D "dsi"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + mdss_dsi0_in: endpoint { + remote-endpoint =3D <&dpu_intf1_out>; + }; + }; + + port@1 { + reg =3D <1>; + + mdss_dsi0_out: endpoint { + remote-endpoint =3D <&panel0_in>; + data-lanes =3D <0 1 2 3>; + }; + }; + }; + + mdss_dsi_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-187500000 { + opp-hz =3D /bits/ 64 <187500000>; + required-opps =3D <&rpmhpd_opp_low_svs_d1>; + }; + + opp-250000000 { + opp-hz =3D /bits/ 64 <250000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + }; + + opp-312500000 { + opp-hz =3D /bits/ 64 <312500000>; + required-opps =3D <&rpmhpd_opp_svs>; + }; + + opp-358000000 { + opp-hz =3D /bits/ 64 <358000000>; + required-opps =3D <&rpmhpd_opp_svs_l1>; + }; + }; + }; + + mdss_dsi0_phy: phy@9ac1000 { + compatible =3D "qcom,kaanapali-dsi-phy-3nm"; + reg =3D <0x09ac1000 0x1cc>, + <0x09ac1200 0x80>, + <0x09ac1500 0x400>; + reg-names =3D "dsi_phy", + "dsi_phy_lane", + "dsi_pll"; + + clocks =3D <&disp_cc_mdss_ahb_clk>, + <&rpmhcc RPMH_CXO_CLK>; + clock-names =3D "iface", + "ref"; + + #clock-cells =3D <1>; + #phy-cells =3D <0>; + }; + }; --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 3003436213F for ; Thu, 15 Jan 2026 09:28:50 +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=1768469331; cv=none; b=a4TIS+ws6Y3seE5SCVgNekVlb+Gg7LOtYfmAObKVYtYzQnQAIYd1Cx85p2k8f3eJDmlJ/JEHfaKejLHZJWxeF5TDQxZxDMaCByhVBhxYiVSbPl2hf6FZ0DkmphbwPvAQkg9dTUUktkIKHVqpnL+y2lQt28ESEYucVssuuuu2OSc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469331; c=relaxed/simple; bh=k21KuLqrakb4fzczAxo35U6ZXCS51oohpzYX1tys+us=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YYwZeWAcE5GyhxTrp5wD5E6/PzOZ9eR1cSKmrNXidUz1z5spw2NGq9jtVOTl3P4lZxbR8T+cJf2BqbwqqINRPwWP9uEdprh6m9/KlJcvEwbvFhUfHOVtdPw0riCqmjP+d4GxJ9au0afbD0VfKGso4EvJovZy3E67HKiYkNjfsMw= 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=mBDmXmT6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UfQhKFjT; 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="mBDmXmT6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UfQhKFjT" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60F6ft6F2074714 for ; Thu, 15 Jan 2026 09:28:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=D7O7zbR7bk0 RBrH6WlI0a+LXkFPZYFN4ZGyTTHv5I0k=; b=mBDmXmT6A8pVcYiqvNHCARH42l2 BDV4QNvGcQTPicdfPk2ohFe8w4nGwJ+iJ2uMRkweLoIOq/3Mk6btOTZLtc+8BHD1 +7kRCfd85Yb4ltZCg2NmQUZKQg6p/1l3q/zizCulilsfK8hrJ8kcr44QCTRsFRl5 3JP5qGKmeAOGwOo7vwnm/bdWeTxpJzYmwNuXtPsVQMEIs4z14L9Bc9EKRolWf8lz 5zqCmHetE8vK+QY25L9S3KjZkkdXqnyxHorOa0Koy1njBj+dG8lKfD4s33BRWM5w TuAKrc1Dn9dg9MMIkuMi9yjushXALX5j32/0A366WIWVzX80tsOZ90PxT6Q== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bpjj9hy8d-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:28:49 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8804b991a54so27601756d6.2 for ; Thu, 15 Jan 2026 01:28:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469328; x=1769074128; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=D7O7zbR7bk0RBrH6WlI0a+LXkFPZYFN4ZGyTTHv5I0k=; b=UfQhKFjTV4XQX/9CKGSaWWMpdm5fblijHckOCkeuu02e/Er8orY18sHHj8iSf8REy2 MQXXgudIq/5LcKelaepAF3Gigxm9YYsu2ov2XaRUfy2FM7m0rdLOso3LvjPCQo90YlbH Ku84vj8UJ7eWWYmte5go+XOWGcmUa2pJWAFeB6Ju69x9F9fbG9uuuLilbJ1uHs0IeKtW 7MHqMUNjKx63aqyt9ztcrxN9kTuJovRHKwJuEFOcNiR3G0OjZgYmvZtw1z0wu+v7jLvC PjjnHjPrA7yI9LOpM9QT97Nv3UFJJx/p8bsczxyr53HvFkUkJjQ34U6zhnM+ZsaXycqk W8AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469328; x=1769074128; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=D7O7zbR7bk0RBrH6WlI0a+LXkFPZYFN4ZGyTTHv5I0k=; b=w3c8GLXjE3St0ykTmL3nLn1MW++BCl7Fkwroeg8mqoRT/9obMLXldQnCXDLfGz74bj i+6Ywk1dMPpldSNmY17V8oMBm7d8nUsvM132djavU9vIkYqVHJ5pgUe+7iE4jF72UdgJ xD9qMRRsjPA8vmOVu7ZZILNS0ELs2NbWa5NlefLyz+4v+/elwbaNtV7ax15LaN9E0khu WbEYfUiY86NuCEKmpkjXwNIj19IxxGYGITU6Z/X3PyUUq48rbO2bFTH8uYhvPV1+Gi5G pdfPW6tMwaesfHymLDRhSA5XK0HoyvwwrHxp/HXBZhCcoUflquF3739XNQiCaKQQHQYE oCsQ== X-Forwarded-Encrypted: i=1; AJvYcCX9yIrPd0TNwKRGKxwb8ljI43NLEaRFgyZ66/Mwbsctl8SUDvqOYOEXSXD06I4MlJSbCFh1OVPT2ZyFfAA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx7r6g2yYDJ799KT7EVCG26qlUaKrk/Tk5DwqntJ9jGsiJRTSXW BN1fUDLHfJYLZbY/OrDoquIQQiICCtZZ2BUmaD0FgdMlYMPgUPzevl5cyoGDW9ouIePem+6vuHW /USDssUO87YBWLK3oFKnoXrwYOg51lCaayRO8kYrYgPEM8cCVSNnCpIqxdzXzX49+6XM= X-Gm-Gg: AY/fxX59MJdg8560MPub4rN/v9+lSAeqZOhwa16qLNLGF3ItmAt3Hi3Wk2uqR32R6uB AldnVshqoQlhf4Sn34poYHQZIKKFpyAwX4AM4veky4S9OWQ49Z2fOj38h11cm4eeAdsps3d3RyU 4IGgyOXqp7LskijO3IdO6c+UPdHFuuAuVluK+6oMQbZP5oqt17If38J7cuZCaUG1f+m1Ssur/35 DAywktdtbziHtoRIbjWks0mxh5kgPZw8AkndXhBl/xY6Ui08vfqJRbjtUwEhUPC/h7Q4w28rV+S 4FcVyYoa8AzDR8rgWVkZskgz3SJaHhaAHlsOhY8z8HEznermZnzAHdO+9IfyGoDE+XyD1tNiR2E Ab8H/o3tJ8ebS+mm3S4kNdXefLOwxFp0BfXiGMs3XpFjeKR7hoCVRF95HdY8RV/Edl4Q= X-Received: by 2002:a05:6214:19c9:b0:88a:589b:5dac with SMTP id 6a1803df08f44-89274367ce7mr70872926d6.6.1768469328421; Thu, 15 Jan 2026 01:28:48 -0800 (PST) X-Received: by 2002:a05:6214:19c9:b0:88a:589b:5dac with SMTP id 6a1803df08f44-89274367ce7mr70872626d6.6.1768469327965; Thu, 15 Jan 2026 01:28:47 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.28.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:28:47 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Dmitry Baryshkov Subject: [PATCH v6 05/12] drm/msm/mdss: Add support for Kaanapali Date: Thu, 15 Jan 2026 17:27:42 +0800 Message-Id: <20260115092749.533-6-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: 2SXCKRNaJm408X9wYJ2yoak6uXitPGBq X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfXwjiavpfXQohj i4jaJp37x9TkckVJyCC/nYB+VpqMOUITrAZVeJF+4WirpJB84+A1H/hdtb5r9RJCZ7F3h4DmlEX yxdsuK9nMPrUAAFaxW31mjIQFiRNcTGP1Y8rK9G5y4pB54ChPUya0VrUaQlT9r/2bw39UQOntoR KEIJab0uM0fvpVrJpvl6MkL7wFf/vL8gLfxSKCnmRxbG6ePDCz6zNUwfSVuheE/TZAp4RyeF1s+ vyW3x0LBCAhAXMZb3WNj0kkxrvxizbzUPuSQi5TJz1dSQLwFwCawykwvTeJPGfRNktWkcYMytdb RvPBXn4g6c91wyYXFvetQ6X+hNka8Rj/IRD+b+tS2dhugwTWnSeIdtt9hTyRxRZh8NGdF9vLcHR Fi/n4zOYVyTyzg0gmeWXPuoMI3Z48tQf10y7urA1RUN0hzDp1GeZ8DT2IC0IYYNNEWIinPru8qv KRPIi8YC0+k9r0036jQ== X-Authority-Analysis: v=2.4 cv=dcCNHHXe c=1 sm=1 tr=0 ts=6968b351 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=hYg4dbXq4j5tZlskCswA:9 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-GUID: 2SXCKRNaJm408X9wYJ2yoak6uXitPGBq 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 phishscore=0 clxscore=1015 impostorscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang Add mdss support for the Qualcomm Kaanapali platform. Co-developed-by: Yongxing Mou Signed-off-by: Yongxing Mou Reviewed-by: Dmitry Baryshkov Signed-off-by: Yuanjie Yang --- drivers/gpu/drm/msm/msm_mdss.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c index bf9a33e925ac..7d78d16f8802 100644 --- a/drivers/gpu/drm/msm/msm_mdss.c +++ b/drivers/gpu/drm/msm/msm_mdss.c @@ -239,7 +239,11 @@ static void msm_mdss_setup_ubwc_dec_50(struct msm_mdss= *msm_mdss) =20 writel_relaxed(value, msm_mdss->mmio + REG_MDSS_UBWC_STATIC); =20 - writel_relaxed(4, msm_mdss->mmio + REG_MDSS_UBWC_CTRL_2); + if (data->ubwc_dec_version =3D=3D UBWC_6_0) + writel_relaxed(5, msm_mdss->mmio + REG_MDSS_UBWC_CTRL_2); + else + writel_relaxed(4, msm_mdss->mmio + REG_MDSS_UBWC_CTRL_2); + writel_relaxed(1, msm_mdss->mmio + REG_MDSS_UBWC_PREDICTION_MODE); } =20 @@ -296,6 +300,9 @@ static int msm_mdss_enable(struct msm_mdss *msm_mdss) case UBWC_5_0: msm_mdss_setup_ubwc_dec_50(msm_mdss); break; + case UBWC_6_0: + msm_mdss_setup_ubwc_dec_50(msm_mdss); + break; default: dev_err(msm_mdss->dev, "Unsupported UBWC decoder version %x\n", msm_mdss->mdss_data->ubwc_dec_version); @@ -554,6 +561,7 @@ static const struct msm_mdss_data data_153k6 =3D { static const struct of_device_id mdss_dt_match[] =3D { { .compatible =3D "qcom,mdss", .data =3D &data_153k6 }, { .compatible =3D "qcom,glymur-mdss", .data =3D &data_57k }, + { .compatible =3D "qcom,kaanapali-mdss", .data =3D &data_57k }, { .compatible =3D "qcom,msm8998-mdss", .data =3D &data_76k8 }, { .compatible =3D "qcom,qcm2290-mdss", .data =3D &data_76k8 }, { .compatible =3D "qcom,qcs8300-mdss", .data =3D &data_74k }, --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 B1BC1366540 for ; Thu, 15 Jan 2026 09:28:57 +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=1768469339; cv=none; b=N0sIKLtiAZrMp5hdKwGNn82mnynSaKOoyTV/YE+0Q2AH3Ef44Ndt/fQf+pbXNE7+kRfUKrZzl3tzKZ9EM/OUUuavEj57S9NBEdQCoSXEe2zpVKQgRMZWr9injJdYsTtQu1+qYguLo2nRFrDRQZ+WgRy4nZWy/2CIiSZjLzUpvEc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469339; c=relaxed/simple; bh=GPNHdwwPQhx6RHo0jHkO62FjrR7S3TzTSqPLz/MSGkc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ad1LLvUKiqaa1S9gjL7bNuMljPynCWrnjP2P6QVNUDvximxValyLdrwS+Gyl2zRkWhMZvxAX+yG1kxub3wqTNhAueT7ZEb02YI2yStAgq6JbQgbhZytcoPSEk7BRnEkLyPO9sIIOotL6sGo28IW4PhQQsOK/G1DUR5akJqgEO1A= 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=bSL54IrZ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=S77YNSEV; 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="bSL54IrZ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="S77YNSEV" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60F6frvE1582048 for ; Thu, 15 Jan 2026 09:28:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=FQG5BqsGnCi ZEwc/eMkHo/ya5niea9nDglgo72tq9vo=; b=bSL54IrZ8IjgoL0hDzLC/tsFgeS U7Uv1gMuMaWXVV6W+ovoAUDnbTz37wC6Tz17xyxr+wA0NWvNIw6v8nAXthy/VqYy RcswOitxtZNMyMSHvm613gwSxYBDT+mBAocM39MR4sqJdLN5/XyYU7TgzEX+GUG4 J8Hv5xvMBQFf4rMCersSjRosn5rI7TKmQIcqf69DS36Bj4Z13G7NvxerrNXsAZV3 mvUkUaIHToHAtCEleFa1yDSjxH32lzp65wao3vfshP+KUici1P0qqbdkiJoAacIF 3RaN0dFkS8BZ3QWzbW+bv8vlUFbHcWJfPFAe1buHuClyFDWZVwSMoi2nlUg== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bpj1psybe-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:28:56 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-88883a2cabbso22396736d6.0 for ; Thu, 15 Jan 2026 01:28:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469336; x=1769074136; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FQG5BqsGnCiZEwc/eMkHo/ya5niea9nDglgo72tq9vo=; b=S77YNSEVKK54BS91LfGAQsYItfA900szwgrAtldps4iJ4jNgdzFpknSX8CApTp0cTc euzktJ53jjki0OUMBW44QiadJl+I6xC61RmCKdvM2Pg9jv671y/aKdT8sJ4ATTCt8UvW p+wq7s42zM+bfBd6XgoGY3pO/F7OE+DgvYZiD1FcEcCANifFLZmWt/CQxuygYAWNG7EX ZbH7rj/tbGJuHSPes6a2rFB/IvcZsYlBxyRhQxG8LGnFzKA0/A19XbF8/K70L3urJtPm kBOcgB16t/SjlsXkA+FkPogZuPi9TybBFpl6ZoQdmkylwRhT/XIgC1Sj6oRpdgiLlkLD zvrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469336; x=1769074136; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=FQG5BqsGnCiZEwc/eMkHo/ya5niea9nDglgo72tq9vo=; b=FDbZ74RBABIZ6gV4cytSVOOIndOM4kPlCDYb8+gL5vaIrI49Cgzr7jmiZ1GsbFow4+ aCq+wDlYVmwIJmdE9fBJ8pg3JQhVoQYoIKScIALabWR+zfKMKy0mqlmhgTLLeZ4Tshz5 hFqCtOzvJPSbfXNLgPd0CF0IYaRgVdaMgPvKRcaO3p29ZMwUoiJYac7PIpIy0PNSXSs3 ym0sCDVgmWPIt44B6IfRltbIUh4VZq6kBMm7tHCfELhQpwwmIayhhVaxYCNC5VV5N2EL PB0rZLCY+pJ2JYhSNd58Gfv20nBN/1dIXy0/paMpxCJxR3BP4kD6EpfD9KuTM7+INFd8 FQAw== X-Forwarded-Encrypted: i=1; AJvYcCVLNerkIs994K11jhTzsbR/SsYlb3AY/HmnwWpAN9qjPjkCP3XNTsUWOWYuGe6LejH1obO/2raqH648pac=@vger.kernel.org X-Gm-Message-State: AOJu0YyKM6I64jVOWpvcMhPS+IwhJWmetywgKV2efwdb9up1visOKEy9 zpoCNfSe0hSUAqbvVY5ta+M1jV57+wua8gWOLqG4dIv2nnmGBuPgTRWgsoM1tvgosU6RHLi1UIb yII42R3/oittoBANAx5MvYDpS+P/t9uBkt5TBldnG0CYg7eM8CByALpO5F7u9GSY/GUM= X-Gm-Gg: AY/fxX6FY+MXG1krQSWbJG7/qsYZFni9YtjB6VPYSQRsCKjD40SbVk4i07s/qDTlm0i TWnuEVBowuAsOD/nG//ioqDNvB1o6HtxV7ZMuUbsbGCcA2llArg7BzyNB+JAE0QU1MYsqLu44iR 2FFYXGCgI0zFOHjOz4NKAl0gjohiK57ORc/e4/zPd4E/lQcM9WoajeE+S3ivZDNYTwThibxO7+d OjJGSMvkgzvzEjyO1+4tKDZLfxE/LT0x8SspGukj3IPfzgSLFYUAoiVMFVZUdf3yn4+FvF9q2vg 6u8DWXXE3LUycQoNfkiASBnAULy+4pqp6sPCKqaGTytPH9rbvrtBey+XMsMUtttQtVRhcW4e39y lG9Fh6tijpaMe9D37P7oX1PM28dGByzecx/AR+lw3pagSY5JKBKfJ78jn6lRudWgbAb8= X-Received: by 2002:a05:6214:1bc6:b0:882:4b1f:a812 with SMTP id 6a1803df08f44-892744503e1mr88982806d6.51.1768469335835; Thu, 15 Jan 2026 01:28:55 -0800 (PST) X-Received: by 2002:a05:6214:1bc6:b0:882:4b1f:a812 with SMTP id 6a1803df08f44-892744503e1mr88982606d6.51.1768469335467; Thu, 15 Jan 2026 01:28:55 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.28.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:28:55 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Dmitry Baryshkov Subject: [PATCH v6 06/12] drm/msm/dsi/phy: Add support for Kaanapali Date: Thu, 15 Jan 2026 17:27:43 +0800 Message-Id: <20260115092749.533-7-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfXxZp/5+ADqeTK Qidf5ZQ3oqR/TWUxxBOcu1aOFj5sHltJQnxFSCqPXond3PzrJFxzJguoFLkoWXna+JwTpoIMI6O Wf+iPKpjx8vXmQmHtvuHR3nW+1KcMFVztPeQ8hmK4YIvd4gNO43LZIOvfXlStbsnA8iP62SA5+E m2onki+/mPU+kSf6/nyep7TeagDjQDIVsePNR7YulcZYimh2S2/mbnF/Fb/e689DFLUKV9X1E2C 3D+ZL+6ClIaqzNu5/uQYra9H+GxJJvK8VYWsCJ5gtaT7M1Zr2Wk35K/EP7vLsJIbhv0RXHl1vbX 2+xZR3G+wGhp3zJ2B/ytlLJhUsDf2hBLSjw2gqC8Mbd2jrYzsp7pPAF0NPFJn4T1LEg/rguJP+I pv+ktIBx8GO+U86beF6PhlGcOPXqOTjkTrKSXigWI5hhtgUQDuym4up0VbhkY8b5HvMuCx2qqIK VeV0aDVK1vUj6F//gwQ== X-Authority-Analysis: v=2.4 cv=J+KnLQnS c=1 sm=1 tr=0 ts=6968b358 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=ab5uJhi7KCXt4xzmVoQA:9 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-GUID: PRfFW5fUsOY6s6lGXIZ45W2lbFHEa83t X-Proofpoint-ORIG-GUID: PRfFW5fUsOY6s6lGXIZ45W2lbFHEa83t 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 priorityscore=1501 bulkscore=0 phishscore=0 clxscore=1015 suspectscore=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang Add DSI PHY support for the Kaanapali platform, Kaanapali introduce addition of DSI2/DSI2_phy compared to SM8650. However, based on the HPG diagram, only DSI0_phy and DSI1_phy works. Co-developed-by: Yongxing Mou Signed-off-by: Yongxing Mou Reviewed-by: Dmitry Baryshkov Signed-off-by: Yuanjie Yang --- drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 2 ++ drivers/gpu/drm/msm/dsi/phy/dsi_phy.h | 1 + drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 23 +++++++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c b/drivers/gpu/drm/msm/ds= i/phy/dsi_phy.c index 4ea681130dba..7937266de1d2 100644 --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c @@ -577,6 +577,8 @@ static const struct of_device_id dsi_phy_dt_match[] =3D= { .data =3D &dsi_phy_4nm_8650_cfgs }, { .compatible =3D "qcom,sm8750-dsi-phy-3nm", .data =3D &dsi_phy_3nm_8750_cfgs }, + { .compatible =3D "qcom,kaanapali-dsi-phy-3nm", + .data =3D &dsi_phy_3nm_kaanapali_cfgs }, #endif {} }; diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h b/drivers/gpu/drm/msm/ds= i/phy/dsi_phy.h index 3cbf08231492..c01784ca38ed 100644 --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.h @@ -64,6 +64,7 @@ extern const struct msm_dsi_phy_cfg dsi_phy_5nm_sar2130p_= cfgs; extern const struct msm_dsi_phy_cfg dsi_phy_4nm_8550_cfgs; extern const struct msm_dsi_phy_cfg dsi_phy_4nm_8650_cfgs; extern const struct msm_dsi_phy_cfg dsi_phy_3nm_8750_cfgs; +extern const struct msm_dsi_phy_cfg dsi_phy_3nm_kaanapali_cfgs; =20 struct msm_dsi_dphy_timing { u32 clk_zero; diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c b/drivers/gpu/drm/ms= m/dsi/phy/dsi_phy_7nm.c index c5e1d2016bcc..8cb0db3a9880 100644 --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c @@ -1504,3 +1504,26 @@ const struct msm_dsi_phy_cfg dsi_phy_3nm_8750_cfgs = =3D { .num_dsi_phy =3D 2, .quirks =3D DSI_PHY_7NM_QUIRK_V7_0, }; + +const struct msm_dsi_phy_cfg dsi_phy_3nm_kaanapali_cfgs =3D { + .has_phy_lane =3D true, + .regulator_data =3D dsi_phy_7nm_98000uA_regulators, + .num_regulators =3D ARRAY_SIZE(dsi_phy_7nm_98000uA_regulators), + .ops =3D { + .enable =3D dsi_7nm_phy_enable, + .disable =3D dsi_7nm_phy_disable, + .pll_init =3D dsi_pll_7nm_init, + .save_pll_state =3D dsi_7nm_pll_save_state, + .restore_pll_state =3D dsi_7nm_pll_restore_state, + .set_continuous_clock =3D dsi_7nm_set_continuous_clock, + }, + .min_pll_rate =3D 600000000UL, +#ifdef CONFIG_64BIT + .max_pll_rate =3D 5000000000UL, +#else + .max_pll_rate =3D ULONG_MAX, +#endif + .io_start =3D { 0x9ac1000, 0x9ac4000 }, + .num_dsi_phy =3D 2, + .quirks =3D DSI_PHY_7NM_QUIRK_V7_0, +}; --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 C2A3435FF46 for ; Thu, 15 Jan 2026 09:29:06 +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=1768469348; cv=none; b=O77Cs2g3CJ+NfMniAiQMtjuL+0Xxa0lkgGD/8wZQ/mIOvfr4g0OHnLRrCeuzEbHkEcGEMyHkenDnPfd6kV9pVigb1KVVeB060od4fqZQ/6eUPvwj7TZQBG6MMekJ9CJjqSigQ8ADlpo1svYCmDGmmLOSQIyXdxt9/p82ZmMgTbg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469348; c=relaxed/simple; bh=eYqbCgFTx7pO2+x0Rgwk8N2aIIU8O+9nShTeQC9NPWs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=MR/h5E2Hqt7TcL4b8eDDK5q5oWoDSy5PRFy6KWnWwNXE1jLBVbHuHIF4ftew0fDf86LMcMDP4v5VJL1karA1cCot6FXQCq0AwOQr2s8KX2clJPLORl11PPWLipUrGj8BbFB3QCYnO8pxWOHXJ4abj2syvqtbszRiHpANQ6YMSY8= 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=UDTgE2AD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OnAGSoLP; 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="UDTgE2AD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OnAGSoLP" 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 60F6fwxI1991687 for ; Thu, 15 Jan 2026 09:29:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=AlSWjXvP89D 8APUnrnCOFRXps/W1frFHw3Bcs+wBdn0=; b=UDTgE2ADHhAYkSlFuJ00p+0Eam9 NdoLZ9G8OwlM8PJ6BGKIqKLCKKIdA9gFPH4Oh0gfQ+9pgBkfRnJc7mVN98BfDd1X L3vUDcUpEz4sBgQrh9qNEeUiUEcz0b6H1VJS+C9x2m7xbDN5KERD9fnjLebgwMyC Yfulohv5RYLoQNeOXj5iR3+PEqNB0wTDNyZEla9+k6cVd1+i7xiOBmGO3sX9Ezfz QZ0owESgCF7x0XbURD9JXOAGOqdJmmk0NyvoDIjtCa+JKLBcNm7VMTfa3D/0kkFq cVT7WwZEZFvPvrChROEBSqAts+rxRAl1rG2jBFTsKRWMpwP+Cueo4zQSGkA== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bpbdbudjw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:29:04 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50145d24ffcso22815711cf.0 for ; Thu, 15 Jan 2026 01:29:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469344; x=1769074144; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AlSWjXvP89D8APUnrnCOFRXps/W1frFHw3Bcs+wBdn0=; b=OnAGSoLPRFMcGCIlGNTGnzOc0ocSE7JESloX1Qc1hSpXbCVdGe9bqXEzyFyT/5sA+9 2T+D/TFWAW2zOSQQuvJFIP/kCmkDNFsoGRU/B+JPrgH6bGJujbhgFt9avlvfKVQUpo2O QZ2TMM7K/g06Dr8XNJe5XCVNRu+wYzByLUNzjovLyAd/vLTAvicRVT/CcNH4USbJsbtq mWV4CMAwCBVnlrEL/WyoIr6oQwMOF7hQrFhvyJylrkvlu4q5TUAvnf7GOHyo5/7XLKQv ixuSL1rj8Usnurh+REafR6uTOrWS/WNICeqiprhZum1dHxyLkQIvMNQ1ynVvrVg0Lhfx Ey8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469344; x=1769074144; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=AlSWjXvP89D8APUnrnCOFRXps/W1frFHw3Bcs+wBdn0=; b=AeAne6vmZkq2JhSCX/cDMiLe/h2CA9m0DNr7+j6uUx2ihP8d9xgg6YWfywUPTbLRm+ wb7aN1ASPDBecEHoDtZkDBeuO0ZW218iiYNJFygHQcrcIAKiwAdSUD7JZ5mBcXR61uoo 6+nO0RqILD7rgFxF4QDY9tGluFQ+YBM5QKs1vAE99OkCWdOkFTrS/Z92gAo6WLqZRe/4 Ue2W/2+TyJueeTXAZ2CHWgbdwDM5Vfnol2x4CckIDpdCRLutmu2/PI+12hdXm5uXjxAk E7ZwYsTQlvUDqtMRNsNMTtZZ+cIorrsFerqrHaJ2DkuFowFR3OcLV8RJtoCDq627Cng+ Lxuw== X-Forwarded-Encrypted: i=1; AJvYcCUqPQU/Zg/GmqUTP3G+VRcda1j7AoKTolMEkfOH7xAiyMsKw4D1Hjh6ClG18iat8T+k3vzL03tnDskLYQE=@vger.kernel.org X-Gm-Message-State: AOJu0YwPAzgYH+1qzRIjQsbxvrrQjKA1e83ifXmCs7Kc28p0mrV62VGl e44z8RUUc0xP68FRjyCm5y4uKIU+8GEuOneuURcnlFtBH4DgclleEfUJf9vsSAdgp3JoYDePC3K jiv7QUx3y7z9uuGxiAlRFJpPdcoPNx0g0kch+LDzmu8nXWgbPNienVJEArZuRk6n1VVs= X-Gm-Gg: AY/fxX7K+B2jqONBZFQfXtAfo6qk33gZWPj5Zs0IitusyIZaKcj3NfJ3gSRvfUWfFXd rN7P/3B+hfV1stDwJKI73eB9m0A1nNFbRvWhWe4zesbjpsB3ziRpdOBD6oNgepHE0zpADwiYYbt Y0yqWZI6gwzQhWSgpz3NuccV2cpzImXRYd0mQfMIe9CKNoa/aLQcXzSNjp/DUYvcYm5xtOhKcMK DHPWbeAfbZqg/pmnexOak4hVVuofDtwsJbtPIMLLzUpKRWWV8DWcGVlmbQOdegbqSw2Kg8WKlxU OkN+Eocj8wXC+t5sNFRdj1I0vib0BeKcBu/ThSP1LUmCjPHPqGs/zKMfT2akDCXxkFx2UR9vX0z fWkbYV3th6np8Q74/XllZchF1JsVrRj1fPGHYqaqSm0hMBZcncNXnPZauHTEdkL6vxME= X-Received: by 2002:a05:622a:1993:b0:4ee:bac:e3aa with SMTP id d75a77b69052e-5019f906e27mr36433861cf.35.1768469344074; Thu, 15 Jan 2026 01:29:04 -0800 (PST) X-Received: by 2002:a05:622a:1993:b0:4ee:bac:e3aa with SMTP id d75a77b69052e-5019f906e27mr36433651cf.35.1768469343680; Thu, 15 Jan 2026 01:29:03 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.28.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:29:03 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Dmitry Baryshkov Subject: [PATCH v6 07/12] drm/msm/dsi: Add support for Kaanapali Date: Thu, 15 Jan 2026 17:27:44 +0800 Message-Id: <20260115092749.533-8-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=NvncssdJ c=1 sm=1 tr=0 ts=6968b360 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=EGddA7oXPexY6v9tJfMA:9 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: Xw2NLHPS1GDXgcGd9_VzOGR6dDu1F8JB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfX+MzPIedK/GHK gbJo6c8O3XKxNlc7bhY9PiXInolLzNsiRfP3nFziCNs/c3LLzwzsr4Mo17WVklSnaG4LqwMqcQz Vm1K4WlR1HrIaxvKvriFX+Kv0D+1BBvZmpo/BbkuutdqOlzt58dxnAp9Lv6W5xM94IDfd33GN3L /WA7+S7lsW6ueQwcNDKH7VkM2gxpFMbUxxC737uR47WYU8aNiFbbJDVXFYfzK6Q8S06xU4drZ2Y 60f8dfWdWIflxlEdl+94c5gtgaJZFGi6WlhcihRgGCONADEHg33kV+7C1Pk6r3igirD3yg35cQB 07L/xO5EOp5QnN20XitwLzEobe3P/dfYE0b4P0cjBeJ07ndLTqFys9GiVHYHiM3Z11mU75gXjyK /UaW28ZHVjM4ixHm2580O3k1zuqjcQY8UlbQ920AOw6v5PtTWDmI/FhNAB0Ggo8V88+tRQd9OdH mUrKH4FSmR0Yb+Izirw== X-Proofpoint-GUID: Xw2NLHPS1GDXgcGd9_VzOGR6dDu1F8JB 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang Add DSI Controller version 2.10.0 support for DSI on Qualcomm Kaanapali SoC. Co-developed-by: Yongxing Mou Signed-off-by: Yongxing Mou Reviewed-by: Dmitry Baryshkov Signed-off-by: Yuanjie Yang --- drivers/gpu/drm/msm/dsi/dsi_cfg.c | 13 +++++++++++++ drivers/gpu/drm/msm/dsi/dsi_cfg.h | 1 + 2 files changed, 14 insertions(+) diff --git a/drivers/gpu/drm/msm/dsi/dsi_cfg.c b/drivers/gpu/drm/msm/dsi/ds= i_cfg.c index fed8e9b67011..bd3c51c350e7 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_cfg.c +++ b/drivers/gpu/drm/msm/dsi/dsi_cfg.c @@ -205,6 +205,17 @@ static const struct msm_dsi_config sm8650_dsi_cfg =3D { }, }; =20 +static const struct msm_dsi_config kaanapali_dsi_cfg =3D { + .io_offset =3D DSI_6G_REG_SHIFT, + .regulator_data =3D sm8650_dsi_regulators, + .num_regulators =3D ARRAY_SIZE(sm8650_dsi_regulators), + .bus_clk_names =3D dsi_v2_4_clk_names, + .num_bus_clks =3D ARRAY_SIZE(dsi_v2_4_clk_names), + .io_start =3D { + { 0x9ac0000, 0x9ac3000 }, + }, +}; + static const struct regulator_bulk_data sc7280_dsi_regulators[] =3D { { .supply =3D "vdda", .init_load_uA =3D 8350 }, /* 1.2 V */ { .supply =3D "refgen" }, @@ -332,6 +343,8 @@ static const struct msm_dsi_cfg_handler dsi_cfg_handler= s[] =3D { &sm8650_dsi_cfg, &msm_dsi_6g_v2_host_ops}, {MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_9_0, &sm8650_dsi_cfg, &msm_dsi_6g_v2_9_host_ops}, + {MSM_DSI_VER_MAJOR_6G, MSM_DSI_6G_VER_MINOR_V2_10_0, + &kaanapali_dsi_cfg, &msm_dsi_6g_v2_9_host_ops}, }; =20 const struct msm_dsi_cfg_handler *msm_dsi_cfg_get(u32 major, u32 minor) diff --git a/drivers/gpu/drm/msm/dsi/dsi_cfg.h b/drivers/gpu/drm/msm/dsi/ds= i_cfg.h index 38f303f2ed04..5dc812028bd5 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_cfg.h +++ b/drivers/gpu/drm/msm/dsi/dsi_cfg.h @@ -32,6 +32,7 @@ #define MSM_DSI_6G_VER_MINOR_V2_7_0 0x20070000 #define MSM_DSI_6G_VER_MINOR_V2_8_0 0x20080000 #define MSM_DSI_6G_VER_MINOR_V2_9_0 0x20090000 +#define MSM_DSI_6G_VER_MINOR_V2_10_0 0x200a0000 =20 #define MSM_DSI_V2_VER_MINOR_8064 0x0 =20 --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 4B03C387560 for ; Thu, 15 Jan 2026 09:29:13 +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=1768469354; cv=none; b=pCqbwzupfhm/mThAG2PZa/2lKdHRID+IXtHJcM/o/wDdU/0J7VIoFYRfHFxWLYItdkl4Lq906xhKwTAIdmoPLNGPmvp6D62d32sPmECj28qQQ6VjGbzjxjTZB8e7k+4fypeYeta/tMBcNarkK7fA0P6kL2EZT/u3AKfIFLBeijo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469354; c=relaxed/simple; bh=s19WZGnVsjnU3CIa2pjMzvDcR1778Z6ip689C/D4ewo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=EQsVgdpqA30/pjYs0/K6sIEnujDRPf/u31iqrnIrksjQ7NC30GnP28CUTR+eaJ8ddcfZP6M12IUSis5LEzKFD0lXBjc1ccgT4J73rZBw2pyF0k32DdFzCh2Jp7JPUFaQQcdkTyZU7NexOXFYo16qPlNGOhjQIghTxbNvjNT1fqU= 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=B3AduXVj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=K4/XY2cS; 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="B3AduXVj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="K4/XY2cS" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60F6gLoV1745958 for ; Thu, 15 Jan 2026 09:29:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=I87OukHNOgS eTgoOXQALSi1N6P0XQunpMCBrwQ4g5NU=; b=B3AduXVji1zoURleuuOhK3oQdx7 6NRuvXB+sflMwvuDIv1ZbZwrMlthUaCrt+U4unJw/WxvIWFyNwrXg82klH8/5um2 pPqulZV8fDFIXu4C0uAeQ7lwhEC3BHYelfi3xQII+X0dDph5cur20zGmuIJNIFjz sukWJw5FFfiY3hiUXzejcvu17NNZv7lEQ7+Hy181VvHmpO2zdXB6jtPXNgOa4NJp 2GuM1PTYnV7tsRlcEtklwvSgdVR554fx3ultDjj1frl9uwGI+/NBDGSVcyK54zb1 Oyaw2y6qyWIh9M6Lch2vmoBVfemxVw+c+pd+M3MpjH9mxvsAvQTsUOq3PGQ== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bptu2gj6y-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:29:12 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8823f4666abso18260326d6.0 for ; Thu, 15 Jan 2026 01:29:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469352; x=1769074152; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=I87OukHNOgSeTgoOXQALSi1N6P0XQunpMCBrwQ4g5NU=; b=K4/XY2cSGH2fB5+sZN6mhYPiHKqdjKeM6QptVMCD1+AoiLsr9wychy8Fx7NcpURJdG OfO3w4wnKcsyw2IFYX9cGoPvSYPX+sV7qGqEeJo0fyl7kl6AAHUqo0n5JFPB9Ef0nsno orp4BwUmM2kUgVe9O6GktufCpFk21KREtx8L8fD/RtHIvzOwyswj0vj2BSNfJHhpTn3E kk1Fb9u9ILWZMQX8ZWYVdZyre6/l2D19BKIWJseQxrW5OFYa33IYvigSF2Ay8eZD7bW5 mELtoZAsV+R+Yl7VKVhxqS+TvWaukftlfSAo3fHE1rMDbqcGQLMLBl4Ae4gl/eos7c2D AcHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469352; x=1769074152; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=I87OukHNOgSeTgoOXQALSi1N6P0XQunpMCBrwQ4g5NU=; b=R3GGo/HrUIItMKioVA4Pq7Bw/cCT38oRUXMbNCOijXv7JaSOr/ubeFbPiOTcasf96I gdQQpFwPjiW6Z2kAixzol/H8v2OvIoIo+I5mFs3/HVtAVp3dvUd5wSTLuVcg5hEv9k+q 5gCOimK7e3alKWJx0SurJjPXkLs/KZXlgQqQ3wbQHg8Opj4GcqkS8GK2YIwxqdMH/y0i RLbF0hgQ90JaSCfErFn8VkJ3yWkixxnq81LILbYzA6bdYTgkiVZim2s63sHwLpVOcG42 /VC8XeEQ35gHqsZcB6IFn+I4mdk4DwKoPiV4RCBQ2StLySbMqiEUIX6qRg9CQqYmx+Rl fNpw== X-Forwarded-Encrypted: i=1; AJvYcCVwU6JbkBmivSvkqWfaK68ZBG5D35TQofHyn/e/vR8NfqWCuViLTyoLLEBsxDh4iYwDEiQAFhPTYb3g8ck=@vger.kernel.org X-Gm-Message-State: AOJu0YzBReCU0xq1odKP8OBeoNP1Jt2oqrn96mQOGY8lPdKXnzxu5QBG 2+R2mi7aBxWKYUkaXpxwvyPWtJV8RSfswG+ScirPBWhPFPMMlmQ43DD95c859OyuCBA8Tjmk9SQ jR79DbCy/YLEYy464QwVLOCqOazG0Wr6qCrrQrbDpRJgvX3K4/cpS2XNnhFMw5WzO9/8= X-Gm-Gg: AY/fxX71l3JBfTcFNllZ7awt54YcEDfXYiFtSQmn8eEMq7AdRO4WX873fUvpyHLuR0d YxEihAKk0lYCqua0BV/cZX6hPR+y6fZAKIfdUZlVzG86lq7HiBOAxOxJmMABJFdP8smvNS33qJ6 MM2aaf7FNNXd+uDzxR1PrnigHjkCM+r6Z4xEKUwjRaljZ6HNaG6DmWoYqyZVMCbpJ2E3xmfPK3N 5ZJSJ4DeTJCUhaF4IFaF6FQ/LjpwkZbWp3kG/ZOuzoKL5+a3HIvFXHsm3IjvIxue1bqFV5mxQBI f6LQM0wf5g1vVMSlontzCbkM4ThbkioVs1HZ6jy4FtH/wHPLw2zkTmGeTA3z8kuvJoTcA5QQh2M jisk3Z8U9BQhvCQDaNJ5CljgLTV4tXf9onTm/GB1sxf5n4CB+pv8ul9m3t8sd6pWQClE= X-Received: by 2002:a05:6214:5182:b0:880:5193:10fb with SMTP id 6a1803df08f44-892743c8cc0mr83008346d6.54.1768469351672; Thu, 15 Jan 2026 01:29:11 -0800 (PST) X-Received: by 2002:a05:6214:5182:b0:880:5193:10fb with SMTP id 6a1803df08f44-892743c8cc0mr83008096d6.54.1768469351265; Thu, 15 Jan 2026 01:29:11 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.29.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:29:11 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Dmitry Baryshkov Subject: [PATCH v6 08/12] drm/msm/dpu: Add interrupt registers for DPU 13.0.0 Date: Thu, 15 Jan 2026 17:27:45 +0800 Message-Id: <20260115092749.533-9-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfXwt2k/OJQ3TJS 0XdlIQYetvhAXqYbo2azYddAjkCMelzjL/hpAkEvfELYZkpq+1iDA1cWK/gEif1F1FpQrQ8LT8s PulGmUwCwJSs6Iwf4zP5CtBitKwg2rJZvkkCKUd8pNGFEKsMS9agYUCgpbYU09xhu9qGLMFRvVo E+0PzTGaJWKhwbrK9KpZKW8vGNnjVIOTQzzSZ/3j88lZ4WGnHRNzi0W5SFckB4lSA769htCl+Rh /uIuycBToNTTJ71q0AjBdD+1WTuAsUsnBRpqcwYPINFoQIvUZVqf4+neKnHFzs2V4WMyJXplWtv vxNAiJBgcHNMQQdD6bfAyl1o5oeUvuYqDwTXluzvc6yY+q8gg6+rDyVyQFZytpxhVgTeGJp+k57 3Ad0QA58PepyeIH/tiCK5x7toPd1+HeA3VD5C/BmTEhWdxDBLYVcBBqu6LkghTPUpVnjh4ak6Xo MuVfk0ymKSJ0NMGGJWQ== X-Proofpoint-ORIG-GUID: eJ9PAsDSsFrZ7U9844r5AxVHPjWnPeLg X-Authority-Analysis: v=2.4 cv=W6Y1lBWk c=1 sm=1 tr=0 ts=6968b368 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=RfJNy9JZAWTFlj1jTG0A:9 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-GUID: eJ9PAsDSsFrZ7U9844r5AxVHPjWnPeLg 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 malwarescore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang DPU version 13.0.0 introduces changes to the interrupt register layout. Update the driver to support these modifications for proper interrupt handling. Co-developed-by: Yongxing Mou Signed-off-by: Yongxing Mou Reviewed-by: Dmitry Baryshkov Signed-off-by: Yuanjie Yang --- .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 89 ++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c b/drivers/gp= u/drm/msm/disp/dpu1/dpu_hw_interrupts.c index 49bd77a755aa..5b7cd5241f45 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c @@ -40,6 +40,15 @@ #define MDP_INTF_REV_7xxx_INTR_TEAR_STATUS(intf) (MDP_INTF_REV_7xxx_TEAR_O= FF(intf) + 0x004) #define MDP_INTF_REV_7xxx_INTR_TEAR_CLEAR(intf) (MDP_INTF_REV_7xxx_TEAR_O= FF(intf) + 0x008) =20 +#define MDP_INTF_REV_13xx_OFF(intf) (0x18d000 + 0x1000 * (intf)) +#define MDP_INTF_REV_13xx_INTR_EN(intf) (MDP_INTF_REV_13xx_OFF(intf) + 0= x1c0) +#define MDP_INTF_REV_13xx_INTR_STATUS(intf) (MDP_INTF_REV_13xx_OFF(intf) = + 0x1c4) +#define MDP_INTF_REV_13xx_INTR_CLEAR(intf) (MDP_INTF_REV_13xx_OFF(intf) += 0x1c8) +#define MDP_INTF_REV_13xx_TEAR_OFF(intf) (0x18d800 + 0x1000 * (intf)) +#define MDP_INTF_REV_13xx_INTR_TEAR_EN(intf) (MDP_INTF_REV_13xx_TEAR_OFF(= intf) + 0x000) +#define MDP_INTF_REV_13xx_INTR_TEAR_STATUS(intf) (MDP_INTF_REV_13xx_TEAR_O= FF(intf) + 0x004) +#define MDP_INTF_REV_13xx_INTR_TEAR_CLEAR(intf) (MDP_INTF_REV_13xx_TEAR_O= FF(intf) + 0x008) + /** * struct dpu_intr_reg - array of DPU register sets * @clr_off: offset to CLEAR reg @@ -199,6 +208,82 @@ static const struct dpu_intr_reg dpu_intr_set_7xxx[] = =3D { }, }; =20 +/* + * dpu_intr_set_13xx - List of DPU interrupt registers for DPU >=3D 13.0 + */ +static const struct dpu_intr_reg dpu_intr_set_13xx[] =3D { + [MDP_SSPP_TOP0_INTR] =3D { + INTR_CLEAR, + INTR_EN, + INTR_STATUS + }, + [MDP_SSPP_TOP0_INTR2] =3D { + INTR2_CLEAR, + INTR2_EN, + INTR2_STATUS + }, + [MDP_SSPP_TOP0_HIST_INTR] =3D { + HIST_INTR_CLEAR, + HIST_INTR_EN, + HIST_INTR_STATUS + }, + [MDP_INTF0_INTR] =3D { + MDP_INTF_REV_13xx_INTR_CLEAR(0), + MDP_INTF_REV_13xx_INTR_EN(0), + MDP_INTF_REV_13xx_INTR_STATUS(0) + }, + [MDP_INTF1_INTR] =3D { + MDP_INTF_REV_13xx_INTR_CLEAR(1), + MDP_INTF_REV_13xx_INTR_EN(1), + MDP_INTF_REV_13xx_INTR_STATUS(1) + }, + [MDP_INTF1_TEAR_INTR] =3D { + MDP_INTF_REV_13xx_INTR_TEAR_CLEAR(1), + MDP_INTF_REV_13xx_INTR_TEAR_EN(1), + MDP_INTF_REV_13xx_INTR_TEAR_STATUS(1) + }, + [MDP_INTF2_INTR] =3D { + MDP_INTF_REV_13xx_INTR_CLEAR(2), + MDP_INTF_REV_13xx_INTR_EN(2), + MDP_INTF_REV_13xx_INTR_STATUS(2) + }, + [MDP_INTF2_TEAR_INTR] =3D { + MDP_INTF_REV_13xx_INTR_TEAR_CLEAR(2), + MDP_INTF_REV_13xx_INTR_TEAR_EN(2), + MDP_INTF_REV_13xx_INTR_TEAR_STATUS(2) + }, + [MDP_INTF3_INTR] =3D { + MDP_INTF_REV_13xx_INTR_CLEAR(3), + MDP_INTF_REV_13xx_INTR_EN(3), + MDP_INTF_REV_13xx_INTR_STATUS(3) + }, + [MDP_INTF4_INTR] =3D { + MDP_INTF_REV_13xx_INTR_CLEAR(4), + MDP_INTF_REV_13xx_INTR_EN(4), + MDP_INTF_REV_13xx_INTR_STATUS(4) + }, + [MDP_INTF5_INTR] =3D { + MDP_INTF_REV_13xx_INTR_CLEAR(5), + MDP_INTF_REV_13xx_INTR_EN(5), + MDP_INTF_REV_13xx_INTR_STATUS(5) + }, + [MDP_INTF6_INTR] =3D { + MDP_INTF_REV_13xx_INTR_CLEAR(6), + MDP_INTF_REV_13xx_INTR_EN(6), + MDP_INTF_REV_13xx_INTR_STATUS(6) + }, + [MDP_INTF7_INTR] =3D { + MDP_INTF_REV_13xx_INTR_CLEAR(7), + MDP_INTF_REV_13xx_INTR_EN(7), + MDP_INTF_REV_13xx_INTR_STATUS(7) + }, + [MDP_INTF8_INTR] =3D { + MDP_INTF_REV_13xx_INTR_CLEAR(8), + MDP_INTF_REV_13xx_INTR_EN(8), + MDP_INTF_REV_13xx_INTR_STATUS(8) + }, +}; + #define DPU_IRQ_MASK(irq_idx) (BIT(DPU_IRQ_BIT(irq_idx))) =20 static inline bool dpu_core_irq_is_valid(unsigned int irq_idx) @@ -507,7 +592,9 @@ struct dpu_hw_intr *dpu_hw_intr_init(struct drm_device = *dev, if (!intr) return ERR_PTR(-ENOMEM); =20 - if (m->mdss_ver->core_major_ver >=3D 7) + if (m->mdss_ver->core_major_ver >=3D 13) + intr->intr_set =3D dpu_intr_set_13xx; + else if (m->mdss_ver->core_major_ver >=3D 7) intr->intr_set =3D dpu_intr_set_7xxx; else intr->intr_set =3D dpu_intr_set_legacy; --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 A0E9C35F8C7 for ; Thu, 15 Jan 2026 09:29:21 +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=1768469363; cv=none; b=HlLaOuPP1R53gImBU7WRk61bKXFTbd+rUmIKnodlNE06Jd2bKU2J/pk68+aaIJ2ZFNmQjykBpUAKRiv3LyJ5CoVm16Mvr9wvgcLb+2/LC7J45GYCuVYoxsM0ZIYm7XYqsaKpI2ThE4qRw05jrDVj7zKXmCFKhmQet7Gwvon4FUo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469363; c=relaxed/simple; bh=jLslBLfTx86VvwsaU4DWdOKA4ZQUh9TAkOtg4SQZ1sg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DEHo4CuZOI8w0ogoj5SGioRKYsUg9WAC+XJj4dJ8jMG/5AiYrYQujsmG8MKhzu/4OopEptjtMchEwrXjADCknH9Hp9yp/L90D7GAGlJg4OEZlvSHHxwjtaD/WhOEGPC9XQpvvbIOJDkk2QrM0FFpZK4ZXSdo037TMQ3oHRO8KuU= 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=ckG5dfao; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CgOepioN; 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="ckG5dfao"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CgOepioN" 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 60F6g7CF1991898 for ; Thu, 15 Jan 2026 09:29:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=ileYJt8Ryey ev+eOt3INPoOcf4+7lBchrZlog8PShvE=; b=ckG5dfaoMV/Z2/Hj9RdK/qKAs+S XMUJIrhf01W9P8GohWiU4c84zBaR0w+25+j0S8cV5bHUJyzRJMVwBeeEJrM2h0vX T4j16nCgFt8YJZZ1WLXGCNtz5/TbZGVWm/L3FXwFsttMf/Y/taJJlKWbUDLAY0tP jmCyn7dQAXqC7ehqfaCBFO/7/sNe7eStbXcsmB5jmX1xV70kKBwvhKiRXTLgIkvg nNKRO88XjEWTR3D8HqzoCcVLYgub7P0whyA2hTVN0Pv/L5Y3sUBfOAJQvOd3O+Cf q2iArfXGdpP2tZsrJNnFxA3XlKM/avhVpReaY2rM9sQC+5c4aJcs2h7vt2Q== 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 4bpbdbudkx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:29:20 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-88a2e9e09e6so24824616d6.2 for ; Thu, 15 Jan 2026 01:29:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469360; x=1769074160; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ileYJt8Ryeyev+eOt3INPoOcf4+7lBchrZlog8PShvE=; b=CgOepioNI3xgwJJ/UjjRQoeIUMNLAuEkF5FaDwY4S6zl8ynYTTa3XH1TF6vNqNj8Lw aYh9i0TnyZT8ckD8vZKBkQAq85qzBBqiHrEbj6l3CQtpFCHjnsY6gyVbEMDRkOJD1dos C8YAP5UmHn+qeMwX1ewTH2joxkOnSikkPPotSZSHO5vUjknLcLD9fWeCRO2kELVFt6Jc 4mEnoB6kWgCYp/MOXHpnU8fswiZlDel0EISnbrEdft9+NhfrScMZc26m8uB7PhBLBEYr X32YKRNPjTU6Lirkir8CTX24OYypNVYsyLjq2UjGhh0Voa0oTZZ9JFnj5BBRZSF8dOat IbIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469360; x=1769074160; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ileYJt8Ryeyev+eOt3INPoOcf4+7lBchrZlog8PShvE=; b=FAqJyEBIwt8bu2Oqp8fxnTjYpGtxf3pxVCQDbUa8CDCQsZ4033PHbZ7oZZePjjs9TF 7XtJUiJIj1pkM+DCm5r1BkC4p24ljSssApAjw5XsFPG2umHs9Aj0DmpEIy64GiOaft2p eBbCJQUPu7PiI7YVHDqKdMGa5NylZ39weVdLroj98XLVRAaQi/zFIShgSg1JO2ynZAj0 CqKscNaX4Fal+KTS+5XYpirLv6rPenfAEmpQH6zrQ64vOB8IlfOGCHrD2ZP/60vUoTt1 3pMGJ8PIRnp6OLH85tMq0BYbP0zcxvtOfIPeqANphMbUoNmGnronXR8GMhV0gJsKW2bd BGCg== X-Forwarded-Encrypted: i=1; AJvYcCUacLfZ17XXX79zGqWq08rupgkXfFfScyDJAZC7Q652ioI8HQIJVgXheBIxTSXfyg3DNkXtiQ7+auThn04=@vger.kernel.org X-Gm-Message-State: AOJu0YxskOC4lErR76lTCaB0IG54jJ01V7RnFtJ0VYgVA7HoGB2dSF9E Fdo4lAt27/njX7G86B1bjMwAnxum6rvzSU74Z1r8nbYHNNfRqjlLGLx8zuIaTX8HoMDiUW0BeWE /zsCyVSltq+SHnaTNyTqz/D59O45iV7yQqQech0K0zHL0vhvezVP8mfxckGB3lE3dEbA= X-Gm-Gg: AY/fxX43M1DPV/3ot4LRQkHRMWdlp5RtxleGH6SKPAD1UVYEGpPTehbKpWX/UvxS2mi W3KfaxscKgMDiyz7RhnJ+KDZqqrTgkgkMtdJezEEaMFklSWVx6E9DhwxewXUkFrZSy7TRoAVA2r rvdhnL3k76UyvAIAIOljCe8lCQgL5Yjv9mJdIwbWfd/aVVtBPvQSNU9/pcXPke+UfHG1gL49P84 v93551pVxAPArMjeaFXB6zwSwOE1IoH91EalzKP7/3iSAhoS0WeKSDY2ei+LjqhxMgTnwsI9SrU kbY8I455EgtSYq26S10Cb4T/JKH0dztvPb9CS3t92iyp67kPmm3A8ByitZM2fLENBJ7BF5OZRWT 6/3y76kK0yPUSyR86OwZfLgv44VU9p9ZDXXSHw5qj7/SbH3T+ULCGdH/19j0rYOxTKEo= X-Received: by 2002:a05:6214:3485:b0:893:348e:4126 with SMTP id 6a1803df08f44-893348e4275mr36966336d6.61.1768469359786; Thu, 15 Jan 2026 01:29:19 -0800 (PST) X-Received: by 2002:a05:6214:3485:b0:893:348e:4126 with SMTP id 6a1803df08f44-893348e4275mr36966146d6.61.1768469359336; Thu, 15 Jan 2026 01:29:19 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.29.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:29:19 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Dmitry Baryshkov Subject: [PATCH v6 09/12] drm/msm/dpu: Refactor SSPP to compatible DPU 13.0.0 Date: Thu, 15 Jan 2026 17:27:46 +0800 Message-Id: <20260115092749.533-10-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=NvncssdJ c=1 sm=1 tr=0 ts=6968b370 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=Qg1eW3vjq6ATntrd7kwA:9 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-ORIG-GUID: _ux9EoWMngQXzPurNyO2RTNZIbdRKfLB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfXxxVkePeLNHPZ 488BkFWGlnFj++czSRK9WkhHe1lrhpJM6PJHCvnCJ5IIBg2bEdefbUbpWtT3BFy28mz7knL6BOd gm9JAScKecA2l4/pOuIOHbG6VmvwWfdveuM0OjZIfmyRPICPssgidvSbCAfzIa7OX2LG2axhZQm APE0C/Tm+IjWgDRUpsh3Nzk0nvlOif8DrLNMU2KJEgu0Xt5onDmaxIHVCmoSl5jJe/DmAgWQDPo 4KJleIzgaTj+yq58+5PZgc2d7Jc+VFvztJxPTDnH5SDo5yVpABealez6RlEWjhazFVsusRFN3Oo C4pb/Hc6UuDtrGk1M0cbuO4HyQCs+C2uAa5zaZ9af9ZR2L/xPxqBYvGKxlhNV17bX+D75hY1Y+I qUQuUacViWpXo9fs2yT3hooFQgpefs5/3he6zcgFm8bVfPocieH3w+V0FOoP7m4HGarq5sYQV1/ ixlDsZfuYVrLZuA5hdw== X-Proofpoint-GUID: _ux9EoWMngQXzPurNyO2RTNZIbdRKfLB 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang DPU version 13.0.0 introduces structural changes including register additions, removals, and relocations. Refactor SSPP-related code to be compatible with DPU 13.0.0 modifications. Co-developed-by: Yongxing Mou Signed-off-by: Yongxing Mou Reviewed-by: Dmitry Baryshkov Signed-off-by: Yuanjie Yang --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 110 ++++++++++++-------- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 52 +++++++++ 2 files changed, 116 insertions(+), 46 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c b/drivers/gpu/drm/= msm/disp/dpu1/dpu_hw_sspp.c index 6f1fc790ad6d..197a2c584c73 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c @@ -145,11 +145,18 @@ static void dpu_hw_sspp_setup_multirect(struct dpu_sw_pipe *pipe) { struct dpu_hw_sspp *ctx =3D pipe->sspp; - u32 mode_mask; =20 if (!ctx) return; =20 + dpu_hw_setup_multirect_impl(pipe, ctx, SSPP_MULTIRECT_OPMODE); +} + +void dpu_hw_setup_multirect_impl(struct dpu_sw_pipe *pipe, + struct dpu_hw_sspp *ctx, u32 op_mode_off) +{ + u32 mode_mask; + if (pipe->multirect_index =3D=3D DPU_SSPP_RECT_SOLO) { /** * if rect index is RECT_SOLO, we cannot expect a @@ -158,7 +165,7 @@ static void dpu_hw_sspp_setup_multirect(struct dpu_sw_p= ipe *pipe) */ mode_mask =3D 0; } else { - mode_mask =3D DPU_REG_READ(&ctx->hw, SSPP_MULTIRECT_OPMODE); + mode_mask =3D DPU_REG_READ(&ctx->hw, op_mode_off); mode_mask |=3D pipe->multirect_index; if (pipe->multirect_mode =3D=3D DPU_SSPP_MULTIRECT_TIME_MX) mode_mask |=3D BIT(2); @@ -166,10 +173,10 @@ static void dpu_hw_sspp_setup_multirect(struct dpu_sw= _pipe *pipe) mode_mask &=3D ~BIT(2); } =20 - DPU_REG_WRITE(&ctx->hw, SSPP_MULTIRECT_OPMODE, mode_mask); + DPU_REG_WRITE(&ctx->hw, op_mode_off, mode_mask); } =20 -static void _sspp_setup_opmode(struct dpu_hw_sspp *ctx, +void dpu_hw_sspp_setup_opmode(struct dpu_hw_sspp *ctx, u32 mask, u8 en) { const struct dpu_sspp_sub_blks *sblk =3D ctx->cap->sblk; @@ -189,7 +196,7 @@ static void _sspp_setup_opmode(struct dpu_hw_sspp *ctx, DPU_REG_WRITE(&ctx->hw, sblk->scaler_blk.base + SSPP_VIG_OP_MODE, opmode); } =20 -static void _sspp_setup_csc10_opmode(struct dpu_hw_sspp *ctx, +void dpu_hw_sspp_setup_csc10_opmode(struct dpu_hw_sspp *ctx, u32 mask, u8 en) { const struct dpu_sspp_sub_blks *sblk =3D ctx->cap->sblk; @@ -211,10 +218,6 @@ static void dpu_hw_sspp_setup_format(struct dpu_sw_pip= e *pipe, const struct msm_format *fmt, u32 flags) { struct dpu_hw_sspp *ctx =3D pipe->sspp; - struct dpu_hw_blk_reg_map *c; - u32 chroma_samp, unpack, src_format; - u32 opmode =3D 0; - u32 fast_clear =3D 0; u32 op_mode_off, unpack_pat_off, format_off; =20 if (!ctx || !fmt) @@ -231,6 +234,21 @@ static void dpu_hw_sspp_setup_format(struct dpu_sw_pip= e *pipe, format_off =3D SSPP_SRC_FORMAT_REC1; } =20 + dpu_hw_setup_format_impl(pipe, fmt, flags, ctx, op_mode_off, + unpack_pat_off, format_off, + SSPP_UBWC_STATIC_CTRL, SSPP_UBWC_ERROR_STATUS); +} + +void dpu_hw_setup_format_impl(struct dpu_sw_pipe *pipe, const struct msm_f= ormat *fmt, + u32 flags, struct dpu_hw_sspp *ctx, u32 op_mode_off, + u32 unpack_pat_off, u32 format_off, u32 ubwc_ctrl_off, + u32 ubwc_err_off) +{ + struct dpu_hw_blk_reg_map *c; + u32 chroma_samp, unpack, src_format; + u32 opmode; + u32 fast_clear; + c =3D &ctx->hw; opmode =3D DPU_REG_READ(c, op_mode_off); opmode &=3D ~(MDSS_MDP_OP_FLIP_LR | MDSS_MDP_OP_FLIP_UD | @@ -279,24 +297,24 @@ static void dpu_hw_sspp_setup_format(struct dpu_sw_pi= pe *pipe, switch (ctx->ubwc->ubwc_enc_version) { case UBWC_1_0: fast_clear =3D fmt->alpha_enable ? BIT(31) : 0; - DPU_REG_WRITE(c, SSPP_UBWC_STATIC_CTRL, + DPU_REG_WRITE(c, ubwc_ctrl_off, fast_clear | (ctx->ubwc->ubwc_swizzle & 0x1) | BIT(8) | (ctx->ubwc->highest_bank_bit << 4)); break; case UBWC_2_0: fast_clear =3D fmt->alpha_enable ? BIT(31) : 0; - DPU_REG_WRITE(c, SSPP_UBWC_STATIC_CTRL, + DPU_REG_WRITE(c, ubwc_ctrl_off, fast_clear | (ctx->ubwc->ubwc_swizzle) | (ctx->ubwc->highest_bank_bit << 4)); break; case UBWC_3_0: - DPU_REG_WRITE(c, SSPP_UBWC_STATIC_CTRL, + DPU_REG_WRITE(c, ubwc_ctrl_off, BIT(30) | (ctx->ubwc->ubwc_swizzle) | (ctx->ubwc->highest_bank_bit << 4)); break; case UBWC_4_0: - DPU_REG_WRITE(c, SSPP_UBWC_STATIC_CTRL, + DPU_REG_WRITE(c, ubwc_ctrl_off, MSM_FORMAT_IS_YUV(fmt) ? 0 : BIT(30)); break; } @@ -313,10 +331,10 @@ static void dpu_hw_sspp_setup_format(struct dpu_sw_pi= pe *pipe, =20 /* update scaler opmode, if appropriate */ if (test_bit(DPU_SSPP_CSC, &ctx->cap->features)) - _sspp_setup_opmode(ctx, VIG_OP_CSC_EN | VIG_OP_CSC_SRC_DATAFMT, + dpu_hw_sspp_setup_opmode(ctx, VIG_OP_CSC_EN | VIG_OP_CSC_SRC_DATAFMT, MSM_FORMAT_IS_YUV(fmt)); else if (test_bit(DPU_SSPP_CSC_10BIT, &ctx->cap->features)) - _sspp_setup_csc10_opmode(ctx, + dpu_hw_sspp_setup_csc10_opmode(ctx, VIG_CSC_10_EN | VIG_CSC_10_SRC_DATAFMT, MSM_FORMAT_IS_YUV(fmt)); =20 @@ -325,7 +343,7 @@ static void dpu_hw_sspp_setup_format(struct dpu_sw_pipe= *pipe, DPU_REG_WRITE(c, op_mode_off, opmode); =20 /* clear previous UBWC error */ - DPU_REG_WRITE(c, SSPP_UBWC_ERROR_STATUS, BIT(31)); + DPU_REG_WRITE(c, ubwc_err_off, BIT(31)); } =20 static void dpu_hw_sspp_setup_pe_config(struct dpu_hw_sspp *ctx, @@ -385,7 +403,7 @@ static void dpu_hw_sspp_setup_pe_config(struct dpu_hw_s= spp *ctx, tot_req_pixels[3]); } =20 -static void _dpu_hw_sspp_setup_scaler3(struct dpu_hw_sspp *ctx, +void dpu_hw_sspp_setup_scaler3(struct dpu_hw_sspp *ctx, struct dpu_hw_scaler3_cfg *scaler3_cfg, const struct msm_format *format) { @@ -405,15 +423,11 @@ static void dpu_hw_sspp_setup_rects(struct dpu_sw_pip= e *pipe, struct dpu_sw_pipe_cfg *cfg) { struct dpu_hw_sspp *ctx =3D pipe->sspp; - struct dpu_hw_blk_reg_map *c; - u32 src_size, src_xy, dst_size, dst_xy; u32 src_size_off, src_xy_off, out_size_off, out_xy_off; =20 if (!ctx || !cfg) return; =20 - c =3D &ctx->hw; - if (pipe->multirect_index =3D=3D DPU_SSPP_RECT_SOLO || pipe->multirect_index =3D=3D DPU_SSPP_RECT_0) { src_size_off =3D SSPP_SRC_SIZE; @@ -427,20 +441,8 @@ static void dpu_hw_sspp_setup_rects(struct dpu_sw_pipe= *pipe, out_xy_off =3D SSPP_OUT_XY_REC1; } =20 - - /* src and dest rect programming */ - src_xy =3D (cfg->src_rect.y1 << 16) | cfg->src_rect.x1; - src_size =3D (drm_rect_height(&cfg->src_rect) << 16) | - drm_rect_width(&cfg->src_rect); - dst_xy =3D (cfg->dst_rect.y1 << 16) | cfg->dst_rect.x1; - dst_size =3D (drm_rect_height(&cfg->dst_rect) << 16) | - drm_rect_width(&cfg->dst_rect); - - /* rectangle register programming */ - DPU_REG_WRITE(c, src_size_off, src_size); - DPU_REG_WRITE(c, src_xy_off, src_xy); - DPU_REG_WRITE(c, out_size_off, dst_size); - DPU_REG_WRITE(c, out_xy_off, dst_xy); + dpu_hw_setup_rects_impl(pipe, cfg, ctx, src_size_off, + src_xy_off, out_size_off, out_xy_off); } =20 static void dpu_hw_sspp_setup_sourceaddress(struct dpu_sw_pipe *pipe, @@ -497,7 +499,7 @@ static void dpu_hw_sspp_setup_sourceaddress(struct dpu_= sw_pipe *pipe, DPU_REG_WRITE(&ctx->hw, SSPP_SRC_YSTRIDE1, ystride1); } =20 -static void dpu_hw_sspp_setup_csc(struct dpu_hw_sspp *ctx, +void dpu_hw_sspp_setup_csc(struct dpu_hw_sspp *ctx, const struct dpu_csc_cfg *data) { u32 offset; @@ -519,21 +521,31 @@ static void dpu_hw_sspp_setup_csc(struct dpu_hw_sspp = *ctx, static void dpu_hw_sspp_setup_solidfill(struct dpu_sw_pipe *pipe, u32 colo= r) { struct dpu_hw_sspp *ctx =3D pipe->sspp; - struct dpu_hw_fmt_layout cfg; + u32 const_clr_off; =20 if (!ctx) return; =20 + if (pipe->multirect_index =3D=3D DPU_SSPP_RECT_SOLO || + pipe->multirect_index =3D=3D DPU_SSPP_RECT_0) + const_clr_off =3D SSPP_SRC_CONSTANT_COLOR; + else + const_clr_off =3D SSPP_SRC_CONSTANT_COLOR_REC1; + + dpu_hw_setup_solidfill_impl(pipe, color, ctx, const_clr_off); +} + +void dpu_hw_setup_solidfill_impl(struct dpu_sw_pipe *pipe, + u32 color, struct dpu_hw_sspp *ctx, + u32 const_clr_off) +{ + struct dpu_hw_fmt_layout cfg; + /* cleanup source addresses */ memset(&cfg, 0, sizeof(cfg)); ctx->ops.setup_sourceaddress(pipe, &cfg); =20 - if (pipe->multirect_index =3D=3D DPU_SSPP_RECT_SOLO || - pipe->multirect_index =3D=3D DPU_SSPP_RECT_0) - DPU_REG_WRITE(&ctx->hw, SSPP_SRC_CONSTANT_COLOR, color); - else - DPU_REG_WRITE(&ctx->hw, SSPP_SRC_CONSTANT_COLOR_REC1, - color); + DPU_REG_WRITE(&ctx->hw, const_clr_off, color); } =20 static void dpu_hw_sspp_setup_qos_lut(struct dpu_hw_sspp *ctx, @@ -547,14 +559,20 @@ static void dpu_hw_sspp_setup_qos_lut(struct dpu_hw_s= spp *ctx, cfg); } =20 +void dpu_hw_sspp_setup_qos_ctrl_impl(struct dpu_hw_sspp *ctx, + bool danger_safe_en, u32 ctrl_off) +{ + DPU_REG_WRITE(&ctx->hw, ctrl_off, + danger_safe_en ? SSPP_QOS_CTRL_DANGER_SAFE_EN : 0); +} + static void dpu_hw_sspp_setup_qos_ctrl(struct dpu_hw_sspp *ctx, bool danger_safe_en) { if (!ctx) return; =20 - DPU_REG_WRITE(&ctx->hw, SSPP_QOS_CTRL, - danger_safe_en ? SSPP_QOS_CTRL_DANGER_SAFE_EN : 0); + dpu_hw_sspp_setup_qos_ctrl_impl(ctx, danger_safe_en, SSPP_QOS_CTRL); } =20 static void dpu_hw_sspp_setup_cdp(struct dpu_sw_pipe *pipe, @@ -609,7 +627,7 @@ static void _setup_layer_ops(struct dpu_hw_sspp *c, c->ops.setup_multirect =3D dpu_hw_sspp_setup_multirect; =20 if (test_bit(DPU_SSPP_SCALER_QSEED3_COMPATIBLE, &features)) - c->ops.setup_scaler =3D _dpu_hw_sspp_setup_scaler3; + c->ops.setup_scaler =3D dpu_hw_sspp_setup_scaler3; =20 if (test_bit(DPU_SSPP_CDP, &features)) c->ops.setup_cdp =3D dpu_hw_sspp_setup_cdp; diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h b/drivers/gpu/drm/= msm/disp/dpu1/dpu_hw_sspp.h index 3822094f85bc..df3a320a9151 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h @@ -332,5 +332,57 @@ struct dpu_hw_sspp *dpu_hw_sspp_init(struct drm_device= *dev, int _dpu_hw_sspp_init_debugfs(struct dpu_hw_sspp *hw_pipe, struct dpu_kms = *kms, struct dentry *entry); =20 +void dpu_hw_sspp_setup_opmode(struct dpu_hw_sspp *ctx, + u32 mask, u8 en); + +void dpu_hw_sspp_setup_csc10_opmode(struct dpu_hw_sspp *ctx, + u32 mask, u8 en); + +void dpu_hw_sspp_setup_scaler3(struct dpu_hw_sspp *ctx, + struct dpu_hw_scaler3_cfg *scaler3_cfg, + const struct msm_format *format); + +void dpu_hw_sspp_setup_csc(struct dpu_hw_sspp *ctx, + const struct dpu_csc_cfg *data); + +void dpu_hw_setup_multirect_impl(struct dpu_sw_pipe *pipe, + struct dpu_hw_sspp *ctx, + u32 op_mode_off); + +void dpu_hw_setup_format_impl(struct dpu_sw_pipe *pipe, const struct msm_f= ormat *fmt, + u32 flags, struct dpu_hw_sspp *ctx, + u32 op_mode_off, u32 unpack_pat_off, u32 format_off, + u32 ubwc_ctrl_off, u32 ubwc_err_off); + +static inline void dpu_hw_setup_rects_impl(struct dpu_sw_pipe *pipe, struc= t dpu_sw_pipe_cfg *cfg, + struct dpu_hw_sspp *ctx, u32 src_size_off, + u32 src_xy_off, u32 out_size_off, u32 out_xy_off) +{ + struct dpu_hw_blk_reg_map *c; + u32 src_size, src_xy, dst_size, dst_xy; + + c =3D &ctx->hw; + + /* src and dest rect programming */ + src_xy =3D (cfg->src_rect.y1 << 16) | cfg->src_rect.x1; + src_size =3D (drm_rect_height(&cfg->src_rect) << 16) | + drm_rect_width(&cfg->src_rect); + dst_xy =3D (cfg->dst_rect.y1 << 16) | cfg->dst_rect.x1; + dst_size =3D (drm_rect_height(&cfg->dst_rect) << 16) | + drm_rect_width(&cfg->dst_rect); + + /* rectangle register programming */ + DPU_REG_WRITE(c, src_size_off, src_size); + DPU_REG_WRITE(c, src_xy_off, src_xy); + DPU_REG_WRITE(c, out_size_off, dst_size); + DPU_REG_WRITE(c, out_xy_off, dst_xy); +} + +void dpu_hw_setup_solidfill_impl(struct dpu_sw_pipe *pipe, + u32 color, struct dpu_hw_sspp *ctx, u32 const_clr_off); + +void dpu_hw_sspp_setup_qos_ctrl_impl(struct dpu_hw_sspp *ctx, + bool danger_safe_en, u32 ctrl_off); + #endif /*_DPU_HW_SSPP_H */ =20 --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 35E3E35F8C7 for ; Thu, 15 Jan 2026 09:29:30 +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=1768469372; cv=none; b=KVGu0s4xsDZmRhtsmgZOCHETJ0WN6fOVFecBL8Mkjix0ZRrWIzfzICfZ/ldPOOmUWrJO9THjZgbZSwp5P1BiX7k99xei6Akz3xc+DuxLGejLcw6F6HBSzRT4xFYzZdDWgtUAQvO1bz5vZjXIJdk8u266ck5WudlYUuiqy2mTP9k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469372; c=relaxed/simple; bh=ifTSFpRTG9lqlMih+i6qpiB865i9U5lOVo7bSzNHLOw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=XRR46UM1gpo7pXVsh2DHYDrG7wPVfUU3R78i464auberWT1/wMaTpd/je1zL1DRfQJ+t4dYfrx+jgNFaBM6c4zeLMbRp9/gSjYwa39NfcqMvUFWxdNpL43aYp0NjE9ew26HQ1Rh3b2Rx+eCh3ysJ3fTZzkhKZLzeGkoxJnkrkLw= 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=CcTxc1/s; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SElIQ7lp; 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="CcTxc1/s"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SElIQ7lp" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60F6fgsY606221 for ; Thu, 15 Jan 2026 09:29:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=3D5eFbKZluR dihF9lXdAKbEwni5+gMy7ATs8YU4+Bns=; b=CcTxc1/s79WSgEpvCsTQzgxDACq rKf5NeEkHZ9DO+f0EgXTXYtrudJZTguJTRK3WOYn/kytG7IECwL8ixan5o1dUJJR IUJcgjOGIpBViENKsC22KGZWPVal06isTJDimPbruSX8U5bK8LbuwmjcSX1NdOng Rgr594cMW/pplaYMbYRIKeOppLmosX7u5MYlAxq687CxVCiLuT8AXIx1nUkspIac wscYgzdmlrc7Led6Kb4G/RqjJe7O3yMvfijLPCmZIBiAaE095CFfz3dXn6R30RG8 vU/O4C6yFQfH6dQngKtYOWOFGExGeRIz1JOGiPWNYwkNpdjS6E72K85BM7g== 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 4bptna0jmj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:29:28 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-88a2d8b7ea5so7528786d6.0 for ; Thu, 15 Jan 2026 01:29:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469368; x=1769074168; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3D5eFbKZluRdihF9lXdAKbEwni5+gMy7ATs8YU4+Bns=; b=SElIQ7lpfcQjy9ki6vNsDXOlueEVlwxbKiOhJzCRfHVIWtXyOQk4Go9CwzbCF0JmLt 0yXxFtIcqK8fzrA2pNlB0+WDP6b/6uo4Nly+SEm0B1jMEytD6CempdWkeheZzirHnIBK mG9irGo9N8v6IV2nPSerFfuEFaFVVSBaYxccAr7cXygRJxU8d8p/0WQFUQQEHEM1QCPS ZDx6Wtw7rUgoXCw3byMR6NRCzN6yWfyYIwFpzYH50uj2xq3fwlRT5pMM/mGKzei+HDgk lVh9v+Hpb1Wh3MKgedg8MljpanCVKoOviLGEpFs4UjIaQRBusS16Gp39A7kHH5AvH8d1 LsOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469368; x=1769074168; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3D5eFbKZluRdihF9lXdAKbEwni5+gMy7ATs8YU4+Bns=; b=LqXstqlv5xV42LeBoYqLToYPR+BQ9kgm3v4nu3mVnqCbtjU3eTqamnA79QvycH9otW 7fPNH8DzF5wZ1qwqK+95pPTd8Sz85X1E7iZ23be140Rm9zkqkKBRiEjZ7s3OaqC1x8X8 G31AgwflhhYJAfQ98yXIlNU/HKimZfObCg6/TaRUxOtBRm1cy7bEzzqSCl0xqMCB9i8h V9H2Vs+5fmSsfm1cJxJNnwvuzIK8E3JeZ98TMsTxYZb8l8271ZAG9EIB8r48rabWi2oZ EfYE4b0GagtwWbc8MlPvOE5GnUNJdUIsqM3qLIYzfVXgoGu2HeMNK1SS+TM2jF/oRt/a AajQ== X-Forwarded-Encrypted: i=1; AJvYcCXu3Gz47cDBj9lk8SxwC5mpnydmwXtKgIGbbv6DFpZbVdVKOnzwm0g+NB7AOqOQHyuIpWdGwSKkmbNyji0=@vger.kernel.org X-Gm-Message-State: AOJu0YxSKdaBQRW0VdoLtyVMt5cKVvr76Lgu/S07nPGBmzx6c4/Vc7g1 HbpkBNGl/RAkFC4GJgat0fakz7jJyhxHrtYci+w1NmPjDnj/XfzJCbGchKVIU+9V4o5TcfrHQnU 3+DxWOKA/kTybDHXlm6Nf63PEAsykNEIwxtLVdCh/wGXvxTVZo9MBbUn7CUzWkczMm18= X-Gm-Gg: AY/fxX6UtJlW+JNHoEjjsEBd9IE2px8/84/qPqthWFykKiN83r171wNU/26VQInSn0J OwocAY89FHV+H0EndweXMF20iH4zIwZJhnKVEm/fQqJcsQxYVcgXeM2qATZ8HORLA7ArwCw4/gG eDrlVCuH+l3Nqe8JJNXwin38W6Vwy5Y0h/IJKy1lQuOWZn+S5iXc314B/Ddrn68NHUVnBP62OsP ulpxEtIsovJEyi35Z8Sz5hpPj4MSad6KoWDXRGR481f1WW5CsOj+UN6SwxTqV9NbY9fPz4h3iY9 K6O3QXHXC0Z44LBLu02WxVgNpqNgvB0TEh7tpuRUA/PFs9N3sLo6q8gO/m3aX52Nvcu/9LtJ1jw udLGs0qSkmuSsZ9ARQIR5qB2GQNwVZFDTQ7Zgt3L9bw0601+Rgsp8H17eyQiN9UFo3Os= X-Received: by 2002:a05:6214:2507:b0:888:8533:4648 with SMTP id 6a1803df08f44-892743f1762mr72375896d6.58.1768469367955; Thu, 15 Jan 2026 01:29:27 -0800 (PST) X-Received: by 2002:a05:6214:2507:b0:888:8533:4648 with SMTP id 6a1803df08f44-892743f1762mr72375696d6.58.1768469367414; Thu, 15 Jan 2026 01:29:27 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.29.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:29:27 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com Subject: [PATCH v6 10/12] drm/msm/dpu: Add Kaanapali SSPP sub-block support Date: Thu, 15 Jan 2026 17:27:47 +0800 Message-Id: <20260115092749.533-11-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: gmAXLgMQ1HqDopxsGor91PmDbCfyMgkz X-Proofpoint-ORIG-GUID: gmAXLgMQ1HqDopxsGor91PmDbCfyMgkz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfX+MFLRhtjkYy6 EWtNC54xN5eoMqbtrAuwb5zcgcz5LsQ1FHfzwt/ANFt4NffRVT6dpFovMSxhui/GCEWDQB6oH8B 85PjiO/EwxJxH/IlVAX8HqUFn2VpnzzyiiYXyzrC5h2NbLwzvaojf5np/Zrx4a+ysAbuKCfqp/C MaI0iBQ/hwgNxqog9LZOLI+keMRXVCnzfcgI7DUKu9oM56w7zS/f6nfyNl2yEId2WD0snGOZgqT CdvwuR7VN74jQhMlmyDDoJz04evude5cLOLPajY4/LRwRLvmpn21dAEBJEg9nwwckh5LgNtzlp3 SIgl4iP2Nn95g5rDj5XubeCdNFDtc50AG2xgMMCwDfMQy2b6/dF3FwVUX1XGE53PKJq4VkGREkl U9P4WdVh8JM1oW3iVOYbglFHjIS3mjXBBHlbtG5+za0MoWiIJuisCF4ZRdJNIAHYG/tHO/aHdIH iZKuZwSNM9u7nDyagvQ== X-Authority-Analysis: v=2.4 cv=fsHRpV4f c=1 sm=1 tr=0 ts=6968b378 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=IoldKcXwaph4SihcyF8A:9 a=OIgjcC2v60KrkQgK7BGD:22 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 bulkscore=0 adultscore=0 spamscore=0 clxscore=1015 impostorscore=0 phishscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang Add support for Kaanapali platform SSPP sub-blocks, which introduce structural changes including register additions, removals, and relocations. Add the new common and rectangle blocks, and update register definitions and handling to ensure compatibility with DPU v13.0. Co-developed-by: Yongxing Mou Signed-off-by: Yongxing Mou Signed-off-by: Yuanjie Yang Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/Makefile | 1 + .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 14 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 14 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 4 + .../gpu/drm/msm/disp/dpu1/dpu_hw_sspp_v13.c | 321 ++++++++++++++++++ drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c | 18 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h | 3 + 7 files changed, 371 insertions(+), 4 deletions(-) create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp_v13.c diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index 8aa7d07303fb..8b94c5f1cb68 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -86,6 +86,7 @@ msm-display-$(CONFIG_DRM_MSM_DPU) +=3D \ disp/dpu1/dpu_hw_lm.o \ disp/dpu1/dpu_hw_pingpong.o \ disp/dpu1/dpu_hw_sspp.o \ + disp/dpu1/dpu_hw_sspp_v13.o \ disp/dpu1/dpu_hw_dspp.o \ disp/dpu1/dpu_hw_merge3d.o \ disp/dpu1/dpu_hw_top.o \ diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h b/drivers/gpu/d= rm/msm/disp/dpu1/dpu_hw_catalog.h index 4964e70610d1..a056920f890a 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h @@ -208,6 +208,18 @@ struct dpu_dsc_blk { u32 len; }; =20 +/** + * struct dpu_sspp_v13_rec_blk - SSPP REC sub-blk information + * @name: string name for debug purposes + * @base: offset of this sub-block relative to the block offset + * @len: register block length of this sub-block + */ +struct dpu_sspp_v13_rec_blk { + char name[DPU_HW_BLK_NAME_LEN]; + u32 base; + u32 len; +}; + /** * enum dpu_qos_lut_usage - define QoS LUT use cases */ @@ -294,6 +306,8 @@ struct dpu_sspp_sub_blks { u32 qseed_ver; struct dpu_scaler_blk scaler_blk; struct dpu_pp_blk csc_blk; + struct dpu_sspp_v13_rec_blk sspp_rec0_blk; + struct dpu_sspp_v13_rec_blk sspp_rec1_blk; =20 const u32 *format_list; u32 num_formats; diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c b/drivers/gpu/drm/= msm/disp/dpu1/dpu_hw_sspp.c index 197a2c584c73..3a9a14291fff 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c @@ -234,6 +234,12 @@ static void dpu_hw_sspp_setup_format(struct dpu_sw_pip= e *pipe, format_off =3D SSPP_SRC_FORMAT_REC1; } =20 + if (fmt->fetch_mode !=3D MDP_FETCH_LINEAR) { + DPU_REG_WRITE(&ctx->hw, SSPP_FETCH_CONFIG, + DPU_FETCH_CONFIG_RESET_VALUE | + ctx->ubwc->highest_bank_bit << 18); + } + dpu_hw_setup_format_impl(pipe, fmt, flags, ctx, op_mode_off, unpack_pat_off, format_off, SSPP_UBWC_STATIC_CTRL, SSPP_UBWC_ERROR_STATUS); @@ -291,9 +297,6 @@ void dpu_hw_setup_format_impl(struct dpu_sw_pipe *pipe,= const struct msm_format if (MSM_FORMAT_IS_UBWC(fmt)) opmode |=3D MDSS_MDP_OP_BWC_EN; src_format |=3D (fmt->fetch_mode & 3) << 30; /*FRAME_FORMAT */ - DPU_REG_WRITE(c, SSPP_FETCH_CONFIG, - DPU_FETCH_CONFIG_RESET_VALUE | - ctx->ubwc->highest_bank_bit << 18); switch (ctx->ubwc->ubwc_enc_version) { case UBWC_1_0: fast_clear =3D fmt->alpha_enable ? BIT(31) : 0; @@ -724,7 +727,10 @@ struct dpu_hw_sspp *dpu_hw_sspp_init(struct drm_device= *dev, =20 hw_pipe->mdss_ver =3D mdss_rev; =20 - _setup_layer_ops(hw_pipe, hw_pipe->cap->features, mdss_rev); + if (mdss_rev->core_major_ver >=3D 13) + dpu_hw_sspp_init_v13(hw_pipe, hw_pipe->cap->features, mdss_rev); + else + _setup_layer_ops(hw_pipe, hw_pipe->cap->features, mdss_rev); =20 return hw_pipe; } diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h b/drivers/gpu/drm/= msm/disp/dpu1/dpu_hw_sspp.h index df3a320a9151..69d68cc916b2 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h @@ -384,5 +384,9 @@ void dpu_hw_setup_solidfill_impl(struct dpu_sw_pipe *pi= pe, void dpu_hw_sspp_setup_qos_ctrl_impl(struct dpu_hw_sspp *ctx, bool danger_safe_en, u32 ctrl_off); =20 +void dpu_hw_sspp_init_v13(struct dpu_hw_sspp *c, + unsigned long features, + const struct dpu_mdss_version *mdss_rev); + #endif /*_DPU_HW_SSPP_H */ =20 diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp_v13.c b/drivers/gpu/= drm/msm/disp/dpu1/dpu_hw_sspp_v13.c new file mode 100644 index 000000000000..e65f1fc026fd --- /dev/null +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp_v13.c @@ -0,0 +1,321 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include + +#include "dpu_hw_sspp.h" + +/* >=3D v13 DPU */ +/* CMN Registers -> Source Surface Processing Pipe Common SSPP registers */ +/* Name Offset */ +#define SSPP_CMN_CLK_CTRL 0x0 +#define SSPP_CMN_CLK_STATUS 0x4 +#define SSPP_CMN_MULTI_REC_OP_MODE 0x10 +#define SSPP_CMN_ADDR_CONFIG 0x14 +#define SSPP_CMN_CAC_CTRL 0x20 +#define SSPP_CMN_SYS_CACHE_MODE 0x24 +#define SSPP_CMN_QOS_CTRL 0x28 + +#define SSPP_CMN_FILL_LEVEL_SCALE 0x3c +#define SSPP_CMN_FILL_LEVELS 0x40 +#define SSPP_CMN_STATUS 0x44 +#define SSPP_CMN_FETCH_DMA_RD_OTS 0x48 +#define SSPP_CMN_FETCH_DTB_WR_PLANE0 0x4c +#define SSPP_CMN_FETCH_DTB_WR_PLANE1 0x50 +#define SSPP_CMN_FETCH_DTB_WR_PLANE2 0x54 +#define SSPP_CMN_DTB_UNPACK_RD_PLANE0 0x58 +#define SSPP_CMN_DTB_UNPACK_RD_PLANE1 0x5c +#define SSPP_CMN_DTB_UNPACK_RD_PLANE2 0x60 +#define SSPP_CMN_UNPACK_LINE_COUNT 0x64 +#define SSPP_CMN_TPG_CONTROL 0x68 +#define SSPP_CMN_TPG_CONFIG 0x6c +#define SSPP_CMN_TPG_COMPONENT_LIMITS 0x70 +#define SSPP_CMN_TPG_RECTANGLE 0x74 +#define SSPP_CMN_TPG_BLACK_WHITE_PATTERN_FRAMES 0x78 +#define SSPP_CMN_TPG_RGB_MAPPING 0x7c +#define SSPP_CMN_TPG_PATTERN_GEN_INIT_VAL 0x80 + +/*RECRegisterset*/ +/*Name Offset*/ +#define SSPP_REC_SRC_FORMAT 0x0 +#define SSPP_REC_SRC_UNPACK_PATTERN 0x4 +#define SSPP_REC_SRC_OP_MODE 0x8 +#define SSPP_REC_SRC_CONSTANT_COLOR 0xc +#define SSPP_REC_SRC_IMG_SIZE 0x10 +#define SSPP_REC_SRC_SIZE 0x14 +#define SSPP_REC_SRC_XY 0x18 +#define SSPP_REC_OUT_SIZE 0x1c +#define SSPP_REC_OUT_XY 0x20 +#define SSPP_REC_SW_PIX_EXT_LR 0x24 +#define SSPP_REC_SW_PIX_EXT_TB 0x28 +#define SSPP_REC_SRC_SIZE_ODX 0x30 +#define SSPP_REC_SRC_XY_ODX 0x34 +#define SSPP_REC_OUT_SIZE_ODX 0x38 +#define SSPP_REC_OUT_XY_ODX 0x3c +#define SSPP_REC_SW_PIX_EXT_LR_ODX 0x40 +#define SSPP_REC_SW_PIX_EXT_TB_ODX 0x44 +#define SSPP_REC_PRE_DOWN_SCALE 0x48 +#define SSPP_REC_SRC0_ADDR 0x4c +#define SSPP_REC_SRC1_ADDR 0x50 +#define SSPP_REC_SRC2_ADDR 0x54 +#define SSPP_REC_SRC3_ADDR 0x58 +#define SSPP_REC_SRC_YSTRIDE0 0x5c +#define SSPP_REC_SRC_YSTRIDE1 0x60 +#define SSPP_REC_CURRENT_SRC0_ADDR 0x64 +#define SSPP_REC_CURRENT_SRC1_ADDR 0x68 +#define SSPP_REC_CURRENT_SRC2_ADDR 0x6c +#define SSPP_REC_CURRENT_SRC3_ADDR 0x70 +#define SSPP_REC_SRC_ADDR_SW_STATUS 0x74 +#define SSPP_REC_CDP_CNTL 0x78 +#define SSPP_REC_TRAFFIC_SHAPER 0x7c +#define SSPP_REC_TRAFFIC_SHAPER_PREFILL 0x80 +#define SSPP_REC_PD_MEM_ALLOC 0x84 +#define SSPP_REC_QOS_CLAMP 0x88 +#define SSPP_REC_UIDLE_CTRL_VALUE 0x8c +#define SSPP_REC_UBWC_STATIC_CTRL 0x90 +#define SSPP_REC_UBWC_STATIC_CTRL_OVERRIDE 0x94 +#define SSPP_REC_UBWC_STATS_ROI 0x98 +#define SSPP_REC_UBWC_STATS_WORST_TILE_ROW_BW_ROI0 0x9c +#define SSPP_REC_UBWC_STATS_TOTAL_BW_ROI0 0xa0 +#define SSPP_REC_UBWC_STATS_WORST_TILE_ROW_BW_ROI1 0xa4 +#define SSPP_REC_UBWC_STATS_TOTAL_BW_ROI1 0xa8 +#define SSPP_REC_UBWC_STATS_WORST_TILE_ROW_BW_ROI2 0xac +#define SSPP_REC_UBWC_STATS_TOTAL_BW_ROI2 0xb0 +#define SSPP_REC_EXCL_REC_CTRL 0xb4 +#define SSPP_REC_EXCL_REC_SIZE 0xb8 +#define SSPP_REC_EXCL_REC_XY 0xbc +#define SSPP_REC_LINE_INSERTION_CTRL 0xc0 +#define SSPP_REC_LINE_INSERTION_OUT_SIZE 0xc4 +#define SSPP_REC_FETCH_PIPE_ACTIVE 0xc8 +#define SSPP_REC_META_ERROR_STATUS 0xcc +#define SSPP_REC_UBWC_ERROR_STATUS 0xd0 +#define SSPP_REC_FLUSH_CTRL 0xd4 +#define SSPP_REC_INTR_EN 0xd8 +#define SSPP_REC_INTR_STATUS 0xdc +#define SSPP_REC_INTR_CLEAR 0xe0 +#define SSPP_REC_HSYNC_STATUS 0xe4 +#define SSPP_REC_FP16_CONFIG 0x150 +#define SSPP_REC_FP16_CSC_MATRIX_COEFF_R_0 0x154 +#define SSPP_REC_FP16_CSC_MATRIX_COEFF_R_1 0x158 +#define SSPP_REC_FP16_CSC_MATRIX_COEFF_G_0 0x15c +#define SSPP_REC_FP16_CSC_MATRIX_COEFF_G_1 0x160 +#define SSPP_REC_FP16_CSC_MATRIX_COEFF_B_0 0x164 +#define SSPP_REC_FP16_CSC_MATRIX_COEFF_B_1 0x168 +#define SSPP_REC_FP16_CSC_PRE_CLAMP_R 0x16c +#define SSPP_REC_FP16_CSC_PRE_CLAMP_G 0x170 +#define SSPP_REC_FP16_CSC_PRE_CLAMP_B 0x174 +#define SSPP_REC_FP16_CSC_POST_CLAMP 0x178 + +static inline u32 dpu_hw_sspp_calculate_rect_off(enum dpu_sspp_multirect_i= ndex rect_index, + struct dpu_hw_sspp *ctx) +{ + return (rect_index =3D=3D DPU_SSPP_RECT_SOLO || rect_index =3D=3D DPU_SSP= P_RECT_0) ? + ctx->cap->sblk->sspp_rec0_blk.base : ctx->cap->sblk->sspp_rec1_blk.base; +} + +static void dpu_hw_sspp_setup_multirect_v13(struct dpu_sw_pipe *pipe) +{ + struct dpu_hw_sspp *ctx =3D pipe->sspp; + + if (!ctx) + return; + + dpu_hw_setup_multirect_impl(pipe, ctx, SSPP_CMN_MULTI_REC_OP_MODE); +} + +static void dpu_hw_sspp_setup_format_v13(struct dpu_sw_pipe *pipe, + const struct msm_format *fmt, u32 flags) +{ + struct dpu_hw_sspp *ctx =3D pipe->sspp; + u32 op_mode_off, unpack_pat_off, format_off; + u32 ubwc_ctrl_off, ubwc_err_off; + u32 offset; + + if (!ctx || !fmt) + return; + + offset =3D dpu_hw_sspp_calculate_rect_off(pipe->multirect_index, ctx); + + op_mode_off =3D offset + SSPP_REC_SRC_OP_MODE; + unpack_pat_off =3D offset + SSPP_REC_SRC_UNPACK_PATTERN; + format_off =3D offset + SSPP_REC_SRC_FORMAT; + ubwc_ctrl_off =3D offset + SSPP_REC_UBWC_STATIC_CTRL; + ubwc_err_off =3D offset + SSPP_REC_UBWC_ERROR_STATUS; + + dpu_hw_setup_format_impl(pipe, fmt, flags, ctx, op_mode_off, + unpack_pat_off, format_off, ubwc_ctrl_off, ubwc_err_off); +} + +static void dpu_hw_sspp_setup_pe_config_v13(struct dpu_hw_sspp *ctx, + struct dpu_hw_pixel_ext *pe_ext) +{ + struct dpu_hw_blk_reg_map *c; + u8 color; + u32 lr_pe[4], tb_pe[4]; + const u32 bytemask =3D 0xff; + u32 offset =3D ctx->cap->sblk->sspp_rec0_blk.base; + + if (!ctx || !pe_ext) + return; + + c =3D &ctx->hw; + /* program SW pixel extension override for all pipes*/ + for (color =3D 0; color < DPU_MAX_PLANES; color++) { + /* color 2 has the same set of registers as color 1 */ + if (color =3D=3D 2) + continue; + + lr_pe[color] =3D ((pe_ext->right_ftch[color] & bytemask) << 24) | + ((pe_ext->right_rpt[color] & bytemask) << 16) | + ((pe_ext->left_ftch[color] & bytemask) << 8) | + (pe_ext->left_rpt[color] & bytemask); + + tb_pe[color] =3D ((pe_ext->btm_ftch[color] & bytemask) << 24) | + ((pe_ext->btm_rpt[color] & bytemask) << 16) | + ((pe_ext->top_ftch[color] & bytemask) << 8) | + (pe_ext->top_rpt[color] & bytemask); + } + + /* color 0 */ + DPU_REG_WRITE(c, SSPP_REC_SW_PIX_EXT_LR + offset, lr_pe[0]); + DPU_REG_WRITE(c, SSPP_REC_SW_PIX_EXT_TB + offset, tb_pe[0]); + + /* color 1 and color 2 */ + DPU_REG_WRITE(c, SSPP_REC_SW_PIX_EXT_LR_ODX + offset, lr_pe[1]); + DPU_REG_WRITE(c, SSPP_REC_SW_PIX_EXT_TB_ODX + offset, tb_pe[1]); +} + +static void dpu_hw_sspp_setup_rects_v13(struct dpu_sw_pipe *pipe, + struct dpu_sw_pipe_cfg *cfg) +{ + struct dpu_hw_sspp *ctx =3D pipe->sspp; + u32 src_size_off, src_xy_off, out_size_off, out_xy_off; + u32 offset; + + if (!ctx || !cfg) + return; + + offset =3D dpu_hw_sspp_calculate_rect_off(pipe->multirect_index, ctx); + + src_size_off =3D offset + SSPP_REC_SRC_SIZE; + src_xy_off =3D offset + SSPP_REC_SRC_XY; + out_size_off =3D offset + SSPP_REC_OUT_SIZE; + out_xy_off =3D offset + SSPP_REC_OUT_XY; + + dpu_hw_setup_rects_impl(pipe, cfg, ctx, src_size_off, + src_xy_off, out_size_off, out_xy_off); +} + +static void dpu_hw_sspp_setup_sourceaddress_v13(struct dpu_sw_pipe *pipe, + struct dpu_hw_fmt_layout *layout) +{ + struct dpu_hw_sspp *ctx =3D pipe->sspp; + int i; + u32 offset, ystride0, ystride1; + + if (!ctx) + return; + + offset =3D dpu_hw_sspp_calculate_rect_off(pipe->multirect_index, ctx); + + for (i =3D 0; i < ARRAY_SIZE(layout->plane_addr); i++) + DPU_REG_WRITE(&ctx->hw, offset + SSPP_REC_SRC0_ADDR + i * 0x4, + layout->plane_addr[i]); + + ystride0 =3D (layout->plane_pitch[0]) | (layout->plane_pitch[2] << 16); + ystride1 =3D (layout->plane_pitch[1]) | (layout->plane_pitch[3] << 16); + + DPU_REG_WRITE(&ctx->hw, offset + SSPP_REC_SRC_YSTRIDE0, ystride0); + DPU_REG_WRITE(&ctx->hw, offset + SSPP_REC_SRC_YSTRIDE1, ystride1); +} + +static void dpu_hw_sspp_setup_solidfill_v13(struct dpu_sw_pipe *pipe, u32 = color) +{ + struct dpu_hw_sspp *ctx =3D pipe->sspp; + u32 const_clr_off; + u32 offset; + + if (!ctx) + return; + + offset =3D dpu_hw_sspp_calculate_rect_off(pipe->multirect_index, ctx); + const_clr_off =3D offset + SSPP_REC_SRC_CONSTANT_COLOR; + + dpu_hw_setup_solidfill_impl(pipe, color, ctx, const_clr_off); +} + +static void dpu_hw_sspp_setup_qos_lut_v13(struct dpu_hw_sspp *ctx, + struct dpu_hw_qos_cfg *cfg) +{ + if (!ctx || !cfg) + return; + + dpu_hw_setup_qos_lut_v13(&ctx->hw, cfg); +} + +static void dpu_hw_sspp_setup_qos_ctrl_v13(struct dpu_hw_sspp *ctx, + bool danger_safe_en) +{ + if (!ctx) + return; + + dpu_hw_sspp_setup_qos_ctrl_impl(ctx, danger_safe_en, SSPP_CMN_QOS_CTRL); +} + +static void dpu_hw_sspp_setup_cdp_v13(struct dpu_sw_pipe *pipe, + const struct msm_format *fmt, + bool enable) +{ + struct dpu_hw_sspp *ctx =3D pipe->sspp; + u32 offset =3D 0; + + if (!ctx) + return; + + offset =3D dpu_hw_sspp_calculate_rect_off(pipe->multirect_index, ctx); + dpu_setup_cdp(&ctx->hw, offset + SSPP_REC_CDP_CNTL, fmt, enable); +} + +static bool dpu_hw_sspp_setup_clk_force_ctrl_v13(struct dpu_hw_sspp *ctx, = bool enable) +{ + static const struct dpu_clk_ctrl_reg sspp_clk_ctrl =3D { + .reg_off =3D SSPP_CMN_CLK_CTRL, + .bit_off =3D 0 + }; + + return dpu_hw_clk_force_ctrl(&ctx->hw, &sspp_clk_ctrl, enable); +} + +void dpu_hw_sspp_init_v13(struct dpu_hw_sspp *c, + unsigned long features, const struct dpu_mdss_version *mdss_rev) +{ + c->ops.setup_format =3D dpu_hw_sspp_setup_format_v13; + c->ops.setup_rects =3D dpu_hw_sspp_setup_rects_v13; + c->ops.setup_sourceaddress =3D dpu_hw_sspp_setup_sourceaddress_v13; + c->ops.setup_solidfill =3D dpu_hw_sspp_setup_solidfill_v13; + c->ops.setup_pe =3D dpu_hw_sspp_setup_pe_config_v13; + + if (test_bit(DPU_SSPP_QOS, &features)) { + c->ops.setup_qos_lut =3D dpu_hw_sspp_setup_qos_lut_v13; + c->ops.setup_qos_ctrl =3D dpu_hw_sspp_setup_qos_ctrl_v13; + } + + if (test_bit(DPU_SSPP_CSC, &features) || + test_bit(DPU_SSPP_CSC_10BIT, &features)) + c->ops.setup_csc =3D dpu_hw_sspp_setup_csc; + + if (test_bit(DPU_SSPP_SMART_DMA_V1, &c->cap->features) || + test_bit(DPU_SSPP_SMART_DMA_V2, &c->cap->features)) + c->ops.setup_multirect =3D dpu_hw_sspp_setup_multirect_v13; + + if (test_bit(DPU_SSPP_SCALER_QSEED3_COMPATIBLE, &features)) + c->ops.setup_scaler =3D dpu_hw_sspp_setup_scaler3; + + if (test_bit(DPU_SSPP_CDP, &features)) + c->ops.setup_cdp =3D dpu_hw_sspp_setup_cdp_v13; + + c->ops.setup_clk_force_ctrl =3D dpu_hw_sspp_setup_clk_force_ctrl_v13; +} diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c b/drivers/gpu/drm/= msm/disp/dpu1/dpu_hw_util.c index 486be346d40d..c7a5f4a0d054 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c @@ -81,6 +81,13 @@ static u32 dpu_hw_util_log_mask =3D DPU_DBG_MASK_NONE; #define QOS_CREQ_LUT_0 0x14 #define QOS_CREQ_LUT_1 0x18 =20 +/* CMN_QOS_LUT */ +#define SSPP_CMN_QOS_CTRL 0x28 +#define SSPP_CMN_DANGER_LUT 0x2c +#define SSPP_CMN_SAFE_LUT 0x30 +#define SSPP_CMN_CREQ_LUT_0 0x34 +#define SSPP_CMN_CREQ_LUT_1 0x38 + /* QOS_QOS_CTRL */ #define QOS_QOS_CTRL_DANGER_SAFE_EN BIT(0) #define QOS_QOS_CTRL_DANGER_VBLANK_MASK GENMASK(5, 4) @@ -475,6 +482,17 @@ void _dpu_hw_setup_qos_lut(struct dpu_hw_blk_reg_map *= c, u32 offset, cfg->danger_safe_en ? QOS_QOS_CTRL_DANGER_SAFE_EN : 0); } =20 +void dpu_hw_setup_qos_lut_v13(struct dpu_hw_blk_reg_map *c, + const struct dpu_hw_qos_cfg *cfg) +{ + DPU_REG_WRITE(c, SSPP_CMN_DANGER_LUT, cfg->danger_lut); + DPU_REG_WRITE(c, SSPP_CMN_SAFE_LUT, cfg->safe_lut); + DPU_REG_WRITE(c, SSPP_CMN_CREQ_LUT_0, cfg->creq_lut); + DPU_REG_WRITE(c, SSPP_CMN_CREQ_LUT_1, cfg->creq_lut >> 32); + DPU_REG_WRITE(c, SSPP_CMN_QOS_CTRL, + cfg->danger_safe_en ? QOS_QOS_CTRL_DANGER_SAFE_EN : 0); +} + /* * note: Aside from encoders, input_sel should be set to 0x0 by default */ diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h b/drivers/gpu/drm/= msm/disp/dpu1/dpu_hw_util.h index 6fe65bc3bff4..628befc65ce3 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h @@ -367,6 +367,9 @@ void _dpu_hw_setup_qos_lut(struct dpu_hw_blk_reg_map *c= , u32 offset, bool qos_8lvl, const struct dpu_hw_qos_cfg *cfg); =20 +void dpu_hw_setup_qos_lut_v13(struct dpu_hw_blk_reg_map *c, + const struct dpu_hw_qos_cfg *cfg); + void dpu_hw_setup_misr(struct dpu_hw_blk_reg_map *c, u32 misr_ctrl_offset, u8 input_sel); =20 --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 9C01338B7AA for ; Thu, 15 Jan 2026 09:29:37 +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=1768469379; cv=none; b=A7DrBHkAoHRRw/L8i+Z/vqf7YolJVhDMLJbGPpSQiUqqEDzGllHAffZ8Naa1ezeoCdnSXSUDcup4/iNzlz7LjHN63JJoO5Zd1FAXPmgGyW3G1PlhMnvqQnI6S+U50x83MhlgshL7EnpqTjwdjqQyW5Jh5z/AGjli15IgsegyzFM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469379; c=relaxed/simple; bh=VNGjZmnG2NosKSvdk7t2xoe7LfqUSp5bkIZ1Y4r7mlY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ttZN6/zoomllXAwKq6YAKj92+m75YgVGVLZkSxRI4x/oCuyU7HuK5Hqto4n4XZvUWvfrqZmvAjtFNIClhASGKbT085zK/fSCSnecTjmEaPH6Ofw6Mzc8V3fOmblzm0VsoPy6r48fE53kr6bKzPWNYJw4PaDxknSRK7Ts6eDiBBM= 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=Fngj9iO2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=iTpnHjHZ; 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="Fngj9iO2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="iTpnHjHZ" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60F6fmQv1744898 for ; Thu, 15 Jan 2026 09:29:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=ROM7fWPFWUz cmTgkmDPvcUNBg1ta7vfdGwJEX44Q0B4=; b=Fngj9iO2ztJCKq0RZTyVTe+d7HU 3m8wcb9vIxsO4XFUBQRggRwPSIx3lJ5yaFO3vgT48pD+fVJqBnBxqi8uXFBMzc1q aSTSpIe+WBTg2ehIWrxprqvJsA0qHnIiX8gbDtifMow8mcGm+67E5NNajjF3nDjE 3KJYO49INrlbWdicwP712CabM7h3uqfnYSsFGcP0oYRcpCPDSrrGcFtfyN99mJ9j FMWDi0phLFY3lEm+HFDhryI54Nv/Bz76bSfMorgznch6LLGSIrp/99peZwqss0Im u21pLMGdd/FQnZWynlj3QV/VtTeXIGvwHOKFh01e5v7cYx41C/TR/VMFwtQ== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bptu2gj8w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:29:36 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-88a316ede50so16565136d6.0 for ; Thu, 15 Jan 2026 01:29:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469376; x=1769074176; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ROM7fWPFWUzcmTgkmDPvcUNBg1ta7vfdGwJEX44Q0B4=; b=iTpnHjHZ0diGF3vtDSa4V0uyOsJMQGWcR1SbZeGZPHBR/yzhnWzji/MUkOvW0vNmfH Mtafxn7oYTW6mnuCdWC78zbgIyZ37or0Rq6owj49FHJ2naEp0pIP05eO08L6ml8mIcqo ZCx7dLifpqyMrqYAVxncCuuoXTgMMI2y1NTNrv4c7HykCBkI6Y+gb7N/N1cJk/kkXloO NPTi/6kitSilCNIQIe4MFOK0mTx36mK+hwsBFTDyOMs5SIaH8RGx1/jK3MDxCiqyjY4g pT7p7m9ccFhqZzNoPpC80ab8rGLTAMPMt2a+HZQo0QBxUDUEO71GmE3uBS9V6dL4sS8y SsdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469376; x=1769074176; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ROM7fWPFWUzcmTgkmDPvcUNBg1ta7vfdGwJEX44Q0B4=; b=WvQXdoTTau2qKPFs431FSg84ABPiz1JihmYXNxrDGbLH/RuXTCkWh1MLoT1VTbe4yl I9Jsqp1z4Mo+WsQ3OCDcJddSZ4CSvkTD4rgeaTYeOFHyaWkxpgpFXj+E9IBYo9gk3PNM ss5plDg2l3i9zrUqHRaq5ma1qXCQ54Yx4ksOPcYqVLGlja2p3bwBeLk7RGD1Sh0cCf1A WW9KyE/lgtrfcqlnnfciTIj1NqOdXqhFV/TS1zgHNuxEJ3tYzQ0v1Wwb797xRJ010zjS duGhTdshhfcgUojRoPw09gjyeCZiU5YL9LeCzRrpQBDY4S0a+B7cX1I+kZPk4/KI4ruf gnqg== X-Forwarded-Encrypted: i=1; AJvYcCW4YHoH+T7hSZ+cPOg/Sj9LARZvxSrj+ScxMranQ147Q+TyFpjVNUszkk8Gd00P47EzwF8qEJfigW6VtM8=@vger.kernel.org X-Gm-Message-State: AOJu0YywudkdPpHvFwMRKTyd1s0WAUrURmLCyo5mvgy/wjCl9/MbZVWs q+tAuR27/36hhgbQ/TCbKfWqs9KC9LWbwBjewFiIbfYCuj+Wdpr4rLHFoUJPCpwQtk0PqleKpxM m+0EI2DqOnFrg2m1HLz4WRbmq3gZz6VasLIuCTybODMap649Rl6zEq6tJcjZ15HuA+Hg= X-Gm-Gg: AY/fxX68DuBLqvL+NBi2dZ7q2idQuZlVFoRkIeVdApPLMZVqoGX41/lU4h4ZczokYkj JGGrzR8f3qqlFbcuhDys7FlEqc5dL1dPDAOPuKYtXNrcy/AIRMPXnQFe62STOMAUf7bOKIBqd8e Qr8b5q3V2x0Al4u6/LRnmmy5m1PalHWzkvngCG2z8xJ9RlHg6meae367xw2ToS6Gr1ow5O8BzLR /BPVbkcSZ3Ppo6taOvrccawulcJxBXXtt3kHsEK8e2uu64TLNJaUeuEm487Bry6r4tmCHwbbV0m qO8cHFhxrBGoX0l82+ervi4XSKUwkDITaWDI5QgDOFZChUzmRkv5O8G2BPtpWxn2uTdv6W8f+RC MH8uWpXf/R0x4ypUa2AEfGcW0ZrpgpYCzXEnuTcAHdyShT1c++Ix8YcrStfS+X9Dn6mM= X-Received: by 2002:ad4:5e87:0:b0:88a:2444:36e9 with SMTP id 6a1803df08f44-89275c87512mr75285316d6.67.1768469375906; Thu, 15 Jan 2026 01:29:35 -0800 (PST) X-Received: by 2002:ad4:5e87:0:b0:88a:2444:36e9 with SMTP id 6a1803df08f44-89275c87512mr75285086d6.67.1768469375520; Thu, 15 Jan 2026 01:29:35 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.29.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:29:35 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Dmitry Baryshkov Subject: [PATCH v6 11/12] drm/msm/dpu: Add Kaanapali WB support Date: Thu, 15 Jan 2026 17:27:48 +0800 Message-Id: <20260115092749.533-12-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfX6Do4nnSSota5 Xu958wdOdUsy7dUvCIdla/X7MHvAq4kK/2sjkdbt74GrWj4Ow0GA5UmKEbstk+ogAs8mEP7dWHF Grx25rnQu/7PS4b0puE06vKO5IdQ+TYmrmt8c5Xm7iqaMGyygASR4TXsK+K8cdQhlTDNLik5ftx LfzL3WWC7kOm3J+ZsXLuTPLlrB34TzTAYbuMPkPNg122f5116VgNYHIzdpi7R/iLsBPmm6tOcX9 qhmnEfCl6hRO9tU+5/Qa4TEVXDmMcpgraAUfkRguvBljV9RQ1M7v00wzN5Hh3OpLnDvJYrJzjBT VBx5yPWWoSNWrt6hju6DQ/RhkteL98ye/RNtB3x8UbHvgy4o+8lzMjLgmN+qd9ZPGOqKnwa4gar yqBUnJyklETRSb4Sm9wEP0QLDFmZVEQjiy+Jil2EVYRvPN1kwjYbbmN20sVZ4pdl589YJ04+sJC j82NOXDwkxIYXP8srDA== X-Proofpoint-ORIG-GUID: oW_8e4a2srgTniGH75oUCCoTBmSM_JRp X-Authority-Analysis: v=2.4 cv=W6Y1lBWk c=1 sm=1 tr=0 ts=6968b380 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=kCfvZJGldO2mi53t-5YA:9 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-GUID: oW_8e4a2srgTniGH75oUCCoTBmSM_JRp 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 phishscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 malwarescore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang Add support for Kaanapali WB, which introduce register relocations, use the updated registeri definition to ensure compatibility. Co-developed-by: Yongxing Mou Signed-off-by: Yongxing Mou Reviewed-by: Dmitry Baryshkov Signed-off-by: Yuanjie Yang --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c b/drivers/gpu/drm/ms= m/disp/dpu1/dpu_hw_wb.c index 478a091aeccf..4da4bd6a997c 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c @@ -148,6 +148,15 @@ static void dpu_hw_wb_setup_qos_lut(struct dpu_hw_wb *= ctx, cfg); } =20 +static void dpu_hw_wb_setup_qos_lut_v13(struct dpu_hw_wb *ctx, + struct dpu_hw_qos_cfg *cfg) +{ + if (!ctx || !cfg) + return; + + dpu_hw_setup_qos_lut_v13(&ctx->hw, cfg); +} + static void dpu_hw_wb_setup_cdp(struct dpu_hw_wb *ctx, const struct msm_format *fmt, bool enable) @@ -202,8 +211,12 @@ static void _setup_wb_ops(struct dpu_hw_wb_ops *ops, if (test_bit(DPU_WB_XY_ROI_OFFSET, &features)) ops->setup_roi =3D dpu_hw_wb_roi; =20 - if (test_bit(DPU_WB_QOS, &features)) - ops->setup_qos_lut =3D dpu_hw_wb_setup_qos_lut; + if (test_bit(DPU_WB_QOS, &features)) { + if (mdss_rev->core_major_ver >=3D 13) + ops->setup_qos_lut =3D dpu_hw_wb_setup_qos_lut_v13; + else + ops->setup_qos_lut =3D dpu_hw_wb_setup_qos_lut; + } =20 if (test_bit(DPU_WB_CDP, &features)) ops->setup_cdp =3D dpu_hw_wb_setup_cdp; --=20 2.34.1 From nobody Sat Feb 7 08:55:00 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 D70A835B130 for ; Thu, 15 Jan 2026 09:29:47 +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=1768469389; cv=none; b=d/m1/9fXEjPxkUXLBPiO1kJP2gjPHLoggKVGgblUelX5qmkrsQjUd6vi558Zr3C1lHrLbBtKzPNLawh+i2wsrgSIyCl9y6x6yTdvoEI6MxZX67q16pmwEm6PSYDW2v2g2qR6TiFJlMvRniS9cUf6r88nHoQ7RYjf8TVzyNySqzA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768469389; c=relaxed/simple; bh=MOM1BcB68BSvX+rZ1PaSy1HsFXGSOkRZF0w0NHrTyZg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rbQJdpr+nqahhjKIuzh0jOIZVyGlq92HcCmh+TLx+Qmu4qjnaA1NnOO5SQCPHmBtuQxRNJcp2gtJtsE2xLNF9GByPFTMaXBZk4zNEbxTjp0pZgKOVF4dO4zWhUDPvNqFk9lJ8MmaY98H1YQvP5uExMnEf6DRqKoMPQTi+jWTnEs= 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=dTqC9fxb; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CJgRnW4M; 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="dTqC9fxb"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CJgRnW4M" 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 60F6foaZ3419541 for ; Thu, 15 Jan 2026 09:29:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=Tf2VczJ0ukV lwvxqKbMFPXgG9ia9Xoo25/cEspWuIOY=; b=dTqC9fxbkmW1wP/4UbIFllerQWa u7Kc9C8gqTGryGUIcHJb+tsYC3UPnjFtifL3SXaXbj1MCZIlDiPk15I6rGQXfR0D DFMpbPswhJ1tjXV6LD3YCd8lrsSzSzMpIQ5U6uzjK7DpqPd/wVy63k4j4U0MP7VG w36jxujUDAHPTAFgGuIu+6kvGSnr42Z+j/5KzlG5ZG3oeG6l26vtOocHz8JH/don 7q96R7AzlEaJ6L0ADsJrQppWcvni8zxc/jEg8tWBXMK87d8YQztCC8eP7WP3EbvL Vt2MC1A0kTSuui1trkZbKq30FNL7h/0IRDq7uNj3QBTUkI6r+FKDl43NnHA== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bpjj89xbj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 15 Jan 2026 09:29:46 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8887c0d3074so18610066d6.2 for ; Thu, 15 Jan 2026 01:29:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768469385; x=1769074185; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Tf2VczJ0ukVlwvxqKbMFPXgG9ia9Xoo25/cEspWuIOY=; b=CJgRnW4Myqpj6lo6kBjgBSbf0C6cCM+5RdBBkNAxc1TnTzHMi3RPTJTUdYUQifJTlv 5VqB31c00KOr+zcCzbQlhJqXH6N82bckIwjp6+Q3UWPJUH9MI6ou0wSDERzf6TOQgOM5 zFym86tpVvJLUcx9NFW97LjCEroFZ7E3czQvPyHTSyFJVLg/zvNABbZtDT0ofmJElhON JzoImSvlfvqWf8kKxz0k++QDKD3Go+owl2UD6I6EikDOTwnM97rPFAncjIedft9H3NoJ Lq7xs38NfnhmP92wtaLnvM3PNpHnq+1cbo2U4Prnt+WoWIYzwm1Jgq6BXxF2XtHMBqRt Tu6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768469385; x=1769074185; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Tf2VczJ0ukVlwvxqKbMFPXgG9ia9Xoo25/cEspWuIOY=; b=AYb3vPAsreCz6FCVTdaKaJrU2GMoeDUtD3VIVQeg9KIvKMRzHk77nw26KMInNhjr6g FtaRy1C8qHPsn9tJG8egI6NhaL8hzhvcOV33Z0+ZCeAlpxVF8PligmWAglvwAGrKXn97 5LMayetUQ11F7n3miRitv2H6xmcmHV+Og+Zx3/EoA6n3HozpG3aKp0NBxC22GVt8uHGl XAx92bdcCDBTGBwDTcbm/c5FVBVrlU2ero/+sja3V/S/UQaWCXURJTFQXzWQVxh7eWOF ek9SCkvqsy0wdmteD3JdQpXOnCAHPZdGKvbGvrwn61xl/Y7iuW/DgQYlg+ak25UoPhdd PiBw== X-Forwarded-Encrypted: i=1; AJvYcCU3FJnai6cQ6RjdGQvrT/i95cJ+5nM+fd0dmIBXbRXy5RMke8SlfXbgD9pGMVfJroepsJc/YFpRjYWJdR4=@vger.kernel.org X-Gm-Message-State: AOJu0Ywu27/bEUakiuSYesnK5K5/gEVjaZUlSXWajjiaO+O5ToQ8Ljvl VWIIlIiwZCndcoy50P7LkZB2LzViZWyIYygHdL2G81gheTGXJR+u3e0FwRiJxVjUy+AKwBO4U7r fXtJQWIrjJd8v6YRAjoYOWkrI2GsCaLObZuNFx3SAxPelUP1Pw0lQRWon4R4DW3vdOxA= X-Gm-Gg: AY/fxX4SQlt3vI0N/MfPH9jSQEOKZS1nZpsFYfNAqYowDgW++dVtLJ9M5yUQwlR87vI ghnqM3t7LjwIltZrYbywDCKJ0j1qYghKPWq0xDWNUlMH1Yuo1KwYeMy3Cd8rxqYggH7r6HQbho1 IhQnFRiuEegBzA5nusFHLoYINQsCW92kvbP24uqIxjCUSevAf+8KNPAYv3bBXkgISoNk6AjvivK 3s4JPECc+CR/cXfJ55x1d4O83u/uhfdbYRJtDlPQXo5IY2RA7YzDqVmyaFffr1mFUOJERKWC1NN +bVxi/nDRN88o6UHfP1cMNmJB7mk4LLTgGNFLdFQEWQAq77Hv+MnjgvAJclfyk3PAOiW+Iv95ck 5S164IlAIkHuPdbMAQpzEDNjMWJ46ZdlGrHqvdQHP5FxeERCrvGsMnKtk/ac8KthWwlw= X-Received: by 2002:a05:6214:e82:b0:87c:1d9a:d0c8 with SMTP id 6a1803df08f44-892743a41bcmr64617896d6.27.1768469385130; Thu, 15 Jan 2026 01:29:45 -0800 (PST) X-Received: by 2002:a05:6214:e82:b0:87c:1d9a:d0c8 with SMTP id 6a1803df08f44-892743a41bcmr64617646d6.27.1768469384570; Thu, 15 Jan 2026 01:29:44 -0800 (PST) Received: from yuanjiey.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-892668a2419sm64388416d6.30.2026.01.15.01.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 01:29:44 -0800 (PST) From: yuanjie yang To: robin.clark@oss.qualcomm.com, lumag@kernel.org, jesszhan0024@gmail.com, sean@poorly.run, marijn.suijten@somainline.org, airlied@gmail.com, simona@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, konrad.dybcio@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, tingwei.zhang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, Dmitry Baryshkov Subject: [PATCH v6 12/12] drm/msm/dpu: Add support for Kaanapali DPU Date: Thu, 15 Jan 2026 17:27:49 +0800 Message-Id: <20260115092749.533-13-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> References: <20260115092749.533-1-yuanjie.yang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: 31O--Y4dbrWZRbOXjGN2nfE1Vvb0Zk51 X-Proofpoint-ORIG-GUID: 31O--Y4dbrWZRbOXjGN2nfE1Vvb0Zk51 X-Authority-Analysis: v=2.4 cv=EIELElZC c=1 sm=1 tr=0 ts=6968b38a cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=iVC9QAuiRl3Xz_40r_EA:9 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDA2NSBTYWx0ZWRfX/O8AXB7O6j8q ArxoqcPkm5LYahCasiV1vf4uSFpQcgWAQ/TlJ/+2nyWZtw3nRUBME79z7RS1PqAGtmocFhDIM9Y GlqmuVGzjHl9JT4kUCYx2rjwwAa/wa6wGsQb6mcmi390H1jeh0/cZGL/+nQEesjVqP8+EoKOePx zncAmNW1R4csoB/fPZk7QWLDxX+SDcnqSogOwGERSKesQkksiuE9LlEHDHi8U0MZeifpP0a/QOk JKWpzcL8W/an3UdVn6pFw1gHjvsTnh2VCodNeakKHMDJB7Z4Xu0oRexXjF6CAmaX6jjMb58NBw7 X/WzgwDblWVoi7EY7fWoXp237A+FEeaVOL7GMf7wPRxm4ALE3citSCHMV5xXLepA26zCzGcCI83 +ELu1t9VaFXgm8Z3werkEZx2SkMi6+r2q7R5UPzyvyQu2QCyQ9DLQqloybaXI5eCLXVDomk2Sxq lCV56tiQb+T0Lct7MCg== 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=2026-01-15_02,2026-01-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 impostorscore=0 malwarescore=0 suspectscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150065 Content-Type: text/plain; charset="utf-8" From: Yuanjie Yang Add support for Display Processing Unit (DPU) version 13.0 on the Kaanapali platform. This version introduces changes to the SSPP sub-block structure. Add common block and rectangle blocks to accommodate these structural modifications for compatibility. Co-developed-by: Yongxing Mou Signed-off-by: Yongxing Mou Reviewed-by: Dmitry Baryshkov Signed-off-by: Yuanjie Yang --- .../disp/dpu1/catalog/dpu_13_0_kaanapali.h | 492 ++++++++++++++++++ .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 41 ++ .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 1 + drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 1 + 4 files changed, 535 insertions(+) create mode 100644 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_13_0_kaanapal= i.h diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_13_0_kaanapali.h b/d= rivers/gpu/drm/msm/disp/dpu1/catalog/dpu_13_0_kaanapali.h new file mode 100644 index 000000000000..0b20401b04cf --- /dev/null +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_13_0_kaanapali.h @@ -0,0 +1,492 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#ifndef _DPU_13_0_KAANAPALI_H +#define _DPU_13_0_KAANAPALI_H + +static const struct dpu_caps kaanapali_dpu_caps =3D { + .max_mixer_width =3D DEFAULT_DPU_OUTPUT_LINE_WIDTH, + .max_mixer_blendstages =3D 0xb, + .has_src_split =3D true, + .has_dim_layer =3D true, + .has_idle_pc =3D true, + .has_3d_merge =3D true, + .max_linewidth =3D 8192, + .pixel_ram_size =3D DEFAULT_PIXEL_RAM_SIZE, +}; + +static const struct dpu_mdp_cfg kaanapali_mdp =3D { + .name =3D "top_0", + .base =3D 0, .len =3D 0x494, + .clk_ctrls =3D { + [DPU_CLK_CTRL_REG_DMA] =3D { .reg_off =3D 0x2bc, .bit_off =3D 20 }, + }, +}; + +static const struct dpu_ctl_cfg kaanapali_ctl[] =3D { + { + .name =3D "ctl_0", .id =3D CTL_0, + .base =3D 0x1f000, .len =3D 0x1000, + .intr_start =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 9), + }, { + .name =3D "ctl_1", .id =3D CTL_1, + .base =3D 0x20000, .len =3D 0x1000, + .intr_start =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 10), + }, { + .name =3D "ctl_2", .id =3D CTL_2, + .base =3D 0x21000, .len =3D 0x1000, + .intr_start =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 11), + }, { + .name =3D "ctl_3", .id =3D CTL_3, + .base =3D 0x22000, .len =3D 0x1000, + .intr_start =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 12), + }, { + .name =3D "ctl_4", .id =3D CTL_4, + .base =3D 0x23000, .len =3D 0x1000, + .intr_start =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 13), + }, { + .name =3D "ctl_5", .id =3D CTL_5, + .base =3D 0x24000, .len =3D 0x1000, + .intr_start =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 23), + }, +}; + +static const struct dpu_sspp_cfg kaanapali_sspp[] =3D { + { + .name =3D "sspp_0", .id =3D SSPP_VIG0, + .base =3D 0x2b000, .len =3D 0x84, + .features =3D VIG_SDM845_MASK_SDMA, + .sblk =3D &dpu_vig_sblk_qseed3_3_5, + .xin_id =3D 0, + .type =3D SSPP_TYPE_VIG, + }, { + .name =3D "sspp_1", .id =3D SSPP_VIG1, + .base =3D 0x34000, .len =3D 0x84, + .features =3D VIG_SDM845_MASK_SDMA, + .sblk =3D &dpu_vig_sblk_qseed3_3_5, + .xin_id =3D 4, + .type =3D SSPP_TYPE_VIG, + }, { + .name =3D "sspp_2", .id =3D SSPP_VIG2, + .base =3D 0x3d000, .len =3D 0x84, + .features =3D VIG_SDM845_MASK_SDMA, + .sblk =3D &dpu_vig_sblk_qseed3_3_5, + .xin_id =3D 8, + .type =3D SSPP_TYPE_VIG, + }, { + .name =3D "sspp_3", .id =3D SSPP_VIG3, + .base =3D 0x46000, .len =3D 0x84, + .features =3D VIG_SDM845_MASK_SDMA, + .sblk =3D &dpu_vig_sblk_qseed3_3_5, + .xin_id =3D 12, + .type =3D SSPP_TYPE_VIG, + }, { + .name =3D "sspp_8", .id =3D SSPP_DMA0, + .base =3D 0x97000, .len =3D 0x84, + .features =3D DMA_SDM845_MASK_SDMA, + .sblk =3D &dpu_dma_sblk, + .xin_id =3D 1, + .type =3D SSPP_TYPE_DMA, + }, { + .name =3D "sspp_9", .id =3D SSPP_DMA1, + .base =3D 0xa0000, .len =3D 0x84, + .features =3D DMA_SDM845_MASK_SDMA, + .sblk =3D &dpu_dma_sblk, + .xin_id =3D 5, + .type =3D SSPP_TYPE_DMA, + }, { + .name =3D "sspp_10", .id =3D SSPP_DMA2, + .base =3D 0xa9000, .len =3D 0x84, + .features =3D DMA_SDM845_MASK_SDMA, + .sblk =3D &dpu_dma_sblk, + .xin_id =3D 9, + .type =3D SSPP_TYPE_DMA, + }, { + .name =3D "sspp_11", .id =3D SSPP_DMA3, + .base =3D 0xb2000, .len =3D 0x84, + .features =3D DMA_SDM845_MASK_SDMA, + .sblk =3D &dpu_dma_sblk, + .xin_id =3D 13, + .type =3D SSPP_TYPE_DMA, + }, { + .name =3D "sspp_12", .id =3D SSPP_DMA4, + .base =3D 0xbb000, .len =3D 0x84, + .features =3D DMA_CURSOR_SDM845_MASK_SDMA, + .sblk =3D &dpu_dma_sblk, + .xin_id =3D 14, + .type =3D SSPP_TYPE_DMA, + }, { + .name =3D "sspp_13", .id =3D SSPP_DMA5, + .base =3D 0xc4000, .len =3D 0x84, + .features =3D DMA_CURSOR_SDM845_MASK_SDMA, + .sblk =3D &dpu_dma_sblk, + .xin_id =3D 15, + .type =3D SSPP_TYPE_DMA, + }, +}; + +static const struct dpu_lm_cfg kaanapali_lm[] =3D { + { + .name =3D "lm_0", .id =3D LM_0, + .base =3D 0x103000, .len =3D 0x400, + .features =3D MIXER_MSM8998_MASK, + .sblk =3D &sm8750_lm_sblk, + .lm_pair =3D LM_1, + .pingpong =3D PINGPONG_0, + .dspp =3D DSPP_0, + }, { + .name =3D "lm_1", .id =3D LM_1, + .base =3D 0x10b000, .len =3D 0x400, + .features =3D MIXER_MSM8998_MASK, + .sblk =3D &sm8750_lm_sblk, + .lm_pair =3D LM_0, + .pingpong =3D PINGPONG_1, + .dspp =3D DSPP_1, + }, { + .name =3D "lm_2", .id =3D LM_2, + .base =3D 0x113000, .len =3D 0x400, + .features =3D MIXER_MSM8998_MASK, + .sblk =3D &sm8750_lm_sblk, + .lm_pair =3D LM_3, + .pingpong =3D PINGPONG_2, + .dspp =3D DSPP_2, + }, { + .name =3D "lm_3", .id =3D LM_3, + .base =3D 0x11b000, .len =3D 0x400, + .features =3D MIXER_MSM8998_MASK, + .sblk =3D &sm8750_lm_sblk, + .lm_pair =3D LM_2, + .pingpong =3D PINGPONG_3, + .dspp =3D DSPP_3, + }, { + .name =3D "lm_4", .id =3D LM_4, + .base =3D 0x123000, .len =3D 0x400, + .features =3D MIXER_MSM8998_MASK, + .sblk =3D &sm8750_lm_sblk, + .lm_pair =3D LM_5, + .pingpong =3D PINGPONG_4, + }, { + .name =3D "lm_5", .id =3D LM_5, + .base =3D 0x12b000, .len =3D 0x400, + .features =3D MIXER_MSM8998_MASK, + .sblk =3D &sm8750_lm_sblk, + .lm_pair =3D LM_4, + .pingpong =3D PINGPONG_5, + }, { + .name =3D "lm_6", .id =3D LM_6, + .base =3D 0x133000, .len =3D 0x400, + .features =3D MIXER_MSM8998_MASK, + .sblk =3D &sm8750_lm_sblk, + .lm_pair =3D LM_7, + .pingpong =3D PINGPONG_6, + }, { + .name =3D "lm_7", .id =3D LM_7, + .base =3D 0x13b000, .len =3D 0x400, + .features =3D MIXER_MSM8998_MASK, + .sblk =3D &sm8750_lm_sblk, + .lm_pair =3D LM_6, + .pingpong =3D PINGPONG_7, + }, +}; + +static const struct dpu_dspp_cfg kaanapali_dspp[] =3D { + { + .name =3D "dspp_0", .id =3D DSPP_0, + .base =3D 0x105000, .len =3D 0x1800, + .sblk =3D &sm8750_dspp_sblk, + }, { + .name =3D "dspp_1", .id =3D DSPP_1, + .base =3D 0x10d000, .len =3D 0x1800, + .sblk =3D &sm8750_dspp_sblk, + }, { + .name =3D "dspp_2", .id =3D DSPP_2, + .base =3D 0x115000, .len =3D 0x1800, + .sblk =3D &sm8750_dspp_sblk, + }, { + .name =3D "dspp_3", .id =3D DSPP_3, + .base =3D 0x11d000, .len =3D 0x1800, + .sblk =3D &sm8750_dspp_sblk, + }, +}; + +static const struct dpu_pingpong_cfg kaanapali_pp[] =3D { + { + .name =3D "pingpong_0", .id =3D PINGPONG_0, + .base =3D 0x108000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_0, + .intr_done =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 8), + }, { + .name =3D "pingpong_1", .id =3D PINGPONG_1, + .base =3D 0x110000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_0, + .intr_done =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 9), + }, { + .name =3D "pingpong_2", .id =3D PINGPONG_2, + .base =3D 0x118000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_1, + .intr_done =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 10), + }, { + .name =3D "pingpong_3", .id =3D PINGPONG_3, + .base =3D 0x120000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_1, + .intr_done =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 11), + }, { + .name =3D "pingpong_4", .id =3D PINGPONG_4, + .base =3D 0x128000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_2, + .intr_done =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 30), + }, { + .name =3D "pingpong_5", .id =3D PINGPONG_5, + .base =3D 0x130000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_2, + .intr_done =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 31), + }, { + .name =3D "pingpong_6", .id =3D PINGPONG_6, + .base =3D 0x138000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_3, + .intr_done =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 20), + }, { + .name =3D "pingpong_7", .id =3D PINGPONG_7, + .base =3D 0x140000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_3, + .intr_done =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 21), + }, { + .name =3D "pingpong_cwb_0", .id =3D PINGPONG_CWB_0, + .base =3D 0x169000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_4, + }, { + .name =3D "pingpong_cwb_1", .id =3D PINGPONG_CWB_1, + .base =3D 0x169400, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_4, + }, { + .name =3D "pingpong_cwb_2", .id =3D PINGPONG_CWB_2, + .base =3D 0x16a000, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_5, + }, { + .name =3D "pingpong_cwb_3", .id =3D PINGPONG_CWB_3, + .base =3D 0x16a400, .len =3D 0, + .sblk =3D &kaanapali_pp_sblk, + .merge_3d =3D MERGE_3D_5, + }, +}; + +static const struct dpu_merge_3d_cfg kaanapali_merge_3d[] =3D { + { + .name =3D "merge_3d_0", .id =3D MERGE_3D_0, + .base =3D 0x163000, .len =3D 0x1c, + }, { + .name =3D "merge_3d_1", .id =3D MERGE_3D_1, + .base =3D 0x164000, .len =3D 0x1c, + }, { + .name =3D "merge_3d_2", .id =3D MERGE_3D_2, + .base =3D 0x165000, .len =3D 0x1c, + }, { + .name =3D "merge_3d_3", .id =3D MERGE_3D_3, + .base =3D 0x166000, .len =3D 0x1c, + }, { + .name =3D "merge_3d_4", .id =3D MERGE_3D_4, + .base =3D 0x169700, .len =3D 0x1c, + }, { + .name =3D "merge_3d_5", .id =3D MERGE_3D_5, + .base =3D 0x16a700, .len =3D 0x1c, + }, +}; + +/* + * NOTE: Each display compression engine (DCE) contains dual hard + * slice DSC encoders so both share same base address but with + * its own different sub block address. + */ +static const struct dpu_dsc_cfg kaanapali_dsc[] =3D { + { + .name =3D "dce_0_0", .id =3D DSC_0, + .base =3D 0x181000, .len =3D 0x8, + .features =3D BIT(DPU_DSC_NATIVE_42x_EN), + .sblk =3D &sm8750_dsc_sblk_0, + }, { + .name =3D "dce_0_1", .id =3D DSC_1, + .base =3D 0x181000, .len =3D 0x8, + .features =3D BIT(DPU_DSC_NATIVE_42x_EN), + .sblk =3D &sm8750_dsc_sblk_1, + }, { + .name =3D "dce_1_0", .id =3D DSC_2, + .base =3D 0x183000, .len =3D 0x8, + .features =3D BIT(DPU_DSC_NATIVE_42x_EN), + .sblk =3D &sm8750_dsc_sblk_0, + }, { + .name =3D "dce_1_1", .id =3D DSC_3, + .base =3D 0x183000, .len =3D 0x8, + .features =3D BIT(DPU_DSC_NATIVE_42x_EN), + .sblk =3D &sm8750_dsc_sblk_1, + }, { + .name =3D "dce_2_0", .id =3D DSC_4, + .base =3D 0x185000, .len =3D 0x8, + .features =3D BIT(DPU_DSC_NATIVE_42x_EN), + .sblk =3D &sm8750_dsc_sblk_0, + }, { + .name =3D "dce_2_1", .id =3D DSC_5, + .base =3D 0x185000, .len =3D 0x8, + .features =3D BIT(DPU_DSC_NATIVE_42x_EN), + .sblk =3D &sm8750_dsc_sblk_1, + }, { + .name =3D "dce_3_0", .id =3D DSC_6, + .base =3D 0x187000, .len =3D 0x8, + .features =3D BIT(DPU_DSC_NATIVE_42x_EN), + .sblk =3D &sm8750_dsc_sblk_0, + }, { + .name =3D "dce_3_1", .id =3D DSC_7, + .base =3D 0x187000, .len =3D 0x8, + .features =3D BIT(DPU_DSC_NATIVE_42x_EN), + .sblk =3D &sm8750_dsc_sblk_1, + }, +}; + +static const struct dpu_wb_cfg kaanapali_wb[] =3D { + { + .name =3D "wb_2", .id =3D WB_2, + .base =3D 0x16e000, .len =3D 0x2c8, + .features =3D WB_SDM845_MASK, + .format_list =3D wb2_formats_rgb_yuv, + .num_formats =3D ARRAY_SIZE(wb2_formats_rgb_yuv), + .xin_id =3D 6, + .vbif_idx =3D VBIF_RT, + .maxlinewidth =3D 4096, + .intr_wb_done =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4), + }, +}; + +static const struct dpu_cwb_cfg kaanapali_cwb[] =3D { + { + .name =3D "cwb_0", .id =3D CWB_0, + .base =3D 0x169200, .len =3D 0x20, + }, + { + .name =3D "cwb_1", .id =3D CWB_1, + .base =3D 0x169600, .len =3D 0x20, + }, + { + .name =3D "cwb_2", .id =3D CWB_2, + .base =3D 0x16a200, .len =3D 0x20, + }, + { + .name =3D "cwb_3", .id =3D CWB_3, + .base =3D 0x16a600, .len =3D 0x20, + }, +}; + +static const struct dpu_intf_cfg kaanapali_intf[] =3D { + { + .name =3D "intf_0", .id =3D INTF_0, + .base =3D 0x18d000, .len =3D 0x4bc, + .type =3D INTF_DP, + .controller_id =3D MSM_DP_CONTROLLER_0, + .prog_fetch_lines_worst_case =3D 24, + .intr_underrun =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), + .intr_vsync =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25), + }, { + .name =3D "intf_1", .id =3D INTF_1, + .base =3D 0x18e000, .len =3D 0x4bc, + .type =3D INTF_DSI, + .controller_id =3D MSM_DSI_CONTROLLER_0, + .prog_fetch_lines_worst_case =3D 24, + .intr_underrun =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), + .intr_vsync =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), + .intr_tear_rd_ptr =3D DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2), + }, { + .name =3D "intf_2", .id =3D INTF_2, + .base =3D 0x18f000, .len =3D 0x4bc, + .type =3D INTF_DSI, + .controller_id =3D MSM_DSI_CONTROLLER_1, + .prog_fetch_lines_worst_case =3D 24, + .intr_underrun =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), + .intr_vsync =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29), + .intr_tear_rd_ptr =3D DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2), + }, { + .name =3D "intf_3", .id =3D INTF_3, + .base =3D 0x190000, .len =3D 0x4bc, + .type =3D INTF_DP, + .controller_id =3D MSM_DP_CONTROLLER_1, + .prog_fetch_lines_worst_case =3D 24, + .intr_underrun =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), + .intr_vsync =3D DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31), + }, +}; + +static const struct dpu_perf_cfg kaanapali_perf_data =3D { + .max_bw_low =3D 21400000, + .max_bw_high =3D 30200000, + .min_core_ib =3D 2500000, + .min_llcc_ib =3D 0, + .min_dram_ib =3D 800000, + .min_prefill_lines =3D 35, + .danger_lut_tbl =3D {0x0ffff, 0x0ffff, 0x0}, + .safe_lut_tbl =3D {0xff00, 0xff00, 0xffff}, + .qos_lut_tbl =3D { + {.nentry =3D ARRAY_SIZE(kaanapali_qos_linear), + .entries =3D kaanapali_qos_linear + }, + {.nentry =3D ARRAY_SIZE(kaanapali_qos_macrotile), + .entries =3D kaanapali_qos_macrotile + }, + {.nentry =3D ARRAY_SIZE(sc7180_qos_nrt), + .entries =3D sc7180_qos_nrt + }, + /* TODO: macrotile-qseed is different from macrotile */ + }, + .cdp_cfg =3D { + {.rd_enable =3D 1, .wr_enable =3D 1}, + {.rd_enable =3D 1, .wr_enable =3D 0} + }, + .clk_inefficiency_factor =3D 105, + .bw_inefficiency_factor =3D 120, +}; + +static const struct dpu_mdss_version kaanapali_mdss_ver =3D { + .core_major_ver =3D 13, + .core_minor_ver =3D 0, +}; + +const struct dpu_mdss_cfg dpu_kaanapali_cfg =3D { + .mdss_ver =3D &kaanapali_mdss_ver, + .caps =3D &kaanapali_dpu_caps, + .mdp =3D &kaanapali_mdp, + .cdm =3D &dpu_cdm_13_x, + .ctl_count =3D ARRAY_SIZE(kaanapali_ctl), + .ctl =3D kaanapali_ctl, + .sspp_count =3D ARRAY_SIZE(kaanapali_sspp), + .sspp =3D kaanapali_sspp, + .mixer_count =3D ARRAY_SIZE(kaanapali_lm), + .mixer =3D kaanapali_lm, + .dspp_count =3D ARRAY_SIZE(kaanapali_dspp), + .dspp =3D kaanapali_dspp, + .pingpong_count =3D ARRAY_SIZE(kaanapali_pp), + .pingpong =3D kaanapali_pp, + .dsc_count =3D ARRAY_SIZE(kaanapali_dsc), + .dsc =3D kaanapali_dsc, + .merge_3d_count =3D ARRAY_SIZE(kaanapali_merge_3d), + .merge_3d =3D kaanapali_merge_3d, + .wb_count =3D ARRAY_SIZE(kaanapali_wb), + .wb =3D kaanapali_wb, + .cwb_count =3D ARRAY_SIZE(kaanapali_cwb), + .cwb =3D sm8650_cwb, + .intf_count =3D ARRAY_SIZE(kaanapali_intf), + .intf =3D kaanapali_intf, + .vbif_count =3D ARRAY_SIZE(sm8650_vbif), + .vbif =3D sm8650_vbif, + .perf =3D &kaanapali_perf_data, +}; + +#endif diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/d= rm/msm/disp/dpu1/dpu_hw_catalog.c index 23bb39b471b7..be3492df8bde 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c @@ -241,6 +241,23 @@ static const u32 wb2_formats_rgb_yuv[] =3D { .rotation_cfg =3D NULL, \ } =20 +/* kaanapali SSPP common configuration */ +#define _VIG_SBLK_REC0_REC1(scaler_ver) \ + { \ + .sspp_rec0_blk =3D {.name =3D "sspp_rec0", \ + .base =3D 0x1000, .len =3D 0x180,}, \ + .csc_blk =3D {.name =3D "csc", \ + .base =3D 0x1800, .len =3D 0x100,}, \ + .scaler_blk =3D {.name =3D "scaler", \ + .version =3D scaler_ver, \ + .base =3D 0x2000, .len =3D 0xec,}, \ + .sspp_rec1_blk =3D {.name =3D "sspp_rec1", \ + .base =3D 0x3000, .len =3D 0x180,}, \ + .format_list =3D plane_formats_yuv, \ + .num_formats =3D ARRAY_SIZE(plane_formats_yuv), \ + .rotation_cfg =3D NULL, \ + } + #define _VIG_SBLK_ROT(scaler_ver, rot_cfg) \ { \ .scaler_blk =3D {.name =3D "scaler", \ @@ -329,6 +346,9 @@ static const struct dpu_sspp_sub_blks dpu_vig_sblk_qsee= d3_3_3 =3D static const struct dpu_sspp_sub_blks dpu_vig_sblk_qseed3_3_4 =3D _VIG_SBLK(SSPP_SCALER_VER(3, 4)); =20 +static const struct dpu_sspp_sub_blks dpu_vig_sblk_qseed3_3_5 =3D + _VIG_SBLK_REC0_REC1(SSPP_SCALER_VER(3, 5)); + static const struct dpu_sspp_sub_blks dpu_rgb_sblk =3D _RGB_SBLK(); =20 static const struct dpu_sspp_sub_blks dpu_dma_sblk =3D _DMA_SBLK(); @@ -412,6 +432,11 @@ static const struct dpu_pingpong_sub_blks sc7280_pp_sb= lk =3D { .len =3D 0x20, .version =3D 0x20000}, }; =20 +static const struct dpu_pingpong_sub_blks kaanapali_pp_sblk =3D { + .dither =3D {.name =3D "dither", .base =3D 0xc0, + .len =3D 0x40, .version =3D 0x30000}, +}; + /************************************************************* * DSC sub blocks config *************************************************************/ @@ -452,6 +477,13 @@ static const struct dpu_cdm_cfg dpu_cdm_5_x =3D { .base =3D 0x79200, }; =20 +static const struct dpu_cdm_cfg dpu_cdm_13_x =3D { + .name =3D "cdm_0", + .id =3D CDM_0, + .len =3D 0x240, + .base =3D 0x19e000, +}; + /************************************************************* * VBIF sub blocks config *************************************************************/ @@ -639,6 +671,10 @@ static const struct dpu_qos_lut_entry sc7180_qos_linea= r[] =3D { {.fl =3D 0, .lut =3D 0x0011222222335777}, }; =20 +static const struct dpu_qos_lut_entry kaanapali_qos_linear[] =3D { + {.fl =3D 0, .lut =3D 0x0011223344556666}, +}; + static const struct dpu_qos_lut_entry sm6350_qos_linear_macrotile[] =3D { {.fl =3D 0, .lut =3D 0x0011223445566777 }, }; @@ -668,6 +704,10 @@ static const struct dpu_qos_lut_entry sc7180_qos_macro= tile[] =3D { {.fl =3D 0, .lut =3D 0x0011223344556677}, }; =20 +static const struct dpu_qos_lut_entry kaanapali_qos_macrotile[] =3D { + {.fl =3D 0, .lut =3D 0x0011223344556666}, +}; + static const struct dpu_qos_lut_entry sc8180x_qos_macrotile[] =3D { {.fl =3D 10, .lut =3D 0x0000000344556677}, }; @@ -727,3 +767,4 @@ static const struct dpu_qos_lut_entry sc7180_qos_nrt[] = =3D { #include "catalog/dpu_10_0_sm8650.h" #include "catalog/dpu_12_0_sm8750.h" #include "catalog/dpu_12_2_glymur.h" +#include "catalog/dpu_13_0_kaanapali.h" diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h b/drivers/gpu/d= rm/msm/disp/dpu1/dpu_hw_catalog.h index a056920f890a..24a14f8f8ad6 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h @@ -764,6 +764,7 @@ struct dpu_mdss_cfg { }; =20 extern const struct dpu_mdss_cfg dpu_glymur_cfg; +extern const struct dpu_mdss_cfg dpu_kaanapali_cfg; extern const struct dpu_mdss_cfg dpu_msm8917_cfg; extern const struct dpu_mdss_cfg dpu_msm8937_cfg; extern const struct dpu_mdss_cfg dpu_msm8953_cfg; diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/= disp/dpu1/dpu_kms.c index f4c9767c418d..0623f1dbed97 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -1506,6 +1506,7 @@ static const struct dev_pm_ops dpu_pm_ops =3D { =20 static const struct of_device_id dpu_dt_match[] =3D { { .compatible =3D "qcom,glymur-dpu", .data =3D &dpu_glymur_cfg, }, + { .compatible =3D "qcom,kaanapali-dpu", .data =3D &dpu_kaanapali_cfg, }, { .compatible =3D "qcom,msm8917-mdp5", .data =3D &dpu_msm8917_cfg, }, { .compatible =3D "qcom,msm8937-mdp5", .data =3D &dpu_msm8937_cfg, }, { .compatible =3D "qcom,msm8953-mdp5", .data =3D &dpu_msm8953_cfg, }, --=20 2.34.1