From mboxrd@z Thu Jan 1 00:00:00 1970 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 875134219EB for ; Mon, 29 Jun 2026 14:16: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=1782742615; cv=none; b=ABl1n2z2X4N6MEUqqH8fXplkBKTbMBqNqQ8TAP2tq2hk9n6BoDoAaBl3v3ycdoZkF0r/C7MROuDj8U1yx3aP/TQQQGb2L+xv64Y4BIEEfvnBnQXzvLFgO9rs+xKQZv+L/EIYejMsX/z4lVpAA4Gd90gZs3BG6p5YEcICzWxGbzc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782742615; c=relaxed/simple; bh=Tea5Jce8MD/RzZsevZLf4xjvhzOhaNCerFeZKirGZak=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=uKN0f8EIArlvDIEgUjahx3wQGQIVv0LDQ2O3V62HogLtYD60V3ZeI4+gIt9t/QMVhP0CLq9v4nxluszXwKGuCn0MjmcmPThZWulz9S3J/AxrFlME2s1D8PKNfPkztyID8dS5o+rgAFSq3ZPvKgOt7aqNunve8ZLTvnitm/g6bPc= 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=JvD2Gvqw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JAxkfNK9; 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="JvD2Gvqw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JAxkfNK9" 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 65TATpdS2656706 for ; Mon, 29 Jun 2026 14:16:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= nQqaaloZaS5enQFI+d8KGIEPr3AeTZ/Dz4Bxlwebq68=; b=JvD2GvqwA25f4oVk 7N6XZw4gJYRvggnRYLf6FnqxBHHwIF9dlsH9JJIsrgWZYfxf53Ip6C0l699E/VJC wtnHtqs5YpvA80D7BhCLyjd4XIS9o8DeTNAolS5ak/Cpa7CoPQqiD2CIYWd5D7Bo 0NbusCyQtcXOHO9w0zCNN/vADCO5Z1oWDz10Ozf7k7vFlNRGG/BYxRISnq/3XvGY FqMhaIhzChfzsgJyG0PK7bqyJreIOaRWypiaPvZNtPsOIZHR53eP55sEbnYdv2Sg vFjY6MvB/GYhze6J0paLrcyqhh1cg9izuA3XHb1LOy4KhS4XKvQXI4yzRTDIq9o5 uDssUA== 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 4f3np7h72k-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 14:16:53 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-92b4b575561so633465985a.1 for ; Mon, 29 Jun 2026 07:16:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782742613; x=1783347413; 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=nQqaaloZaS5enQFI+d8KGIEPr3AeTZ/Dz4Bxlwebq68=; b=JAxkfNK9SHl747x1OnJeOSMNniVWM1/6h9tcrLAUD+JzoD3nH/6lU3+zGbB+c5wOqZ FOYtGt84bl1zuBTairLltPmnd4Oy7k9QXR5EetwGs9Ikt01pFxCRbhVpyt08iM5nZOV0 uUWIN52qLWnyx+RxsryQ0eqjqrP7rPVczN7hutZepOA5uUWZuFSCd3qWKAvkXRbAKqmT FZ6E/75taeanf8RRrY0km6HgSu4SFPZwqVpkTSAadWWlOy+GjB9DUbOEaRxx48ZNRL0X 2XK2m6n/7V6iG6wLHrk/Gf3I91567W8M5DcfOPuCFdNMygU+Ohxw3Kxy8t6Qkq4jfNHV p8/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782742613; x=1783347413; 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=nQqaaloZaS5enQFI+d8KGIEPr3AeTZ/Dz4Bxlwebq68=; b=DHp/jxg6mcJqD2S2C/8er8wBqEZZDtASz1UYchjM2sq30WEXaJcZVbJV07RzoDh19U bc/4phTWRNcAGiRbyDQyGsbEURW3QsuXMyH5P2T9d4FyNAZ9lRakdEDY485cBh2w3Vjp i1XuwwPy8KcELOUuRzOc0+wLCztiupZNMNjrgQcAG6J8b1NNdrLl8UREesZbuVm1bQSf PYyGb1jN+bFEmB2frUK9Icxx1rwBbRhXYNPy0cMvbSV7hbL8/NtOOzXIXTTMpixMViaZ fcdp165S9wB+jFaz4rXHPQMH6V1w6sAVnJo2LRilm8T7ZVB/FNte45j1VZhcR4QaNLiO acnA== X-Forwarded-Encrypted: i=1; AFNElJ9cS7eD/nOkpZkeiljFkEt+Oc6z2i/N+lsWNGHvl9ECkBALwKwpV3dOu/H6gxol+Jhb4Z+E9S76OhWgbzc=@vger.kernel.org X-Gm-Message-State: AOJu0Yxvnt0nBcqwvjqUAuK+mFhVhJRfWY303fGTM1ArCb3eFUTtWBZm ozSWy/2FcuS/mcS2HXiBnb0RmBqDnFhaTrQulbsuzoXc9XJ/bMf04eNG2ltoduWwf8hHCePBMKz ZaMob/pdva2z2fH4MN4yCdzoGGou+LNacC34o8NDWZo9K+WJeG7asz8cMc/Hb0Z7iVnQ= X-Gm-Gg: AfdE7clfORKKd8AzkzaAm+KzouX1N4WCVo5tkcJxwZq1LtNAUZ6ZZIoyhOZbGfvIp74 U4xtzuiIFWaanIegQ7LVMpl0zmQLZSTdJN1SNo84pofnuVRWnV5mrVNfwELe9NQa+aXYSzB5bTL wVTna+/vR1mfiPzmqS+njtqftiMaQzDz/kmEs4iRp+tb1awP++mRnWmNG/WwpdaukHvoZTmpG7C 7Kq3eEZc6QtP0tR56LgYY9oFlcfyLX242S1BQ4F6M8KObr14qFZczSw7fPsj2rzooju9IdbJvC6 LaRl81kW3X5zNhesMNYqZ/t6pURmWf2UH1Gp/dv6NHB9BNjhElTQxDQNBwPBQFrKiFPsiSp43yA FzeZ7/sRLuoTL5WOC8N6+NtfmNVhZ2ChpT5IVMdu79vElNiD0TKVwLgCCK4uUY4Ih56AbSg== X-Received: by 2002:a05:620a:4107:b0:915:6ce1:3576 with SMTP id af79cd13be357-92601f1bdbfmr3942142285a.20.1782742612844; Mon, 29 Jun 2026 07:16:52 -0700 (PDT) X-Received: by 2002:a05:620a:4107:b0:915:6ce1:3576 with SMTP id af79cd13be357-92601f1bdbfmr3942135885a.20.1782742612090; Mon, 29 Jun 2026 07:16:52 -0700 (PDT) Received: from yongmou2.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id af79cd13be357-9260079070bsm2143165885a.40.2026.06.29.07.16.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 07:16:51 -0700 (PDT) From: Yongxing Mou To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Jessica Zhang Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Abhinav Kumar Subject: [PATCH RESEND v5 20/25] drm/msm/dpu: expose dpu_encoder ops for DP MST reuse Date: Mon, 29 Jun 2026 22:14:41 +0800 Message-ID: <20260629-msm-dp-mst-v5-20-2ed6aee1867a@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260629-msm-dp-mst-v5-0-2ed6aee1867a@oss.qualcomm.com> References: <20260629-msm-dp-mst-v5-0-2ed6aee1867a@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1782742144; l=3441; i=yongxing.mou@oss.qualcomm.com; s=20250910; h=from:subject:message-id; bh=Tea5Jce8MD/RzZsevZLf4xjvhzOhaNCerFeZKirGZak=; b=W7kVy9kZCtWevW5mfwZ7km/5fbrIgOf+iMotKR8RHLo6N+JtiqHQGD3YkAEeTErpGmO3fg171 T5WVMEwKDAnCeLzkzsAmtXtLIY5nEd8aAddEhiCSucYojjSkwB9C1Fw X-Developer-Key: i=yongxing.mou@oss.qualcomm.com; a=ed25519; pk=rAy5J1eP+V7OXqH5FJ7ngMCtUrnHhut30ZTldOj52UM= Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDExOCBTYWx0ZWRfX8iXm2CPRBG+l 6Mgx4ZIOxlzi9zjtYmBOkZpyOcnvWdiee7U2RIJaanElIeSJR0vicjDcgwieWDfaeuOF5pm5UOC 9eNAMLE88PmAHx3riH8odq5QIJcBdgDQ4BH5edb/TKFTBziqTEy/M5VX4PFXoIgO8FWutoxpiy5 ZICj/1LiYwM2P7F9wXVi4AthU/DNzg3Zv+v5E58JFHUYYthub716pLDmJ42HCMkUXbhPE3TIGOG WRGbuYzRGwiE2WsWcx8W6xL+xmR6k1YWzsh2McK/v0R1QplCyUMPGPA0E0DJ9f4vx8GJqvaZCVa SzCkCDE2phTYuZoFMUi1vTCsSNxqpuZhRrqd67kUt4ZJzQa6cNc9WO9aHmn2NeaTbRq3EWyzIJ2 GDCxPLFCBJuUUe5FuZKXBfxW3JuxV/P4ucJbkKWKVWRvukXEQrttv0MoATvbq1QUpYz+RfO5sLP sBU7QixsS4UjUguLYKw== X-Proofpoint-GUID: vfXYI1XkFTPYcoHPRKQHSgWN_eosr_Ff X-Proofpoint-ORIG-GUID: vfXYI1XkFTPYcoHPRKQHSgWN_eosr_Ff X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDExOCBTYWx0ZWRfXwlgnQXzQ+fy+ 8Vp+C9G1ae7NyaydwClFFTPPG+Gqvh43lQUklmA48r3ZTdCUfeaVbTn+oaf+V3kYrI6Qmh5LIeQ RviXKhW+0Xd2mMAW1kPILLYIZaz4zwk= X-Authority-Analysis: v=2.4 cv=OcWoyBTY c=1 sm=1 tr=0 ts=6a427e55 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=8o_kNyP7FEPhiWKY2ewA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=0 suspectscore=0 impostorscore=0 malwarescore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290118 Export dpu_encoder_atomic_mode_set, dpu_encoder_phys_enable and dpu_encoder_phys_disable so MST encoder helper funcs can reuse them. Signed-off-by: Abhinav Kumar Signed-off-by: Yongxing Mou --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 20 ++++++++++---------- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h | 6 ++++++ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c index 778e231d4967..1c74ff6f0dbd 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c @@ -1149,9 +1149,9 @@ void dpu_encoder_cleanup_wb_job(struct drm_encoder *drm_enc, } } -static void dpu_encoder_virt_atomic_mode_set(struct drm_encoder *drm_enc, - struct drm_crtc_state *crtc_state, - struct drm_connector_state *conn_state) +void dpu_encoder_atomic_mode_set(struct drm_encoder *drm_enc, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) { struct dpu_encoder_virt *dpu_enc; struct msm_drm_private *priv; @@ -1334,8 +1334,8 @@ void dpu_encoder_virt_runtime_resume(struct drm_encoder *drm_enc) mutex_unlock(&dpu_enc->enc_lock); } -static void dpu_encoder_virt_atomic_enable(struct drm_encoder *drm_enc, - struct drm_atomic_commit *state) +void dpu_encoder_phys_enable(struct drm_encoder *drm_enc, + struct drm_atomic_commit *state) { struct dpu_encoder_virt *dpu_enc = NULL; int ret = 0; @@ -1381,8 +1381,8 @@ static void dpu_encoder_virt_atomic_enable(struct drm_encoder *drm_enc, mutex_unlock(&dpu_enc->enc_lock); } -static void dpu_encoder_virt_atomic_disable(struct drm_encoder *drm_enc, - struct drm_atomic_commit *state) +void dpu_encoder_phys_disable(struct drm_encoder *drm_enc, + struct drm_atomic_commit *state) { struct dpu_encoder_virt *dpu_enc = NULL; struct drm_crtc *crtc; @@ -2739,9 +2739,9 @@ static void dpu_encoder_frame_done_timeout(struct timer_list *t) } static const struct drm_encoder_helper_funcs dpu_encoder_helper_funcs = { - .atomic_mode_set = dpu_encoder_virt_atomic_mode_set, - .atomic_disable = dpu_encoder_virt_atomic_disable, - .atomic_enable = dpu_encoder_virt_atomic_enable, + .atomic_mode_set = dpu_encoder_atomic_mode_set, + .atomic_disable = dpu_encoder_phys_disable, + .atomic_enable = dpu_encoder_phys_enable, }; static const struct drm_encoder_funcs dpu_encoder_funcs = { diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h index 4942097e7613..25ade3dbbeda 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h @@ -98,4 +98,10 @@ void dpu_encoder_cleanup_wb_job(struct drm_encoder *drm_enc, bool dpu_encoder_is_valid_for_commit(struct drm_encoder *drm_enc); void dpu_encoder_start_frame_done_timer(struct drm_encoder *drm_enc); + +void dpu_encoder_phys_enable(struct drm_encoder *enc, struct drm_atomic_commit *state); +void dpu_encoder_phys_disable(struct drm_encoder *enc, struct drm_atomic_commit *state); +void dpu_encoder_atomic_mode_set(struct drm_encoder *enc, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state); #endif /* __DPU_ENCODER_H__ */ -- 2.43.0