From patchwork Sun Sep 28 08:24:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 929 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 8D59C2BE7CC for ; Sun, 28 Sep 2025 08:25:00 +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=1759047902; cv=none; b=EXCJW9f5QpSwqtTShYm+rxKLLJCGRUS96gfy0Wcat0uBbzRkLdt1QtMYTZLPOJUlkXvjD2aowjX18mHsQDX5AOWSaXoouSKXMF74ygvArQSiN+yVix9H/sClNApZFmcxFaTGUEJzW4CIAV75C7DPetne/C3gGvuqTktQprQG5G4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047902; c=relaxed/simple; bh=R1Bpa6Fvy73+xL3P7L887ElbwPPq4/fFwLVlkuQV7Qc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MWimCTCPD+1DngXaZCEcBhSzBooU9J+wfhT5ijJGcL93qblLb37OjlwO1ufqMXUhrGxqEpBlEOysEHklxmP2e6MEg6JUS1LudmPr+sIYwtay8S/6D1ZB6CVwNxzk1sD/FpgWDT6FFiKPMxGZdkEmwl0vwB6mGUJW4UzzSEDq0QA= 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=d25S158d; 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="d25S158d" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58RNlBG5007716 for ; Sun, 28 Sep 2025 08:24:59 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= 3RNoMb86TETM38fjgm0MR4bIq5hfRNj//M20P1hCu3M=; b=d25S158dbMUwLxBm R785Dd80o16MVQY7oYklF1CygQd2zDKI/89YN/PSnPdDxigAtHQ7Uu7x6WndWr6Y kbnXr2nNoIbbRQ6W7paF+hgHR7FHm2rmGqCQaJp85xHd/e3KdwdjVacZRZUMs6TR xF+52srTpnRuniTacA7SjovxmMP63S1tgIu+2A340QmTOjSCL2A8gWvBGHq+2Hrm sUva607nq+00q+upnoxqpvnyGZi+/9p+wb66S20GXn+euiMH2ra9MNcA25Gen5P/ RfUwB7JBbgmRIa0li9JMoKJbjPlfc++6gn/ZNtP1XW6g8UU1WXnKpFTwTWtKDi22 nbWfSA== 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 49e7gxjdnb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:24:59 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4d6a41b5b66so86514791cf.1 for ; Sun, 28 Sep 2025 01:24:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047898; x=1759652698; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3RNoMb86TETM38fjgm0MR4bIq5hfRNj//M20P1hCu3M=; b=DovYSDHHKIhcSOCaMdS9p25ahc2UpT3evOq7HZR6rvDqwECt22a5o3UHPFRPrWrDl+ 3g02GOs0ZUNwqv+Ap9Brtoo7j93/Ov1aqgZMBBSnsa7QrPoUzjI4fEEOUrMtoKwdxBFf zWhY9Aq5b/jUuK5LmGBrC/uqelq9Yb80OUKKbXzFmpXa0CnWrNTNrUYMQAk+St7ZpTk+ 7O9dfpXCl3+jQYUpvNhEMKwwqAMifrK312qI/EBUooFEu8wDa8rS2gnzYeLEUANlVCxF pe4bnI5GqtezjHoP2+5ezxX8ROHUSsjYZ5X1xrzLWDLs48sXZ3PRTsh4R6PEAZJ71/d5 GXMQ== X-Forwarded-Encrypted: i=1; AJvYcCXWgqR1ffc0TLUHWeuCQkqYkwa6HdUrQWDvFBc6gMZbGD6Qguj0sffhFUJMUm585Fs56S2zYXpVgRmEFg==@lists.linux.dev X-Gm-Message-State: AOJu0Yy0rCJ+Dqj+GwBsbrnzu70aEJNbwo2ZFc3x1dV4x29C9amZczk+ 7QtXlikZoE6xDUPTRGljG5sVc6CjIDZmCXBReZzWqR5uflWjrTPgGOb59mzEHDtpj3+OX3yeEkJ 6tcr+jJEgs/Dk34l12DPF/w6a2Hh5tw3bGioaxH0IQm9TcqZsAPYgY34kzfJyCJaaFQ== X-Gm-Gg: ASbGncuspV5xsLE/bD8qx+PckoTJl3LzIGctNhcNxORxdQI1KePyaAWyR44qPVKn5jV VhMATB/ugBrp4J5+DvQvDsGlH6pGvR9zCnnVKoWYQ/5gI05YY4Vzeui3CIIa7mbfqafyM2zDgWC nIWPxBSYcDkngr2UQnVCp64jbu0qGK/IlVWi7Nufz+aVWcj1N8zB9t41o/l6JkvJW5vmwFulfyK OSoMPyEdeqUaWpBP0sbo/cx8iSrG+NpvM8E2XA2sDNuow2TIGyyAKKPGprRimB9o3DkDVMb4lXU s/JeavWwa79sGaawGV8+958nKPBrtJtWY2Z4Yc3gOwV+8b1RWt4xDHGIDkW+t8zOnEkKOdrFbD7 h7axxrjzs4RgMJnfmvLXVVTo1hlXfaBM3Ux9e+d3olAE1IE/ECI8w X-Received: by 2002:a05:622a:4185:b0:4dd:d5ad:a0b0 with SMTP id d75a77b69052e-4ddd5ada161mr94504281cf.72.1759047898441; Sun, 28 Sep 2025 01:24:58 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGT1kPr+SGAov5dmZPG5ScdAxxwbVTr7us/Vb/QdaIyPAfJXzB+Vh1Hhl5wl5GH8A9R5uXnVw== X-Received: by 2002:a05:622a:4185:b0:4dd:d5ad:a0b0 with SMTP id d75a77b69052e-4ddd5ada161mr94504081cf.72.1759047897951; Sun, 28 Sep 2025 01:24:57 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-583166561c0sm3244298e87.81.2025.09.28.01.24.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Sep 2025 01:24:55 -0700 (PDT) From: Dmitry Baryshkov Date: Sun, 28 Sep 2025 11:24:46 +0300 Subject: [PATCH v2 1/9] drm/display: hdmi-state-helpers: warn on unsupported InfoFrame types Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250928-limit-infoframes-2-v2-1-6f8f5fd04214@oss.qualcomm.com> References: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> In-Reply-To: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Samuel Holland Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1404; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=R1Bpa6Fvy73+xL3P7L887ElbwPPq4/fFwLVlkuQV7Qc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo2PDTlnZoYPxDU4Z3gTveisyzt0XXcXxDuN/YH mhxi8pIdgOJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNjw0wAKCRCLPIo+Aiko 1UePB/9divEoptM9vQNCxc18kAVQN3qANEu3nhMR3r4BSfaNzPAgUOW2mNme52A/q2gPVBSnzf9 ebr/ZjBmks2wcDwW2G2cOA8QHgDbJNdyGZxYRZb10FWI9lZPabLiArqIAFpeeVWK5qKPILTipmO 3Yg9yyurABK8qpLUIxoUTtfJYwP42ZT33yO2Qy/cSCznvwZNq72XvTwYh09swLDXM0wv+7kRUUY z7Gb5CR8PPJKhkq7Vv/X3+HA/zwAvqplPHATfkcNdqltowoMh71+IS5wuGYtpTqaQsZp1deBanC xEmQoHpcBTmRcZ1XwWEMUFPeTHNgFqBQHTbf0WXLyu1mQUou X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: 34k6ji0oAQEh8X_qWvtLLW4YfP2VRIFb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAyNSBTYWx0ZWRfXzeT1/0ORgB/W jUgNcExgrq8D3jEJyJ+tEMVQ0uF1EYaEDkAeFqrinhNwb6hGtkdV8FoYd2G68BbhS769xS48P/m rQ+R6mHKwk/pV6kya5SM5yyVFiHUkFpIAwK+UJ64dy/vR3dtHE4GL8NfbDnomJUSpl79KF+TmG+ fH+wQeLIM7G9jAQL7y9+mKbgrsbsvEy6uSaaycUp9LkKe35VUYBay4KBEEvR3xtr2o8lXxJIjTx gNi8KLzSCc+OC+hPmxLPdd3etn/dwgtGm/z2ViNuN+X9e1ZHQ6GCSrQVJVIMBIh5ruuCEK2Agvf EPe3u+rYYmcInfSK0w0SJE26mi6LaKp0Gf1OuxPffKpohVpJq/ASQaaEw6qjSHsvx7xXBmaQP4Y DkEVnhrHTpFoDSXhr8o4ccDeAn9AgQ== X-Proofpoint-GUID: 34k6ji0oAQEh8X_qWvtLLW4YfP2VRIFb X-Authority-Analysis: v=2.4 cv=dP6rWeZb c=1 sm=1 tr=0 ts=68d8f0db cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=9qaGXxVFTICEpRVd4z0A:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-28_04,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 spamscore=0 malwarescore=0 bulkscore=0 impostorscore=0 phishscore=0 suspectscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270025 Status: O In preparation to tightening driver control over generated InfoFrames, make sure to warn the user if the driver rejects the InfoFrames on the grounds of it being unsupported. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/display/drm_hdmi_state_helper.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/drm/display/drm_hdmi_state_helper.c index a561f124be99a0cd4259dbacf5f5f6651ff8a0ea..e85a6cf6e67232528861521bb21251bfdce6f8b9 100644 --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c @@ -920,6 +920,9 @@ static int clear_infoframe(struct drm_connector *connector, int ret; ret = clear_device_infoframe(connector, old_frame->data.any.type); + if (ret == -EOPNOTSUPP) + drm_warn_once(connector->dev, "unsupported HDMI infoframe 0x%x\n", + old_frame->data.any.type); if (ret) return ret; @@ -947,6 +950,9 @@ static int write_device_infoframe(struct drm_connector *connector, return len; ret = funcs->write_infoframe(connector, frame->any.type, buffer, len); + if (ret == -EOPNOTSUPP) + drm_warn_once(connector->dev, "unsupported HDMI infoframe 0x%x\n", + frame->any.type); if (ret) { drm_dbg_kms(dev, "Call failed: %d\n", ret); return ret; From patchwork Sun Sep 28 08:24:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 928 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 B1E9F2BF002 for ; Sun, 28 Sep 2025 08:25:07 +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=1759047909; cv=none; b=miSi/qb5vSoBrjcVA0lY9uzVg3Veav3wnL/xrLww9Z/dxZW+EHdHC2VW23792qsKINTC7NGAxrfAN7Jd5WmggBRz92f/JpzfoRyiJdBPAiBHePlmrQUK3MtXQWwxNaW+UsY4UMEkRYwbVtJ2AOG7RCvtzTrtdMhzCT3GW/5X2GI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047909; c=relaxed/simple; bh=RSyQmL3DOBdLluC0mSQhrTNOeUIpwQM2CI/HP9Sdsjg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UkeSJ9avnVPG2mGnFRXY+NjVf2a/ACiChsuzb5BMK7yYHYIfhsj/s3gqfA3+Xjri/8oAMMF9Ze1L9U7MZjTPled9h9WVfoMZdt5EfQWGA2o/qL0s3ibGfaVUCrSd6IG7AFbz/JMXGaCyOJqN7rmwkn2hnDC/qijHaesZ0IHVokI= 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=LxJ3zEoX; 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="LxJ3zEoX" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58RNeRDP022035 for ; Sun, 28 Sep 2025 08:25:06 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= bdzGoFZ5vldYBAKIaUfbr5FtLEdMR0eBXKVSBRB4ksQ=; b=LxJ3zEoXn4xTjN3G SQH4Vtq2q0AsIs+qTuvPQ+dRa/vm1wAOkFOy8SYuUba1RRiZu53ndc4LUm2AVtdv n4qwjBfmAWnaOEZN0QmdmGgfjDOvAPbwJXkZRM7yyVZp/fionxLbgmuJI9AXSQSM o/vfLBOWBuovDrfa8f2CA0yGZ6Wu7fu6kekGx+SivxQa/3gvF92NWMT58OoWFzdD AQIx1nnwrYx9VaZiLJxv76sowzdWM3G+W3i9sGI8TMizpb+YlIeMld32g0picEUu hOskKdtredV8Cij2Aax/PMmfy96lqLYQAt8o5CRSSF57u63xnU3u08xZfmwen3KO h4xrnQ== 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 49e59mtrbc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:06 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4bf1e8c996eso78435061cf.1 for ; Sun, 28 Sep 2025 01:25:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047902; x=1759652702; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bdzGoFZ5vldYBAKIaUfbr5FtLEdMR0eBXKVSBRB4ksQ=; b=l3phDB2S+Px+qaeVz7yZ1bWDJxFVJi32fqlZVmaQGoq7NzItAxAXviVhw6/K1ERmST nXVFzuwL31eyKexUl8+JX6cS7BOCIhZNxuUbhY4CWDV14r1m8sOt1TQWMSdVmeouIXeq 786FGa4e6w0VH7SUIpGt12xy39PRNiU099hQfHp++i3hCpy1jSRh4B60wOq8ZmoBO82P MNFxhF/g7oyLkhY61P7qoKcOk/yDcTBDz8eSUQWhdcLnMy8Cesi9uf972I6Te/mIPbe7 YAKHPOwo0t3qsmKG4hgRmsNwkn2Z7jGkzidyV6YCeBxpN5j1N6XVAQK6fgaRll//OnZI P2hg== X-Forwarded-Encrypted: i=1; AJvYcCXJrIgCotjDprJkgdBB9dJ1aB78ZiywZpXzDHgZoyEWOPdoZ9AqRM37FX6qrmZNtE2B+Wvdjea9YR0tZg==@lists.linux.dev X-Gm-Message-State: AOJu0YzJ7H4H9khdwpVhxw9YJSFc/htBcxqqag9S4hbKZFrfptDw9/QJ BXMfNg1tM5JkdHY37zFk1pS3LtdYfBEpDl4pfyWlLS21zRuWhuzhHr/jLkNGJ0/WOieafZERwBM FSS6utKtsLznxu0M6KrwPVyhcxid22xWoJxz8VwD/UT0qezPfnJ7S5mHmz/FWBaE9ZQ== X-Gm-Gg: ASbGncugyxnEZ5SceCgBPaJ3C/GZW6RazjfVn+KgIukvYV6W7vpimlOngmGc4oOAES6 b7rWv2xzWAuZgzetB6RKyI84yskR4j/9s+lFoGRTNLXFVb8UQoB0g5y7Ry/hoxRT9mXyjvyBcqs VqdElVjexvDQwp/1+1sz9ZFLdC54I+vzkocXq/+9qMyybYMC/XYxeDV9uYU34+Kwse5nINmtFXp q2t0pQ8EMo+JroLwUWJUqK6V381KJJYpRCbHAhwUJ0xdCX3tt66LDV93oZMc8eKgOPFN6B+929X LIXEIO7B6jiiJyYUd0l93II3aNj9k3cuiWfk7ueseGVHBECzHGUe7Gm7YKocvPjZncxY7nSNTHs ietQRUa30k/TGxwjHjRFAu0QhvBrkv5RAaLnu5xHEb3oR/iQE8wx0 X-Received: by 2002:ac8:5716:0:b0:4b3:a2f3:47f9 with SMTP id d75a77b69052e-4da4d220650mr149549951cf.62.1759047902077; Sun, 28 Sep 2025 01:25:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFtFk8H4RKfXlQWtvvLw51nsL8yQliUuZJcfQS6snZsdM39Enms7DNwGsz+hvLT3ZcB+X6JPQ== X-Received: by 2002:ac8:5716:0:b0:4b3:a2f3:47f9 with SMTP id d75a77b69052e-4da4d220650mr149549611cf.62.1759047901607; Sun, 28 Sep 2025 01:25:01 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-583166561c0sm3244298e87.81.2025.09.28.01.24.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Sep 2025 01:24:59 -0700 (PDT) From: Dmitry Baryshkov Date: Sun, 28 Sep 2025 11:24:47 +0300 Subject: [PATCH v2 2/9] drm/bridge: adv7511: handle unsupported InfoFrames Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250928-limit-infoframes-2-v2-2-6f8f5fd04214@oss.qualcomm.com> References: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> In-Reply-To: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Samuel Holland Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2261; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=RSyQmL3DOBdLluC0mSQhrTNOeUIpwQM2CI/HP9Sdsjg=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo2PDTzUzaZJp29ycMmG2wiJQ8CQv6AiE3Huv86 QOzLbdX9AWJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNjw0wAKCRCLPIo+Aiko 1bRHB/9ZjQ3i6ODCvlC8kHJqQmp+BMbnjHu7eHQ6dlWCRwTGbec8cJ8pUEOwXVArbsB/tXUek1Q HgczeUkd/5Yk6k1Fji2tKIa1Kvje94YIVlPsM0F3BO3kANjvD8z/jeiMrM7drR2iyWyKl+erXzy 17ORLOpVUUbSI1WqursgSTSOWhhotsqgAbGiZWKjtxK+bhwA3yAFucPTQsInzOhaGtxfkxx1766 o7UfybNWfhI1RVmA6KLPi84+IKf1vS+nsFU/vjt8C9bKTkS2pO8nDf6a+sLwRIuwjsWXd40lkWv kWFbjZS8V0oblNyrBSDE9iBEqUAdfJoQJu4ViT33wChiVcvX X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: WRh1sIx7i_EFvYUsFHG7g7azQ8zuLnBb X-Authority-Analysis: v=2.4 cv=O4g0fR9W c=1 sm=1 tr=0 ts=68d8f0e2 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=XNEcMcDYeHr5uxMbIEwA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: WRh1sIx7i_EFvYUsFHG7g7azQ8zuLnBb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAwMSBTYWx0ZWRfXyzX7DQDQbdEH ZEvaFA794BfJXvq0lIOcUu/+viK4ak41mhV3vkrNaQr9HKVhsJ0SZarP8GSvqC24alPbOr2h8VS q1spy/FxO2KM0Zgvs4dZDKGfgV+ICgNcKtfj4QgN9WFgqg0FLRLidfqo0JHWu5X6RaKV0TgWpxb XwyNFClPFdGfnRMgzEWYEArQ7ughYguVxZBUkkZ/SuEwREndn1wRmGFONeQ28A84Na6q0I6K+BZ JwiPBCrxwVlEujBCbazP85TCYtHKQMc1W8S6W2B06/UCv3haN4GPs+NseXJc3OeAK+Siuud2VG7 obSNrPHJJsi38krIn1vl7RAh13+mYjG1Huy7ynS8Ulg3VZZcibEE5HnDbNbRpiRe4XfT3BREz2r qHvqhwG5Ub3avPU1CzeKITbIOxqx7g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-28_04,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 phishscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 spamscore=0 impostorscore=0 bulkscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270001 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index b9be8654130758e69ac7ccbc73a82cc25d731a5c..241f02143f59322a814b4b277082637d59be7d5f 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -906,8 +906,7 @@ static int adv7511_bridge_hdmi_clear_infoframe(struct drm_bridge *bridge, adv7511_packet_disable(adv7511, ADV7511_PACKET_ENABLE_SPARE1); break; default: - drm_dbg_driver(adv7511->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - break; + return -EOPNOTSUPP; } return 0; @@ -966,19 +965,32 @@ static int adv7511_bridge_hdmi_write_infoframe(struct drm_bridge *bridge, adv7511_packet_enable(adv7511, ADV7511_PACKET_ENABLE_SPARE1); break; default: - drm_dbg_driver(adv7511->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - break; + return -EOPNOTSUPP; } return 0; } +static int adv7511_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->hdmi.infoframes.hdr_drm.set)) + return -EOPNOTSUPP; + + return 0; +} + static const struct drm_bridge_funcs adv7511_bridge_funcs = { .mode_valid = adv7511_bridge_mode_valid, .attach = adv7511_bridge_attach, .detect = adv7511_bridge_detect, .edid_read = adv7511_bridge_edid_read, + .atomic_check = adv7511_bridge_atomic_check, .atomic_enable = adv7511_bridge_atomic_enable, .atomic_disable = adv7511_bridge_atomic_disable, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, From patchwork Sun Sep 28 08:24:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 926 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 760FB2BEC3A for ; Sun, 28 Sep 2025 08:25:17 +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=1759047920; cv=none; b=EADLsmEYx3CV7ysOWip0pnidFI600tcEU9ZNPKTKEihEEsmN97z9DVFkBlU+cMgLPTHhc3W8smxHXWYAew9TXZviEAx8wGHmWY9i9F93vY84Txu5jdPbhmKfzIebr4ab0Q9h7acJQpAOUeCuev0zXdEFanUMuB1+wZHJZapv0ho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047920; c=relaxed/simple; bh=1/mrVoFRRvpJKLVB9yIweMc38FlRgmbKvH5lbekmKJM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RvXDWIy9VZSsFBGjGt9t6MaevNxZ9ozBF96EMbwsjzo6z1RB8WhnxW7r1+6iENcQElpo7FJmJvMw4DDH0odk1y1H9TAzUCnXSE4NCUbWc9cnLPo+c/h1VgrhlqE0stZGWlmLFn13ltDFToN7gwGMJSrlYh0Bvi8VzAUq1ZboMIM= 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=mp4uYkh3; 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="mp4uYkh3" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58RNVPSr028423 for ; Sun, 28 Sep 2025 08:25:17 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= JW7b0AYTyN594l8jjE7IU9Ox23Y6YfPpI2powo8DyoE=; b=mp4uYkh3my/rx1K6 uqOwewezFIOGTfAWBC4LJiqXSiJqYkSyfHxq24uRT+mIf4ORRgXxNBO1vIH47rSy tykT0usK7356iAfJwZYeMFnpv/zxwfiN5BCYkgwenWnIQrDjUdM5DD9rwaYu+6Ch ZIDGImYyjvsPMV/ckGhwjS23Mfctwxrt9E/To+vfgSwYazOG6VG/JECbyWiP7v3n jwJIAGaAWGWZHrREK3bkxDZt2+JJWyueAGlml6EDioGbF4aiBkiFEP2jbhEKUTNU nQNFfiLxGlXw6ViWcpjGOMoK+m9MCrUa+ob3FPzOl4zoUkO9p3LJC285H4tXp7rQ Dtscqw== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49e6x5jfqp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:16 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4dfe8dafd18so24758171cf.0 for ; Sun, 28 Sep 2025 01:25:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047907; x=1759652707; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JW7b0AYTyN594l8jjE7IU9Ox23Y6YfPpI2powo8DyoE=; b=k47/ML4FTMlnKx/romlvJvX+765j28g5JdLAy2WnqoJTg1kybY0/yWg4ZrgCx34O/0 NFA+uMMyjoDZBG71/3GAxsyUmw66MozTp8YQM3PYjkoJHMu/ZiJnbMOzjdjAiv8kYjlU mvwylqhWJmCPdMTTvVBgfzizUJqNcE87L67qnvTHl4xEv8cQ2zm1Jk2XEhZv8NiVXJb1 Rw4mqi62Lyo5UtOviVYowCF6pAlmu23hYYXcJKlRYrq9icTTACX3Y2X8E7QPW6PT6hf+ sVkXdCK75eA6rQOc6i8f4gg7ptzoF25Vf+FpdzhIsYANNmoPkUpyRUCVvByW+3npLHdV 7mVg== X-Forwarded-Encrypted: i=1; AJvYcCUJjwQstVwf+w02VZ72wjCEz7pKA76WSpTpaA1pa+38CA7xApbPc5PkzVhJEAC5xKo2h9JWRLlPylqLtw==@lists.linux.dev X-Gm-Message-State: AOJu0Yy1IuK5LuKEaZYQrCG1rxoDio0mEUNoE+b1qCTZesmlKmSqlcqG FPJRd+wFYV2t6CAViqWd1aP/otxNL3gvBXmsCHnuVnM1RYdFItBahx9Hh4DgjKK6oRezCcjiRCS sRm1HNiJdEexB1WhbEQrZR1eAfWDDQGiWbjhbOTP85oAbUcWa2IIhSAIgl6z1hNgIsA== X-Gm-Gg: ASbGnctHFE9lBUqHGw8mor54dhd0T//Pv+hohrpoHiOyYkdufwyDtBDBXWUNpM5HvPL kF+AGF1D/345l7rajao+/D3Fb29T1M7Da0Q8Wmrwx9Zuy/pw3sI6geFokwWw/SLuul12Z0mVlwc wv3JugpAPiOsH5ZOc3ra7v5DOBE52j/bqHrfVOsRd5zilW8m/cEqAQDUlxkwMGIGubtR9pPZCTY go2Jgbg9MtyjmqJvTVbjXDF/P6VvnmB2NsUwXWC+flL/5EccJxGQhtnriw4J3uMrLaAfXRDZCuQ Xu2hczRyZs8fqtxtp9KeU8i2B7Hd0PDzEu/He/QXEyhwVA6VufvBuUiqm6rRw3RF8FHCOrpdU2W 4GH1L/B1+L7wKmM+cx3waRSCuUdNlM7mFFHqhtPEajjxECDNFE6BP X-Received: by 2002:a05:622a:4113:b0:4e0:3cdb:d1df with SMTP id d75a77b69052e-4e03cdbd513mr20512951cf.61.1759047906710; Sun, 28 Sep 2025 01:25:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG4tHD6skIRR3PjbcrlwIurQ9DEwp1HfbyW5F+wYqRDoVlCeVHGTwgYk18z8akZBkWd0ey2Ew== X-Received: by 2002:a05:622a:4113:b0:4e0:3cdb:d1df with SMTP id d75a77b69052e-4e03cdbd513mr20512631cf.61.1759047906284; Sun, 28 Sep 2025 01:25:06 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-583166561c0sm3244298e87.81.2025.09.28.01.25.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Sep 2025 01:25:03 -0700 (PDT) From: Dmitry Baryshkov Date: Sun, 28 Sep 2025 11:24:48 +0300 Subject: [PATCH v2 3/9] drm/bridge: ite-it6263: handle unsupported InfoFrames Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250928-limit-infoframes-2-v2-3-6f8f5fd04214@oss.qualcomm.com> References: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> In-Reply-To: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Samuel Holland Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2493; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=1/mrVoFRRvpJKLVB9yIweMc38FlRgmbKvH5lbekmKJM=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo2PDTbRA2Db0kLZgBdJccCkRJyGWafvFK3UwlK Og2krTm2XmJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNjw0wAKCRCLPIo+Aiko 1XK6B/92TZdiTuBfCGlRC4tos6HVjULlKxbSlGenYR7KxEuZIHS4Dk0YnbH092fpCdLBVwu+HPU ujJ62abOk2Im0tkGhv2TcH17QXLGxsVHTeyqEaTyUrXZ6CY6h0NkastGwiYHf7g8QlADuFs1GxS lW1oQ+pI4hic2KPX/aJrg1zgAtNlypZ9RCJ68akVjorGwphcyKNLVN+zLiaMTr2sw721zRXl6Ds +du/mKltWJZ2dFgc9hP/NUj79ScuZN5JP25DmLz0AaFvVGCMmY3VVDSzl16zxQo/N0sdcQr0wd1 8zhPxNihWZjFB9JMpn9yvj1d4yupQZF+el6CWN1CghvEARSl X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: pEtVEnk2vaZHq_T9d5g1OETitwOnZmxB X-Proofpoint-ORIG-GUID: pEtVEnk2vaZHq_T9d5g1OETitwOnZmxB X-Authority-Analysis: v=2.4 cv=ZtPg6t7G c=1 sm=1 tr=0 ts=68d8f0ec cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=yMgUBx0mNp5KM1AuerMA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAxOCBTYWx0ZWRfX+lDXuPWXc4O7 /0RE+IIFxL3osg/TIwgsFLq3FBpJe9M0FgGywQuFYcRWaV77WuyW3tnY84MClwW2Ohfvk6ZkePs RgYldr6ksHoM4LPlj+oKhuMw1Scr4exjl0+8d6VrLLERf+fpbxH9mh/DnrFu8yg+HpyhTAgB0QC RXDrIfy8z90iZUDTB7dwUb3eOJBCYF0i3N++0MQyU3dMrZQX46k6xVgjMfkANl1aowU+dFSSkm8 PdkyZt3fmwTv53lRtJfpfJ3aIWUNT47zzX6Xs6zJGKnaBNJeAJCYA6fZb/ukilg48gwdYxLijrr 1o4TW0IUiRNGyDuRePDIQsHV2/QErUSAiEVyqXExLzppegX3zfSJ/ZyPBC+/sAgtUkP6GhItvrW kV518nmE9c6i1GIsE7YQFJoVAg2G4A== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-28_04,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 priorityscore=1501 malwarescore=0 bulkscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270018 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/ite-it6263.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c index 2eb8fba7016cbf0dcb19aec4ca8849f1fffaa64c..cf3d76d748dde51e93b2b19cc2cbe023ca2629b8 100644 --- a/drivers/gpu/drm/bridge/ite-it6263.c +++ b/drivers/gpu/drm/bridge/ite-it6263.c @@ -26,6 +26,7 @@ #include #include #include +#include #include /* ----------------------------------------------------------------------------- @@ -772,7 +773,7 @@ static int it6263_hdmi_clear_infoframe(struct drm_bridge *bridge, regmap_write(it->hdmi_regmap, HDMI_REG_PKT_NULL_CTRL, 0); break; default: - dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; } return 0; @@ -812,13 +813,35 @@ static int it6263_hdmi_write_infoframe(struct drm_bridge *bridge, ENABLE_PKT | REPEAT_PKT); break; default: - dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; } return 0; } +static int it6263_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* should not happen, audio support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->connector->hdmi.infoframes.audio.set)) + return -EOPNOTSUPP; + + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->hdmi.infoframes.hdr_drm.set)) + return -EOPNOTSUPP; + + return 0; +} + static const struct drm_bridge_funcs it6263_bridge_funcs = { + .atomic_check = it6263_bridge_atomic_check, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_reset = drm_atomic_helper_bridge_reset, From patchwork Sun Sep 28 08:24:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 927 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 1780C2BEC21 for ; Sun, 28 Sep 2025 08:25:15 +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=1759047916; cv=none; b=VHpbtx4ZWtE5I0DBMI/YmSFXlpo2hb7cGo6dw4OJkjPDk1MtOujc8xrHj1ExXy0RDI9ELaDxMTnww4JVkPB1n7wzuVPAf+zZaplflK19XqIIe6aKDgoEb9qAPipdKghcTD40Tj/UhsLLdK4yZIXTDKPcnf7nfxEetrNfBHHQpZw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047916; c=relaxed/simple; bh=vK8TFXgm/6X3TSi0UvfKUVov+3NPXXiYH1OJryZTxNE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iwSKVa170+5ItmHniupOQbEbxn+f5EQ1MyiEyN9dKq7oBglOD0fiFxzH0Lupywma+DYIAmtmRxFi/BRAFrs/DoIvCI4JCWfdGg2fGdomBNPSsqGh+k0E3dx3KjxRGjlS9R0pB5mRCNaWYUO/RheKx3vzXXf0BoVhR/41IUOBbp8= 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=ZIz9ldXK; 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="ZIz9ldXK" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S4vNjo020379 for ; Sun, 28 Sep 2025 08:25:14 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= duD+AZtcU7jXcfYcs9q78NTnBJdfETmQFkWPO1aJGZg=; b=ZIz9ldXKvoza1vyG ANGsG35rbrWvSDEKBZx4T/x4TOfq6xaMBz23GKsPXm2lmhuonqnh8t9C3QEBtdi5 Y5ehokjmfi0VWgmUS7ZGZsHiDt80n8wihAudBicKlSKLXgqSvtIq0eIDddewkvV1 /oGw1x9XiikZ9SpykzOG7FBfsfT0ScdLYie1l0/YZDRMBIqATBGhXyNt7VxZR8VJ +GqUrM6iUCgAcTqlN5IwB6FUL6hamlb07036I7Z/jO+6eRmpCZrxfa7ntn1biLPG TsNjal6N2ANv5GbZHg8s7cDTDh36ltat/Lc1AmwgyX97gGMoiA8VfdT5UHCfak37 wKCitA== 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 49e80tjcuj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:13 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4de4fb840abso50363141cf.1 for ; Sun, 28 Sep 2025 01:25:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047908; x=1759652708; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=duD+AZtcU7jXcfYcs9q78NTnBJdfETmQFkWPO1aJGZg=; b=wHkkscOCXIa1whvW82Typ7hDuMLww0vMsGcWVd4xQ9d68vUQpQBIHYta6IY4YVQFdj Fev25fTNWCj2g16f/cH5crU96Qkm+5BPRwlIdJYpuWn0RUr/UEAtTEzKWLIClIrOf3UC kI+Lk6hAP1oJnq398MLFU50Pu1oXJSrvFVUR8UKZR6+adaHn3eopQ7ecrRaJiQAHRl5N HZA/KOiaub1o3qneKKT55Ipy2XTKXpZ9j0SLkxRZ/FoR7X+MLMPiFIYrSdJ+KoGKwcRd 7i+mRX+8xy5cRFV068r5aqovCt1OWvIrPZuBbOLyI0d6fS8jZGOZYT+9WgJiZZcWI+BT V1mg== X-Forwarded-Encrypted: i=1; AJvYcCXaMkhqm9yYWgtSHQq619WvwpSHM6c9VXatepUS+t8zpIQA501QP2uBW7L13z+P3/GZAlTmqLeAohOV3A==@lists.linux.dev X-Gm-Message-State: AOJu0YxwXED4DfnG9SUr38uvRi/cuU4vfOAQKVBz7PGnb+bqeY850II1 VDrzxfyBzTId+WdMCxvo/4AcqU7UnoC3NlhGvSydO+82RMRPP2ys0vmzytOpaH7k2nbXLvVFlDD 2q9N5YFZ1ftUXqoFmANO1zHdG8zdqPn6NPnVYqQLVVNTIluImRiUiH6SyGrAYg6CkNA== X-Gm-Gg: ASbGncvk9G3EBEHI7lAD4OuQmtmfCQXrq4+ouAQdgz2A8HaRM+CMOAvZbBk/TtyxAFT meHjZusVVs1HMzNE537E2ME5j4wm71k346L21EnqLICurDcdZNCdQEK5mQ8SH3nVMwjuaMpMAqG cerTl5t7yhHxZ4qnEijivSVFUVVkgKwBI/mD1bSOFKad6+AP+x/gaLZgeCgvUA886i1w71+weAX 9Duvm3UVnbVWP3zVzp6LWm5Hk+5pF2KgpzUP7V785GRBFLKKCggxthqn3/DAK12uff7Ykj27ZHS rKMei69s7TmSwN/ITqrSXokQdtd+hKUz36wuGnNg/OrbtkZIHRgIVmQUWjL0W2OgoBRs8ZaPFfp QNQ8gpWYzwZO9widAWkLLIIWnegaYsu86yRYlpuhc3ssXU702VUQ4 X-Received: by 2002:a05:622a:5b05:b0:4cf:ce43:540e with SMTP id d75a77b69052e-4dacd52b2cbmr147456241cf.27.1759047908222; Sun, 28 Sep 2025 01:25:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEN9pzqLrHlVaT4nT/ykEhCfOzipwXQJ0cAoSSpI3n4X55LPnP5fq5+qWz4znjsC4wVWkA+zA== X-Received: by 2002:a05:622a:5b05:b0:4cf:ce43:540e with SMTP id d75a77b69052e-4dacd52b2cbmr147455941cf.27.1759047907687; Sun, 28 Sep 2025 01:25:07 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-583166561c0sm3244298e87.81.2025.09.28.01.25.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Sep 2025 01:25:06 -0700 (PDT) From: Dmitry Baryshkov Date: Sun, 28 Sep 2025 11:24:49 +0300 Subject: [PATCH v2 4/9] drm/bridge: lontium-lt9611: handle unsupported InfoFrames Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250928-limit-infoframes-2-v2-4-6f8f5fd04214@oss.qualcomm.com> References: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> In-Reply-To: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Samuel Holland Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2288; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=vK8TFXgm/6X3TSi0UvfKUVov+3NPXXiYH1OJryZTxNE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo2PDUy9QW8cx8zEuP/1bnwMnUwSTpxSXwf562q iouLsqfJZ2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNjw1AAKCRCLPIo+Aiko 1eqkB/9KIeG/QwkAeQapUIoOZBz8PG1an8ZjgLawL5OLFmRHTAAt/28ma2YWfxkvVXFuHp2gFqB 6H2nPhVwDQgUsa2WVpeglWwrkYP/1kvjunotI+ERAR+OCw+0OBi2bitZ1wXmSM0IWTuD7DO1Z66 t5+tIsQQMthkTRVFZfg2Nd/U+zbzV+JEHdzi4IpALFD1O89IF3UwLMzDk+ZYuD4obZXJOW4SSTH uG0kMLdfzCJPei04ea9Sqfyotj1bxd2cklXPqxOutI50grHGHYzvKiZ7ak6MxVAojOSlxTtAN+5 e315w88hSpwX0p8jBaoDtUUgKZyKmjn8DmAEKFJzzOY8eovY X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAyOSBTYWx0ZWRfXzAmnDL1ie2hG iYz8wlTyuR1iuBWAWWFBAYnkoInkowg6C0sBq+L8tGJrXpsNTppSjU+W6YAIWRQQr+q2hdwyuW1 8tUoOblxUiRwKNQR+c9mhDsTCXjqoYfy7ZeEDI9VKmsOwXzVrMPurAT2TlUGnIcHuvVOJSwfEjB uJ34LXXymmra3FHbLGoLk+V03xZujWWDXKdTx9dVbls0Yn8CKajWKmAFcNMDFFUyHkR9RpZiTTe 5YECwRdIsHr8JNBC3ihXS+z5uDYmNDawJaBfFQVcx+gLlTCRx9iBlwpaTOCWG1m5oHtHWYXI0FA DjFPEkWNXSze421Was/uAn8qaoyYxeo3yfF0qgL9IcShhAxtlGmyEqEYX5kDwaz4r2ThCd/x6qo 1TtmPmTXjQwoyynKQvZ+lctKVhOZsw== X-Proofpoint-GUID: dHWVrc87e_W0snTTeR-K6MzC95YqPRBO X-Authority-Analysis: v=2.4 cv=OMkqHCaB c=1 sm=1 tr=0 ts=68d8f0e9 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=XNEcMcDYeHr5uxMbIEwA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: dHWVrc87e_W0snTTeR-K6MzC95YqPRBO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-28_04,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 bulkscore=0 phishscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270029 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/lontium-lt9611.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c index a2d032ee4744715b88eb66883edf69bab4c274b0..9c2c9887d2d66968eb1d50544a257d5999bbdded 100644 --- a/drivers/gpu/drm/bridge/lontium-lt9611.c +++ b/drivers/gpu/drm/bridge/lontium-lt9611.c @@ -869,9 +869,7 @@ static int lt9611_hdmi_clear_infoframe(struct drm_bridge *bridge, break; default: - drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - mask = 0; - break; + return -EOPNOTSUPP; } if (mask) @@ -910,9 +908,7 @@ static int lt9611_hdmi_write_infoframe(struct drm_bridge *bridge, break; default: - drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - mask = 0; - break; + return -EOPNOTSUPP; } if (mask) { @@ -925,6 +921,19 @@ static int lt9611_hdmi_write_infoframe(struct drm_bridge *bridge, return 0; } +static int lt9611_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->hdmi.infoframes.hdr_drm.set)) + return -EOPNOTSUPP; + + return 0; +} + static enum drm_mode_status lt9611_hdmi_tmds_char_rate_valid(const struct drm_bridge *bridge, const struct drm_display_mode *mode, @@ -993,6 +1002,7 @@ static const struct drm_bridge_funcs lt9611_bridge_funcs = { .edid_read = lt9611_bridge_edid_read, .hpd_enable = lt9611_bridge_hpd_enable, + .atomic_check = lt9611_bridge_atomic_check, .atomic_pre_enable = lt9611_bridge_atomic_pre_enable, .atomic_enable = lt9611_bridge_atomic_enable, .atomic_disable = lt9611_bridge_atomic_disable, From patchwork Sun Sep 28 08:24:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 925 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 DA6902BEC43 for ; Sun, 28 Sep 2025 08:25:19 +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=1759047921; cv=none; b=jP5EpUugvvkIV7pTy7m/LO31aepjiqzPIVRwwE0GYtb1KHRWIx3NXJXkJF+kNKFkNBId2BzEXBMFVw7sjos081Ktnqfg3V/iY3D0LRh0RQvTZWiGlP8zvDrN18eA2CAfSVm5fAwnTLrLnFwQ0AFrM8oFDikjIQsIrxfSrFr1XB4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047921; c=relaxed/simple; bh=iR5U12JmTHXUQwMeh7Ktc2ZVP6MtOB7VE/y4QxY7Pgo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pQ2rV3IOZAaDdFfhJeWt2HM2TWVkKfnBvrJdB2U7Petqbr4BEHWW3FdFjcoE6bTe15agVRmqhFyVJ5UVqQhvnrrR1Ths2duxEm8HhQZdjFbt8TlIYaGvI5zF7kcH8UY8ZC7cbUCcjYHqtFn4CMkddsyIz/rhsMeilv5FBQbbNag= 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=bi83zbQB; 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="bi83zbQB" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58RLQRS6023515 for ; Sun, 28 Sep 2025 08:25:19 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= cNLPzEmk5Y/+u5lMsfcmn579j/z4LwU9YC3n7o4pksg=; b=bi83zbQB9R2tgYEF wirUexUwjhpFfFY0UQk2OKbg0pVMZFaIrb99grgYfcAzxPSvuS60r2S4jS79P6ew 0R/VReOT7NbN0H3G1n3K7mpCYL+XKXrWwaN3rzMQOEU8IBcy8wn7MmFRFJX0prEd yS8hCBa6zwhUIsrUKBIL26uwcTuQNcTJPuPlXnjQUPd/nL12+gJjIvhchXBf4MfS qQ2r+8Pm/T+XAhF1qOHAjhPKHEz2xKzcVJ3sh1GJVFCkugr41iXG51LxFmyjQcOW lhG8pk855rGtpRkxEJgf7NhWlCLGoaMPr6nXyhD/uF/3yDLw725E7DkNHD0p5Ecu 88fO4Q== 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 49e7gxjdq6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:18 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4de23c3b40aso49492251cf.2 for ; Sun, 28 Sep 2025 01:25:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047912; x=1759652712; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cNLPzEmk5Y/+u5lMsfcmn579j/z4LwU9YC3n7o4pksg=; b=Kw/8f+HxyfuRouNyyaL/YtFOSndJ3/80EfxG0o68wNHUzjklfCEu9l2oit0U5U+AJ8 hEaAUydLr+Z7GY4UN7eeU0jnJbqcU8tgMDKq/modv623i3XL3w7OyOYobKzOJk7kJ6JC cL8oA/It3Yz7xgD3Faw5NB30ZYXCUzBR8r3ARIargawKQoocZC/zLGcRe4FtFOPC0CSX 3N6MLAGK4iAWF2o2yUKubq2bQE9vDRwjqZWc7neTXDEvsVM/8kV4SteFpmavlahsOl2k OnmTF+a2aenrywbeNeEbJaLrJejnkeJH1cwHGIoa6UqsTOokHKSte6afqpzxrtViUMmE hcPg== X-Forwarded-Encrypted: i=1; AJvYcCXwE0CTicgBXV+KFRV9INjmkZI2uOgdo0CmUvE0GmFnU5EGWIhLdUfEdLRMsfgOxfKZmmvUICG/pXQsyA==@lists.linux.dev X-Gm-Message-State: AOJu0Yxu0+QUSRUq14r4GCDMZ7+wEEJFl/ZwCaSmnYWwe92oXJfIvaR7 75kcIgYZaqQMu48OV6WRWZdlnF/2D0nxKZ8xFTXQrO9bszAanna5QcQ5FkqSZe22fsesUXmPbfP RUKwii9L0BeBxSHYIItYeVxpsLX7FknxgvXy4hJIKwuFsM+MCZzMQQBEEwGq0T7ZKKA== X-Gm-Gg: ASbGnctvyCLmsPuWWqOJNlIiV9Hcd2IYqTnkPQagfUs/0ruPs5OLCFtUzECiIqbPRJP ZdTqkvIR3QsrsGBz5RBt3NyO9Ie2UgAFn16q0zLhgWEs4PooBuqPZqEIQuo1tYQrd9MwiWzVOWd 54cMps+K6G1AZBWky6p3iUnYzSXY1ezPdHlzS49h1245gLSEY7Uv/JgUkf1n+eBKxTb+6ddYRy9 vsL5xh9tGoKprSMpDzhSo0xPAl8dACXTdUycHXaKIsQUEzL3vMHyyqAiPZ6WKKhuwpuQuM7U+X4 fmstTS4JmLkyLCR2n6PHYDQ49DDLyMH90kG+/mcyhGU5nih/VVoHMdnhn2gHX6p/u78vshZ1XQe 6DltZfzS+eINGh7VS+J+H+CyV7YQx68PES0UrUZY+lK2Am5bxqXSq X-Received: by 2002:a05:622a:258c:b0:4b5:f7d4:39fa with SMTP id d75a77b69052e-4da4735507fmr196313851cf.12.1759047912060; Sun, 28 Sep 2025 01:25:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEXsNIqfoWB2H+g3E1uE7PflKn+OGU11bpC3EG4TSX+tOi58fQrR/+PvIxxQkzsDoINK0iC3A== X-Received: by 2002:a05:622a:258c:b0:4b5:f7d4:39fa with SMTP id d75a77b69052e-4da4735507fmr196313521cf.12.1759047911446; Sun, 28 Sep 2025 01:25:11 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-583166561c0sm3244298e87.81.2025.09.28.01.25.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Sep 2025 01:25:09 -0700 (PDT) From: Dmitry Baryshkov Date: Sun, 28 Sep 2025 11:24:50 +0300 Subject: [PATCH v2 5/9] drm/bridge: synopsys/dw-hdmi-qp: handle unsupported InfoFrames Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250928-limit-infoframes-2-v2-5-6f8f5fd04214@oss.qualcomm.com> References: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> In-Reply-To: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Samuel Holland Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2012; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=iR5U12JmTHXUQwMeh7Ktc2ZVP6MtOB7VE/y4QxY7Pgo=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo2PDUEX9koGGtFlB4dr8wsaZ3M2TeNtH/F0ivG Ao7oOkToBCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNjw1AAKCRCLPIo+Aiko 1TBzB/9xRTCFLc/ONNr3oj8OOXRouw+QTYNOU5f3JvtCOChceyttupikcLtdeTwZUNnQ+LumCqT ile+f40xQ5vMYzvLlUmK/fUbPKvvn1ia9+k2z7R68rQDaok1yArO5t2M2U/Uf8yPEAqoHzA8EUz 6YqzPUCnwBfY9zmldmLJfigddiCMVTu62ZV8uV2xtDXmlrDncAvjqgJb0swzc0biTVWhFqJVjmu oxMVUv5+94HI2TQnr6d/PdGBO0hh13mD/NANYX6ZDy6I0Mj3/W2mz2godBTL/jMTCBGzKQUI/62 fzmbq0BI1/SRZVAezrileWo2gMjGLedsHYZbKl8m09Hph8sE X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: DXcW6ZnocZCt9O5zW4L45kxzxLclF9O0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAyNSBTYWx0ZWRfX43Q7Jc5w4FfZ 2J3fPaX4DTv5pHCqhMHECXGiTFJ5xCLmbOAkp/8QY8vZZKNMEO9Ok0YZzvODfMzP8VSjWgRmKXN F60sFtAJmgdDG5AX88zflpIa4FTGOTM0mickg+82iOKugIXCWkKg8xXrDI+U+nJa7nU5KTnUIB3 5cAcHQGzZNWCBAEo4BVHuZA7YouVr+Lcfcer4CxdMhT6Ctncr9Mc1Y5YODM+W8m6FbosdeIVnJd +heMWT11qV00Ckln257kHN5V5gZxFTxt9dWUu4CkFd1EtFJV+vEFOyjSz32B5iy9XlFLCYoeECB NxgDDCdvi4ou893URnZbQyA3JFJytaYP2Xbx10JS+DKq6UCX4TUtXJtAnNGeeRZ8q58NgTRWYim R128iWlw5qQDEM/f6JiD79vARK0P0g== X-Proofpoint-GUID: DXcW6ZnocZCt9O5zW4L45kxzxLclF9O0 X-Authority-Analysis: v=2.4 cv=dP6rWeZb c=1 sm=1 tr=0 ts=68d8f0ee cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=w15x51AS-uJJn6dZ_iAA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-28_04,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 spamscore=0 malwarescore=0 bulkscore=0 impostorscore=0 phishscore=0 suspectscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270025 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c index 39332c57f2c54296f39e27612544f4fbf923863f..9a77e880b7f58403691338ee8c22d24af570acbf 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c @@ -935,7 +935,7 @@ static int dw_hdmi_qp_bridge_clear_infoframe(struct drm_bridge *bridge, PKTSCHED_PKT_EN); break; default: - dev_dbg(hdmi->dev, "Unsupported infoframe type %x\n", type); + return -EOPNOTSUPP; } return 0; @@ -960,12 +960,26 @@ static int dw_hdmi_qp_bridge_write_infoframe(struct drm_bridge *bridge, return dw_hdmi_qp_config_audio_infoframe(hdmi, buffer, len); default: - dev_dbg(hdmi->dev, "Unsupported infoframe type %x\n", type); - return 0; + return -EOPNOTSUPP; } } +static int dw_hdmi_qp_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set = false; + + return 0; +} + static const struct drm_bridge_funcs dw_hdmi_qp_bridge_funcs = { + .atomic_check = dw_hdmi_qp_bridge_atomic_check, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_reset = drm_atomic_helper_bridge_reset, From patchwork Sun Sep 28 08:24:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 923 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 A7D942BE7DD for ; Sun, 28 Sep 2025 08:25:19 +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=1759047922; cv=none; b=YlvHWcAZ+X17gRzcwW1ySKs1VqMzuDWgiQzaWkSJTIVMzLwmWF8eMR+okCTcIqjVRAQ/bnTUdq4x+Cidhd6UR2tR8QUOJlg1MyijdfdN+d0W4jqyVQSg8z5KKn5gRTWQKWjLE0w2t4G8woUPB1zi1zcOK84mCY7MmBl6bNurNHk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047922; c=relaxed/simple; bh=vJ6MP4HtyLt5a75BuYCv3CbEFdh6+KuelPeaDQZ+OQQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=r4TgrEAqUbTojtzXdCDr+rxp5/35bwk0lOy1PLuNBk7dt4kF0JqEIpXKM6JPyUGeWVlAJaDyV/MjdPQWjmVMdfhvuY6+W7ByCwvmof+3in4XZf3yBhmR5JcIBSimR4AwrnNFykEdWn0eM/pVH5X6GnNQtMW4dX0ZQKlXtpp4q6g= 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=Nyi1TU8A; 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="Nyi1TU8A" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58RNlBG8007716 for ; Sun, 28 Sep 2025 08:25:18 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= MFhUEfSaFwySRMaGJYEpZSOFWlmnLOv+5YWLz9EcBTE=; b=Nyi1TU8AJHWkgYCm Mgv7R0ZVX0wOcPUovl7wG0Xnz37w+/sVSXo2xOnDA5fZLQfNP04uFmi3XqhnHER8 V27tyCm1WzBckV7iYoSaOnrk/9YuFhzSuVVh9vBFpnPy2rDlKrJfAxar4Lmw+TxC hf30s2KhImMkUW6QTYYpMaE0tmdL2OqqzOGIEVw8wAeaczRpiDMg0RG3NLdhxtM6 7zSIX4sVPABYEYHGD3xWrebTn236Du6TKM95MHV8ClPVw4dNHlIMU/HorlOlxhX9 8gl+QObKHjE+BhIiMu44UtsDfk90OACEMIvL3uv7PAfya2vBjsGj+MPB9Dt+uJ57 a0vPfw== 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 49e7gxjdqg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:18 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4dd932741cfso57581671cf.1 for ; Sun, 28 Sep 2025 01:25:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047915; x=1759652715; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MFhUEfSaFwySRMaGJYEpZSOFWlmnLOv+5YWLz9EcBTE=; b=WRz6VNWXPM7ink9gfSIC5VmK9AYpui1yFdrIuLaMgbAh2Qs8pJtuyzkFKhoz3IMMlG kz79TAn3wpTx2Pz+FWlRx+7BNBBa3g34d/Cp7OrhlnXfCBLRZgRjHR9RYnOUYW5wVASj y+3o+wbFfvW92zWoCr2mD6B9E6zSzT7xe+alTBuiq+ZqMqmf6KlfG22HkUjNbQx4566n SSjhnAOADecpCV48vYNFnhu0HDECMPBsHJkTahVldMt2G8/zTPGTctQPnG41l5Zh4jqT QBpgWlxXTRx6NxG4z1MwZ0Ssu9VEhjM4xuOFuX1BeiC5ccmFLJwzXaPCHgNParM69nHw BgiA== X-Forwarded-Encrypted: i=1; AJvYcCVtIv5pd30h5HEJgLw6/H8z8LrNi2c34oElYY2HpoPhf0ph7YzEhlCx0yE+zlTIjmDUBLFdSG+qOwEklg==@lists.linux.dev X-Gm-Message-State: AOJu0Yz7/HJvLgfzqppfDZPuC8GtUj7Z/AHNLZXohZAyYPe+dgcfjvSN YNyySMdX823Gyb2EAHMt82kiv5Zzdf8mgTD+2v65kN0cyr75HWMOE7jTSpd1k6dD0VWZATT6lu5 kylPf6GSuvNIpYIcgEg3md4+PE+PzCDY/t+HWean7eXpRWk4Ymn0ay2HpQ43o+C/Hpg== X-Gm-Gg: ASbGncsfnCr2YG47VnzkloQ9W3JSdbSHl8zbRLqW6lXm63upYF+bLn9NxQl87OIRjtl 4v1NDYI0lguq2f6QX+WoSTQ+v5fqA4oMwXfHKkXBdAGEX64ZKGSHLlzv78WjX6yDQI2Z/7Dzq8z hwkCn/pMpRSfsru/RmDqRyS/A+aiThGD9948vSrW92+tUPWl5UnD4TSiozp6d5GQETFVyOc+pqL w176tWCiHz+lbLjQos/XBmDv/GZ6DxqgPJBImNIuUElIKN3sAL927UoJNmI6ukkM3MLfN4GZ8bX AtzeBP1CfL2qR7y1D2IhB5sHJGl7GF1OLy5EHgGQ7kVqcnsXV6isK7/LpUdnxH3GJZmD7ZuOp8x gm5qT9es7pZbjdc1SmjxGYKTRp/rHRB7jj7JghCdvF3B67kJcGPcg X-Received: by 2002:a05:622a:47c5:b0:4dd:584:1429 with SMTP id d75a77b69052e-4dd05841fd0mr134553471cf.81.1759047914452; Sun, 28 Sep 2025 01:25:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHwfsS0Q7LOoaRPfQeD9zvDgobB31SXOr4kE+JJnvQnCOXD4rZ+uP+6M8YxXGzoygRLIGjIwA== X-Received: by 2002:a05:622a:47c5:b0:4dd:584:1429 with SMTP id d75a77b69052e-4dd05841fd0mr134553161cf.81.1759047914018; Sun, 28 Sep 2025 01:25:14 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-583166561c0sm3244298e87.81.2025.09.28.01.25.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Sep 2025 01:25:12 -0700 (PDT) From: Dmitry Baryshkov Date: Sun, 28 Sep 2025 11:24:51 +0300 Subject: [PATCH v2 6/9] drm/msm: hdmi: handle unsupported InfoFrames Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250928-limit-infoframes-2-v2-6-6f8f5fd04214@oss.qualcomm.com> References: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> In-Reply-To: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Samuel Holland Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2210; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=vJ6MP4HtyLt5a75BuYCv3CbEFdh6+KuelPeaDQZ+OQQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo2PDUyU7rCSa5YzapriRO9eRiYkhaqCHGmx40e u2QgQMrjL+JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNjw1AAKCRCLPIo+Aiko 1c1+B/48g8XIA1mGiOfBerCYJp2Fs5T0zJCKW9Jx4v3PO9b+8QxLYHib6tzym0IumYyly/k7z4p aUIpTczb+3zc4DGKfWFnoVBBcTbT+7bBq4805NeNbG7sEYGN5sH64Dx1u+jhfGRODdGJ/E+hDt3 JpTbshDXWQN/kpzysIXBESgmxv1QN9TZLzCY36KK8KZcY2UZJZ3BuJ+BsHvTwvqrBLm+DD9MXZw vI3gknUTNjHrk5YskzwrvFAzYF9tGB9mA9SHw9SegZAAmf7YWzW8SJldbp4vPyMDTLmT6TOGA4F JXeghLBFIPITZh4fDuHuLiz5X/nbdlBhKMJwMBQJqDnFjqqw X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: Gh9Z3lLcxZk26tbLqurdDlRI9gKaHDGL X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAyNSBTYWx0ZWRfX49SQB10WBO5v 0pZzFvYAVboeCORmFILlWaX8i78o919pNVbxuEpqIsmHSgmANt+cMfZUaBkTvJrMrm8hcnaUTmE cyEcRZONb/W6jrNGom3iHXmIiX2IC1LCVZt0yVAtHLMp6In3vOkdtJLGWdf+2f6+6gP0dwnE/9l S14bzE3zMZnRzjKaqLImjMk1L/GxW7v2D60lHhP81aYyX8yeEpqPjnDuMgcjyGGjnJMjFOWEfQs Zt60COhg8NJsDWXGBO6Dqm2B/k5kZpNou6Q/iNIfMxGW/+WL3fam8mm/DqKVYNKicd3bl3BdIwm 8ONLN7r/EFtk6JPjsT/FUCQClQ6wALioyI6OTH3qW8IqfIpLWVZ+XYjyGfHON6XmXmmO4deQtju GdS4lfhDRNstqC/elLMWfOdGOxk/lA== X-Proofpoint-GUID: Gh9Z3lLcxZk26tbLqurdDlRI9gKaHDGL X-Authority-Analysis: v=2.4 cv=dP6rWeZb c=1 sm=1 tr=0 ts=68d8f0ee cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=B-oVSsyST8MYkDpc_wEA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-28_04,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 spamscore=0 malwarescore=0 bulkscore=0 impostorscore=0 phishscore=0 suspectscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270025 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c index 46fd58646d32fd0611192595826a3aa680bd0d02..121239a01cea334c3e7c789ebfb54df71515db28 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c @@ -248,7 +248,7 @@ static int msm_hdmi_bridge_clear_infoframe(struct drm_bridge *bridge, break; default: - drm_dbg_driver(hdmi_bridge->base.dev, "Unsupported infoframe type %x\n", type); + return -EOPNOTSUPP; } return 0; @@ -273,11 +273,23 @@ static int msm_hdmi_bridge_write_infoframe(struct drm_bridge *bridge, case HDMI_INFOFRAME_TYPE_VENDOR: return msm_hdmi_config_hdmi_infoframe(hdmi, buffer, len); default: - drm_dbg_driver(hdmi_bridge->base.dev, "Unsupported infoframe type %x\n", type); - return 0; + return -EOPNOTSUPP; } } +static int msm_hdmi_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->hdmi.infoframes.hdr_drm.set)) + return -EOPNOTSUPP; + + return 0; +} + static void msm_hdmi_set_timings(struct hdmi *hdmi, const struct drm_display_mode *mode); @@ -452,6 +464,7 @@ static enum drm_mode_status msm_hdmi_bridge_tmds_char_rate_valid(const struct dr } static const struct drm_bridge_funcs msm_hdmi_bridge_funcs = { + .atomic_check = msm_hdmi_bridge_atomic_check, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_reset = drm_atomic_helper_bridge_reset, From patchwork Sun Sep 28 08:24:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 924 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 2C58B2BEFE0 for ; Sun, 28 Sep 2025 08:25:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047922; cv=none; b=bmlr4AMtC18X+izdwDH8H0wGgx6dam2uifRN9Xy31sSZE86ZRxJbrvrecD+HqdAamMLFu9K78HWyPQhjgA4/F3+p7vAbnHnhML15un5RmL8EDYyvx+q/3BNd0cwm+8rR9/krHOzXya6IxSIYfxrJY2RZo77JihodutSR+W6ifxE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047922; c=relaxed/simple; bh=W9b6XDfq52rGNwLc4zsgRSvpebnOTLw260yRhrb4Lug=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=N+oqjoiSNdmvVn9hykZCNFbOjO8Nxhtn31teo8HUKR+uX/Q1Pp97LSMX/kfll4aEhxIBykPOHgcBHFBnJ9WPqzu6ZQBwy8zfnjaIQko0g4+48bLeHsOsoU5CHUbqATp+Ac21DiR5k6P7c7jr+IcsLQ2wSD9rM1SkxIXbjMl4B8Q= 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=buCADdXk; 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="buCADdXk" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S30UHq018957 for ; Sun, 28 Sep 2025 08:25:19 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= NW6O36yvGMaCMJruxLgmHiMoRnZgXb8542oDwX0AOxE=; b=buCADdXklBonbx88 yQXEnIVHCKmKKGaKlUd2DEna9Y8RP367YFy0zH5bX4/6GvXxeYZuDCOZ9cQvyZTG UPbG6PNp5jQB4ujsyn+/N+H04591MRydIEPB31U+6DGjQM0v31voqfaNdNW2qvpP ofWJZ79wt4+O46Zhbp8Gb/D/k38j5ECCMEProZH+zpFbVee99t3ephpV2+QfaWRH MUZ5IQfW0rP3W8KoYStNEqFK0G+/Usk9lfMk7zxGbR3THjLjJyAFrVaSEQeeb0fV NuCHxn0IWJLfaljOMJvo2jDq8ZYcUSwnyJXS3MeogmTYECHk1TpGaJXEZBVrne8S jppKtA== 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 49e59mtrdg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:19 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4dfe8dafd18so24761081cf.0 for ; Sun, 28 Sep 2025 01:25:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047918; x=1759652718; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NW6O36yvGMaCMJruxLgmHiMoRnZgXb8542oDwX0AOxE=; b=aRMViPqtyBuofAmDOSXE3cplPuwueT9b8TXc7cM6zRR21lAl4TZomHwSzhmZ9du/St 0CIJJ+bYjBUqilnHzdVpIMa0wQr8H4ywecVWf5Zm20/HzmnAyOx6DPGgy5WXClWehXR2 dC3UILU/JQTNTQfSmqby5vivQnwQt+kULlbIkxRBXHTaY9Zbfm5k3vObWc8uOmdvEgyI Qm4lqKmknV/2i8aN4TtvfZlv28q2BKHglVN/iNaqCPfhBrZA8UzUFpdyyOr76spOiVDa LUIZO3e2NMAm1UwmG9/X2bR4ELt6zNiGORVRlfv/cWREUfJGucZ8onHX4IWNPTOCAvp0 ofxQ== X-Forwarded-Encrypted: i=1; AJvYcCVH+omymof9Pp1jf5HTvfrUfOH9ustuJO16qldenPY/Poz+aHM/s5xnM5Ccci+qB3RSi+Y7RY0d7ekQZg==@lists.linux.dev X-Gm-Message-State: AOJu0YyqFoaF1ZHu4hrFUQeXoSfVvo5o2/7FKm/VSdzs16GhYZdhmwgS nngKGk7NnJju09z3utKgADbNl3ZbEafjUbEaPsS2s15mqd0OG4rjcrkRA9Ql9Q/zqIEgeS2SqMl wCrDdZaGn4aoFvaTowncut9kgT8GR1JO3l1jPMWid76gwuCAZaS3Nq3WCxbU/wD6e4w== X-Gm-Gg: ASbGnct9UDv9axSfUz/lCCUrnKgwWxb4rotzontc/b8ZMScxuI9Kt1aIwmGUzHGR8BY d6W3vPnzGg5S9CpXkC33AjIJ8DMuNF3axdRe0az9++f2rhY5Wk3/3PqSwd//I1PMsaKKbx1r2T0 o/1wJYvun/4bNEfBcKaV3a3RFG/AHaF8mBh8eiDGECqzvGe40J5xRsG0VOM1cR/bzykJWsfG7gn V5EFBnGO9/mSisxxKvrkl7b21Zdx5TPZalMDQI+KyJ+QzFE0xA4foBnPFBqnmc4CvOXdEXID6rp mxoT+eAsuMBlhvn+chaXUNYhbdQVTL4XebXg704RYfzCf8/iqCfvHjoguhT3Ozf9f4JT6pVZpp4 5RukI5xJKSoi5OImJUI/T27KAMqnbEfJPE31HAo9J18j6ugW0dU/P X-Received: by 2002:a05:622a:28b:b0:4dd:2d5a:4c81 with SMTP id d75a77b69052e-4dd2d5a5227mr115444361cf.80.1759047918142; Sun, 28 Sep 2025 01:25:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF27D25nggKmxCQPuY2QEZ5kb5OMkUcGWSWenXBk1jMFSmot08OrVTyFKGy9g6C2KuS41KORQ== X-Received: by 2002:a05:622a:28b:b0:4dd:2d5a:4c81 with SMTP id d75a77b69052e-4dd2d5a5227mr115444191cf.80.1759047917658; Sun, 28 Sep 2025 01:25:17 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-583166561c0sm3244298e87.81.2025.09.28.01.25.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Sep 2025 01:25:15 -0700 (PDT) From: Dmitry Baryshkov Date: Sun, 28 Sep 2025 11:24:52 +0300 Subject: [PATCH v2 7/9] drm/rockchip: rk3066_hdmi: handle unsupported InfoFrames Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250928-limit-infoframes-2-v2-7-6f8f5fd04214@oss.qualcomm.com> References: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> In-Reply-To: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Samuel Holland Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3035; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=W9b6XDfq52rGNwLc4zsgRSvpebnOTLw260yRhrb4Lug=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo2PDU6HTPvF+Y88cTCEIA/XqAYSXsI17MJ/Kuo GBYAduGAauJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNjw1AAKCRCLPIo+Aiko 1cq6CACwsfecD4+Y57wsVqifG4KmJ1uLXo3XecBdE9p/0GhGRaWV3arhyRyfKp0tlB35c8MzljK fDtPzmsDvrhP2urxzq1TpspnVu9IXcEypIW0sF87iXw+iFME67+Gyn9a9OkTsH2PnQMOFRkixVX mH/gIAf3P2S40lcubBSetxPYyllypeNFWjqzzKMd0KvjErmpePUInZnPTLBd8/Xh4pW3QuIhgrU Sm7Z56KIe4dVsOT6HH+7Kq4tyjrHZUh3tKF7qaQ9i4K1hx3kgg/RMruPZmNz9kpUP1zJyzFKYCZ ++CnvNdxchJd5yd4WAK1Hb1e0RR5mdzcMjyyN22Bu74kcYoN X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 2qknBbJKSTPsX9k5lCldjoPStVUEWSKZ X-Authority-Analysis: v=2.4 cv=O4g0fR9W c=1 sm=1 tr=0 ts=68d8f0ef cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=LTYPIh7T-TEeLale1FMA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: 2qknBbJKSTPsX9k5lCldjoPStVUEWSKZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAwMSBTYWx0ZWRfX5viCdXoMbS2D Ss6/xvj3d4BGzgs9Wt4KRgJQks6L+ZIGvVL61wFgdH021GInoH3l3T6woae2eFJp3u32783dhEQ fnlg4LGHWHqwy1c2fWS9iiYoJPL5Eeea2EYv9CKst9sCRQQ7Q/iWrwHMG+Q7Pqgt1yLXLxFSmDY /x5oYszS4pcTtZO9aF7rd3lA64HhARaBQKvHk7JWuDN0J66qAi/7zNHM/DuznUZPszS2v9+I40T b2v5JZ9uzwIsn8Rv5aTyar+cGPovA8ZiGm+RRdO3SKO9r9bR772GGw31HwXevyBr2UoblR4TpmK 3Tq/4EHOToacysHRClNeKdQAeQni244FrT1Gd2i2B6CHp9Tjt2C3EzeALpVJC3Ig7D2mt1CMxZN rvU/PspIAg4GlSKTPthFBcgN77iibQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-28_04,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 phishscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 spamscore=0 impostorscore=0 bulkscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270001 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/rockchip/rk3066_hdmi.c | 39 +++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c index ae4a5ac2299a93a49f87df7604752f6b651c839c..33f52a83ca4597193de8c012b4cc598e82c3f09b 100644 --- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c +++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c @@ -162,12 +162,11 @@ static int rk3066_hdmi_bridge_clear_infoframe(struct drm_bridge *bridge, { struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; hdmi_writeb(hdmi, HDMI_CP_BUF_INDEX, HDMI_INFOFRAME_AVI); + // XXX: this doesn't seem to actually disable the infoframe. return 0; } @@ -180,10 +179,8 @@ rk3066_hdmi_bridge_write_infoframe(struct drm_bridge *bridge, struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); ssize_t i; - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; rk3066_hdmi_bridge_clear_infoframe(bridge, type); @@ -193,6 +190,31 @@ rk3066_hdmi_bridge_write_infoframe(struct drm_bridge *bridge, return 0; } +static int +rk3066_hdmi_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set = false; + + /* should not happen, audio support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->connector->hdmi.infoframes.audio.set)) + return -EOPNOTSUPP; + + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->hdmi.infoframes.hdr_drm.set)) + return -EOPNOTSUPP; + + return 0; +} + static int rk3066_hdmi_config_video_timing(struct rk3066_hdmi *hdmi, struct drm_display_mode *mode) { @@ -485,6 +507,7 @@ rk3066_hdmi_bridge_mode_valid(struct drm_bridge *bridge, } static const struct drm_bridge_funcs rk3066_hdmi_bridge_funcs = { + .atomic_check = rk3066_hdmi_bridge_atomic_check, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_reset = drm_atomic_helper_bridge_reset, From patchwork Sun Sep 28 08:24:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 922 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 E7CBE2C028B for ; Sun, 28 Sep 2025 08:25:22 +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=1759047924; cv=none; b=HZYQBh9KIxVKjJTWVocULz5Pl3Uycp+05Av1sDbmb8AOGcp6J4kOImY9SIpTozM5394Y9E8mRMRt/zjduuTb1LbEX2Bt7FSOVtFw9LdGbSBs5jsTHLsFtDtQWuskLPjWovh0X41CvM3JeXMEhFaB7LGtIm9QCG4AzjWUhJcSHsQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047924; c=relaxed/simple; bh=L5F+9hmws1ws8sHBg3j3OZgk+hUi3reLwHH9RQ7UEnU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QP0zKwJ6ptLS6QWltrXmgHv4BbRANfNncvHqv7nprsxsHRcyahy2rkBZcioSKBcD/q4/qz9kpy8dwAQYQGcmFpmuJU2b7/wvKsCWA8u4t0Gt+aVJUVwZYSBKA3gP1D3AOV3pMW/uTTLn5TOvcmo3VEcxqnmKgpGNPOSOIYBzbjg= 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=CQwlpWSP; 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="CQwlpWSP" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S4vNjr020379 for ; Sun, 28 Sep 2025 08:25:21 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= pDGCMgEwnjTnK4X9AKh+cUPiYlJXGC7VErq2j1leXiI=; b=CQwlpWSPQTUYPWV9 T++W2n23NdFXAGo1Oz5z8OuzR4V3TeLUenpqXGIpk6WYUxPrjn49tZT0hSwqL55g J5Xt+JQu5RonBzt814SibeYMkhy+zbJZZjccY4PQJ594iadgVRvoihEd+7fZNr7r jaqGQqHzycvMp1fdvVD3NTjQXQHTPU7+KhjxYZSKu5yOctkUnqfRvpMI1gY9t3/I /kzRaY/Rr/vhFjLdw8XekRdt6WOqYUc0aV5TRNu5KmkaEF4+OFrUsAAYq02hvrKj Zrp/WG2XXIb8D5RIo9Mw0GlfIN0a/GOto/OqkHMWqsE9piZYG1kBl8Me8sGetgjn XX6KrA== 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 49e80tjcw3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:21 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4dbd8484abbso43309341cf.0 for ; Sun, 28 Sep 2025 01:25:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047921; x=1759652721; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pDGCMgEwnjTnK4X9AKh+cUPiYlJXGC7VErq2j1leXiI=; b=bJl/Tw/HMD3fFoNXl2vYzN2ypO58pwTnFtiEhJgy3LSLZjwShpbbSKPmV8u/pXkDp+ JWNy6PsKtWFUf4qEyRxv16AjR/SkQA6BIjubbvBvmM/5bKJPe7qX/lN9GIm6ggThlFBC 0bYnhgMAlahIhAWN1P/EjiKcpCZcEEgOHtviK5GfHJh898RSy2NMxhJG9ewspIU9do9B L5BDjSX6haFBiABJhTZoPXMQHdmSlzVFIJrQzCF4Gu0z+GRApxb7RX5jTDg+iwfQRUJd jdSOrrGigKU9sbkJz0vQLHetIWj5ovo4XlrQ1WESTfhg/STifhJLF01K52MKI31i9TWZ XePQ== X-Forwarded-Encrypted: i=1; AJvYcCXS769ttIw0vWG/o8kPhXLPxKTAa59dkIvqeZgslrvgF6BGWKC9Rrg2QNFQha16jOUMQW04BN1oSi9m9g==@lists.linux.dev X-Gm-Message-State: AOJu0YzSrl1ufXxUr5j6CgDwFZIXCzh0eNkRXk3GoalB3vsUtbWeYjZ8 tTJHjtylG5keJ1hIdaAJxJLHrxEhEyVrFmY6bmV9+KKkzOcTYp3KSWouTH2ZHfrZLiKnm138V3h ZN71BU1UtWL+provm4nJHWqd5g4P8bmZBZkq3xn0SjWy8ZJE6lROkizD666xDwrfVZw== X-Gm-Gg: ASbGncvli/mGCWdjTP3tvtyS+EOVDlGiatIBYHMMC0wWed4QT+3/QYysbxrdMVFbKVb v6khIk2ESOXXuW8awkbljBC2S3LnAt8Rzt9Djhhg3Rq1ptDoyXEcQlgXOeNXUy4MxJ2SwZyPVv8 EBAQGmPhCTFcjrE39KmxE9Kqk0JH722n9kcWCIKcNAJVnDAaB66a39KxJEQRIlBGzmG09ffTTyp 2CWYfNiT0SuHN5fufF4N2BPVSnTJCTKcajPrNdtOLr6udDSFwWbofvWA5ys2ww0EXNtOhkFN5SJ Ix967kQ9vi3mVGLM7n1v1cq9nvw6ayUq8zbr8OGanM8f7lUUCyWgT5nIGjrTxQP0OxWHIQ5i7sY ZV/EoutzAgD+mvxJyhc+NJGAr74trvmSznDQLSujpqGJ0r/FoBD6t X-Received: by 2002:ac8:7d8e:0:b0:4cf:6b60:8814 with SMTP id d75a77b69052e-4da4c39d551mr157223741cf.70.1759047920765; Sun, 28 Sep 2025 01:25:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEs63wvjlOp3xMxlD61SlugRb128ix3vSdkzbHU2oqtBagfbingC8Ut4nFepJQEg0y1xF3nfQ== X-Received: by 2002:ac8:7d8e:0:b0:4cf:6b60:8814 with SMTP id d75a77b69052e-4da4c39d551mr157223271cf.70.1759047920172; Sun, 28 Sep 2025 01:25:20 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-583166561c0sm3244298e87.81.2025.09.28.01.25.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Sep 2025 01:25:18 -0700 (PDT) From: Dmitry Baryshkov Date: Sun, 28 Sep 2025 11:24:53 +0300 Subject: [PATCH v2 8/9] drm/rockchip: inno-hdmi: handle unsupported InfoFrames Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250928-limit-infoframes-2-v2-8-6f8f5fd04214@oss.qualcomm.com> References: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> In-Reply-To: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Samuel Holland Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3208; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=L5F+9hmws1ws8sHBg3j3OZgk+hUi3reLwHH9RQ7UEnU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo2PDU9uR0Y3DH7A3+x8geiLghZLN7tPC7B3SOj e6zCefBhf6JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNjw1AAKCRCLPIo+Aiko 1Ru6B/9PE+eUbg3q9YXlFXZd6EPBBkP5lZgICQEKOE0FuYIcvp6aqj8KRAYaSBf3nOEsYkh6Cmv izDSG7gqnOYbJtZa1DBmYqSXwcIYU9x3PqJtOca9yASpRyYkvVH8b9c8vz/LfL2SFkM0iWK3/HE oPq0/r5tSjjrJ9u5/+s1evNujBe86ROuzIpMMbVVTj5U9sJ0LQhBHpdBVmwkbN9cfVxuaUmhUo4 +hHRrX+QqJ0qvxolviQQVzyaLLE7VuP4ZbG/H5NauVJRDGd6YUABlNx7xw9adhsUxwugFv2UAs5 CL2oRovfS/3sNkx1Xb25MSdesvX4wPFuG9Dy5chHmg0qOIxr X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAyOSBTYWx0ZWRfX8IbdfrlS81oO GQunLPKi4pgHsqUzxgv8XuogKk6V3/q5RZC76wczSKyARFcujpOLX1wJBmKY9np7Z2mEAkUZGAs NIETUvJn0b0X9nEEnPQhghJm+DxN7/AwqrpU+2G12XaOe9pozIwlSVZPu/5IB+SDpcT135BgREy TchQEOyjljZT/hvJm6HtvxC8r5sODucBn2S69fPfTyLHUi3OZXYBAMLVa6S5uC3hZY7pGi3dZSp sJ6u0uZVfPy95Y2o+K4Nc3W85xAo1ALMdBYsJP/wGTvjzcySCJ2yWeZfSJseEuSXOYPo+lZWueY GTjw4vUbzZKzHWea68IxOJ3TAqhZY4vZk+hrBcWDxyQNqGwq4iW04Y2DG0p15CSERZ9yDVQbf7E +K+aqpY4u+TW79CkLwan98ft8oAXgQ== X-Proofpoint-GUID: FflfLXQjoS3l7AJ3bz2N38E4xqOKtMGj X-Authority-Analysis: v=2.4 cv=OMkqHCaB c=1 sm=1 tr=0 ts=68d8f0f1 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=Uj443JZPoyhSIAxeSSAA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: FflfLXQjoS3l7AJ3bz2N38E4xqOKtMGj X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-28_04,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 bulkscore=0 phishscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270029 Status: O Make write_hdmi_infoframe() and clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/rockchip/inno_hdmi.c | 47 +++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c index f24827dc1421cf5e0c1be63a80da23d645cf3f24..733294c6807da4663285ebd482181589c37f960a 100644 --- a/drivers/gpu/drm/rockchip/inno_hdmi.c +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c @@ -641,13 +641,11 @@ static int inno_hdmi_disable_frame(struct drm_connector *connector, { struct inno_hdmi *hdmi = connector_to_inno_hdmi(connector); - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(connector->dev, - "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; hdmi_writeb(hdmi, HDMI_CONTROL_PACKET_BUF_INDEX, INFOFRAME_AVI); + // XXX: this doesn't seem to actually disable the infoframe. return 0; } @@ -659,11 +657,8 @@ static int inno_hdmi_upload_frame(struct drm_connector *connector, struct inno_hdmi *hdmi = connector_to_inno_hdmi(connector); ssize_t i; - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(connector->dev, - "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; inno_hdmi_disable_frame(connector, type); @@ -673,6 +668,36 @@ static int inno_hdmi_upload_frame(struct drm_connector *connector, return 0; } +static int inno_hdmi_connector_atomic_check(struct drm_connector *connector, + struct drm_atomic_state *state) +{ + struct drm_connector_state *conn_state = + drm_atomic_get_new_connector_state(state, connector); + int ret; + + ret = drm_atomic_helper_connector_hdmi_check(connector, state); + if (ret) + return ret; + + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set = false; + + /* should not happen, audio support not enabled */ + if (drm_WARN_ON_ONCE(connector->dev, + connector->hdmi.infoframes.audio.set)) + return -EOPNOTSUPP; + + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(connector->dev, + conn_state->hdmi.infoframes.hdr_drm.set)) + return -EOPNOTSUPP; + + return 0; +} + static const struct drm_connector_hdmi_funcs inno_hdmi_hdmi_connector_funcs = { .clear_infoframe = inno_hdmi_disable_frame, .write_infoframe = inno_hdmi_upload_frame, @@ -1029,7 +1054,7 @@ static const struct drm_connector_funcs inno_hdmi_connector_funcs = { }; static struct drm_connector_helper_funcs inno_hdmi_connector_helper_funcs = { - .atomic_check = drm_atomic_helper_connector_hdmi_check, + .atomic_check = inno_hdmi_connector_atomic_check, .get_modes = inno_hdmi_connector_get_modes, .mode_valid = inno_hdmi_connector_mode_valid, }; From patchwork Sun Sep 28 08:24:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 921 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 464932C11C6 for ; Sun, 28 Sep 2025 08:25:25 +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=1759047927; cv=none; b=oUGQDUdK8uzvrzQw+wc/Q8psArs5XWs7k0VVXzdeChM2ns4yCkWLwrJhHX012TwUq7TSMAqA6+148L64506LqYyyUo9Nhrh9VUxsFfWS/Whnj1FqpZT5KFeXyxQ3eXOMzJSgXOU89pzV0VFX7jXbBFVZvfnN/+OV9JKODBtYogg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047927; c=relaxed/simple; bh=SNmzbnw2SRpSDuHUMU89vGrNBx2CzM0VUWkNV9VkozY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sWkplYKBWkyhB1rxbzZwDTCA1EREJiMpL68C/Y5RBlF+JpSwwi2WECFbd7GoQLy5WiQZpF17uCgDQWgOHIiQax61SJz49QStW/NnBWf7NycVUKKt/LTZQ5zg7phje1Q2PR7jOuExxtUlZh+heOjKrPYekVgBrRTA+7+pI5kEEFU= 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=cxLU/nZV; 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="cxLU/nZV" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58RNeRDa022035 for ; Sun, 28 Sep 2025 08:25:24 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= z7oVTmK4jTegfS2LDYKFs2TDqZVMBs8llu7PGEMrxt8=; b=cxLU/nZVz5UWUibq ZG6VxhOTPNQsP2gAAYed3eAS3hPx2zdPmA6z+TP6CLhhgfpJcHe+qqgkbqAF/nF3 GwyISE9aK7iqgyqPUeY5UTYNjsJlJF8BexHyQuGXwza/gNhtEwA4ub+t5dXwbb2K gWvAQhohtLv8z3vJ3XP2x+rk6DpUgEXK/b+XEVrzMycX/9iaahbZ8o2D69HB4vpK Y07PU4GSBFOXfMNkp+0W6zS5GkL3afys9aF//BG7eZp15nT/oTluCwaKbtBkqH63 JPrAg2rMw+NcKCx8GgF+B5Xru08K/QkuwMVwfiL/h/wnt/8QE8FgFgh3afcSxOVL /FPurQ== 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 49e59mtre3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:24 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4d77ae03937so104869461cf.3 for ; Sun, 28 Sep 2025 01:25:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047923; x=1759652723; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=z7oVTmK4jTegfS2LDYKFs2TDqZVMBs8llu7PGEMrxt8=; b=g3C+HrBj1uXFZxxosUvLNNSkma1S7kfhFOK9sA896QY7jTmuqAQoyxdwoDeBIN0gnc n/4ruK0KoSQwnLfySMo8gHOJBzl9bXE5G9cBIUF49ci1CtjGkAtykNrnj3st/ImQwrM8 h901FVnjoLfMQnaSK2AskBmfGofgvQ+0Tqd3gh3Ouxdnactdv7InOU6y3awptEcjltJA 8DCSZ34ES3sJgD436aJvjnkOeS02sIjYcxS+usD3ERHu8MK+NeeP1aeGYg2Yto8/3e3L GHvRrCfGaeAA78esAgyThwJmftubnAkT8FVUe7XMJBW4AJFHMumzqEN/xDZENZNOCH2Y sNQA== X-Forwarded-Encrypted: i=1; AJvYcCXbqwKyliEiVxCudmUT5i63j3IWpagjsqMpz9Q+IBjAjhWiiJovvG+8Q2oe+9xT1vAjiBJLxcIg/PYTYA==@lists.linux.dev X-Gm-Message-State: AOJu0Ywe0ifxhsLQMK8y5GnN3E6t1QxlpErEh/o/e7v4MkMNE2aR4EXT Cu+N181dgoe3h525OhN/AdO83EN8mwYPmMplLTiPAFk8LA+e8Wx2xsiwznZb18Lvw7vStHCV0mk dmYue88dQxaCklo8ld9b7WSMfYgJvr/TmAmkI3NRjAjf2U106Si4cy2kJW0CWsPezCg== X-Gm-Gg: ASbGncu/u8LMNK3KDoOBl5wQ1zWWbehK4AD69kyTYN52jjpzYXFHjVG0JZZxa7k45NO fQg7psrbxddO8ra9xmMbPsVfM7DOrl2J0gs8fzF1TAdZ2UCLXV9nHUQObMqR8RvZi0e+MUccIdf s6IHgA4Rs67M3ASvJyE0qzhurm9gDZArOrzG+jTee9spj93Iv8RsLVcmNnkh+26Ksc0uhR3+Gnr rRzPXiBiEwFHfJUnfLMQQCUdEHDmMUZNIonLO6fpSItrViH7+42xTcTFbCXGDOcMA1b9R2pEy0y rwMstjypSzcOmaWU4WloyFgK6UXW3sN9tzAAN7IzNsxmfEmqtwdqrFo+m04+rufknaxXaxAQ2D1 5sDhAmOmxV4J+M6Z9mkNc98G98EgQm9CYL2ksB5K/RjkvYbyhAdUo X-Received: by 2002:a05:622a:1451:b0:4dd:e207:fe2 with SMTP id d75a77b69052e-4dde2165a57mr93280921cf.41.1759047923322; Sun, 28 Sep 2025 01:25:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEESn7rJMVdvgKDwuqV4pofk8SCks7ZTpp/nKrxlhNer6Wcz1kuf5zkj5btieQDBdmwJ29uJQ== X-Received: by 2002:a05:622a:1451:b0:4dd:e207:fe2 with SMTP id d75a77b69052e-4dde2165a57mr93280551cf.41.1759047922745; Sun, 28 Sep 2025 01:25:22 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-583166561c0sm3244298e87.81.2025.09.28.01.25.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Sep 2025 01:25:21 -0700 (PDT) From: Dmitry Baryshkov Date: Sun, 28 Sep 2025 11:24:54 +0300 Subject: [PATCH v2 9/9] drm/sun4i: hdmi: handle unsupported InfoFrames Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250928-limit-infoframes-2-v2-9-6f8f5fd04214@oss.qualcomm.com> References: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> In-Reply-To: <20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Liu Ying , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Samuel Holland Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3167; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=SNmzbnw2SRpSDuHUMU89vGrNBx2CzM0VUWkNV9VkozY=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo2PDUVHPts4iT9DO40TpNVuDbiJgKbp9tiaTF5 1h5ic+PbuaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNjw1AAKCRCLPIo+Aiko 1X1PB/94ehTdKMPnfDOQqb5MoKaN8Ah7FgUWp1xokcVcE+txfW6tC2jaIjwYYAAMg3MJu5MKqOd 4PWONxLpvDmWFuvW0awSN19CswKo4/ryi42gY9MMgRQVUs1fvs0lmIjNQQmMh/GtJGpWRmGFZ1Z pFUgZysdcpoJqNHMmpRuPnDgdLsPdkrHk1iSNAdtKMHFHrPWMg4EQBxyTtppsBsV+NDtUojhffi xOI8LZwI15c1n9YOqXYsq8iXY8BHtBBCR74y/paTdp5/44jEoUPkdBhMZsbD2jB5l/oT7LqHFXS sXRyBWKd0da84pm5V/dCUkLlQgTe+nmOwJ0AI1Mec36mivUm X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: hVWOSuREPf7k-rhTIkoLpV4p_7q81Wh_ X-Authority-Analysis: v=2.4 cv=O4g0fR9W c=1 sm=1 tr=0 ts=68d8f0f4 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=Uj443JZPoyhSIAxeSSAA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: hVWOSuREPf7k-rhTIkoLpV4p_7q81Wh_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAwMSBTYWx0ZWRfX/vEpHO6mBsuA EHQEO5DDoHZJIEvSzPhibyom0dvAL59dxsMVhCO+kGfcgtepl29Uy7ybDRZnZl4QtIfTjUyfQGO P1wna2jREXlSJ8e6LZGMrjjvFQ3vP9wiifArVpyfFzd+Aq9G0InaJAt7oQxb9ARi3cQ7Gc6R6cR Gp/RixzPPwMiW6nwdaKfs8yRPNosKlIA8YNQLUqbphjpFNXOsQPO69CBsv1tw+Ra/k5EKB+n2eu SHwDI2iW42WzQ6dZTyDnd96j6tOYoKJO8E0cWSm+MxCYqNxRmBIS6wUcqzqSzPSY+3iRqMbgxq/ /0CaH0jqiot1sUrWk3iBg6YUBMr/ajgXfoYBqTYjSWMKFPrulf0m1cAUtcS25MSZ6q3cjqE+20v 9yHjMYTqqvytrMQpexWgX4YRZEyLrA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-28_04,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 phishscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 spamscore=0 impostorscore=0 bulkscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270001 Status: O Make write_hdmi_infoframe() and clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 51 ++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c index ab0938ba61f7d75dd0bec473807a04a20e1cffbd..6d41207548386c0ae14ba0a9b7553fe0d3bd001c 100644 --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c @@ -47,11 +47,8 @@ static int sun4i_hdmi_write_infoframe(struct drm_connector *connector, struct sun4i_hdmi *hdmi = drm_connector_to_sun4i_hdmi(connector); int i; - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(connector->dev, - "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; for (i = 0; i < len; i++) writeb(buffer[i], hdmi->base + SUN4I_HDMI_AVI_INFOFRAME_REG(i)); @@ -60,6 +57,47 @@ static int sun4i_hdmi_write_infoframe(struct drm_connector *connector, } +static int sun4i_hdmi_clear_infoframe(struct drm_connector *connector, + enum hdmi_infoframe_type type) +{ + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; + + // XXX: is there a way to actually disable the infoframe? + + return 0; +} + +static int sun4i_hdmi_atomic_check(struct drm_connector *connector, + struct drm_atomic_state *state) +{ + struct drm_connector_state *conn_state = + drm_atomic_get_new_connector_state(state, connector); + int ret; + + ret = drm_atomic_helper_connector_hdmi_check(connector, state); + if (ret) + return ret; + + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set = false; + + /* should not happen, audio support not enabled */ + if (drm_WARN_ON_ONCE(connector->dev, + connector->hdmi.infoframes.audio.set)) + return -EOPNOTSUPP; + + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(connector->dev, + conn_state->hdmi.infoframes.hdr_drm.set)) + return -EOPNOTSUPP; + + return 0; +} + static void sun4i_hdmi_disable(struct drm_encoder *encoder, struct drm_atomic_state *state) { @@ -237,10 +275,11 @@ static struct i2c_adapter *sun4i_hdmi_get_ddc(struct device *dev) static const struct drm_connector_hdmi_funcs sun4i_hdmi_hdmi_connector_funcs = { .tmds_char_rate_valid = sun4i_hdmi_connector_clock_valid, .write_infoframe = sun4i_hdmi_write_infoframe, + .clear_infoframe = sun4i_hdmi_clear_infoframe, }; static const struct drm_connector_helper_funcs sun4i_hdmi_connector_helper_funcs = { - .atomic_check = drm_atomic_helper_connector_hdmi_check, + .atomic_check = sun4i_hdmi_atomic_check, .mode_valid = drm_hdmi_connector_mode_valid, .get_modes = sun4i_hdmi_get_modes, };