From nobody Wed Oct 1 21:23:24 2025 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 A13DC2BE7AA 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 (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S4NOm4019182 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-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49e78ftfhg-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-f198.google.com with SMTP id d75a77b69052e-4d6a41b5b66so86514811cf.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=HpaQ/XSdVfy6F8boxD9Op87a/pgcw/mGTbLjFdX5GarR9rqi+5Bamgn4I0P9X7uPhf i3uvl9asjCsiLWRfRKHefEl9lTfv1U062aUatSrAQDlUN/MAqSq1Ud2bnXEZ5cfkTKdX DxGdPnxBxWVcp/RrgjmwWFWOw6hHbdbXOUiX/8riSuSIOzFloxBOMVWTal1kPTK35urR zgjDUlCftlpj+u9HC0jjSQnItM9NgEMq3DsEa+c9jLiIw0GN683SP+deB3mAGRHcXeEj 0cVZ22eR9tTs/UhBhGQo+e9yJP2iS/704dj8xr7eU6E2eIzzeHzZUJgMFVdX+iHBgSs7 dGYg== X-Forwarded-Encrypted: i=1; AJvYcCWuWE97UUHxTC0lDOOqDsiUwHO6biyE1+H8LjpSfYikNxfHONp77/9/omcftbRo1gxe6rBrEARycYmy4Bg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw9evr8nOmoTtrWKISaKzG+0vb2BPln3/AWdL9/FXM6W770T8Vh eZYacRiTEwjxxgpeqT4R6JvbJpkY3YRxbzieQSEiHhph3EohaQWWvTnRkm4A9kEkfXU6erJtiMm tUw0ZwpR7CtDO5/umgvs+141fIvGpjRWvWmdf0y4GRGJjt/28GXmK8iy04tYhwulIYP0= X-Gm-Gg: ASbGncvzrSNQsSd3hNRwR5XIOU5Zn474F+Syz3OqER8dOUP0RSvp45Ez8+v5c8IzXa4 9aRonkWgRwYJh4h0ooiDIjQNDo2VGAaLwQGeQb5pxaCtk2npEbOwrQAahaRWv7SJjilaqTlyD+x 1biOlX286Vhg1F+rmBWUj3r4iANG1q24W9oZz914l723uhSD64F/JPZ6uwf10yo5/ZV+SvicfNv pqQDrUynZTfv8D4qXv3GmCGKH+YZPqrYWfoBEFqNuS5f4XDYmcfnaondz0VxoD/qeXW4IMuEo5I 8gj4A3EKrfu2ZjuPhxAOhENWM07oO1vmD3xFSOTL0ylu4my+UYNIw8zSoeIs/zkAvILnVlpYoAs 3GJMTjwL5STFeGnu6heQtPqyeNOMyF+WY/Wf6G8kW2tHFor3JW44R X-Received: by 2002:a05:622a:4185:b0:4dd:d5ad:a0b0 with SMTP id d75a77b69052e-4ddd5ada161mr94504341cf.72.1759047898462; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <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-Authority-Analysis: v=2.4 cv=DZAaa/tW c=1 sm=1 tr=0 ts=68d8f0db cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=9qaGXxVFTICEpRVd4z0A:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAyMiBTYWx0ZWRfX6pnKyNmeW/gV 3SxuDnZdfanwERmMLSYdQ6t4twbycZs+3iy0RyEvaCRyB6gIk/F7KmjgC6oMIzw2NB19zu/Ve0X b3JvfRSCSWnVXe+6vDZhKZtE7IjiUKNn1LwJuIgfR4FptF8zjNxSqG95Rs0qAdmuDEtxMgq86mB XmqbN1wtjiBxED8DLWQV4/qCaGR7NOiYCdr2laqdAE3LQ3RX/tOcqI7ci6dpsuuIsqvW2CzDFAm xmS/82ODDbjdQxy2q1UKcMeWi36T/2dHAvajcAaRge6+jFDGOz34vXQryzDsOmmeI52qm74VQCA kUvQXG8cbWwcKSfrh14bpiKR5fWuBWaQTHi39OIvbX7Q23uPore5EQ6wg9DuRMZ36wBe2Uku6In tt2/e4ODz+m+xQjszrsoq9agD7Cd3A== X-Proofpoint-GUID: TS5zwlose9Fijn82w1eKZvdfDLxLGWfn X-Proofpoint-ORIG-GUID: TS5zwlose9Fijn82w1eKZvdfDLxLGWfn 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 phishscore=0 malwarescore=0 bulkscore=0 clxscore=1015 adultscore=0 impostorscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270022 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..e85a6cf6e67232528861521bb21= 251bfdce6f8b9 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 *connec= tor, int ret; =20 ret =3D clear_device_infoframe(connector, old_frame->data.any.type); + if (ret =3D=3D -EOPNOTSUPP) + drm_warn_once(connector->dev, "unsupported HDMI infoframe 0x%x\n", + old_frame->data.any.type); if (ret) return ret; =20 @@ -947,6 +950,9 @@ static int write_device_infoframe(struct drm_connector = *connector, return len; =20 ret =3D funcs->write_infoframe(connector, frame->any.type, buffer, len); + if (ret =3D=3D -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; --=20 2.47.3 From nobody Wed Oct 1 21:23:24 2025 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 0ECC92BEFE4 for ; Sun, 28 Sep 2025 08:25:04 +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=1759047906; cv=none; b=bf4Oyoz3EaL/yFDQyJ5BtCoE0+yWFY1Cwkn1YAjkLdZMPa/dSh6tdAvcbEqP7i5BJwHrBdHc3q5DnmDAB4FxCJlrh5Nv/+zGSBot9ildahtjMcEgBuV5gtFnP6R9p+Nk67uvtJEyWLvpPva+cDOt3AaohKHKRFfnhwYBU0nK/mI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047906; c=relaxed/simple; bh=RSyQmL3DOBdLluC0mSQhrTNOeUIpwQM2CI/HP9Sdsjg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YKFy0b/X5TJMEhL4Grqo6rhUu3O4R9WCJ+CgPKQPXOAi2dnj506/8mDyFHdq3R/BSm4Wzdqgy/V1T2KD8tYHSvDlBzr0NTl6Q7surLvnJ/6C5XlejNZESLzuzpiQEEhIgAwDVmuEevTLRsmfvvbFzD+klqcdzikGhFbKu4xFeWw= 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 (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S5D1Ou019049 for ; Sun, 28 Sep 2025 08:25:04 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-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49e6x5jfq0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:03 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4df80d0d4aaso28965551cf.2 for ; Sun, 28 Sep 2025 01:25:03 -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=Y13Tm42hA/sqtGJHOfsEVOJRnfSz3jJ10M2GM7zqFx93zGniEysnEIpAtA8GJBqhze SXVIMUrUF5fO2X4tyCPofHyUaAx9/JEAkHjZ+EzTKXUdkli0ktnziik6TMMi1xPx6+d+ Faq2uA3WMlH3bz7PQu0bwdSEwsZbdkgrypXBDxd0NFTtF+SjQUve/nNSdxIBnTv4RUwl 75LoMxPRDEQCuGfWTqHTAP/jSquDZIjuzTpI0+/A47UryiMPQjyCZw35ScKbXKJRcNzO CagMm9464C6yqpuJTvJ5ElQprI1dtY5cpazgJFowPjeRtKiQDE7F33Kcen0mV48HrdQo x9aA== X-Forwarded-Encrypted: i=1; AJvYcCWg1+A3DZ+KHLAp7ZCqR/m37STlrLBqHUdOhoT9ZgKfRSGs0ck6mTAYkwSLBx9VkSHiKswjpHmlZkBFCq0=@vger.kernel.org X-Gm-Message-State: AOJu0Yz7gehhnSWdjiq7k/yCorwxRw8WrsoZjV4IfylyWVgkizEKdp7C HUT49UKKSe8Cf57seFoG6S93rfsQc082EEupnwiAH4ABXejQuxRHYZAPRjStUEHGm9/T0zxFyPF IIlxRBXdZ9pE8bP2OLIYMzBTXhcCcb850wHSiwTvsXxKGsOC5GEJwyKMSpl8B+IZ+q3Q= X-Gm-Gg: ASbGncvLIM2Rd0GZiBDYYRlCih8wzkY0Si42WCgLr2fgDdWhAwdWSKZp8tOBg6Of5N5 U8nM8D/2dDjSkq8/kNgX5sA0OemE12EEJZ1zh0vry65rwIysgMSA9vWWQg92MZFbo3EWLwWB+j0 hGuSj8tNKTNoRD4c0dV5N8MrOv3fW9SYldsSloeHYyR20Ub4OIfO6cLQ+Yyt3biO/bUPMISkeBb V1DQDKONK3GdpwFUHiM1QjOTWVay/y1G50wK1GOwXN9dOLr1Sssmc7oKxX0vk+9h0j+qeY+JzSS 75GCccf0gLpm6Zehkk1a8x/HHX9XRaVci/0o8liGizSsRXi+lIaOTeLz7Uwyuc+0IC9oNkPpLKs MgqV2EVfZVxvsBwwc0bE7ncJkYJGccgCwhqIfNr5qF3IREOwtQNtz X-Received: by 2002:ac8:5716:0:b0:4b3:a2f3:47f9 with SMTP id d75a77b69052e-4da4d220650mr149549761cf.62.1759047902041; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <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: 5RxXDopfePULnQzon4cZDhGOE336Kg2R X-Proofpoint-ORIG-GUID: 5RxXDopfePULnQzon4cZDhGOE336Kg2R X-Authority-Analysis: v=2.4 cv=ZtPg6t7G c=1 sm=1 tr=0 ts=68d8f0df cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=XNEcMcDYeHr5uxMbIEwA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAxOCBTYWx0ZWRfX3wXxOtmhsvDr 1ry1sjQSmUSnLC8cDxKjnEmdPNS7353sy2Q8XtysYia36iC6hBL9wnce3fx+9Ov+i5xucY8fcWW rMavSCNVJ7uecntVr3f4wBh25jNcgylirL9BAVX8hV2agBBhjQfgjlQ1eJWSBZOeajyTGkzfxFU UiO4nlEJzKzU//zQBWnqGVSwGfQlCqaLFZVLb6wcadnkoCvT2a1GxORSEB6FTPN2edaUN4bxwQQ Kau1sRyjibbofn/+zo8ZJXh2HmCnB281J9ZsFStmVoBEUraL0u5eYo8U8m7bZRSem2/Xm3UBYe6 petT++CDvnlRnKD7HjqZXP+JT2SJ1ttBMncbgWYFr1bxTmCJj8YjR7Q9MztEIbZuvs0ESxuni7I UGkKIji7tgQwp9rol7dS6NZI15eXBg== 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 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..241f02143f59322a814b4b27708= 2637d59be7d5f 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 d= rm_bridge *bridge, adv7511_packet_disable(adv7511, ADV7511_PACKET_ENABLE_SPARE1); break; default: - drm_dbg_driver(adv7511->bridge.dev, "Unsupported HDMI InfoFrame %x\n", t= ype); - break; + return -EOPNOTSUPP; } =20 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", t= ype); - break; + return -EOPNOTSUPP; } =20 return 0; } =20 +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 =3D { .mode_valid =3D adv7511_bridge_mode_valid, .attach =3D adv7511_bridge_attach, .detect =3D adv7511_bridge_detect, .edid_read =3D adv7511_bridge_edid_read, =20 + .atomic_check =3D adv7511_bridge_atomic_check, .atomic_enable =3D adv7511_bridge_atomic_enable, .atomic_disable =3D adv7511_bridge_atomic_disable, .atomic_duplicate_state =3D drm_atomic_helper_bridge_duplicate_state, --=20 2.47.3 From nobody Wed Oct 1 21:23:24 2025 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 DA6162BEC41 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=sIkVZzfupqFnT3g6qSbAKO9Q4w1xX8JN7iTBtIOP0MlgfbiQ/NzYC15wCI+n1bTyNDHTXUzcEN/ZZvsFn9crbzoSmMMSgsdXyQMazQTRBD+h6DVcnkH17bvQ6hH5/pDuXIfemiQGmPTfakI5gqSl2spjMe8Lx/8HcHu+dquYlsg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047921; c=relaxed/simple; bh=1/mrVoFRRvpJKLVB9yIweMc38FlRgmbKvH5lbekmKJM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=URSJh1uPmosDqE7Ua7jnRxCHKXH6b8ZJVz7n9N6lzGD7HsIwDQCWlbz08m7Wq/fsJpgGFbr6AdP1LGbTstwVS2R3u+3zAmxjkdzvEqQLl4h3DepESun89EmEsnibAAs76AqBcKkOx6O0aQmB6Od3RINWpsjsGnFCekCni/ERdas= 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 (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S8GuNq012669 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= 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 49e78ftfjf-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-f199.google.com with SMTP id d75a77b69052e-4de2c597a6eso68688361cf.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=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=mCN24+ONPHUS9EnkaFcLbLY8+qsGTUFPgjmk2syo21YlmTwPmSxqJWLZFsdAz2D0be xM9NF0wxdbG9xR9+Mc32d2KOox6i28UuPtZDjFvztljSEl7o/V9iPHaHK6AXnc6Klu6K B/87mxcBg1ThcPO7+hrYRM3K6kv4Yj6bjg3SWAKpUjMXNdR/f+LrALF750s3KV6Kb+ig JMTKNFS5GmR2yIKQigQq2CTGT6XigxWEvW4tgPpa4Q0RcRMt0HLxBFFuh+EoAY/V/F7Z Fit0DgRRTn5ox+fe2jIFGX9XNaY+GHUc0FVqrBq0SmdanMI7F+pBVMCg0eEErEktZ6Xv ikew== X-Forwarded-Encrypted: i=1; AJvYcCWFSf/FVYnTVp8HHwa3RkpU3ofbSRYjDKKYVI40RzaS1MhPtksNDaFhiss46gnWsllc8C8dHDHYAEiOjqk=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8XpluoJYRUpzzaj70obBkU03iaqQMylGmzUh5OtqSRd00a3rA fNHMXwJugyelbadb/Evu9fi6VeQuo0NFFMOeK5DdW7zecwIVWEE3Qr/5SkcO9JDOu22yvlTW89T MLxm8c5pcSPRv4GfAUP0pBLmTy6xmewcfsqmOZEorcbO8YS7ScsxZAME57810ZJFi/mw= X-Gm-Gg: ASbGnctLA2aso3/0BHgoLLCqa8Dydj3R+YYwUW46wapdHTBzV4OUrudzjtTmS9+UyfQ pw+x8IhbHf0Tp4f70c+ZW0gx4djj3hmiEo4rymUb23KRm5uxMhkQbwV2QnCVFUN8819qyMtFgwR m8v4uNtXvD1v6iT4CwHbgOtP9hQ56aGINZ2tgYdfxn3WSse0tgC4kXXAVnbD9CkgqUhbeUD199S V8X6m0j3qyGEJpu9L9rWnZLbN/LRE4Ue7Y1JoGk8EDJQVyTt3EopSmh+e0VQr7Ux3uH0FfHmnyQ b3g9kZ3Wjgb0aAD9Wp2+EzS9vhv8pIt6NamX0Ip8ZjVEYOER2So+SVygAnn00bh2/+t9QAjd0Vx qQ1qyPylrKi9YRbU9JReX21nO3FRsUD0ln0yTA8sVO9IEqjz4OuBP X-Received: by 2002:a05:622a:4113:b0:4e0:3cdb:d1df with SMTP id d75a77b69052e-4e03cdbd513mr20512901cf.61.1759047906706; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <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-Authority-Analysis: v=2.4 cv=DZAaa/tW c=1 sm=1 tr=0 ts=68d8f0ee 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: AW1haW4tMjUwOTI3MDAyMiBTYWx0ZWRfX604/V6ZfCb1k +4jXIRMdCNVW2vqi3IdQaroz4iJnEleywvS1+xZC2vhqYeEeFuw4OxFMT4PF8Ji+7TQ9uvvsSd+ kc1d1wqd+87c1vTmEG+Go0/gAlRudnBTE3WZFWJyzBp6KoADeCkXGAYkZ6IqclT/I2Z3AEw46Tj sJVqvR4GvhqkZSfR5XBmizmhlSc174wWmb0wnzVfl/CectRdPMoLfhVDb0kV0bWQMIV/BgJpeS+ ravxrMEoN9DuseQElwIkL6RpvKI6coQPTbG8DjuHHROd6fTcvaFnujtMdYknnYQLCXjflnErz1O w3zGIlUHor2L0YmqpnOXHTgMWMqObDjQFkPjlXcdNxkLmWXMpaMfrVWErnG7QaUm81XhFbMIvui w0GWcbN4h0hE2aKq3+cNsfRV97mtNA== X-Proofpoint-GUID: n9YBMwZ_LX14IcB5xwZCXljnZabVaWCg X-Proofpoint-ORIG-GUID: n9YBMwZ_LX14IcB5xwZCXljnZabVaWCg 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 phishscore=0 malwarescore=0 bulkscore=0 clxscore=1015 adultscore=0 impostorscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270022 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 Acked-by: Liu Ying --- 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/i= te-it6263.c index 2eb8fba7016cbf0dcb19aec4ca8849f1fffaa64c..cf3d76d748dde51e93b2b19cc2c= be023ca2629b8 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 =20 /* -----------------------------------------------------------------------= ------ @@ -772,7 +773,7 @@ static int it6263_hdmi_clear_infoframe(struct drm_bridg= e *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; } =20 return 0; @@ -812,13 +813,35 @@ static int it6263_hdmi_write_infoframe(struct drm_bri= dge *bridge, ENABLE_PKT | REPEAT_PKT); break; default: - dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; } =20 return 0; } =20 +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 =3D 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 =3D { + .atomic_check =3D it6263_bridge_atomic_check, .atomic_duplicate_state =3D drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state =3D drm_atomic_helper_bridge_destroy_state, .atomic_reset =3D drm_atomic_helper_bridge_reset, --=20 2.47.3 From nobody Wed Oct 1 21:23:24 2025 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 7616D2BEC3D for ; Sun, 28 Sep 2025 08:25:18 +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=ku335PPpmqcd3Xd6+ckupJcFF1MjwgC9sJhGFUXzhWuCihIW+Yrn1mjkgAYF4D2bU+lToE99gzqgf0b6lr9bWUOQQuZO+oQodczobEhWDmOoslFPtY2P6Qh5VhWyItPVmCi08Qxl22m7AsiO0PDRswr6xdA+8c4/lbtqh+DJ0ng= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047920; c=relaxed/simple; bh=vK8TFXgm/6X3TSi0UvfKUVov+3NPXXiYH1OJryZTxNE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HP5GpmUyCCMTFf55X778QQgGAKk5af3xFs5Eb/ZO8JA7rlKIbjEYSzM3+wAkC+K/xMw/+ns3o/08Kwt4YyAdOCwFwC0+RhE5wVsyYkgg/E6xHxtbjF8AqwkPGkJqASLqcvtOtcuYWdhjYiCOBqW11Syc9DfjW258ZwdAYBE8lbg= 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 (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S7KQbV015961 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= 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 49e6x5jfr3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:17 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4d7f90350f3so81161221cf.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=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=GcSPhhg5x0N7N6blZ2+VsgYFCqGW9F7uaFRIl3WpTeCKHEUtOgHmqwD9yGkadHLb5G AK1KG2DKPLam4HdMfQ3zcWgSOgVMpZgovHvBUH7zqhT8BnqVcPEoLIf9pWrLkmD3XvM3 gQ4HmIbdd5hs72dT4DFVpc8BF65Tbit2NP+gOWQBd8mHUC+0hPW9clVUkt/Vi8xD2yIl BnRAqkM2umLYkamSovdLqNKvN9UJZpOM/jyZ5kKRki5No0iR6+ORkBNqG3PTActcMMkV d9fBLmxPZ/zRabNJSP/o2xCvbya+WG2PCetunLxaQ0vtkRdSPJyV9Ghos5jTrScqGt/d CiJQ== X-Forwarded-Encrypted: i=1; AJvYcCUfp42rYWLF672F8y9cqon4SXc+42g0dZYdDdeHA1UUGuseNuKIp2nr+Mfy6hIt9IXmZFMaxUUbAMEJrkM=@vger.kernel.org X-Gm-Message-State: AOJu0YxoiwghRHI9Vj1nY0RwZppQsI1mlwOBP7PDDudr63EtjM3ZJF+4 DbCv9oaJ6FvzFftnZDS2pqPC9kI+2TOfl7ZVARazQw8HQIDorSsfeROzCrjDbC/44xqx0J8X3Tm RFbxcxceEmnA06e0Sgk9gx9VCHMJs6/r9K+i/3y1RwzBs5dyXQxsLL9tPqs1adKXIbuU= X-Gm-Gg: ASbGncvLSwT6A/Fvo0+4eX1FWMX0eM7wHtrjCCX8YNHlmGn6V5vD0qRRO9EbslEYs3s 2yPi1IYBFXz4qT0Ax4cxvPuwmoaaij9t1gBbN6CutamXncbTiMY9oO9aJdE7psOHgth+aZDZNyM pydkC0PLG/uAMtipPE+oyJTA2bOUHXW0oA0IGuwAWmCga7EQeKVJlX6mS4L9hgMoMjK2Zoz0Cex 3AUoq1sESMUoD1S6VQRbZRWfUkqOGFg4fuO0cW8zgRYowq+iOSc0TO1RINDBYBv0ZfELGTGLoML cQqLs3BtpiKKcwVZZEdlHBBr6qH2g9q0RE4cNq5Suy14TAkM1hIAmsvZh5AE93lTtjaoi9oxyXl Z18q32tT4klCcDeMLwevqJEr/PNdDafMMBbDcc5eQqCOzzru81kl5 X-Received: by 2002:a05:622a:5b05:b0:4cf:ce43:540e with SMTP id d75a77b69052e-4dacd52b2cbmr147456301cf.27.1759047908251; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <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-GUID: I6-Zes6ecQsiJUH3JoxnOFL_teUEiien X-Proofpoint-ORIG-GUID: I6-Zes6ecQsiJUH3JoxnOFL_teUEiien X-Authority-Analysis: v=2.4 cv=ZtPg6t7G c=1 sm=1 tr=0 ts=68d8f0ed 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-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAxOCBTYWx0ZWRfXxnoBEYATsKBa lNhLENIR1F7d1Ef4mk/5dzmsrkzuA1O9aW449fkjVhB9ZQFVZbE+PU49B8kntrvFBx6/VWV6BfN ZDodhrM8g7XCbVlRBuzmpuc+JyXvTQ2woFVsVH1MZLDBYG/GKiCDbqZyqgOO1z4crqo/TwISmfJ iUefzuwhcdLHffiJ6XavcBSuLz3adysWDbHxu4s14m2SJ98b9kH3J3ui6pLcrW8qkKrOYj5bFQj btFlwn6K7Zbbl55/yXDFReG23zYbgh2UTTqZ9PZareoEMlntO319a9qpm/fO9BDk06IIDTWM8m8 mkmKGosuPe8AFyp8JFUsKBj4l8BeeHD5RuC8NGjf3I+XzZyzF9uCHEI7pjJPzoupZh9+RdT06co CWhHgSOvDgSPzD9uptQjb+T7LHVDww== 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 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/brid= ge/lontium-lt9611.c index a2d032ee4744715b88eb66883edf69bab4c274b0..9c2c9887d2d66968eb1d50544a2= 57d5999bbdded 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_bridg= e *bridge, break; =20 default: - drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", ty= pe); - mask =3D 0; - break; + return -EOPNOTSUPP; } =20 if (mask) @@ -910,9 +908,7 @@ static int lt9611_hdmi_write_infoframe(struct drm_bridg= e *bridge, break; =20 default: - drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", ty= pe); - mask =3D 0; - break; + return -EOPNOTSUPP; } =20 if (mask) { @@ -925,6 +921,19 @@ static int lt9611_hdmi_write_infoframe(struct drm_brid= ge *bridge, return 0; } =20 +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_fun= cs =3D { .edid_read =3D lt9611_bridge_edid_read, .hpd_enable =3D lt9611_bridge_hpd_enable, =20 + .atomic_check =3D lt9611_bridge_atomic_check, .atomic_pre_enable =3D lt9611_bridge_atomic_pre_enable, .atomic_enable =3D lt9611_bridge_atomic_enable, .atomic_disable =3D lt9611_bridge_atomic_disable, --=20 2.47.3 From nobody Wed Oct 1 21:23:24 2025 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 080732BEC4A 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=GQIZiS3WJSswNt+TG/AmD6Szb5ggYtbmnjhatphz9kpw3KPfW34IkXYR3ku0u/FzvI3oPb1QYEth4z5La2EhU33U5X6WelaNWdH4hw84FhL/6pHe9KU6JgdhGWzwqyoXkT76QWztjVv9U16dBphc+j1SIS+KCJy41vwIlimFZGk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047922; c=relaxed/simple; bh=iR5U12JmTHXUQwMeh7Ktc2ZVP6MtOB7VE/y4QxY7Pgo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mSM8gWgcUiiJFhbW7UWFPguG44a6gQyxfzqYV0NVEPG26aBTNYET/rt0EN2kuZs+9S9OD25kZRK9kHkt6Gu0OyGFA6NPazUzRvX+m7S1FUG2UtNCyOfWrNc0dOBxx+iVZArHJKEY+TvCYdtqtt+kZ7zbPXBnL4dGavxSBhav0cQ= 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 (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58RN65Hd009185 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-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49e78ftfk8-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-f197.google.com with SMTP id d75a77b69052e-4d6a41b5b66so86516341cf.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=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=KmxcvKyar88gkBVgYGAcGoWW4Yf2uCRdJvk6Lvl6bp0r4nVKR9vlfmsrGEPbflBOcV JY61Z2TBSsKw5vLM1aIs23v4UCjqhCL+ITZC9vJS+aGwGPyFLTZHQ3gR+lA8cANk8Dq1 /gF0AVTkepyMdqb9SdxCLQwMPrNxsfZ8M/O9b5jjCJXeO6+PSzs1NrZdhOsfE9MbeYPp 2Ir9xXYH1QGLZnzYB7eKNo2bT39wzBN6GnhjGX2EaY3bOwBuMf8Aro+Ibqte3DOkL+ZY PfEeiqHr/f2bqtx5WeWc21Yy3YlbcbfTaUJqcabcmfoPmaytxiHk04ZRwoV1U0bMKLwp 7znQ== X-Forwarded-Encrypted: i=1; AJvYcCVfS3djTr3ECIi3C8VR4SVEpM1mGNNJuTJsoir7wxbaTx33agA76TbcHEP0DJXS+bLQE645ravw1qMVHhI=@vger.kernel.org X-Gm-Message-State: AOJu0YxHSB+jtJy59oRVnYy56T5DjJIx/Ehh1aPtwgHdMceCf+DsR3CC lFPUueahNiXolCwTBNwy6XgqJr9kKkBIzRAZvyInuHiFv5n04Z46LHtRm7SeB8RWgW2Ev18hOMG hlCewYj8Ck1NvOiGReJQ+g1xC9zRME00UAt2twxCQD71CQQ3w4KfJHVrTy3C2brsJKOk= X-Gm-Gg: ASbGncscUq19P8CTO0fJ7kZ4VIBBXjujx8ly1HHyXq0BV+tiWCRDTpzIg3T1lS8Ps0o YFAjQjKuYf9ziJqPWKCFVc5kt88Nhkvq/prW+E2YYoshIcuUxRlQNg8gjtA5jHApi2zUt3OZJUe Rvo4M2p1RHPYgyFhup4/nA4nLO38MnRwwuFFdpDNeKSiKuH4KclvD1aC8bsEfhRNLYPvm1g1Tf8 v8DCpg7NI2GE9UaqxX43gDCoClEjAp+gx7HwYoM/Be2fkoCj0BYiX4WJFcPeNfiJ8RkjpkcQ/0a sR+OYuk2TV4gm6ZCDDFWOuEnBVIABAsi/yYcViM7yY5S+nSGdz9vD6hFtttOA+flO5xgAeiOCqy fixeRKWcll3SlPboebQRZt6EHh+81wivaTIWXykayt8C0dcFCfnDg X-Received: by 2002:a05:622a:258c:b0:4b5:f7d4:39fa with SMTP id d75a77b69052e-4da4735507fmr196313881cf.12.1759047912072; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <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-Authority-Analysis: v=2.4 cv=DZAaa/tW c=1 sm=1 tr=0 ts=68d8f0ee cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=w15x51AS-uJJn6dZ_iAA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAyMiBTYWx0ZWRfX07Br6pCB2P5e tMAQhukOay0SmNY3/LJPUGNWFOfzvBxce8jfWx+wmEEI3Rc8nXogTdjpewrV63awEzGBPiTknRr LTIM/xGqOIWxaGaCpU6BnnBo6RQ2xVk0PW7CoopIwoXIusaz6/k9qrvk2bOJ8hKTmXAAxdycMFg 8UydTA0qeDZmWFgmqM6hHKTUXkQUm50mibrGVrbm80Od01yWBaPs/lmO6W6noLPmwXUJRa105LY CskqmMtdHW8BoDU7vXtyye9eB3RlljpN19wHYBRZDLD5v/yUm/UZ94ZqI25XwrNGV4zdTfM41Ya zn2mUTC7ssMZ7M2nq2n3h3cpC7m72Z2xFNjj8VywKKFS/V+mrQmbWyRlwyBkG3B4a0/szZFXp7o tdno69CmvNu4keT7T1BzdfAVosIxCQ== X-Proofpoint-GUID: BFKkcKHU8uYvDKoODceqsuspgUHKVpVi X-Proofpoint-ORIG-GUID: BFKkcKHU8uYvDKoODceqsuspgUHKVpVi 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 phishscore=0 malwarescore=0 bulkscore=0 clxscore=1015 adultscore=0 impostorscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270022 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..9a77e880b7f58403691338ee8c2= 2d24af570acbf 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; } =20 return 0; @@ -960,12 +960,26 @@ static int dw_hdmi_qp_bridge_write_infoframe(struct d= rm_bridge *bridge, return dw_hdmi_qp_config_audio_infoframe(hdmi, buffer, len); =20 default: - dev_dbg(hdmi->dev, "Unsupported infoframe type %x\n", type); - return 0; + return -EOPNOTSUPP; } } =20 +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 =3D false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set =3D false; + + return 0; +} + static const struct drm_bridge_funcs dw_hdmi_qp_bridge_funcs =3D { + .atomic_check =3D dw_hdmi_qp_bridge_atomic_check, .atomic_duplicate_state =3D drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state =3D drm_atomic_helper_bridge_destroy_state, .atomic_reset =3D drm_atomic_helper_bridge_reset, --=20 2.47.3 From nobody Wed Oct 1 21:23:24 2025 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 9443C2BEC21 for ; Sun, 28 Sep 2025 08:25:16 +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=1759047919; cv=none; b=YtSobKMvXs2CKutmsJHD7aX460bch/FAMLqfzUtP9OX62Jb7d+Lv+1RPTF1WB0Wx/SCYvL+sjo+EFNXQyByQ22uRkA7fdW7eAT+MxfZ8ZHiLQ5/YDD7QwdGuvAbwXiKFl7jVCqbAH0Akv53r85emtvlJPy0RnPMiEoQg3raSdx8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759047919; c=relaxed/simple; bh=vJ6MP4HtyLt5a75BuYCv3CbEFdh6+KuelPeaDQZ+OQQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qyfnuO9h4f93jRdBrc9DeW+k/hB987DBxL0SwfWOP/iHiQUSvrMqVOQnHlNV/GeCcyeeiMJdlqQQagNvc27bf+r5gAzCUw1xnfUVu07GgSn7jLmx4PpSKatxSLBUvHnZSFpw9+WWV5uUrkX4ZO11bDjNRVe5y+V6CSO3ODKvQPA= 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 (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S5DAWZ027295 for ; Sun, 28 Sep 2025 08:25:15 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-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49e59mtrcy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 28 Sep 2025 08:25:15 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4dd932741cfso57581621cf.1 for ; Sun, 28 Sep 2025 01:25:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759047914; x=1759652714; 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=tWyavKIs4aFYouszaUYN0PnJ7MraMaPTdx+7fIi0+vYcEWk6A+uQ56cdPtUSCqWU69 bHkW0lH7LsOVKamESfvIBoQEs60PslStTmKU/5366WKAxANx3agx1PYGHsffCUAftcjt SVGvnL6iCFHLOZDBLyrKdZd6EQUjgk/NrElfIc6DiHhqyOrm4h3kuku5MZAt8Y2UbAtf Xh6ndYbK0vk0OfV+l/FFqllQXP75T9E2JflA+962LMjvZ1QVtYhd11zlhhBCsJsXuBw5 Ab3PAbV++gjJh6NRAXwkMJo3O/DYGhu2GFWzkHrWOwelWcuJUaAthnaHpGUCDILc+eOw J70w== X-Forwarded-Encrypted: i=1; AJvYcCUP35ZuSyUuZVXWGdizqb3I6UVHTS5lz6kC+q/tS0XvonKzhCz852IYI9BAEBRbdB72QOelImjHILqcZAM=@vger.kernel.org X-Gm-Message-State: AOJu0YxhKHhep6GQshDXHV1+s/b7E1WmUXHtsB3tRFBaO67KyhiyqnEA Dkwlj8jRzYGibqTmyCWOrRrKX+W4so9UTsRv/tOHx3FeTc5u0dQLwTgQ0b8wr29sUW1FyOKkT78 daLbTFXElPj2K8OmLFIInycSGhkzTl2n9Mqm8OoFdlfuxOveHxYpplxZ9C7NGIxDR54A= X-Gm-Gg: ASbGncus2XuzxiuPiVtInowlHHyl4pJx8gbNLSxBVC79z6EKO9Uw88yUYkdg/Z3oJi3 vgEZPEchpGv+N5gmAnahnT6IoMkqusQ4VCuGDqnN+ZrE8dSRDdz6h1uZRNri085ssjECPibPFCu yZC0+1xgWIWiUO1ffvm5J194tvQ9ixkxWmqUwlilaGmKis07R5U3hJ1woq/ekaWXDxwcYmfTA+q VguKPTyKEarIzoYnngoxw6fyAgT6PNROvUP6cQe9+wtORCbqPgcB/YnGT+UOcAr4wWMnHosEXFe 6CDYQjbHCrR4F57xxhVS7p/+quEZPu6lV7o0ZuJReSEWawlyq5VXLAU0aOFQ0sWY+uyHNsdVlqR RThMDvqJJbDDyXsWYvJDHh7/dKOUNI+yslNtBdirG1h2uezU6fp0E X-Received: by 2002:a05:622a:47c5:b0:4dd:584:1429 with SMTP id d75a77b69052e-4dd05841fd0mr134553321cf.81.1759047914432; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <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-GUID: XmKZ86OZGdpV3CnLax-mXFopXjH0jCQU X-Authority-Analysis: v=2.4 cv=O4g0fR9W c=1 sm=1 tr=0 ts=68d8f0eb cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=B-oVSsyST8MYkDpc_wEA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-ORIG-GUID: XmKZ86OZGdpV3CnLax-mXFopXjH0jCQU X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAwMSBTYWx0ZWRfX4sgRovQboPxD clrKUrzH5YvARfGVoPbMn3YdqzQqAbNk866htby+ZyD4uqVuz6rWgwd89S9JAbM81yJF53BDxa3 MrtUIt6eT+qIExqXaLdoIOo927GO86nszAA2RtS4bqB3iQRzsZMkrYxEzAK+0IBForFozh5yTed /elBbbC4H8eMq3L7BfZVbIZy/8kL2FWuGEgRk25RQ+EFb5B+5OMGM3T4BI8Jx/I/M1GejbMqrn1 w4GA2wtBwF9NHQyytgg6lkp5EgeOWBbSd3TIaco+6la5VAeP9yBbmxa5wWzYupXZbAha/81m7vI 6fllcNtypodUJXsFyFkFBwQh2QsT90WQNVzQ/3+DMMHAEaNClskOgomLRhy8+3434+rju+7v/Ii +hzH5LNDm4KUhpvuBlDj0NPqyssMrA== 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 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/h= dmi/hdmi_bridge.c index 46fd58646d32fd0611192595826a3aa680bd0d02..121239a01cea334c3e7c789ebfb= 54df71515db28 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_b= ridge *bridge, break; =20 default: - drm_dbg_driver(hdmi_bridge->base.dev, "Unsupported infoframe type %x\n",= type); + return -EOPNOTSUPP; } =20 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; } } =20 +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); =20 @@ -452,6 +464,7 @@ static enum drm_mode_status msm_hdmi_bridge_tmds_char_r= ate_valid(const struct dr } =20 static const struct drm_bridge_funcs msm_hdmi_bridge_funcs =3D { + .atomic_check =3D msm_hdmi_bridge_atomic_check, .atomic_duplicate_state =3D drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state =3D drm_atomic_helper_bridge_destroy_state, .atomic_reset =3D drm_atomic_helper_bridge_reset, --=20 2.47.3 From nobody Wed Oct 1 21:23:24 2025 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 66DBE2BEC2D 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 58S5PJEM014162 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-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49e59mtrdj-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-f197.google.com with SMTP id d75a77b69052e-4de2c597a6eso68691221cf.1 for ; Sun, 28 Sep 2025 01:25:19 -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=tB+d2c7T1ULs8B74OZI7DQT/iEGWMNmaK8fscRmITBV1o+Thll0RL2MbRXJOPFNRZL j0Zt8tcTBW/A4W5ki76SzYjQ+8DoPaehZyTXDVHDrffWoCdxI21KT+GmneV437NZOhk6 CMZoGMRGA3fLhdW2omm7DNPOvApCwkrAb++s4Mf2Cr6MjApNZKp4XjIn8ojrP3Z7GPcS rS3xP494ZS8A9CKXKjg12wDlPg3Vj3U/qPZ6Zv8+Ejd7cmQRkjCifTMLPTbBzG4rhEZy xJFlwX4RhFHGSPMXXwMkqBcj4e8ump/7eShTPwwXiEAzz9f4B1DGtiF3So4Wa2ZktinE 7Tsg== X-Forwarded-Encrypted: i=1; AJvYcCXyLSfbXa3pmXGb2WAAzMmITgIRnAPP2J5ssCgO+Wt1GyUCIZG0E7HO5c1zjUZnIi30IooRlSvWYK0jfhc=@vger.kernel.org X-Gm-Message-State: AOJu0YzdLUxi1Mqgwd1jGpT25xmb9OEzDvgdEgIUviPi+qUWOUBzkpp4 jNeiRTyloHigr65/h2N3oKj4HOUNRarwVNUFFocm5BoKYIZ9iD9emn1B9NW1hpVXh4U+msQI2hj ecvhWR+1cjt53w5kFMm1YG4+F7ri4d6JSNa1tgRg+9davzOoGRnrHVxkOjWSkQqQfYB4= X-Gm-Gg: ASbGncsmiNUAgwRCbnPtsjWTQwm+dq8AKgkWUoN/Yi+6rxnrVllWY3gkWnO1JQ3KwIy xUHI9o6vu5iCOsrB8ZObvbPWRaj/2MgXztyxgDIFrp/hjTdgbSEkvYQnGjxeqiwVTrrfuYuBOlC MM1u4HAXT+VH2S7dGc6zBl+V8s95epjCL/3sIyWx/NSof7TMtDIr+uUQjtjZMABBhSfg1brIOiO xZBmdHvk+uIZYxLubpz/PKwZdyiRXcfY9GTUKwwIJ37wO44ANRX3YN9MP1Jnw/p17hj5LO9j7nu 8CJrq5Rp2H4RX3hjgLHS4Tzu7ahHnTV4l5kPaakqgDnMdE2rOZ4RKTDUktEipfObDTUP2Avb++N ZxJsqiRjCUxRx5LhBrl3Hbna6DyEkZ4OcQb0Ih5g+8eObXPYDxZZL X-Received: by 2002:a05:622a:28b:b0:4dd:2d5a:4c81 with SMTP id d75a77b69052e-4dd2d5a5227mr115444551cf.80.1759047918171; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <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: KcWMpyGrjNqjUqiAPTRnr9HTEh8yVKPn X-Authority-Analysis: v=2.4 cv=O4g0fR9W c=1 sm=1 tr=0 ts=68d8f0ef cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=LTYPIh7T-TEeLale1FMA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: KcWMpyGrjNqjUqiAPTRnr9HTEh8yVKPn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAwMSBTYWx0ZWRfX8HWb4P0YSZ93 SV5fviXCBgWDJO7+TPiAWfTwDuGCzCS2aPtxnyqdP2sOqsjK4YdHCVhtVvx5wpIGLh+ReQrt8XF woqWbs5Wr/BvSADcdk/ThJLWYAwSciY8AM6jES0hwon3BjoRaQyjxVK5O5MOsPtonClr9i09l/T skCtlL4bwa2+uKfcpGqD0UvCb4QVoYRL+ElrLKltSVQToSL+wJzmcHvNEaknlldpWGb1hFCUG/8 S0oyoND5AHKC1M2Tsl3e3NzZVTwVl639AKTpV9kdYyI2W/cZHTC5grpbWGaCoCBz24G6cweuBIV LPJ+qlzA6p00BScRCBTafTNtJAL/nxTquCoPCHYI44zEoIoMrg1ImoFzM17w2he0GcZgBKBjUvi 38EbKSghZBNpbXviwGtYTYTcwlHjDg== 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 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/rockc= hip/rk3066_hdmi.c index ae4a5ac2299a93a49f87df7604752f6b651c839c..33f52a83ca4597193de8c012b4c= c598e82c3f09b 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 =3D bridge_to_rk3066_hdmi(bridge); =20 - if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { - drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type !=3D HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; =20 hdmi_writeb(hdmi, HDMI_CP_BUF_INDEX, HDMI_INFOFRAME_AVI); + // XXX: this doesn't seem to actually disable the infoframe. =20 return 0; } @@ -180,10 +179,8 @@ rk3066_hdmi_bridge_write_infoframe(struct drm_bridge *= bridge, struct rk3066_hdmi *hdmi =3D bridge_to_rk3066_hdmi(bridge); ssize_t i; =20 - if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { - drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type !=3D HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; =20 rk3066_hdmi_bridge_clear_infoframe(bridge, type); =20 @@ -193,6 +190,31 @@ rk3066_hdmi_bridge_write_infoframe(struct drm_bridge *= bridge, return 0; } =20 +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 =3D false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set =3D 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, } =20 static const struct drm_bridge_funcs rk3066_hdmi_bridge_funcs =3D { + .atomic_check =3D rk3066_hdmi_bridge_atomic_check, .atomic_duplicate_state =3D drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state =3D drm_atomic_helper_bridge_destroy_state, .atomic_reset =3D drm_atomic_helper_bridge_reset, --=20 2.47.3 From nobody Wed Oct 1 21:23:24 2025 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 E669B2BEC3F 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 (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S002Rp014181 for ; Sun, 28 Sep 2025 08:25:22 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-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49e6x5jfsb-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-f197.google.com with SMTP id d75a77b69052e-4e002f413e4so5278621cf.2 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=uC7zjLRRLeMLGK5CusbXbebwwbkcJxkuWVDDY7xxq0pXpg+EDi7OfCtvRQP09TosMZ vZkuBzKX0mYx4kgcdkhgV2sDkzS52CsSFeBXRHRnuwqe+IV55q0CeNlB1YbmN0RmOmDj fcDMlONXz8GIYaAX2m88AzybP5QZ4sNGDXYwToJbOfMXeTrCueM/Rpwnk2FqlZztCWws gCbaMfRky99fhRaWGZW15MC0iFyX/oqoVU4RmWw5Wd9PrNbExWc5Ctwr+LLJXrh5hT7e ttKIo3yunQKV1oyv9xMsWxuj+uawj5aW1qYMxXfw5hEgiz+QQRtImN7C1Nlp5JCnf2Ki 6Dag== X-Forwarded-Encrypted: i=1; AJvYcCWvrx0z23oEcX/AxYRzRLh60C2qpxKohv5OdjMyZZuigWqHZQB2LdSAPUtpHn83mhTVuw0XXfeTfiBOSY4=@vger.kernel.org X-Gm-Message-State: AOJu0YxS6+b3LTJIt4GYfJnhmYzhMJddnSM/wieSIDaY7o0utQv8YMEO dHeM9QNlqQc97rOVzhNikJ3mCmFrUp81H4E97iv/25oaLekQuXqg+7+U5cLNbtTP9R7hA8TEXyA u7J+yBlH9NdlsJ7fHwG+b50IBaJVMipo4ffTxatCAZL3rsw/WiFq1rRavZ24D/UZjeUs= X-Gm-Gg: ASbGnct+6U7X9URhnnAOZAx7VBq1yRWHHW6mK9VEjHO9KhxflcCGxqqaB+XqWZzE9vL hr5QNMXaIcRAzMP1IbfEx3W3jnzCSelsXCOKDjNiART7KVSJu1bJ/SvtXCZ2VUYeWhs8E+g9WK2 mitZocfJpLUSmIOwujJVNZ7XtOn0MznmytnzOVTDhc3lfesJKOKl3bhqjxj7P/q/J0JE+T/HVAD pYqb+7luHQhT3AxFmLOPMJnSzTSP9C86HqR8z/fJT+8+zcTzZitIBvo9OBK1tLMNhNhA8zYJvpN 4BKEyu9tb6XdS9JCfgD/nv4uuAgJYNboiid2pk11RS0FeSgM99B+GpTOa26ehb0Wfrp+/ve7AxK PEm1Y8/PG3unIkRzdjMVITmChFRsW626NSEi+YTaJlu0ADc7QOxe0 X-Received: by 2002:ac8:7d8e:0:b0:4cf:6b60:8814 with SMTP id d75a77b69052e-4da4c39d551mr157223541cf.70.1759047920641; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <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-GUID: hJ8VoHRqmv5HAof4g2k4hxtLkv-TA7ud X-Proofpoint-ORIG-GUID: hJ8VoHRqmv5HAof4g2k4hxtLkv-TA7ud X-Authority-Analysis: v=2.4 cv=ZtPg6t7G c=1 sm=1 tr=0 ts=68d8f0f1 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-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAxOCBTYWx0ZWRfXwzsi+9veNWxB uRzobJ6py7rbmXtD4QNiZTWAs4FBuCLrsxubJMEd9tURFzxvpv+UhK7LfWg2mXZm09kzhCyKeiS jsJMI42hk8XmU7OLspBF/npHY3iyjjhRmnSAqjZxlcyEJL2+OtfZW03TjE+teyW77YKKZIsN1JR x7jijplDTRB0Z20ppqcBNTi62WIoTF/XHmtX7z9MiEmKm1wnMu4j/u35vXqP/NV3kStUF7yubeJ GfHJswJjen+C5wPnp8cf/q1luzqn2wYZUqCqSz+go3Rk7GTnhaTm63Kml8dD2O8cXdoMdfk1oqt iLgV5R/lfSpm1ftBVtIUAM+wHw22lphdRjW5XroP3qKb/euvG01mW091Ow+DeUNdvWjaQsEzM+M nrdtWLPUa1YtiYnK8F7h0nFtVemMkQ== 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 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/rockchi= p/inno_hdmi.c index f24827dc1421cf5e0c1be63a80da23d645cf3f24..733294c6807da4663285ebd4821= 81589c37f960a 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_connect= or *connector, { struct inno_hdmi *hdmi =3D connector_to_inno_hdmi(connector); =20 - if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { - drm_err(connector->dev, - "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type !=3D HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; =20 hdmi_writeb(hdmi, HDMI_CONTROL_PACKET_BUF_INDEX, INFOFRAME_AVI); + // XXX: this doesn't seem to actually disable the infoframe. =20 return 0; } @@ -659,11 +657,8 @@ static int inno_hdmi_upload_frame(struct drm_connector= *connector, struct inno_hdmi *hdmi =3D connector_to_inno_hdmi(connector); ssize_t i; =20 - if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { - drm_err(connector->dev, - "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type !=3D HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; =20 inno_hdmi_disable_frame(connector, type); =20 @@ -673,6 +668,36 @@ static int inno_hdmi_upload_frame(struct drm_connector= *connector, return 0; } =20 +static int inno_hdmi_connector_atomic_check(struct drm_connector *connecto= r, + struct drm_atomic_state *state) +{ + struct drm_connector_state *conn_state =3D + drm_atomic_get_new_connector_state(state, connector); + int ret; + + ret =3D drm_atomic_helper_connector_hdmi_check(connector, state); + if (ret) + return ret; + + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set =3D false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set =3D 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_func= s =3D { .clear_infoframe =3D inno_hdmi_disable_frame, .write_infoframe =3D inno_hdmi_upload_frame, @@ -1029,7 +1054,7 @@ static const struct drm_connector_funcs inno_hdmi_con= nector_funcs =3D { }; =20 static struct drm_connector_helper_funcs inno_hdmi_connector_helper_funcs = =3D { - .atomic_check =3D drm_atomic_helper_connector_hdmi_check, + .atomic_check =3D inno_hdmi_connector_atomic_check, .get_modes =3D inno_hdmi_connector_get_modes, .mode_valid =3D inno_hdmi_connector_mode_valid, }; --=20 2.47.3 From nobody Wed Oct 1 21:23:24 2025 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 828B22C11D6 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 (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58S1K1vT025201 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-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49e6x5jfsk-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-f199.google.com with SMTP id d75a77b69052e-4df10fb4a4cso46237401cf.1 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=bQRwBHa7pTgoXcbldxBY57gCY9Pg14ftUn3iuzZNSYUEaVRba0vImUfEjtEY56tKn/ 1phXvR2mT4rYS3pGIjER8GvZv927KMsxE55d2NYNFnUioDVSqo5kvQy6JUMzzmje2Kdk EEzVHR/rh/MGsA66zQqE+xDDrtXOrDGrG9Jv1HxVnyVz0XPQOzwgFKnJ7KBXwPTy+GG0 Ec8htqT/X2QaxdFaGXXtI08Agf7Lt53rZ9HCBYjRfUpoxRdHZ1uWeDRMypLH5bEf3P2M Jv1n4ObSI4CC7wV79rLwD0j9/7EXgZyqUX6xzpPqhJPJgNHw1wm3n9zNxfJGkdNppvnp VBXQ== X-Forwarded-Encrypted: i=1; AJvYcCXKlXBAH+cQfO5stLQROdob2VLRnjhmVrictJjYklupyhhSanotCh80fuiJMOVhDLTe0m/bbjdaBM5Qsig=@vger.kernel.org X-Gm-Message-State: AOJu0YzPKRjzLO1p2Z9sVd6mta1tCIjDC/eJIbJfO76vDx7vWdjfL5F+ qPlTLrLUfA6kPz5jcJ0FKwdnZYZW3v6j1LWFDQPonfLnY/hpdOoo5XGTOCKaUarV0oljojNNi20 HQ87lk1f9GET/qNL4sREYUo3CWw12YWEbBY747OS9DKZUy1yaECj/QBe+/TqeL3YyEPg= X-Gm-Gg: ASbGnctndnvhQbu6PllpXBWLPLluTb7Krhk7uMyNXZ2D8Nc3Hm8fif8wk5QpU5JBbqC +rRTvGch3MepAI/lSaZ5OUBg61RAM7WkOMnZ3ECKsse9ybqTnUpFl3BaX34hz+ysMqS+uMKYlA8 V180UOinYDVlK00BbzRh+hERf9gppossTk2gYwPL5R72+68E2UrSkRA6FxwqJsMlE9MwmV4Ce8S NQRFl6W9EgVfJyOaEL/oIMCQR8GyGlSwWMdB9eBZV57l9yFfEKrabdbnVmQT1jVDkgRVfXvImLj hK431IlK0rakEUVghhS2TqRjcEW9Cy7byeAdtncYbIoSksvoCU06Z6SUnaz+MqyHMDH1OpcUp2m ZDAJ21wH9GzUT9FHhR7dfoD+DU3DK6DncvpK/Z+y2r8MxYb/ELlfR X-Received: by 2002:a05:622a:1451:b0:4dd:e207:fe2 with SMTP id d75a77b69052e-4dde2165a57mr93280961cf.41.1759047923370; 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-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <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: X15lG_l_UbsuEywUMrVDdVFZCMJTg-rx X-Proofpoint-ORIG-GUID: X15lG_l_UbsuEywUMrVDdVFZCMJTg-rx X-Authority-Analysis: v=2.4 cv=ZtPg6t7G c=1 sm=1 tr=0 ts=68d8f0f4 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=Uj443JZPoyhSIAxeSSAA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAxOCBTYWx0ZWRfX76+RifRJAY7m 36woZKz9a7MH48QlKxznhWD7LV0Pxsp3hA+8dpnypU2F0hg8P/FUMSl7t+CrvkDPTr2qME3zHvV hZKjDJlFHfdOp2yUU/06eYD1VLKtrG4zxpVtbUPnY7vldXPK3W+couA6mTdt4kunmcpQAFCS3Lr VC6gSFQA2FmiZyhKipff6UfXFnHQcjC7LJb5g/sfTXnfP1YXUcPpJl8Q9RcnFWE64gWg8N+jCAK B53PSa6+VqQNS61OzXj2U8H0CMKcbZIWQk1WlUbSFEHaMx3WS+kf5eFRLe4J4EgPV3wkimixs9n FuEfPCHxDafXyRXOcyVBSLiuuuTxPP4xHjPLFP2KevUiuWqqw0Qqn+pkLVLAUFmIrq0vmTOKcYy VyWOcRuJqVRfEjQXpACAnuBl666hbQ== 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 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..6d41207548386c0ae14ba0a9b75= 53fe0d3bd001c 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_connect= or *connector, struct sun4i_hdmi *hdmi =3D drm_connector_to_sun4i_hdmi(connector); int i; =20 - if (type !=3D HDMI_INFOFRAME_TYPE_AVI) { - drm_err(connector->dev, - "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type !=3D HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; =20 for (i =3D 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_connect= or *connector, =20 } =20 +static int sun4i_hdmi_clear_infoframe(struct drm_connector *connector, + enum hdmi_infoframe_type type) +{ + if (type !=3D 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 =3D + drm_atomic_get_new_connector_state(state, connector); + int ret; + + ret =3D drm_atomic_helper_connector_hdmi_check(connector, state); + if (ret) + return ret; + + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set =3D false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set =3D 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_fun= cs =3D { .tmds_char_rate_valid =3D sun4i_hdmi_connector_clock_valid, .write_infoframe =3D sun4i_hdmi_write_infoframe, + .clear_infoframe =3D sun4i_hdmi_clear_infoframe, }; =20 static const struct drm_connector_helper_funcs sun4i_hdmi_connector_helper= _funcs =3D { - .atomic_check =3D drm_atomic_helper_connector_hdmi_check, + .atomic_check =3D sun4i_hdmi_atomic_check, .mode_valid =3D drm_hdmi_connector_mode_valid, .get_modes =3D sun4i_hdmi_get_modes, }; --=20 2.47.3