From nobody Sun Feb 8 14:56:12 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 B9833357A40 for ; Thu, 8 Jan 2026 08:57:38 +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=1767862665; cv=none; b=jJovABuIrYYe5e6XjOi+HPF/Q+MilTNXM5hNuGGgySD0rEwiDqhLX0aOg+o6zy1ySdCF5Hdlxyw7iqdesQPVntP/7AefDDZKNmT4SjHWDepgOH3gGEu2GwKTR02riOYAX7bkgCeH/yFgpotGy9EA9dYYtOVpFaqPSnJzr/qFr84= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862665; c=relaxed/simple; bh=lT56rcO/2wjclbI67SuJRUAAr4AVOFYX1OPiKxP0VqQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=FardSUroMNAgBDgSwl2AVIphy+km0bvdiKhF+yMF1ysDVg9ktmup3g0/x7CcX3gGhXvC8DPIbPiOfvIP4ejAtBpXyeHl58VAlEJruKLySdHPM0MRqq+cmVe9NAR1dELxz0ye0597Frw6bBULA/FKUDjbvxJX4JE4DJs+Y5qJCws= 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=EEBYl6Kv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PyZy7E1I; 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="EEBYl6Kv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PyZy7E1I" 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 6081Dtb2877492 for ; Thu, 8 Jan 2026 08:57:33 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=EEBYl6KvoIoXRs1gtt7AnVm2KvL 7QB60ZZCQAY83/RkQikpbqT81WdjFOfaIi7maOlknf8JZfjxJMb2b7ksj+uE75uz 6I8fKvDwDahSxLqemigUlAp35wQ5TVKUd7w34TrF//eFoSUlYz4G9cnXj2UaV8dL ZuGA3mdCM1AdozYJWEPCTMom/BAqf3+Es23IywaReZIeCOkM9gKTEbHAX2gd9SAj 7gjsxVWaPhdw2XNlWfdABnnXSF8u4egnN1M2wZBjdNN+Q3++0nk0BtBCBc8FHZJx CExANVrHuHbRpr1Fjn94ATa+8Ak2WDHO2lnugqQXYC4K3up3alM3yFu35Cw== 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 4bj2r318fe-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:57:33 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8887c0d3074so69482086d6.2 for ; Thu, 08 Jan 2026 00:57:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862653; x=1768467453; 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=PyZy7E1IuNbn+ffOOzvZixmSL7e6Un9lNa5VFtKbNFj6dBhmWttUrc6RqAXpQqINe+ e8LKrTyRZgF+BhasMbd7JzyYp3dr5XyJiUrMUxSKFOqmh5PB9/PpOT7qeNkHU82JcxC9 7NLjNQhq+zPb+3JXb7QOH7djzAY87vMj+C358oEGZUhJaeTFXErRdAE854JPPJyYdrUO +Eh5eulKJ/yiI7blRxmngltkCdxZ2zSgrpfHlc3OTnqgf7aGS3x301ma7SypUX2JStt6 KQ1bAynxVKu1QVSTmaiSEvyrxPRFnsRoXBduIRujjMYRb4lrd88RdM/xCg0Ybk3mTc9O Ugpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862653; x=1768467453; 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=FxrfrTNzVq3eIEZLB6WUxrAKhOkFY2IbXj25YofoRwec2EdTeFrkHqckkcRip+QgQe SXXO2SC7CBN4nuUo6I8oB5y6+/yF5CBK4YRpQgC0OQjJ/2GRCtKHJx4QsDtdYEd7vEn9 qCXRhkyW9AwEONda69wfXzVrwrH6ezzhV2qwk98up2S4dlxYvBT+PqtTDT370+nvOsea B5WU1LZBNiys+q9uU34BL7pv5JTSBcaMTvSsUSmkXFJ7CTorwwot+mGLgAd8FMlz4KPB dySe9OI4ukiO/zVUrATPZKGhQzg1TI7IdgzPdGb84Zc8c+Dz2xu9m8Y/V7tQczvMzlVf s+gA== X-Forwarded-Encrypted: i=1; AJvYcCVLkXZwsm29MdMU3/AKAM0ljKn0TySwZmJMZWlznr9GK0v6IIhIXDfQs0WtPUfUfW4RYWHRd8EDLzYAy2c=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1XQA9damE9asyDo6CTTzGqmtGDIxjYk6/hzQHvN0UWPdrh+3B kKQsHxm6QblCxvIba3UQqndTLnmqJTt1o/LZ7bKIs+0qlMJQxbWc071zxeYcW3uQc4XqiadlXJv 9zSnU7H/hT5Eq9ruR9ZdSYzRDAQAwpkRzX+AC3wK2MDLJdj/2QDc0jC6hIYyP1Mdsc9s= X-Gm-Gg: AY/fxX7R8GQa1dlVO2hCUiYQwheAmT/cQWX3X4FVHwGIYWbGCKH0loMeFW5Wj0qb82P gRa+4Wi092yYrhGwKcT9EHl35u/CFbOlRw/1/1z9NLoOodxSjRr/VGjcMtJxzEQfPPCSjRwB70+ kWpuCs8nWJJK1Xld7zoUElKeIgcXD17HL4Fv+lswPM5/wNYzIbBkDfzRat5/t6XAnhHJvtweJTN Wr4dbjtdGJEluqyikL48B01onzZ/6MbzxVQBW2AlGv3scx89oEtiVOqY4Ci1e3SVgQRRoyATVz/ SUR0jqJTVVbySzbaIlm4IYG66gkwgKAnQcYjf4uol7+H1keawY2Y/LKTqhwvX36JVfuGlPCJOf/ +zp1xNShB6px2XzLgf4UJBR2dHubT5fiZYP64o4s2tvFatc2OGECDw5kVLASKWkmHYs8= X-Received: by 2002:a05:6214:4113:b0:890:8244:1eac with SMTP id 6a1803df08f44-890841af6d4mr74583006d6.29.1767862653068; Thu, 08 Jan 2026 00:57:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IE/Evr+b0nr4KGzD5p/6Wv1eoS+TOm0VkfP2EcZzyUCS11BVsI7wQRinfhjGKtU/zIVgywDBw== X-Received: by 2002:a05:6214:4113:b0:890:8244:1eac with SMTP id 6a1803df08f44-890841af6d4mr74582696d6.29.1767862652628; Thu, 08 Jan 2026 00:57: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-890770cc7eesm49680326d6.2.2026.01.08.00.57.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:57: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 Subject: [PATCH v5 01/12] dt-bindings: display/msm: qcom,kaanapali-dpu: Add Kaanapali Date: Thu, 8 Jan 2026 16:56:48 +0800 Message-Id: <20260108085659.790-2-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfXxJ0O9g/TpO3M pGjQfTmastiIukF3jvlJT8WYkq+BrgC7dKM+dQYkhCvS7jjGkXIZmPNay9H1dHiii/dnI7foUPL bv2AlAdgrdhjYy+MmqSLK7KKBE0/Hp0DnbY5RbX+q10sZCiTv7GAspah3YZppfsLEgqMj0r7Up9 SaKNr0zYjAsDbaYPr3expfOqXa2nb9LjayeiNPgnQHg9l5ZheFJqW1mAJI5MWR45Tluej4lpH5V s2l64Td2yvb66shckr72Ezw7GSZQD5x5Ou8x37HrihNH7r9qb06euHb6g72tUZ/YGhVE9Cu2vjz ZD1Qkq34MieVWRTFkOFmM+q0MWSNbVzMtKVtBQ36joeuGhCXR/uwIGa46lM+fXD2gZME55qLc+L w+CUE150Bj/U7fkyZXAA5VOcWOCEahrxpndyc8hqc2EzJdwICDfa62UZ+CP1LAdStlLUfJ2tRIn YtnAqZrQ3tNdrszohqA== X-Proofpoint-ORIG-GUID: EIO-MGeIvVMT8SgOVLG6Qg4crdI1z5uB X-Proofpoint-GUID: EIO-MGeIvVMT8SgOVLG6Qg4crdI1z5uB X-Authority-Analysis: v=2.4 cv=S4nUAYsP c=1 sm=1 tr=0 ts=695f717d 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=VwQbUJbxAAAA:8 a=LEfPF28z9Y6gGZEU5FYA:9 a=iYH6xdkBrDN1Jqds4HTS: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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 spamscore=0 lowpriorityscore=0 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 Sun Feb 8 14:56:12 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 3567A3587A8 for ; Thu, 8 Jan 2026 08:57:46 +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=1767862676; cv=none; b=UqaMfYaxKBDXZGenjVYJZTL7d7q/XdAy7gPl5h2RkAOdFYWPOvVPlwz3elwSvOsX+wWJKxA9NjbdxHSCL3+218N7ZIytqDQNDWYeqyCiNLrfIXCQwPi2dWfoYBzUkYdVy2DlMwsR/oOKKQ8rEiR+WfEjmWkCW6E+WyWsuFltcxk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862676; c=relaxed/simple; bh=1bDSTkidDw+Ja+Jkbfj1sNEyDYT7N+D0FHhFA1impA0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rmm3OEYnU7dpgah3Bt3j7U3kbE8tZB/bUHVJp0QG82P/9YBQ4kYDa/+zNM2HL6vvcFDxiVLfCwLRZ219ZEw53XsNbYdZHKO4ufShnBEemPFgDvd1zsprmCyfO9iDW4rgrP7Ooad5sdXth/RZ00ZLxCn7muOozY71EMKVT5io4pk= 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=I7O9aB1P; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Fem+cLSG; 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="I7O9aB1P"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Fem+cLSG" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6087Q6Zg1258448 for ; Thu, 8 Jan 2026 08:57: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=c8PWEb0m8sW dkLPVou1pl3oui9KwXqV++4vSVkw9qLM=; b=I7O9aB1PNe1S/3qYGlUbDFfmmQL 2YQl+hMVOe27gUcYM+8pYK8kwKvrB5KXl4c88iuenF7Fhtpa9YJzrt/jOYtiP9i7 uSRLsZ3M/jJoemTvbDolsWEJlCCmDmQ6ZP568jAkVYPaQpcI3NAXBgoRZlvdCRZD yUFVLC1lcuKcFjWro6Q4tAU8CfI7U9dH3oTg72t0cXawMB7GueHn833Y26g2uvwC U8dvOEszwCaLKkxDp2nq0MYct0LD0Qk8gCj4egv34YHZozkPCieJQ1qF4e4lLctr YgR6rR7u2nMQoYu4G5StLrvaOQ7ORKYnMivgsXSe67zoHh6VrBToVd8sL7g== 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 4bj86gr8m7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:57:41 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8905883e793so75186786d6.2 for ; Thu, 08 Jan 2026 00:57:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862661; x=1768467461; 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=c8PWEb0m8sWdkLPVou1pl3oui9KwXqV++4vSVkw9qLM=; b=Fem+cLSGBh6p+YoNKxrwy8RapU6jG63Ad2SWAk/tlkaFBr2QT3HvJBNmcRGzdczD2N xom8Siwh/6GRdz7dXqe6kSXn/hcfj19dgTzYvZ4TqIjoaK9nHY7YFsBKPZ5xbnt8qzen sxMbvB5qlAxy5yv6tllwKNW70FexD7nY00c/FZoPbz8BvAQ1V07kan+f+k2oa6DvAldu expCwJMBLuOLoYwK6VL3UdoGR/55YFUz0R1qY5wAoA0ynQW5iIoaQuFyeFPsREX9sR5E pgQ9V5nqOjuS5fRn+Fv2Jfxd8s7EusjQQgn6HUcQ43+IjOx2enDqZrRb1rUeaGqytYdi hV1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862661; x=1768467461; 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=c8PWEb0m8sWdkLPVou1pl3oui9KwXqV++4vSVkw9qLM=; b=IGfAOsayv+UdiTChU0/Br6pd4RArYh0m+a92OwHhlEI5zNOjp91XYMZQSNLX7fRnLo d/f4IPSZc7Mvt5yCA+WLtWF9WOM4TSjwIcGe9pxPouTL8PJF/Ohs3UAVval7fOqgbvZD 9blKWBrl8V0TzyRVhGyKSC4WzHFGX/E46DeVJMGajEk0URje/1iHhMv9aDgQmSBEZq8Z FhTmd9TqvS5NFiY28wdJ+uacjKrRE7wWXQVxTmpcJxrwoKfNUXiW+W+3JTwAqfTugYTN elvCbkW6rhJbM5vipBkxK3gIuea6GFKwWDlQ3asaOc3rGiXvG6Jj2V0RClyx6Wp3mb25 nqaQ== X-Forwarded-Encrypted: i=1; AJvYcCXal6IafBQISgGWR29DURXeDFDSdqTOc8Qo0Nwce74wVDp39/5bJAEqz5t/6bPve47PEpqIh6BKY5RhO9w=@vger.kernel.org X-Gm-Message-State: AOJu0YwD5PrKxALpgCKV61GEJzwYWDReb1N+NAKwHDVDwslKyNcgtoDc lSYLq+w7MQyRKKbgsdk3trygNM0G0thMyPY4vfNIuez2mIcnBp4nWOxQC4AZi8rNVCUoQQY47iM ecfl4guGuFxCK9gQ01ghd/Y3RDtAaujXRowCY8WotIhTd0efEPJL7ChLPTAIS83aMU0o= X-Gm-Gg: AY/fxX4QKW/z6UGuqzXWm3GoQFyFgroAeNGNIaD5u4A/j9DKJut0JUS+OHSo5XFJph6 0Kwl+bQgt/Tog9+1xzP9oJqsmpYnn+kMFTPiH8S43uluLMeA59PA71oQfnh7Bpyvt3x8SSMyIXq jYb0pCqYSm77BDl+H2at1iNFf5slKBs40vDvnhRE5YgS2ebY63v5wI2/hk7qF2moEH7mlSaXjFa Ls1HYjIckWeA/ZMROL9SV5vSounIDZSpHtgMbpPxzgA/pP0wfNziVbTBpKmrz7/Ebc32h8cWUiN BzALvtxT9ma3SPj74eknEAlsvqLdQf9TYHs4v/BUDGj8t9och4R7bzoJZYIQMftuwcHTrncGmpo 5XNeV8Eu6mJ+GP+m8AZSLcazdQmvVhdKJ7znII76iZ8Nw/2WW848HaRascZwl2nusFy0= X-Received: by 2002:a05:6214:f6c:b0:88f:cebf:f7bd with SMTP id 6a1803df08f44-890842f5175mr77313766d6.70.1767862661203; Thu, 08 Jan 2026 00:57:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IEP71nOodf5/nPXrEPkydrhdDpMoq8JxICLTshZ3OPSRTvksaFU3iM79Vsd304YJwYU3HH89Q== X-Received: by 2002:a05:6214:f6c:b0:88f:cebf:f7bd with SMTP id 6a1803df08f44-890842f5175mr77313626d6.70.1767862660848; Thu, 08 Jan 2026 00:57: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-890770cc7eesm49680326d6.2.2026.01.08.00.57.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:57: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 v5 02/12] dt-bindings: display/msm: dsi-phy-7nm: Add Kaanapali DSI PHY Date: Thu, 8 Jan 2026 16:56:49 +0800 Message-Id: <20260108085659.790-3-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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=ZNjaWH7b c=1 sm=1 tr=0 ts=695f7185 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=tNVMJPnUsVqa3Ada0T4A:9 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-ORIG-GUID: CuAiAJEbLzW650W8nmaJtdxdeT06sRQt X-Proofpoint-GUID: CuAiAJEbLzW650W8nmaJtdxdeT06sRQt X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfX0UkC4VjkoEYd tYK/duq4RpwbqhtYBx6hwceBOsny7wDMxckqN5Cv4PNFCNcO7JmM38lfpvECgb152Jovc0KCeNT j21p7Qk8ZlzFRQvvlCInOjUCa7qUCoIeuUktKR6kdqxmglVhxT13Alj+MuSChUguKlK49oj8/Pw LL54/I95jjDLhP/gfPUXCU7S+mQsfXomMqTlnBt31AoASXq9ZC6qmj0TQrUP3vho/rR0ttTNf7U MLLyfhOVhkkUiTAioj4HzFa7FA9Sj2RF8rcrTLBvIzTTUXgd3hZ3h7fsl9IxeCnuVZpQVan6Jmt lykhgPSBrnQB4j+sdGWYosx8OvzGP4qTvNNqWT1mMDSMV+DcrBIEz8obDqMzzXyrHjmdJ4IYbiz uc1XLw/eDOyJBLTnWKKFG0Dd4NyOfaq6Kj5L9llOza49LrQ8sWYDGtJdEyGOy4q3w9nQhCBOfdn kuWCBatLzCWFtwzbQHA== 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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 adultscore=0 clxscore=1015 phishscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 1ca820a500b7..a6e044eed3df 100644 --- a/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml +++ b/Documentation/devicetree/bindings/display/msm/dsi-phy-7nm.yaml @@ -17,6 +17,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 Sun Feb 8 14:56:12 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 0410E3587C2 for ; Thu, 8 Jan 2026 08:57:54 +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=1767862679; cv=none; b=Smr8s3rqdUvTTCnG2GUK0LMOBhsqbwXJXF+g4J4Wi0kFQQQz2ZqigF4FdgTy6swlL3ElwoyTGu96E8O6nd/GlDZdkMY0qQrDH3D9hvj4zKVtXLEMQ9svyjaJHA+htiZSIFK/YrXq6yOa9XLulo1fBQFDlTrfZrclYt21SeDgt5M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862679; c=relaxed/simple; bh=DFWgyPJMXnYq9tT2E5rWliTY17udrbfSo0iJAuFRiog=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=s5Rn7d1FeGCddyqsAzvSOwUbrL52PZqDoARtgo8viksAMXvZFsH5mWKsdNs0wGKeM597iuDjj9SIa+kA5Jx/I+sKBLpW1NDps14aO8v6ZEkjePkjnvzk9A0O3tqK7D9CLu5YQ+DsTGXb36zwXuUSLIm60H42Qun4ERiycDgkEbc= 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=V/NgMbHG; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CZDmPd9Q; 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="V/NgMbHG"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CZDmPd9Q" 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 60872Tr41496630 for ; Thu, 8 Jan 2026 08:57:50 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=NRZ5PDF9RBE hUcKxfeiWyFu1TAhirkb+W51QleGLBP4=; b=V/NgMbHGwytnHcwRH+OIQIbn5sb g1pDt8phGBBmNuweA9cE5zhRdgAEOLbiKoBpoAFK3N4pFhjJAQh9+WuCgaqPQr8H ePDxx+Lfl8/v1CMv6dKFJU//sbNaGu/uE0St/HIRBgaro9CpLvnholPbJ80UZNBe tcx+PAS6r8voI/Lliaq0fLXGSuV4oMn+QRneWqVaA73yQ8/5zPTt/EpNffygC0Ue ux2Z4ubAz7Tlri/6eYKHaq3ELsR+Zes/mt/dFDMoTu2ArCc9eFg+PKdG43BImoAS 39JJ+TL+9euaH/H894Uf6awGPsPRQL1aKM1O+94JqXrma1qalJ8SvgZcazg== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bj7ua8ax7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:57:50 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8b2f0be2cf0so463516085a.0 for ; Thu, 08 Jan 2026 00:57:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862669; x=1768467469; 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=NRZ5PDF9RBEhUcKxfeiWyFu1TAhirkb+W51QleGLBP4=; b=CZDmPd9QwsXQbfBBUim5ZNdCmfROSx6a7JSUo/KKXuKgzuOWjuKFTLl2LxXPVhatOt Liie1iXT81aR93n77l8gDyNsUOhvjLTmTh7V/UX8uN3OrHcmbeFJEvhiNGOf+mcUVBg/ 9S/+9OOlrdTT1ncviOhZJ9Ej2vMP7hCRMwtrcPK55/H2M1Puzt/ZK5kbUr6Jd2SvhC9G LWDdo1JSxmqdZWNIARaddl5ZNeq0YO2P9qAjbO+5KiOKvthaFz9ZpNhtjnxeEiDjPTn9 IfkQgW+02wQ9FDQC32wULqE62PRDU1uyW7UWqkaRi21Xte6jXk1rbmodIjuF9OBRxTeb wfjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862669; x=1768467469; 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=NRZ5PDF9RBEhUcKxfeiWyFu1TAhirkb+W51QleGLBP4=; b=kDYYwO09D3xqEeG/XMuOL0FzBj+7/YF2UY7ZcL7mgBwj+B+mrVfIfNXMdOtq9FHcXo gtuNWN5Uszd8sBjAg4hjvCEOCfQUmA5jYcPG6wAGSn7qHOn2ghaHm5b9Xx9wD+P0fjVk 5MemygbN8yCbSzLBvnDGGySv6g9EYIkBuoAQ11T92mN5qRteyU9jkjmdVtgZarMNGlRy TggUfh9r0SRJ/VGsDjIEnOI5L9f3EIltZO6lvrz2/g3jZpNHSZGGEjgT4z4hKDVAd2DD EQEOna5K76Mc+w7QqqkMclLKkLU+AG/a+CnpM/sgp8fvLqs8VRNtTNtx17pokoUablzU ng6w== X-Forwarded-Encrypted: i=1; AJvYcCVrOpkLGuP4kAkRJ18m+IXGg13yQwsfGA//U22YsZFFzk9REIDUjMK6lAcOFBX3U/Jm+9iAnMsMcUfNWYI=@vger.kernel.org X-Gm-Message-State: AOJu0YyH1j2fMiKZ986FeKG/NdoGZwh00VZ4zEopc6Wy+d58GaZmwXbS shNI2aBxEp0pilZWgqNbrzgTQUD0OChWuX7wwMY3V+PO4HUdUs59FPWUl5yjMdjJ93ETVyXCDUn TsHBWzdBmbM+rLdacDjvb09+lTTuKleBf/xL26qvo5/oZuGQh78siV59u1o5IkgyMgqY= X-Gm-Gg: AY/fxX6a6GnVClj8fyZ2k37a1G1METXBiyYhPdYjJVmtTpo2AnM1OJRpoG7Nj+Haxs1 kA8zpg4FyeZlsbnDmiWlpkGOK5fh5sZSYY/WSSeYWxZq0783zvgme0GQENkG0PyQf1iNQKJvCYe 5Mm/liJdmPWbBcwt4kMH6U40vBSdqKOKU7YwSwhaR79VVm/JsdD710fUOpmJOWRceaWLzl5w/mr /1cAe+TrzjB8LI9LUpH8Tt0zVFc5ZcOMZtq1y4FOKCd6Y2z3+A0CMiE5S1dQRWr9ZAoK5SWILIk OOb5L9p2VGaIS/FvATbGjdQmYYfg+KpYkOzu/H/HhjhtBro2jW5YQrxRv9KK87xBXxazTcEv6aU QEda/sXCqlFY4rgAuynEeKpCcwzFEUVlZBEn6bA58QM7k7jp+kVdF3mbWDMrdaf6Ze44= X-Received: by 2002:a05:620a:298c:b0:8b2:e4f0:74c4 with SMTP id af79cd13be357-8c389425fadmr683908185a.84.1767862669514; Thu, 08 Jan 2026 00:57:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IFLLiQ2dezWmxrUQBvh6EJdewjfDR82QVVpGRNZoYXLCqohZhvAtKpz5cj7Yjy4V79SxksFKQ== X-Received: by 2002:a05:620a:298c:b0:8b2:e4f0:74c4 with SMTP id af79cd13be357-8c389425fadmr683906985a.84.1767862669125; Thu, 08 Jan 2026 00:57:49 -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-890770cc7eesm49680326d6.2.2026.01.08.00.57.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:57:48 -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 v5 03/12] dt-bindings: display/msm: dsi-controller-main: Add Kaanapali Date: Thu, 8 Jan 2026 16:56:50 +0800 Message-Id: <20260108085659.790-4-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfXylUJaaw4ek6R WWDYsPOl1vtQuTlz8SzX0OvT2KUzY5oNbtkVk2qPCvH5S8ZDcytiC0Yk0k9q8I38zBkkezcZqU8 Rjrs3BYkluHwpwWaX32Gm1vGe/01M6L3wQgXRcQcnbq0Hq8T2IffXKs3ziufTJx506hAX805i6R qBG87GS0zpuwqALqWLxLM5J3QujJ8gE5PbOLlAg/wuJh7AE7hznUgcja/VWB2iwlXkxLYmC0ODg kDHPoFY/LVstNHJwByUEk1laSpdJu/9wNhzEL3TrDL5jNY9F8fT8YfSGEzgvD0UjoZd/hAZg3jV UH8F2oL7ekIZLCw4tvO+KCtZ/Ee3m7u1tujFSWXON+He4KyCoW7npyAdHFff8VC5F+kry76RVGi 3mbOGzKXeDJDnsEu3TVwtrlua0MmVnVmXHMGKso8BFP+w8+ON2cZ0PNhm1GFGnrZX/XCwKoxeEu 8WK98hj+4DwU2zGEQWg== X-Proofpoint-GUID: M5kRyQUVSmRHHH5ryDODJpnTxQiQFqCY X-Proofpoint-ORIG-GUID: M5kRyQUVSmRHHH5ryDODJpnTxQiQFqCY X-Authority-Analysis: v=2.4 cv=XMM9iAhE c=1 sm=1 tr=0 ts=695f718e cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=NRHHWUy0EX9jfUzwrTwA:9 a=bTQJ7kPSJx9SKPbeHEYW: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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 bulkscore=0 phishscore=0 spamscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 4400d4cce072..536ebf331828 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 @@ -369,6 +370,7 @@ allOf: compatible: contains: enum: + - qcom,kaanapali-dsi-ctrl - qcom,sm8750-dsi-ctrl then: properties: --=20 2.34.1 From nobody Sun Feb 8 14:56:12 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 86E273587A1 for ; Thu, 8 Jan 2026 08:58:02 +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=1767862689; cv=none; b=GMjG/UOJLe4NDGq3QzspOerSwIMht6QAX5dvud7bZA7m4pK0bn842+kr+9bHPLiOcQuS1dSsy5+6sjDUvtMkmuP283YqqDdkHkg9KqQs/w6hlsrv5XKdn7+QCfsl7/zZEV/h5dB8ZYbDm/sX4lKQpEfspnsF4M3lWscjaqGf03U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862689; c=relaxed/simple; bh=tNQoNBsoM8uyRsc2L0d2J2aq5cF2cTHJYVdz78ZDCEs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gTSgwQ75ZIJbXrqyuX50dodEuwdzdaFqrGVzCWCVicuHtmPDfV+JsPDpkIlzifYFk9LjAYzEwYkdwFPXbGD5/DcU6+/Z0qafbZVW2wiGvlHVpNU0oLgYV+qBLWotT+e2M7E0r0XkY48okPpcvXvHZy0myOBPv3UHlaGuzWeY+BI= 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=BqaCtEoy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Wf2cK6or; 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="BqaCtEoy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Wf2cK6or" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6084chJr2593311 for ; Thu, 8 Jan 2026 08:57:59 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=BqaCtEoyrq4Whv8HnGpdjyKsBCZ hX8foeydJIS7DQCQO8jraWHpVVowmj9XA5lp/gWk2M3EcGfIRMcQROPzfgpAiV8O Gd1E9LILi8deD79fcRnyxpnXRcypfddQcISC02Qp8fT9b4k/L0GKVxfXyvNqszU/ 7qmg9uKQ6IEK7EHnSvUYQ44nK05BTCMTw7C8kByXVu4RTIcgbnOpWoFbMb7zP5p7 RZjqm1FianpHzkI/lcG6nscX7B38aTshusS7ELnVq5SPc0X1bThnt+ndH5CVze0+ s9lKvHiXMi5sUSkrtnnKZCDhcxX4duUY5KKIV9SHqXN2c09uvMU+k/GIGNQ== 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 4bhn294155-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:57:58 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4ed6855557aso43096651cf.1 for ; Thu, 08 Jan 2026 00:57:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862678; x=1768467478; 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=Wf2cK6or3UiJMow1vY/1II70xU56vJQ3N15W8scF8A6mpQpExpQlgjfs8MkmO0Fmyw kY1HIpH7RybsdWaIlhPX4F+wglhdTD2eKupH4tadiRp/cfKrlNATgVjkCHHAyCEhnE2y QHazjg+JIZ0rSMdRjOy7WCRrH6FBLBWafJvSveBKajXMN/6/aKlkaAMHfbPfDdLZV5UV yb9U6rvM8+vGDax4mQnfsvSSquPLbTi3sq2VEeFzSNh8HWryA0zf3ixJWfvg40HrI6es hOr3EJj+LUG8Ik2W7rSnzFJEMWk60+5xCCNYQ0y7WFBo0waEu/nvQdIuEgKUrvRFUmNu IByw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862678; x=1768467478; 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=XpkJMxHrQ4uIr1L1Nu/d2i3yHBq8yRef2kMBBlNpJP+8Vhp5UHHYIRHc7u00hBOwnT c2yplD9r9szsbEi8Prd97asYcFwtwmnAr7l3YGueCc+jbx3sosNvjTX2gRl4K4AMsFsa nm/jgCm2riUlYDDfL8WKa7UYqLKYN1lUs6VBxES4th2EivQrKhZkVDQHUsUMmh/NmYB0 5L1D4W1cjgQLk5nvtU/4o6CAnV7GBCnziN81xF5g9qVv466CU71BnKuD72EQ+k48J7ZN EnxHlma/9bkD/hOq3WlrgBuYHcf+VbUF1wbpsx7dGy/4BEfqh2YxiN8ywHzj6TueawJ8 SYkw== X-Forwarded-Encrypted: i=1; AJvYcCUHQStxuavpxXEPID53kRmHB2cSrN6pZnlymB6wSirQUQPMgqzdH0OxBXSFxZWk42jByF97y54Ddmm5IWo=@vger.kernel.org X-Gm-Message-State: AOJu0Yw/UQAqWj82N8XRF3KM2EqSq0v/iRD/yy34yLmkxS6T3eEOthYy 16fVD1wJSrNNxLvA6dIEgcn+O3hq9UmezPesM+1n1QTpIES9MNFM7cJRexMYNPMDlObn8x7CL3O 5iut7YTxtXu9rn0QSo/R6wT9Agk9V2U7pZMX0ZzLVL7ppdF+LyT1MKv0wy0LA18zlmPU= X-Gm-Gg: AY/fxX76GfUTqSVpoyhCJxKGse4m+3mBTc83wV3IczsRXFkCcxNmzWyJdtnN7XuvQA6 1ut5EPz7/nh+X8zI0VdEGe4we3NfmV/0yrhEGktie0eFxCIXiAbkLq8ZWJV4BDdev+DfbCZkeFW z3Kb09yM8fsRhId1TLIo/+FKW7AgDzS+sJbJFYCNWobTd5z8Bl7upB3Wr6ask7+OgqrDnOsTJ4E 8SYFxao/mMlVQnCBYHh/1UFzafiiX7CNS2iIO5+ea2WdFkHRs44VxLAWEIqclhBiSR5L2yfcy8S 5FJaL6m7heFVaj1pPlVFtiwUB2vAUQ+UsVlYByv9EZLr6fg6Z0Hl5jhEEfgt35qxSYf6GpGVluo hSwPsvcOWYm3jfJE23jn2prPL6lvkyrXPY9IRUBk1yfcmW9JcII4C8BAytOb86B+XLTA= X-Received: by 2002:a05:622a:134e:b0:4f1:c601:3ca4 with SMTP id d75a77b69052e-4ffa8516047mr118433971cf.32.1767862677967; Thu, 08 Jan 2026 00:57:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IF8n6tr0tEJKg3fbs9xmUJgfvvFyGnd16463LuIorZEH7FhDhRZR89OH8zZUINyswvV0uCQZg== X-Received: by 2002:a05:622a:134e:b0:4f1:c601:3ca4 with SMTP id d75a77b69052e-4ffa8516047mr118433801cf.32.1767862677483; Thu, 08 Jan 2026 00:57:57 -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-890770cc7eesm49680326d6.2.2026.01.08.00.57.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:57:57 -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 v5 04/12] dt-bindings: display/msm: qcom,kaanapali-mdss: Add Kaanapali Date: Thu, 8 Jan 2026 16:56:51 +0800 Message-Id: <20260108085659.790-5-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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: ovRF_-ohnKVNc2i-WtRVEnvsW8t0E2Bj X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfX9i3x2bVorfjy YqyYaS5GTcORUwFyumB12VFfnTbGXLeYk6CRGp4RCv8JpzjNnYCQfMYEf7yc/EzHQ6elTU+ISzQ YSbM02iOSyew1E3AlUIeSue19mUl2b/JI71Ov8FSWgxzo3OFdICbUDs4s9UAkUtdpX3huRs1lHw zCK3a1CIVXb0JnRLb0zgD4D4ZGgg7k8JmOynUqZHe7NXFaIsSyDdhVHpgS4vhHIX9iQWXpE4Wya bpPl/42h2NvMr2EK0EQkbXwpo2QhGxBcokhtL7THAU3H8qA7+nmcign+0Gbntd2hZAuQDDjvrU7 zzaqFCdbBw0NLO/R03wbXIf1x5ZLx8KOqoXgiICpOzEItwJ/6qX5KItzOlM0tIPwq6sCBoWvYo6 pE2loxY/A8pQF/ZwUtsED08q4KjJOaHLJFgo1PGDOdsteZYAShC4FTBgYxC/APvI17sTQZ2G5gQ uz3Pz4ILTx2U6gU7MHw== X-Authority-Analysis: v=2.4 cv=P7k3RyAu c=1 sm=1 tr=0 ts=695f7197 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==: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=a_PwQJl-kcHnX1M80qC6:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-GUID: ovRF_-ohnKVNc2i-WtRVEnvsW8t0E2Bj 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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 spamscore=0 phishscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 impostorscore=0 adultscore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 Sun Feb 8 14:56:12 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 629A8358D07 for ; Thu, 8 Jan 2026 08:58:12 +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=1767862703; cv=none; b=UnwNoqykHkMUD0GU9pKIZQawo/8Mk/fhUhxPHO2BdEPqGzWGjq8+bJ14pGQDcTUUwHyYQWdRTzhX+jjh1ZBaobq+FUn7526h7yR3F5H+1y69iYbeHViGLRwa4UtCWi36Zc4zGH5iSHxBeLI2/DuFENf0eqblg0HLRHKqKwk01xM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862703; c=relaxed/simple; bh=k21KuLqrakb4fzczAxo35U6ZXCS51oohpzYX1tys+us=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=umkVOVsXTbb15qiTaVYOS9C3UTx9DvlyO/dV2kcWoH97NT3qbtglSf5i9olH8eJ6hFWpx58gjuMrUnIp/QbRNGnP06WWpforIkwH2IRBbAqkrgl7pf2zSwqKiDRYNsirQdO3J2C/TVMmVqaFSJmz4vmAHav4Ctr6lsAIi0W9+P0= 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=cwFID3MK; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fd5Kg/yT; 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="cwFID3MK"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fd5Kg/yT" 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 6088w9gO1570556 for ; Thu, 8 Jan 2026 08:58:09 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=cwFID3MKDYKuRkIpd5VIj7CQX80 IIeZdQuPcSNfydPzPOdmuw9iQumQlXD7JTLsuLfBEAW7845tR9e6liYyieNchtEr 4fnDAWK4abSlCZLdbiJFQUjt/DtwZdqv//UD+enyPhLOpRx4bg1QAJKl1M9XD/md Xvgmst4sdC4nt+aSG59pJ+03r8f+NGc/yfJemkQmAohN2iL1L7IvjvA0q3Y28ELr fVN/nCVeqcStpmRPKeAHtP4FyZXFUt0Yv58KULElYh89VeVOsojNdgSVfTsO+AB4 dJeSVybIHzJRgihto5ew5EiXAg5ySQpytw2AuaQ7ZCBSPNK8vCUjMr++1Nw== 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 4bj9hqr002-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:58:08 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8804b991976so73476016d6.2 for ; Thu, 08 Jan 2026 00:58:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862687; x=1768467487; 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=fd5Kg/yTxKXW2Ygdyg3XGVk+6t5tPbMEF+s6pXRy2dycAYUdgEQakM/fs0V3EEnkp0 4mhJd8MqjQeZchP+0jMMn0WtaSQ4Xi6k+kjK+d6mqn4pmI3PbOrkmdAtSdL60OulBrFK eB2lUok19zeH32PBcNPj/aUS+fklxCz3x4k82fEuQBsSN5jB9NI5oIdMrP50p1N6ZW5r fWMXGOzLyawZZPlfCk+D6MPTxxn1d6x0TDpYrGHn6U5Ns6jkvcZndy1z9GGggqgKo3iJ ip/ofL0/LZEGSKiyieVVJEPV1K6MoNPH0lkRRdhHXtV2FUZInDvc6HZWAYz685uajae4 /3BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862687; x=1768467487; 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=Hx7taaaH+nfOSiA4FUe7fa/ZL9PBUHXUrKhR6ZtUMAl1IPDBje/+7QqTmkg6n99YkI Guq6o52MxDyIQBX8IvxRAZ3SLNGhQR4bkU0PEcvxDlMeMg8Ru2u9/3eiIPQORvlbKuLh rQUy5hX7YeK6KjIGbdxOkFqr9QJ3jvLyAjIDSwXXqy9ztDRcHifBxTUbbfdNAAFNOI38 hbZUGc9t4kOztYdOGqSGOiWCReKpfgciAVOg6lCZLUY1FNekYrQvyiDKCGWneTaZdiD9 NmUJVSppCOumZGBZleEb11zhWty5ndn09dxB1FlefbLAebv3+Ahrb8h6eKpBGRAdpwjg yMeQ== X-Forwarded-Encrypted: i=1; AJvYcCUcjNOZSAtTHlqD/t2BOTQRjCAV65uGD8Gi0Wa+HG44sNS3Yo1oW6CX5WLtDg58WSbdHn+R7U72rV7s5aA=@vger.kernel.org X-Gm-Message-State: AOJu0Ywk0JWrsDQDwjgvHxUvsKwG5l7scTx+TRI2gML3dB27XAoMSMi+ ePy/oS81y7nORWHEvgK2t7RyvQWnjRwp1Vt0GQGAC+8R1IqYMNZfW4O0DOLO0KzXGimiCrwb9xA 5sQhqJPCSCkyLqQm7fs1c5/9QqrQJXykufaYIgLhofTMafXXXrngB5xp1tWdop4LVssE= X-Gm-Gg: AY/fxX4yukGq7f5ISceb9D99ms+bMgqdTP4NTtAMOxft8WPSBTScd1MyMBJbUAyQC5S 4e3vfOpWAMBTszyFyRX1MmOv4ZlbzgHESmNxfCdWNoMWyht2bRzRtPigx69pNlNnzRX366N+fDt XebrCNK2l5ohhOmuqeQPY9JMjxo7h5gdOprQ6n0wKED/yqVUX53QCFCn81Cjc9VQxMDcbTfn59R XxmNLT2BN4VF9sMvTQSCwx/o3qCY/YMYZB5k3f9bnYDq4S50cUIBbCSK6QLOSys/g7iRcB5wwYs 02Q2Lt9aevyPp+DJulcPsF1UT5h7m52OWNB08bhzpn/+8H5pP6uk5Fpp+kLCk0ACbls8+IuoS0+ Rs8ViUemPXMyqNC2k6ayK0TBxsa31MT/d19+zvxbCLKjTjWbMQm85V9wqH8ba/fd9WXg= X-Received: by 2002:a05:6214:c46:b0:882:4be6:9ab9 with SMTP id 6a1803df08f44-890842d158emr79772836d6.54.1767862687124; Thu, 08 Jan 2026 00:58:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IEZ6o0SmHvML2LmrOe7eTL0nOVLedXj8klhr7BqpyaZ9HLVsEOuMtIS4GiO6aIiM/fwMf952g== X-Received: by 2002:a05:6214:c46:b0:882:4be6:9ab9 with SMTP id 6a1803df08f44-890842d158emr79772466d6.54.1767862686705; Thu, 08 Jan 2026 00:58:06 -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-890770cc7eesm49680326d6.2.2026.01.08.00.57.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:58:06 -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 v5 05/12] drm/msm/mdss: Add support for Kaanapali Date: Thu, 8 Jan 2026 16:56:52 +0800 Message-Id: <20260108085659.790-6-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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=GN8F0+NK c=1 sm=1 tr=0 ts=695f71a1 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=hYg4dbXq4j5tZlskCswA:9 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-GUID: w5DX6TKNKfO8v2gthPx6EMnY9BeoDeRA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfX/Q5hkEmG2b1a iAhM3noFVqoR9DGm37YJWAXE3zNUJKUkPUAGf/uE5q/BkRJqLnpmNp8qgGUnzAILpCjh0IwY18v lxfQ9ixPl4j3tSR4j3/32Tko/GTxrKFTda4ULH3dA/MH5PDKaPEuz+NVOGPBZdIB7LeeAvBUjA5 zU3kzzUhCqoSIoA5HYAYO+59yXs2r3vfqgoNGUcyvlVMqcbZW9IZ2qKEy+BvoDEY1WS+OZToxZo NsbY0NttugH2NuRbT/bcNB96JBEktn1NUdb4f/3bhIAAcrslCs/KozVR5hT98dOsnvTBgioADIS wGBnZSkINlH/IEBuMps5NdU8lvJFdrp588mkSvrM0YxrxtuwG/c+2zAbz+q1yWuDR6Bjw+PZVqz J7QlICamvQ8nVR9yuYJSzbl/MSDIuY9NI01W7vj7iUSTNwN8cmmSYk4uu+JboGBla9yk+fnsCb5 rRmH43AshexlxX2+WVA== X-Proofpoint-ORIG-GUID: w5DX6TKNKfO8v2gthPx6EMnY9BeoDeRA 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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 clxscore=1015 phishscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 malwarescore=0 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 Sun Feb 8 14:56:12 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 9879436827B for ; Thu, 8 Jan 2026 08:58:21 +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=1767862708; cv=none; b=Q8rUoQRIth/qFzjQQbDu9dUW8N+1qKrfBKzbvqdgP+4vkF/xJf2QoWmtTxiYLZWq3od0IjYR9tII8xhz2lxhA8HPjEBYJMuOKMAF3QZLlAZX6B/m4d3wB3e462B1/rLqAInwos4/keqBtyR7KqcpXAyBY24W/CDzJb+zffdmZVw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862708; c=relaxed/simple; bh=GPNHdwwPQhx6RHo0jHkO62FjrR7S3TzTSqPLz/MSGkc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=neayDEZCqChb88nP4SSX933Hthoq573UDCpyJUPsAFuv6eDZQ7xyHR5dCdhsoqkN4jHMrtKW/6V+fw444NDqwcEHYeIESICYPyuO5xgob1BAUS7e6fYup3OgySYXpXcofj6LqEILndEwd/6mYfF1V5upLKDAz5KReKGjE2ufgK0= 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=GXpqs16A; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VlPTG4Uk; 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="GXpqs16A"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VlPTG4Uk" 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 6088wAC91570573 for ; Thu, 8 Jan 2026 08:58:16 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=GXpqs16ArlQM6ExhDe7TB9Mow9X JzBm1MTIQBIsiJVONT69vJMSgllTdw9dtrrYUuvP37HjXD1IEhcpvArbfKjvY5Kf 2sq503cV2I9EomIC4Q034KPtWi2lR1DQUdWzLVg+KzY+9mOvvOVMM/5aphfHGJ5s BmpX1+ilFKdUGlvHzIvIJ9iGhLAXc/WJ4TF5lxZDMpG9ivvUQYpZsB1OYPEPKRHX FlUZKz34x8ChAsWfHqlEemgR+UF7KNwBe0Qo47bno/MaD0esXJAL8An05C/Z9W/m +Vi5aI+pEktOax9mT9Y4ZvcquTg40ydIuaTIj/dkRoqCpepfC7OmlRWUx1g== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bj9hqr00t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:58:16 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8b2e19c8558so692427285a.2 for ; Thu, 08 Jan 2026 00:58:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862695; x=1768467495; 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=VlPTG4UkM4FeEInb0Vg9/Fzoo1bdKczTWBk5OrWZIjv39htTzHmHbxgsVZYDDgHH2h BuycLHaAYlY3TMjzO/luZstSsLWuJNHuMpCE2Kz95UQn2H4sx4w8pP4vph9qdVnb6HaW BC8hpuLvi8SoNP2xNEZfcd+drpLuH96jTvKpRU1cmK3UJwkne6GqZO8Xh46iwl/JdMZP K9d/VgDcBl3KwMsb6XI3dGOPQGlz8oGPLvc8TY/+ssOdt7LqL5SiPgB6gJ1EfKuUXVnX KzuPy7TCh/vbTwYCWli2gskap71+TSVgirMkiXzBwq1wvr7/HYT+h5OaGuRZQlt2+I73 6KIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862695; x=1768467495; 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=J2TR1QMI58aHzJ5hObDtjB2+cRJl7vJh3IMusCrNqsYVeyugeknw0tHnfpWH5Nb6GX 2FDlyVpZwXoA0a2G/TB1D5QWtWUHfKmuCiis8gsMH6YHYhiGab+6Va5iApFuVVrwswKf MIq9G8kFADVxPTU5e+mpVYba2BKSSP9yh9+r6nhAeDuDcmd6vEku85lfYo0Itr5h/fpI Nye7tp7vQExHPyLu0pxgBQKOyj9UVFpVTfQhkej3mbCHu6RsJ8qdC7Z7Y/C2BbyNvBWd kn2KvXt1I9mb5ehaSAd3j/lr4jJhxSZ4C4VZOZ03Ymn8gb7a+QBkoVFZaDc8McRWJK8A oVEg== X-Forwarded-Encrypted: i=1; AJvYcCWcEEG4ZBCh6iIyFZbrdL6FjoZPHc2fjXKCvnh6oLL7WvYGOd37ObwkJfdyQMhHjbZgQhzUPbukDTUqPaU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+abhtGYehORdZPw1AvGFl9GEfqbi7hNgvY79t3icdXKuiZ56i OGhaMEdiLwnF/9Q99kX4ooG5VdDChjo9JHHP4IlDTJOt1h4XB84n86C8/BVllMLuxNKsKbAjlpT AwUkhKHE3kbkk7SuXlo6F/ukrX7lD9xAiSgyCxAu8+cvQngQunNJYpcELyBg/kr6v4Og= X-Gm-Gg: AY/fxX6CJJrI8sUHWPKMCBy5/KRYUmsyOy+OUP9M7fNthzthJPI6VkQdOp+M/RBMzo3 7VfkvPQjgXo1p06JjziGyiAjxLMfBE7jDIHk1sDySUkezpvRlwfjoe6jwasrJYbPbx+4/yrDzDp kacgDm+GLdC4T7TMlp/GPCVr1yNgHH7ybUPyfKqAkUsdQZW+eiHggeo5AF01XdpRFF8gCiMybOn oOwbZehq/IXU3DHf9todys60AzLnO86qSHXEmOXN/rWoEZe+N9fftPLW4NK+mGL2K6hzT/aPEER FLLzdouhF3YWg2EkDDrJO+K6pl8ZHQANq4Q75O1G87bC+JI8l0H8y6ZINkB1TUPQHmmk6ckPdY/ SHWvmjWFeZD63SXnfHdVt8goUULO+8QcOZ/sihu0ZsNejpHh8Zw82hLaVC+7Q3EoVUwE= X-Received: by 2002:a05:620a:28c4:b0:8be:6592:f823 with SMTP id af79cd13be357-8c3893853ffmr707781885a.20.1767862695129; Thu, 08 Jan 2026 00:58:15 -0800 (PST) X-Google-Smtp-Source: AGHT+IHE1l+9FTOJ+Z9xJMvA2OgwRV2jSHqoYIgGuLFFOfrr4dq2w6v3q/Wl47LjzyQVU7zH3mMFhA== X-Received: by 2002:a05:620a:28c4:b0:8be:6592:f823 with SMTP id af79cd13be357-8c3893853ffmr707778285a.20.1767862694611; Thu, 08 Jan 2026 00:58:14 -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-890770cc7eesm49680326d6.2.2026.01.08.00.58.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:58:14 -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 v5 06/12] drm/msm/dsi/phy: Add support for Kaanapali Date: Thu, 8 Jan 2026 16:56:53 +0800 Message-Id: <20260108085659.790-7-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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=GN8F0+NK c=1 sm=1 tr=0 ts=695f71a8 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=ab5uJhi7KCXt4xzmVoQA:9 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: 69uroq2IPjhj2izamPv7iIFUpezm2Exl X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfX0kLLec4OHVEd KL/VW5k1sqC16ruqAvUiOWgZvgxoElLUyffVmWO1EkOkTobtLimiRLZ4LEos7NL5PI/KaOzCAlW 6zjS6cKFxNsM9eKV9br8jc5/vE65Pt+xYk/dZAF226dI4t+mg3ACzz2Urmvv22vSvtf7kj1BiWB J9iinkgUJnChWDkLv5AZdkMgQgTjWItp1F+gSTh/DgUcbeKf8gFPyUs/J2uxuoTZv9jTGCGjky/ E7uwJX7YVLizyxRVD/YAPGH2NDYEm5GYW3V1tidj+sP7ERo/KPlslClXjKm53b2vMRTQjGmdVs+ 2PMkLD3Y4+r6Cgy3ZSeDpy1+sEBsQtodP0w4CuUfA2lXDkTLOh7UZkSsY4FB7mcuCJfs5BbTaDV 7hKB5Mptw9z2mdJ97ZONrTSFKfE8QpTBLd8krUA6eBKUKB8moYSDeN5GvFfTALYdG96Fpw51YMb dgNOsCQNUzAJYywnwDw== X-Proofpoint-ORIG-GUID: 69uroq2IPjhj2izamPv7iIFUpezm2Exl 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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 clxscore=1015 phishscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 malwarescore=0 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 Sun Feb 8 14:56:12 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 A9C4E3587A8 for ; Thu, 8 Jan 2026 08:58:26 +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=1767862713; cv=none; b=bj/B7ts5RPBYH7A/nq5ndBPWPxHMjmseQ5+uzpZ90Zcg8p83oxhvwULqWrM5Qr7hHGUCzPyvM31Q8tD4eMcsifUbuCngHrEDkKDICbWVJuiAQmjsMIIgc0AQjoKEIkPyTmieJeIsvz+9xaMqqHqSNGo6jt8/ZLG57UTxEVGjE5o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862713; c=relaxed/simple; bh=eYqbCgFTx7pO2+x0Rgwk8N2aIIU8O+9nShTeQC9NPWs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=l3iprW++i7LpuJawitiOFPhre20n5Gjuucp9PV7v2fd+48EH+KqVmnc5Macm6mST8bP/ZmvUCxhx7Tu96mWsTvdyYiFXfJ53RNwIZuCf4mAj0cF3GPAXR8uMLfXzIWX9MV+bt9aX41vui/Z/48WlRrMF7FEJdeAMQcErD7+BBRE= 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=cr+cDKz/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=g3jX5XSp; 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="cr+cDKz/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="g3jX5XSp" 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 60846sx52785525 for ; Thu, 8 Jan 2026 08:58:24 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=cr+cDKz/xSZUWk6B06N+mmY220k I2lAAwjoK/uUXw+OQdofauEx2KHJHLu2Ts2WBb5bRLTC1fFG0gZz4hZB4WkDReOR D8x+tCTnwpWVWH+gYuRC43tuxo5CT+zM12+z0+LipTab+0vGlxRd1zvVWmnhUi0z rWWRMMuME88sXlMuePPDaKVDUhcVGaHfAjMGWC1wf0YQWshm/nE8x8k7T9/PFW1V LQ2I51KG7tlQU3d9LQ+k3pM4hNf4baKJsQbqM5wtYX51QxFDSCZpN84Q8His4zbd ziVL1uQv+eWtSz4Btaj4e1MRtbZUzX5tzTGAkfjAYJuoe5QCKRI2h/95tnQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bj58ugt8g-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:58:24 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8b234bae2a7so790584785a.3 for ; Thu, 08 Jan 2026 00:58:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862703; x=1768467503; 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=g3jX5XSp7kzHPyAeXLeON+YMQSdMRY4nnqfaawnhKbeXiXDja51mrwTZGPgj0EUvBQ MpOSnUQpTgAwwi1JPF4SfyYTlC3vZwVW6m7ffIj/sb3gToPl+KldPnzn/FmsvAaNlHkM 0bLhHCQR+3tn66DR3OL+XuGAuI5NBGd4C6oXx54fCmXtBQBrBUYyuk98M6qJMdiIqhK9 xLXDtrLEC8xgQ74KHHKK9PebsUgXusVHj1PXyfRqrx9U2berCFMKBJzHacgUwSU4o44t is21kKsbD6bIgXtrmA6bD4iW1PqvxsjXuXjh1aWJJEtaDRFkX/IHYLQSDbE/85jEgu/t cn/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862703; x=1768467503; 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=ix/Wb0r6SoJt0EqD0/m7SG/bpLxBf+Egzs1kEIgAb4zqSRCbrOQvbJdQ4/9Mg7p27V M/BaHz6a4+LmoNYznXK60lPIQBmkK+WclI+ezRMt3JFhDLQWJPrSsk20YohDfovgSl+p 6vGksj1hnRySu331WhpwhIsOZPns5cP7OQfvRQ79UK55UkMgmarqNQQYzThpD39CS1BD 77aJXKym89U1JlriT8ZHDgtARK6y0qdo2Cw7rme3/PKp1goRrxPK08BuKIpdX7+HtrGD yBT0uehUK0h8P9457NuySIbLbDZBLRVM0TMVwklv69QIGAHYNAg0vQcVF117iCtXyrT1 DcAA== X-Forwarded-Encrypted: i=1; AJvYcCVYEVcn+qOGIu5wpAjanSk78CJ60yaZbLzzrSOIjdbe6LhTtudoOq0Gwy4NtMkJ2c5oDuwW2OMdEzK1GqU=@vger.kernel.org X-Gm-Message-State: AOJu0YzIRCTobAonTcwpzn8koKf4TC86Xo7q1leP9G59yKbEbCcphBvk sZzvU9X4gRVG4NNHZlV501rm38SmvMyKvdVO/+/93OBWXvb+Nz+k1iP6kxbV/0t2700TzKSGmZK 5YAvV56R93RwiqzBF8grTKYSGljsNutpu8tk1qcxmRI/WYDCy0Eo3Xq2XvDGHyRsmpDE= X-Gm-Gg: AY/fxX6vabx5Dy2dn0/NeQ1is/gLalXdeD3RkeIwgAU+9PWw3NhRCr2W1Fn0aYwqwSi UhGYwvGWv40hldr9sde1AE4bgvVyXHsSpWThFbNYSw7FORaQ+OW65eBsToe+wygatv0mmNkTb7c lO2W0kbs4DOsYNc+3AB8Ua3GK6HStvT8vIpQqX7sAuchAHUqzYbt9aMjeKcjvix6Qhd3jPq+3WH UBSwtbHAJHyFTV83179DdilRO2whW+1bjbdNAKHmrVHYNG6+RQrucBjWVGaxMvlRzlcJpU08ZZE akSz07sWwmZf243bil+fCZvkbwaSVKEpKIwKHLf2zGPL9dYfJxg+F36oYNqI+iM5iZduRx1rmLI mHAynv40RCTtraz39geZ1Z+JWthOaNQn6+nmBss221ZSOv5X1Gd/ZvourL52ffFUr/Ac= X-Received: by 2002:a05:620a:1aa8:b0:8b2:664a:309b with SMTP id af79cd13be357-8c38941c034mr652182685a.84.1767862703414; Thu, 08 Jan 2026 00:58:23 -0800 (PST) X-Google-Smtp-Source: AGHT+IFd2KU0rDWQ/R3b6xYRGG3myKrYnDS3p+KmuStEdvZ5CG3nEDqVpppZIpNi/G/SxwTUg47LCQ== X-Received: by 2002:a05:620a:1aa8:b0:8b2:664a:309b with SMTP id af79cd13be357-8c38941c034mr652181685a.84.1767862703011; Thu, 08 Jan 2026 00:58:23 -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-890770cc7eesm49680326d6.2.2026.01.08.00.58.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:58:22 -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 v5 07/12] drm/msm/dsi: Add support for Kaanapali Date: Thu, 8 Jan 2026 16:56:54 +0800 Message-Id: <20260108085659.790-8-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfX5ZzYlDQRtf/r OIasCLcWNW772y6+z8QX28hcEiYxzGXH62qeSYxMxWNZ5717kg1QAMiyhu9aLa318JunKwfqRtB quNO9B0JRktS3YahOTVkQUEch8Yk/LbVSB00jspA1CJH9Pp/xiYgfgERltI0XIJI9MkvfmGnvCk 3ECFaeVwoQBwZWyLlxlx9RsCC8IdqbAXspoufXc3ZdBFobXtHS5WzgthNmiFXs/gN4NcpVAi/Vc M6Pt3xlQF4CfMVBlSatoxa44A07Wbp1vzltZx/F0q+n7ceK62n8UFhkAQ8IbYomor0ECc9pyU0K Roj7CHYZkf84Efnd/BbkPZMVHrZwA2tcR0r+Wv5rOuqwyOUNZDVX+bzORZMAea9JhJyvS1rtZ48 tJndqnUkEqcwp7qmLYmJFKncS62sgPWoSYR8zPz4H79CgDVFdkBfnswn3YHJWIvetxrvivrxX4y Yj2eFiltZtcaiEa4hMA== X-Proofpoint-GUID: rsvWzc7cIByfIsHAGbJzJqEU-NQ7DB3M X-Proofpoint-ORIG-GUID: rsvWzc7cIByfIsHAGbJzJqEU-NQ7DB3M X-Authority-Analysis: v=2.4 cv=CMgnnBrD c=1 sm=1 tr=0 ts=695f71b0 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=EGddA7oXPexY6v9tJfMA:9 a=IoWCM6iH3mJn3m4BftBB: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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 priorityscore=1501 malwarescore=0 phishscore=0 adultscore=0 suspectscore=0 impostorscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 Sun Feb 8 14:56:12 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 E146B37F111 for ; Thu, 8 Jan 2026 08:58:37 +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=1767862726; cv=none; b=kZRfsCkOOd0We315KcDRegReXHoA2A0cz0OYqYIhnGaYvAfdSQk62pu+frzbfWXzp4bVgHdUt7xysHf4eYt8+u6jX8H7S2KK0/ZBW8jPi5qR1dkfUngv6Ct6Kk6PrPLiWmOPeeSs5YMk8JCINlZwwho+QqUyhTNLRZcZ590559o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862726; c=relaxed/simple; bh=s19WZGnVsjnU3CIa2pjMzvDcR1778Z6ip689C/D4ewo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pUfRLOFv0PJbUBcUlOIrK7BABwJFoURlSU9IPZr5jVRDupeEG9xz/h1zQz1h3Abd5qPUFtUQ0SL6HRVyOI8CMP1WF9CFCFm7+O9dWWJEr8D4RcJuUaKYUf2bBPEcflO3ef8jlpnw8gLBm4N+U9UKoSTY5+sMl1zaYFopvq030aw= 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=EgyO5cpL; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HWAZXXmi; 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="EgyO5cpL"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HWAZXXmi" 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 60846GWe2780366 for ; Thu, 8 Jan 2026 08:58:35 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=EgyO5cpLCmQJtQc+ko+psolgag/ M2vuNo6IauR1zeaA6kYPYLp2Q2nwQeid6mjhEaYQHvDr1hLjb9fwZv569AcmpHEF PFvUDJN+5J3RDHVFQ9sEoAQ/gZK26aZz7p+MxlFwcr86RsI8YsPgEc1iKqxc/uM8 aQIubd3N4+dCAJDEaT/U9bmUyq9U5tflRFZipJf5aA3Ip2r/CgJg8AlpDIdJdDvc frNhdSC2dWGB7YkaliQrjzDDVSp72+vaRpdp9NZlNjFJPi2d5HG6Zz/XvBh8T5ho B5WxgrgGa/VTR9+dnN085pze1P48aPtK11QcqIx7MsjjF3d5K2EDCpl03gQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bj58ugt8x-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:58:34 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8b2e2342803so765129285a.3 for ; Thu, 08 Jan 2026 00:58:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862713; x=1768467513; 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=HWAZXXmit2/TD0amuDHNrJ9thK5N5b2LZevuHlyUgMyXV9uF6E9sWfrdUlZLed6a8h iVusDKD2x8+53AvGp0LCRCUjqjwM49IEfioWONphlyeBo7lSH7sPfWZucBiulxB0pRUQ cG3UPerikn5eZK4Isue19cy9eViErgISZyT6fX7y6JcEbGg0LB+4QGnEv0OHUmiRlOGh nJknwDd3KH13RzD+xycIifBHL/j9Iq8c8Xj4hnwNm5+1SZEqM1TpKbXW/yxJkc8xI3yH 1wF/UGmz9vvfh/cn5tzUHEnmyr8zhPqugCbval6JVirB/dboisJTgwbw26673IJc2HiI yEhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862713; x=1768467513; 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=YLAffjHe7agtKHLsnV7qIyzMTl5D+bPf5c72nb6Ln7suGDv5gGrFxkdoxxjfuEkRZH Y0lixP2jXfZLl58gizYHM/zQVjx5YVqIwhq3WBI0JDfF7Cse5hrqoTCBSjPUUQFXB4Kk /CWYF40A8NJU18Rs2YVxAuc7TT05ooL9g2b2CgLfqmpObSbNY4rgBcyyCTHE+ZJmBHY9 B26NRZYkXucUpR69p97Kp5i+OoGIr1K3GodnkO5kNPcuR9wA2Cz2RXxEOiAQj0lhYdSi NuPu7xX+cwY75uz72+Vgi3/dacIOtmxi8MEdJJd2bWcMjSYLBOg+cCLxYEHoJF4pZ2UC yeoA== X-Forwarded-Encrypted: i=1; AJvYcCVqMEXcXpOhHCx2jyDkstxOVs5BPcWUv8B4t+iHHgUz+cjx8oG5Qt6ek/7M12NYutegCFtKpbok1VpL6gQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxfutR90B03q7E2y0d0kyTLSn3fYnkkPvSw5kVzF9Kq/Khn9dzj 0XJTRbO0hJxoXrLZYVpkRCFIT9TZH8RhA3Ag3iffVMeUI8raGpFITw335YXIbMzLQQ1OzusgC/T ku6TVO4nY8YtmJCyEIPdyT4J2HZNETNUATAq+nD1N3eEAgyQ2AFf31juJPoJrEKRVSeo= X-Gm-Gg: AY/fxX65RJjrOH6WHS1jcus0h++9hYmOIQgVvPrnULwLttwRTwWLh+xiR+oz3QMCwad Jvnzgcf1VQ5uO28bt0lyl45d98/MHrwvJg0jtaRcNroNa3aW3ZmNNPL0d4NuTc5QAlB2T6ToVrw ExWPaOZpdi4dtQZo6a+pS8wY/IVpJ4abPQo+6FHaNBePP1WgdTeyYiACHG9KtyEeVS17tlEnzfB i8U3KaCR2oB+zoYCbyW73YqXMbSVD1jvpyvTTkEbDgSvVl32QfZf/aSGl0HZLfn4PQXuQ9MNNzP aAALwB197OUiU9HHBhDL9E6yvpeLs2KVDGuYhKEZVVPizpw099U+mlIOjkDoi40USnQihEbRZ+w 2YeYykcTGqEtcm2CY1QBMZ7N9aQBKoAJaCMWf5TnGEjGh+VVagnMMAuenzEJ1/mIvCHM= X-Received: by 2002:a05:620a:4041:b0:89f:4306:2a50 with SMTP id af79cd13be357-8c3893dca8bmr714702085a.42.1767862713558; Thu, 08 Jan 2026 00:58:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IFfxm2xgH03Bu5IXbZUM440zcT0kVGZx2cBef6lPp0OA3bAIQjoWiw52T8xxLeMMMV86G9Nhg== X-Received: by 2002:a05:620a:4041:b0:89f:4306:2a50 with SMTP id af79cd13be357-8c3893dca8bmr714699485a.42.1767862713159; Thu, 08 Jan 2026 00:58:33 -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-890770cc7eesm49680326d6.2.2026.01.08.00.58.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:58: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, Dmitry Baryshkov Subject: [PATCH v5 08/12] drm/msm/dpu: Add interrupt registers for DPU 13.0.0 Date: Thu, 8 Jan 2026 16:56:55 +0800 Message-Id: <20260108085659.790-9-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfX6XIHWtIj2ELP l/49xdyD3+gJ6eGdOk1OmAlCsTK7MMG6A7hloVk4jgLqkesiduqXx3zD2PmMUdoUnRRJj3t3CH3 3I0xuJkOCbkm+AKcrJTKzNLdMOskJOUOA1TGsMVZf9+4RvydATFuECdZNUnPdEvTkkRifEnErSh p1wcH+0TdONIMi2dq4SzQhEJyFndQZ7cOIIRaCp5g9X9+kE+t6ugboVASvZkMPFRSU3dvPxLBfv E0Gs9KBHrX3KreOGMMhoPRKih3o8Tu7l8zEBRV7LNl1G0cIJ+Q2d2H4rjvINtwIT5Qwbc7MjijF Cv3qmcWUkaydteAPPAHl/es/qCh9AksvNndA30L4cl6DGbOftWHCK/Bv7fQiTtqKL3y4VJp8npB PakMeR5MX7678QAkrx8489CQjOORP7s/47f2HusoxgZrfvel6t2lYzKG6Qp7HDqPs0D4XhOb1FR ehDSEr4F8ip1UKKUZhQ== X-Proofpoint-GUID: J8e6NEn8a7RhfQppyGj3SVBen1rQtUZs X-Proofpoint-ORIG-GUID: J8e6NEn8a7RhfQppyGj3SVBen1rQtUZs X-Authority-Analysis: v=2.4 cv=CMgnnBrD c=1 sm=1 tr=0 ts=695f71ba cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=RfJNy9JZAWTFlj1jTG0A:9 a=bTQJ7kPSJx9SKPbeHEYW: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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 priorityscore=1501 malwarescore=0 phishscore=0 adultscore=0 suspectscore=0 impostorscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 Sun Feb 8 14:56:12 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 853A237F0FB for ; Thu, 8 Jan 2026 08:58:48 +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=1767862735; cv=none; b=Oskj0+8nEq7tw/CiOhfook9hBfAKKmjgxwrzn3kdurluNifr9Gys1lc6sfO2TxodYK7wn/5DnrdXSPf8Kf+eQCTkCcNJ1sV8NKRmwFnnaCa7mlrUrYbWKOo459GnxrcKImVkrgKatlJd4Cj7LA9yGHNvifi798lv7gv10A+uryE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862735; c=relaxed/simple; bh=rndpZ6Ao8ViO/NVdv+UngU+zzZlHfMOV5xdQbbSt5pk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=IrsfNDmYY72DX6ie23XmMi23Jb4KfIsle9zaG84rQhtbazA/Yh2igiLxRLBAkAI9jT5EZ7CVLgRgHhr+mnWoTzQIh2VtJov2SJbdImcKjIUqmGyynL4hcTysNs3jNali5tQKOMaP38UNqAFMbak2sAZKcF8SjDt9orIw7OhhO/A= 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=T3c2MTur; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aTax5pou; 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="T3c2MTur"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aTax5pou" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6084Fuws3751454 for ; Thu, 8 Jan 2026 08:58:42 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=spUvP9KtaKx puV9gvU3CBlEkc10n78zM/UgyhPno/GY=; b=T3c2MTurXhuBHk2gXAbpOXsTxac pELoWfDyoGXs9qi9S+rXeDic0kLxWJSYHSSoApGP6qqeNMt2pbsvtEE9UyNAm12U I+p6Hzwt9yq0m+Zf+FDIjM4ErlO8kGRbWjYPVpn+FdPFzh5cX8JQwBJ4Nja/pPL/ 860ab/IWS46VI18ILOzj+/Tn7Heakb6M+o69T+DbGjcZgkn08ZelX6YcIFHPlf8y cCDZv5Bdn2mR+ZTwedglm0j991O9+N6XyFt4eZFCtp2tocsKOQ+pI0eiNhwAio8V 0fk9/32FN/UYVA3M9f7rFfeIKJRnEF39BwBSw6u2fhL1VufFuPzBcbKStJg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bhuxctjna-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:58:42 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4ee1b7293e7so108010291cf.0 for ; Thu, 08 Jan 2026 00:58:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862722; x=1768467522; 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=spUvP9KtaKxpuV9gvU3CBlEkc10n78zM/UgyhPno/GY=; b=aTax5pouVNGZPIVEQCYW9f4bbC1r7AoDu6tzS3FK84yZkiFsK/6UXxcaaLPwN/zDUw 00gAs0LeGbb4B6Ae7MmdTKt1JLdmIxSL7ip3Hd8JmOqKt1qFpC73Fd05JTPkl7na9P4B O31euBGqRt63zMYhRNyUTNEWy56rAzQpetDI637gjnapmVeXF46JHWGMCZekqCDc6QMP MLigHm8hWwF8/MpfcXzOJF5O1x1K/58W9bokxfAVKnxd1Dv2mIg3WLjZWrZZd7Cl9Yd0 BVvdnDDSeRR2SHTZrtgOfczAmKD5KUhvVso1NIgQjJP63zH/dVfyw6dj8tW/3g0smQV6 LfWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862722; x=1768467522; 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=spUvP9KtaKxpuV9gvU3CBlEkc10n78zM/UgyhPno/GY=; b=u7fAlUrgkdhaYZxvB8bkGxNisvk/DArmnynB0Zjv6DO63uYnWeFIoB9omsTrKK+XIc Id8+RnqYia3vndp4IUkIcy2WihW382+3haahQLrRqElPsLOoRmCqW6Z75wuh0vxpWHvA ML9FsXo72kacvU/ntCBoUtG9TnAzzANASanfn341b/RIwi7NKQ7aHg7QUCHJ4JTRoWUy nr1V6XPk0Vl/D/lLQzVWYPUvaqkYrJZW7g6EHoosiH6BRzdv2THZCN8eHdVKECSopody fOBopPfF4t2VDoGZbE8MpBh8SnPCetcpQc4cyZAe3BezbAvoi6Xv6qTyfp6AQKxnIVgw NJWw== X-Forwarded-Encrypted: i=1; AJvYcCWIXgJkZCKIGI9kgSad7FfR1G8IlVvDfgUyXV7H5wEnHMX1PIu80j9FlIIwnb3qHdLTfRmIB30Idz0bowU=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5ZZzgVDyx/6YASIQEtKkXh3WPe+UWbGksYwP6P4Vo2lD9knJD 9+KmfhOE9OELIfwdRpge7jI8qkQaBB8vgZTN7exWFYdXN1ceEimIIumtmBjdHmRCCN+pKoJc8fr nmmgMK+3KMlViyDRvGIZYY7gPe94Cx8e8unZ5uwEWIEyvsOxnP7HbjnIzIB7liZwI0vw= X-Gm-Gg: AY/fxX4yDjKsx+oYArGHj/eWMvY2NZ5QU9bB/AxI8ymz6MmcyPJyU0euESWi0fK6VLF Tdnk/MY5xwAL/nckC+iFLSJjaLHXPinYRxuGGkU7yD7yklDDAbNXuoRNS2RAtDSXyerR96/asw4 a4j6MZXSGOZ7y0+jqq74ufL/8BIKjGvVFC2OgDJw1+x0+qm6ZdeD6uHsm85mEaybzsVDIBhVZ65 7URMtmMUJpDja8XzL8OnxtpihXIeInUGY6aorjOdJinq0iMDsHpwcU0oE16enJPah7ACBVykXO5 Cu2ORKbP36H62ysF0d+YVLS8nEUugxA69GLYO5fgRyCrDx2RBQGijmgiR2cVr3YOibeypFwi1ye 5aUIrX9dR+JYbpRaH6ix5RVXTpQPDFyIRMXpk8qOt1+oIKwL3v1PghCe22J4iwwBfMQU= X-Received: by 2002:ac8:7d48:0:b0:4ff:9737:dd15 with SMTP id d75a77b69052e-4ffb49c6156mr78381711cf.60.1767862721548; Thu, 08 Jan 2026 00:58:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IE1h1UJUlyhZhZrTCku8ARy7se2OJDfzNtUl4xt73QUuwB1CAZY5wgP1b32MtfmrHfoqHfFJw== X-Received: by 2002:ac8:7d48:0:b0:4ff:9737:dd15 with SMTP id d75a77b69052e-4ffb49c6156mr78381471cf.60.1767862721073; Thu, 08 Jan 2026 00:58:41 -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-890770cc7eesm49680326d6.2.2026.01.08.00.58.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:58: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 Subject: [PATCH v5 09/12] drm/msm/dpu: Refactor SSPP to compatible DPU 13.0.0 Date: Thu, 8 Jan 2026 16:56:56 +0800 Message-Id: <20260108085659.790-10-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfX9PeRYwuhlMA1 6tMJ2QvvveohARUu3ErQPo3suIjayswRXmzTOfJlSOz/vXtOQmW6kgubplkUCRuQfaqkNYyq/+j DQJN2Parb7QqMLWuxK1D57jUpyR05glm6p3mkuXUarQaQVm0G+FiBXfvISxI55qOXLKbsjHsGRe xkBqKQa6T9A6EZ7Y5Vy+wl21NQlxq2J9Myji1E1hm7+0L89k/rjP2+SqfwKgq32Ktnk/qbFXuyB eeuhk6kWN0MdRteYQfuFvCqFtN4XAaLRls7dQCm4kxZg/Mi85i+4IJu5sv0+HPGz7AVINFm5Z79 YmYnr7+1mHL3AYCvwdg0Dv6n+NpQk5En7GkePhfd2RpUVR1JKscG3M9v0Jq5phQAiBzz2RwDc8W Dm4iGr0EcmryYOVE7239Ne+mPGhW/m3kQhRqEUYCVGEY3hRSpJ1+xQzMHAlq7c2xoxjqdmsEIVY /ppKGUt8D8rAm6WhIfg== X-Proofpoint-ORIG-GUID: nLBs1mKFBPV21YBD4kvw_SlxlJV4K6cC X-Authority-Analysis: v=2.4 cv=SPdPlevH c=1 sm=1 tr=0 ts=695f71c2 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=Qg1eW3vjq6ATntrd7kwA:9 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: nLBs1mKFBPV21YBD4kvw_SlxlJV4K6cC 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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 bulkscore=0 spamscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 Signed-off-by: Yuanjie Yang Reviewed-by: Dmitry Baryshkov --- 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 Sun Feb 8 14:56:12 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 49D6737F72F for ; Thu, 8 Jan 2026 08:58:54 +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=1767862745; cv=none; b=d8Vm3XfNQ87uXye1aTqJLAnxyXSeqxRIls0iVjVp9NqdqPs/AYfACLFL238ahFzkUrZQi7IM60nRJBATxWPA9jcziu1JzGTiClEdybokCfxLuL1QQVtLC3rqrogdVBBo+hYm8pMaoO5NBYWPRg7tY6CcGPjOlVEvPUKfwt8YXJc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862745; c=relaxed/simple; bh=+aoy9VbKUQ5MN/7utCKYoAu6Y/AmLQbnXgr8F3KRUPk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=cskIrm4OGU/gf1WNxJu3zxD244JMEzfVXvd6kWZfhtbpMNHbsUCtOClWicRUM7cqHeLRd+S3cKAfcdLCb7nJ3Sw34OjpQYOWwjuX1MLEKxhwHIPoVb8xCKFk95IDvnVuDBe/GOlU2A7sruNKkRF7JC2zyq3SlNzAORo7XP4A34s= 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=ZwIoK9qS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZwmtpTYc; 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="ZwIoK9qS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZwmtpTYc" 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 60846GnN2780200 for ; Thu, 8 Jan 2026 08:58:51 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=whI4NgaikBf H9jt/nnpSRtLLcXeeBH2QUKR2sOVuD/Q=; b=ZwIoK9qSYz8UIy9T7/VqVROWgJw k1EANmwwJd7XnjCgGoh8NKwAZAshucvj/24EYeNJXH6o0IiNpKvywgjxRXcHySfY GSEnizU3UbwhnaM8plK+4zwzNrxfU5rYSx7W2BR+NQW6DuRJyF6BEcx+HXq3CqdJ iF4msr1hGyfNrtRtB5+AEPcbat22K9AIoMXOJutYVNqO7Y5aj7q53lri+C/DGwn1 8N4Ie/3BbpMfv/LAO0qhU9EeqWpEb81d5lanOVhkinYNK4NLkdVP/D5u+cpxFUhU 193KuWHJLjsIKhHCA1Jh7P+uzjgf3trLSarC948faxa/gHQSPYb9XgouMtQ== 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 4bj58ugtac-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:58:51 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-88a32bf024cso31487396d6.2 for ; Thu, 08 Jan 2026 00:58:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862730; x=1768467530; 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=whI4NgaikBfH9jt/nnpSRtLLcXeeBH2QUKR2sOVuD/Q=; b=ZwmtpTYcS0YBXDcqdJYVP1pJCFvPPoQ7jub6JN9QDkna/ro+v0iruUZa9zHGCE1lsN bbQI7QqFQQ+vk0Wr/45cfdLHEgA41oR6kD4lMAXoyPVwNCwdPCbTak/TEL2qBn8q0yh1 Oyr5avVPbtoQ8N4wLdfcL18ftKnKX3Fcoy+q4T3MEdxBfSBAQptBPNYuZcwsAWhnOwNT yyvhloXUMkPayxYRHVkTWW/CRhp/618Vf6lY6xKdD4mnuMES4w7zic00Lg4bS2b3XLFI d9rUEt/26ECrHcyuUoWpjnUAnTrHJci0zAkq45bvnC7XuK6RQSQLswf7Od+zrawABoGp T/Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862731; x=1768467531; 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=whI4NgaikBfH9jt/nnpSRtLLcXeeBH2QUKR2sOVuD/Q=; b=iaRT6kCHWx95pK/W5JkyffKUJ9raFZYc2FexfO5Xjik6NDznWsE4enjaz8XfvDzGav PJnUHuwtXQPU3GdqDnd9DGRCBglDNX+X1mgWzLfyksdZVL7/KJMEY4FvgPofUe29pPWY i8gQr10O/DJRgOzo4RUOSFCGJsjxYRXrdIiUusUTbL4+POqLkRJe5fUCFeEqmbi3bsCj E85q/clnuwwxxyfEty+MUctCaEI8uc8fUFM4hiwvnpx8oqlqrGf/3Ox6JUbmnXDYPtCH p8h6DHorOgRq+4EKA5RraXRUeuykuAo2u7PxWv64EXtqOcMtPxLLLIKcCdhHf8Mv2DfN m1Xg== X-Forwarded-Encrypted: i=1; AJvYcCWMVZ8FMmHqMQECsPNd0MJN2Wybc3FI/H7//FrWZcxsg45VFVzSU8tDU0C9qL07+1URyAwbKzQxm2sCt+Q=@vger.kernel.org X-Gm-Message-State: AOJu0YzED0iTqn9cyeoqPbOc7+bQr9IECynCZ90QKo6W56Z4RHl0saCn Us5RaMXq22FxaUtLc+B4ccIbk0txvXR4nmcLYxNFuzLtghJ2qQDWCdWIOnylIN/Xt2/+V4uCP1e 3vRpreVszGpHlKjiC/nniuUpDzYRF5ohE4lpi4z2+Fcjs+qspUrmwXWnvjvomokSv71c= X-Gm-Gg: AY/fxX4WNq0ml5KLvS860vUwd+joeSJxgVvsThrbb4q8ipj7X1QfQdbINRgHE9FsYPs OPL3P5gnQHEYG0VFvYBnuNHezBz8QV3vBAw+h2+1GpKnYLdztS6AfFhsSrhRKDi32Wp3XKRyQxA QsJQkvHBal2oR7od9VPtg1UxHvCwppvJ40XplHmEzxTff6fZTiM8Nmo0rChyp9MQeCfj8GEItvg Q4XLKYw5iiZTqjjud2xwvUKM1+YVA3g3cKsgaEgMfS5Nov20Fs8dLXYJpjn1a+UJHxbpMubMTdg BjuHuI8+NODHUlUsp0egWPbuIuzMXB1L63pmiJEK4VxlRWrIC1i+R4KuajeL/kgZyK5v8Op82vD O+gdB2bl99pL9COrLoAS1INGQwkLVSFBB5Gocweh1ZGm98xmGFgcmhA0HYJ6ivoeAE18= X-Received: by 2002:a05:6214:5184:b0:890:2df9:c6a5 with SMTP id 6a1803df08f44-890842a2364mr66683876d6.49.1767862730398; Thu, 08 Jan 2026 00:58:50 -0800 (PST) X-Google-Smtp-Source: AGHT+IFtGZ+ORpobofbOVe6HX3/bYKadnPqWm63ghAfILfChu5HeGEUCVZEZvss6rhunnlTdLmsYxg== X-Received: by 2002:a05:6214:5184:b0:890:2df9:c6a5 with SMTP id 6a1803df08f44-890842a2364mr66683666d6.49.1767862729858; Thu, 08 Jan 2026 00:58:49 -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-890770cc7eesm49680326d6.2.2026.01.08.00.58.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:58:49 -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 v5 10/12] drm/msm/dpu: Add Kaanapali SSPP sub-block support Date: Thu, 8 Jan 2026 16:56:57 +0800 Message-Id: <20260108085659.790-11-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfXzEa0A0i6+l32 tV1sF9jM5drN1qc2RFk7/qAyWAUDac8oBxl7sC4r1NxiNI/oUXSuTvJWMymnFVYfzSpTunRaZLt r3sSEC375d1ZJK/p5WGP1VNcs1nECr7ui6cWulwfM6fyEQ0rjXTG3bHRDJjJXtha6oY+qDnALWV 6kR4PcJ8P4HVFre6fZLKYqanOU0DXjQpjeP3tUaOjZQ+7xXgVxsBBlgbonWHyEUBRjk6JGH6tTm mBvhLmhB3CLwALyGrxzZE238WFXZayyuPtL+Zi7yAf+o1n4ZlYfl/CCm8+ShARlAA4xO/qbJfiE p9kxpepQXMJh2p608YCGLuFgQj8OVd+9+69kMJsaUNHa1LEybfF8Ld4j1vRZkQTQH06b9KTqZOC LnS8xLoSNpj56TmE1cp64GJfq4CV/RzFnE6bqrLoELhOixt7HGh1zG9b+eGai/PjnBZ39t79dy4 c/oXau6HGfctwHxqy+w== X-Proofpoint-GUID: 081B44oh8G1a2xUlt3xa_UFbIRscU7V6 X-Proofpoint-ORIG-GUID: 081B44oh8G1a2xUlt3xa_UFbIRscU7V6 X-Authority-Analysis: v=2.4 cv=CMgnnBrD c=1 sm=1 tr=0 ts=695f71cb cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=IoldKcXwaph4SihcyF8A:9 a=pJ04lnu7RYOZP9TFuWaZ: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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 priorityscore=1501 malwarescore=0 phishscore=0 adultscore=0 suspectscore=0 impostorscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 --- 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..e78a20b45300 --- /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..3cf22ec62792 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 67b08e99335d..1822ac699757 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h @@ -360,6 +360,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 Sun Feb 8 14:56:12 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 4F6DA37F8BD for ; Thu, 8 Jan 2026 08:59:02 +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=1767862748; cv=none; b=nst18Gk6OCwIQVU+Syp0Opd+Bn5hYQcQr7WllqwIWc3Fb4imHdTrzm8f+m97FnsKy8l2QrSb7DHjIsZ154Ip0goFo1mdkD013TWR0dOM12QmEVFSrPJO4Ty+9oRdcX5B1D7l032KT79x0f1D5ygDMrpSscrgENz/2Qy8lNlzhk0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862748; c=relaxed/simple; bh=xddD2MNsv1s20DTlpMntWMruk2EwI1cqCCz4ydIMiDE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UNBLkSaCZXXXKHN5fMSaCjbRlAAPrW+Y/c5574ab0RuV/Spl8uIYGWbchD5mFotydAo9QGkOrP6n7wLyISuxC+Z82u7LVR+VWuGWUwwbqPgbPyEjN4S3DFGMPwKBXUbLEXvAiNSdfW6Eesyv21s3aM7M1NxrUze+HEVnIUPJG5A= 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=lakzr7BG; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bSRGyagI; 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="lakzr7BG"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bSRGyagI" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6084jJoR2593315 for ; Thu, 8 Jan 2026 08:58:59 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=54GDJZyJzbH Wm0MrtQpD7VyvgqcpHZYlLhoVJwL7bN4=; b=lakzr7BGXoXaqnX93ruFWQq4iMw 3FynUPGHYsM9mVzpgDdFf5pLpddwJ7GenZpP+ltZ4R8/3yzsRn+W308uFf1+qDTi qo+f6bO2jmO98DR5VNctGhIURJEQIxjvZjlQGFOcOASOz6Rv8RwfzFVz94b9H9hy 4Biz/48eNGIECrYhhtgWjlv1zYYhkbe72412DBdoF3izvTHyNFunpb0vdfl2s75K bHPP+QRzKaWkOgS2/q/NsTgjIxdlUbmfbIirV0p6aBTyPxgxYOsm7pyvcz/e5rQ4 m0/FF2eU3sdpFLG+Bm0RsOTpW82r83AAo454CTVFAMZOKIAPaR9pTRxHyCw== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bhn294190-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:58:59 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8b6a9c80038so329200985a.2 for ; Thu, 08 Jan 2026 00:58:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862738; x=1768467538; 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=54GDJZyJzbHWm0MrtQpD7VyvgqcpHZYlLhoVJwL7bN4=; b=bSRGyagI3H4krAO99E2ltUM4kktpE5tqaSmEYtY3V6vKGghDl0+k1rNwt2p25VFXB/ 5ixvmHmPM4QdHHEOAwsW22krmw7qZZnB/5dunwWGe5SLrHO/dCnfGDXYdGpkkGT4LPO/ ggfDJZgzEvh+6++nDObwmv+GpPDTe3pgfKvvouch9ghuN4HbCyiUvYn0Meoy8I8g2DIx T6//Qa4dx/YXp8u2QTSn3bV14h4sXiFTVzvUIchdzUEZ6i13GCbXBIeeZgr2GoU5qGXD TZzkDiIFnDYRJj6+bO/dZaEbvUbpdfRqly294b6AvpsYAPSHmCdrIGFPmZsYzD56E1VA sR7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862738; x=1768467538; 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=54GDJZyJzbHWm0MrtQpD7VyvgqcpHZYlLhoVJwL7bN4=; b=kGqAF+HZSpgbm/7Cm8tIvhdhk98MukPEXMD2ZyZTBtMWG/FWPUWGYGJ24npu8rH8b6 6+iKnnVd2igcWF1mGkIkMQUqlNf5weUGJ1jTu9/NIOO5LqH4SABsy3CthAMekcWdDrFO kO3hTpOw6djh3kjHPH9uGwn9S1RLIInRFDpPRP5wiZaIacPKZ5FpFMvokO+yoFZozb3w 8AiJrly4UbIKyWbtgRYO3QFYltDkl2yhvTBX3WK06blaSLZ3XzkpN7SLq47AdWvmQ4rG Ys+47Jr4CMDnyH1sZinstodJDfPJnzkXBKepTgd9s1cYZseGC+VtFp0ON4bEaNvS8PhL ao4Q== X-Forwarded-Encrypted: i=1; AJvYcCX/W5blSjBeYoZ1EXFEWcwGG9tasDQ12LAmSe4fOQEnRyKdwlSDchsOkuS48YLrhxDkLVNPZzzf5PN9SC0=@vger.kernel.org X-Gm-Message-State: AOJu0YxRut/Eh/mJI6A/gNu2+IJegBiFUO+ZUhjI7B5QslKS2lX7MAMU q2V9i9SBNfHwhiFphirlFdU6WQax1hMx+15XJoO1/6vAzM8y0WSQmdAJDY8YdIW8zjGTJL4FcLd xZMW8SNPCZmFuuGSmRl+hBY5F4X0GRrHBDBuXBXOwUfhzw/3PfgFOgjkfspKjIBNid9o= X-Gm-Gg: AY/fxX596XsN0WY98kaIeHeTVsTB64VCxBiB15SjvWA8rLtjG6dWnnsvSJbcH26r0Mz Xskk5NnozSTrehEXxFWqF6FmHalRmWn5F35oJhjiZs8qHzH35o1WLMaccRcwS1h9a0Gp8T48cz+ zwRGqpEFuWEdNs6w1L1M3yEMgr1KeF6nCkJry9kUXNIonSroI8Y04DcQe/vYITMBTT2zr40d+VL +nuUOcIhiGvGAZHDqb+pI5kX8eg7qNmOC4T1EdulvY4EhUAzBpngGK7kI4WC0Zm6nsbkTRxVIpf 4VHRK5/DfaAlosN0q+J9VfBtUHAROWwJp2DNf2uEzsYLVp0RJt8+1nvrXk7bkTL7WIZ3+ZD8hwa 6AVg6XONW7yOHG/S/5ob7T4jKqO2CVd5eO8g08WW/96sfa6IBu2FpuEvN4oy+n/EgahU= X-Received: by 2002:a05:620a:f0c:b0:8a9:ef98:6b34 with SMTP id af79cd13be357-8c3893cd9e6mr665634485a.56.1767862738338; Thu, 08 Jan 2026 00:58:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IFDPTpg2nfUyWmprD2xyTpkUnn0XmXeqUYRDeQUfDgMTzG3+mwfDEmQ/DqJk3PymsQw8p4x6g== X-Received: by 2002:a05:620a:f0c:b0:8a9:ef98:6b34 with SMTP id af79cd13be357-8c3893cd9e6mr665631685a.56.1767862737861; Thu, 08 Jan 2026 00:58:57 -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-890770cc7eesm49680326d6.2.2026.01.08.00.58.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:58:57 -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 v5 11/12] drm/msm/dpu: Add Kaanapali WB support Date: Thu, 8 Jan 2026 16:56:58 +0800 Message-Id: <20260108085659.790-12-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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: WqZ026jCv_Yw_5rxgJ-M4e8-ZF1VZDjS X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfX/K4hDJ86o0dn abyRR26ng2O3/pYICRa80m46o1eGtvYJTMsrME0OazMe4py6ZmlpAzW3tUloGrNqGOMJYAa5RD2 IYw7y59fRsJ1DZuRbpnZe22hKWmPN9GJ1pK+FSkW6VRHVbVfEVZ7KWflwR0Pi5bz72PqobvlQ1g QSEjXXuZmtlpr1tBnjA8XrxT0VsK2d51b7+ey+uCgVLd3MtiMEM8q9rpd+kCQV54xO00Ydch5eW RlGj+tu49dG/BSjYmuPJlgWNqREjfh/AEGsg1nXUcb1vbgwywicRhLEtJvsoEYrk8V0EFKPjgE/ pZ9hKVHCoUcKSQ/nasiA+D5CF3JqYl1hRnd1CBsGWbtveVhxXbVDLbRW0/tzn9y6iIRwKCIs6Un DJh1WA/ZONBLiJOZ2JMSW+65WlgwTYMAJhcFe7qGxJN0bDAWksn39LLRUfbtMCd53echVzF4bGF 8+8bkE0h4OJcpQIqWiw== X-Authority-Analysis: v=2.4 cv=P7k3RyAu c=1 sm=1 tr=0 ts=695f71d3 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=kCfvZJGldO2mi53t-5YA:9 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: WqZ026jCv_Yw_5rxgJ-M4e8-ZF1VZDjS 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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 spamscore=0 phishscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 impostorscore=0 adultscore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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 Signed-off-by: Yuanjie Yang Reviewed-by: Dmitry Baryshkov --- 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..006dcc4a0dcc 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 Sun Feb 8 14:56:12 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 3DD5C3803FC for ; Thu, 8 Jan 2026 08:59:11 +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=1767862757; cv=none; b=Fbo6pyqLOcvMNxgjxQejAoqOvU1ufOci5hdoQAgg0NXu14Qo5cBPZQbe0mBB6wWNpkK33A5xpAXyLC+FJAF2sz65UJD5hIUp5Q6UM7GjZoY0V3wppiB+e4rCBj9iskFIK1TxJ4UJI/ABurX6zelNR6mcA+Nr5oyw6c9la+8RSXg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767862757; c=relaxed/simple; bh=MOM1BcB68BSvX+rZ1PaSy1HsFXGSOkRZF0w0NHrTyZg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=KDWh6BCktcDODeI38nxLK4DTz444k6wPCxQ373H4eoSsBifxty92/sPC4kx3I4nFZ2/C7cA+rySKu9UdmB54gsJo3eRSkXZCClJNDMgCUGZ+K5fgE2v9J3JIlZN1k3rnPmT389rZOTi1NWeARmHyUED9BtHjaUqIzDIsU3eSQZU= 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=dUKaqXIy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BThovNHD; 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="dUKaqXIy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BThovNHD" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6084e29E3751241 for ; Thu, 8 Jan 2026 08:59:07 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=dUKaqXIyFmgNu38xsLLN3v5X6ka HVWfwbaaxMkFO+OqajhE8CrZbZ7XLi8u2PpBOTr9ptQPjo+0yPLkR/FelGR0NgET HCAvQR+YW/A2LRpzZ5BvZMVes3Zi0CTNY/Ef3P+u6LQAt2o0GoRqFaeW1u5Cs6qZ 20jtUSvLz0wJ+omqy+sKyz1Hlbv9lpTtubEYHh/XPivosGyb6lr7V+edoRv5ZdHA +c9AFzkm/KHQRNEWY62wAXre9Hvhl8npBhwHhUClwskTTgGu/X7nPbEQWmyx+n2s fYJiZ74AS5kbr0rBRYCTh0ykx1uZiC7heCE2XqWJiQQp7axf1IO5TP5mGqg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bhuxctjpk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 08 Jan 2026 08:59:07 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4fc0d0646f9so116030601cf.1 for ; Thu, 08 Jan 2026 00:59:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767862746; x=1768467546; 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=BThovNHDjl/rxyUM1UJYzuqVtqccESliNNM2JIKynyVr5dLfkrtBCRSuXGgRYX++Pf tGYMSSbX70PkiTdFW4+L5cnJEEB/Wfd6GIF6/PiPI7c1pochRleSZ8u0mDIPy+btHxrS TjdFw/Cl51CUVtjGh7QvatDKRT2wXFmc3+f8PlsWwnU8Hf85YsaZeVPFZc0ljUOo1c6i QwC0cwhRcnBj0g5YqfyxdZHfGcH1OLu3CaurAM1ozhpBnXhn6rW50l8R3KgrBe5gxgTk OdSbjjky0kfjZmGQ8QzZvy2BvuRqkPG3OXJnGqRSYVmk6o65vEzHQHxSsZE2fZunGzuJ ybgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767862746; x=1768467546; 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=i35J2o47ji5DdW5NnlfEoBaPMaTGAXleijGvu+qxTBt/JAJJVLcDNhBhooSw+adJlx zozVDYcqFqBO2Ic/4sjliyMfpwEEscgNOPHZhY23iE298OibzBAJRPxG9Z1BTv/sTD78 J6bXzTJ+jg0VdG2frgf74RoXorM3eigIpsmlZgRNypUSakSWk47C+KKNnCurg5m/cfvP fDWTTpofYamd/UnbZiZ6UTiMCgxmE5cD1bxtqaQhRqNrBTAM/HRHPBkMrQi299mXwgk8 UddcWki7BsXhvXaXc2Go0M5bQbrAmLeM2rQv15jY+efZipP4Lrf0PVUboX7ptFUHCkzU uPpQ== X-Forwarded-Encrypted: i=1; AJvYcCVHLC9aqcxjVB5LkbcxZXEoNAoVMMypsAUcxCl5kAQKllSJQjympEpp+JBRQlhYfchho+0c7MPMx6tSTcI=@vger.kernel.org X-Gm-Message-State: AOJu0YwuRwDVAQD6FquneSIpgQAiZdvYtWO7FKPNbX37HTeyQkCI14HL IfFbkYl0/iAZRJNvtpr8EhkvpATRAMQSe+6SPnJQ4mGE0cb9VFkWIHCYrku+pCh1W4azq7J3lEm Ssi5fcHEUGoicAXGJotRL8B9tjRt1DrRpSh0dWAwtOI0csTreQbyuTaZpLkvKEXXtUHo= X-Gm-Gg: AY/fxX5P8PucaKXk8u96YmpprTr4utT5QpeVL956RIW/LvOjIPAi1CEAJaRQMgi56B6 KxKBSZQppsK8spEC0G8MKmPBzLF1ZBillFLwiUHe+1lctzkygaDNm4vdkyCRtdCYB3zW/Op671w 9cyDXs53G4q6ZIkm6J7FMIgR7Ko/or/0a4vz3zoH8/lwAMoaYsenoZ+OpmTTtA+kAaVrhtrNb0b LeywDocOYH+m28nEut5WuoV1EBgq6RzBfhgTq1J447eVpd2ON4yusyomrzpXgfpeYqlNhAeHdG3 gDj0Ax4vsT244udMoNh+wHRVq5UIA76lN5UCKVFmiTETGf+gRUzNu8bHaROXd3CGMVMPErqZRFx 5rv+CYF4xCBjPIm971L30LanGE6t3bmAuWaeY5eJuRLalCsFNSYAcw+flikjoWPbZgYs= X-Received: by 2002:ac8:5849:0:b0:4f4:c107:34ed with SMTP id d75a77b69052e-4ffb497ba1dmr70653941cf.49.1767862746323; Thu, 08 Jan 2026 00:59:06 -0800 (PST) X-Google-Smtp-Source: AGHT+IEh6U1kkws8hZmCNYQD+6iUacbMXQRcbenjXvDEV5LPICJGkOoePwQmvhEWUCA71sj3arhPrg== X-Received: by 2002:ac8:5849:0:b0:4f4:c107:34ed with SMTP id d75a77b69052e-4ffb497ba1dmr70653681cf.49.1767862745828; Thu, 08 Jan 2026 00:59:05 -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-890770cc7eesm49680326d6.2.2026.01.08.00.58.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 00:59:05 -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 v5 12/12] drm/msm/dpu: Add support for Kaanapali DPU Date: Thu, 8 Jan 2026 16:56:59 +0800 Message-Id: <20260108085659.790-13-yuanjie.yang@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260108085659.790-1-yuanjie.yang@oss.qualcomm.com> References: <20260108085659.790-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: AW1haW4tMjYwMTA4MDA1OSBTYWx0ZWRfX6fl5REhOuNZ3 xYRAKfgYBpnz6Jk0Rrd9woP3jqJGMCdR8HcG2Ano1c04ONx1zWSa0aQyGH4EPoFwu6r2jMeSkFp DTgRRdzKMC5FhVmLyqQ3KPf4P2+PlxFLLOR5WezSmj9eNDQXeefPzQ71RLnalm8dXBFYTnwXPZI Ofif9UdiwcqdDbSQ/OmDd321gAW5mhcAIPzsCqOXGMbDtyjiWzZkvmO7U1DSNP1FdfZvkygDSJ3 j+NN6VRKKtaoYkXkTISLSZn8IHG8SDv96PTlq5bEasGpXxOIYXrIdxV3hINAuC7x62uyxUEFnZ8 KoiLLmM8SxUtF+iOoemuiLvkrR3zGdN4lVI+sJjF/7B3SvDTfmjTKCofIw57cQ/aD2/PoAy0gz8 VLRxHNgLw957exU/wzW3wrfEqJ+yQM69RPKsiGJ8sRZIBxsYFZu9Gc1wi7H6PWTnEjaKiecw3F+ Hg57w/LlBQjjV/e8MMg== X-Proofpoint-ORIG-GUID: 6RCyGaS2jV-nct0kYlmh1b1NmInG0kIV X-Authority-Analysis: v=2.4 cv=SPdPlevH c=1 sm=1 tr=0 ts=695f71db cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=iVC9QAuiRl3Xz_40r_EA:9 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: 6RCyGaS2jV-nct0kYlmh1b1NmInG0kIV 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-08_01,2026-01-07_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 bulkscore=0 spamscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601080059 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