From nobody Tue Feb 10 17:08:16 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6ECBE3587BA for ; Wed, 7 Jan 2026 18:15: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=1767809720; cv=none; b=daSLE0o/BY8lva4H072K0chm4duPHgj+FpDvZ77qVUKIE1lmdIJ0aiZa7Y5uW3+usty34gIIUh6aLCtvmgrB5Sa48grNqBzOHq8Cj70NwobyMxWRpXI2YUhkKt8QzLiL6xdjq65d/JlejqXnSrJUbP1PGPPQbkcAb31opq5R99Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767809720; c=relaxed/simple; bh=/ZrVCxC2ORTh/25tcpqTF3QUmYMkLYWP2fYAuUO25LA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MNWM2eMA4JEQHY+XNYreCHA9FguyY/dJcSdf+anpzk7wh1REQyTtJAEPunYsSI75DczHLF5mnt4t2+1RfVDwRL0UtQuunZEovyzYGqayAnC4tVp1q4nTcj7O0lGftHXHHfvEkQclv2VTf6yXQ0qm8Y58tdmMs783F0MbGcanwoQ= 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=YT98JyW5; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DMxz4mY+; 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="YT98JyW5"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DMxz4mY+" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 607H7Ydl3672830 for ; Wed, 7 Jan 2026 18:15: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= 6ayeKTjgf6jc54pfgcQupo3DnEV3KmeCjaAg9qNbh2E=; b=YT98JyW5oGIce4yx t62vyUO8gfpzGSWjao8mBdPTYJjg9dpxi69OPT+flXHjY6zvvx9HgiN5VBgBBE3z aP7KS2Ai0vJ/lJpU1dpDd0Wxd3AfpuO+r5VqXRzqZpaUaKyoi0LPozqGRblpfFtK 8FFeJxxsq+wpaKuwqGiSnUZWk/S1M+hmWmUCx+hBTMfSwr6J6aj2V5QFdUUVf0kj CHLH4uqz3dyg/R1Bh8EhaSUJI/DxjitNH/wMuHLMhRLagS+uW1jOa4CUCDBGeaVy RdCTC2bWeHtpXMzHIcJEE6pFwJOYIGnHu5DTmubFL5Kv1LjS0Qoq4BlhHH+zqmpU l0KWkw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bhum507yr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 07 Jan 2026 18:15:17 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8bb6a7fea4dso572346685a.0 for ; Wed, 07 Jan 2026 10:15:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767809717; x=1768414517; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=6ayeKTjgf6jc54pfgcQupo3DnEV3KmeCjaAg9qNbh2E=; b=DMxz4mY+z1GsNT6WlYY5ePQftxBINzp/Ec3Rx0cc9u8T/z0/NOq0iFgD90t15R5XMR pVIQiEoPBvijKyZgKzbvwFL3hSjtgQSda7sJpqoiwW3Q020DHFzmdLDlo3V9shJoQpjz URXq3mva+MMoNjJZ82mYaEJ6TcYDd/pHSNylKDUM+5BR5nOEew90IxFQ0IiXgIJdbMfy eMDx4sGqIeCFmxSlUTTOH0aqZJSL3AE3tFVnv0x7ygWN6X97ZgTAkZqNAGf5jLE1Wu2T aAeSUPZ+TSpMicOVtYRiDl1GkLhPR7/+RgZnP6OsKN/TwQ7hZ2Mt0z+1ZhehrkdM+uaQ BnZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767809717; x=1768414517; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=6ayeKTjgf6jc54pfgcQupo3DnEV3KmeCjaAg9qNbh2E=; b=D00EfR0jLzuOJ1EndBwqyP48ohQHeV9J/XBOxz0DYqEcn6+8RqCMHX9Z5CYMUcIza0 rw3lk3wC0TwhtsLhKA/xXmS0jLpW2E0vzoEJ+MLgu+/uJrgMB7/QpkSEw5TPdfYrVlAk SALaJC1f5iy404JI0KgcxFdPb35i89bpIcn+2WAZE2mO2tZ0x2CFAc3jiBXAhFdiQEQR LkL/yRWJ9UGSzARB86+cuOINCQnSxb2glML1zNS31lld1QJf9JO3kLvazJUYZKeqKYOB Cn98DODZTia5On5rOooCBcFBNc3cO6sF4tkDW0X7P2H/llkKuOPe8DeG7dIE01gaM8DP rwsA== X-Forwarded-Encrypted: i=1; AJvYcCWDwf3E9Lg8n0QV123KJ/DoDJdZ+GEFi5p9l6lnN9AP4VJC7Iv996HcU8pmwyYdHMm5TN86O//LO5EmAa4=@vger.kernel.org X-Gm-Message-State: AOJu0YxdKfcsYbKzg1pJ9caiQoPYBf3q5z1HWbxN4OPR5V6U6A9LfedE RLrNSed3So4NYMXyoVKBR4qVIeHgC7ZSSDt4L4Cd/Qz5xzpPO7mFiNkQTfCf+OFL30VXHAiPa+/ 8WF1YEM7F3ZhxjquaZdAHLa1ejiGDhhK5OxWrz4asofby3GT02m+OyhGzSVKcX95OF2w= X-Gm-Gg: AY/fxX60evGA2vwleyP6oNlBDI9bbRUL3AEXAhyEuhVMFl8iSR7QamPBjwENWa82jUc 2RrMn4uvCTuvi8XQAfRQqnVVoJTa6XsQ442BRCvdqYlMjpMHr/xaA1b0+khqcr3upbWGmeSRCBF i51Hk+JRVmywrSvCNKeKJb0WO2pSSkQrQjnAqA+m/BEsprh/XamN3Z0ryUMQl8crKXHLpPrORK4 Opfot2LytLzZfXouajEmuqwctM0u/1WSI/4yoJJeCC1AWfvZ0dLmSlYZ/6HuEHaTcHE9oEElo0O 1XsoJ1cjo+zs3G4maDd17l89Gb1+PSE1zXve9k1H+Zx09wLfX4GbCzY2q21aCWRkMZaIJuRinN7 tHFhTU83369opgOWk0qy5CUFN644bqmyBgbm09wL/cdA9Er8QyPVLXEh5kvgfZp3cUnNPiN1HeB jNqtnV7356U8xamjn1g8nYz9U= X-Received: by 2002:a05:620a:2952:b0:89f:5a59:bf30 with SMTP id af79cd13be357-8c38940cc79mr440815485a.78.1767809716507; Wed, 07 Jan 2026 10:15:16 -0800 (PST) X-Google-Smtp-Source: AGHT+IFzR6/I/M+rb+0CfWg9B2pwtmy0BCZ0528ZAW/PtSMTyk3JvUKmiud8K1hEOQV156GKBDOZmQ== X-Received: by 2002:a05:620a:2952:b0:89f:5a59:bf30 with SMTP id af79cd13be357-8c38940cc79mr440807085a.78.1767809715974; Wed, 07 Jan 2026 10:15:15 -0800 (PST) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59b65d6988asm1436884e87.80.2026.01.07.10.15.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jan 2026 10:15:14 -0800 (PST) From: Dmitry Baryshkov Date: Wed, 07 Jan 2026 20:15:05 +0200 Subject: [PATCH v4 08/10] drm/display: hdmi_state_helper: don't generate 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: <20260107-limit-infoframes-2-v4-8-213d0d3bd490@oss.qualcomm.com> References: <20260107-limit-infoframes-2-v4-0-213d0d3bd490@oss.qualcomm.com> In-Reply-To: <20260107-limit-infoframes-2-v4-0-213d0d3bd490@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Liu Ying , Chun-Kuang Hu , Philipp Zabel , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2066; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=/ZrVCxC2ORTh/25tcpqTF3QUmYMkLYWP2fYAuUO25LA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpXqKlLQRVN1fiNfBhJSnlQQ8yf8TEYh+A8edCs YWTlH3Bcj+JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaV6ipQAKCRCLPIo+Aiko 1QOVB/oDjydk2pqigYtLHtwvNWcAKXJbbdPGQ26WTURthKMHJhz9rPZZV04J2QY5hTtypEXd//d nw5Vbwc0So6ysL8Tv/jIxpWqiL+ciHmVHitK6qOCEBS+i8W0MtTLVx1YAdnQ2gp8v5gmqGooPIj URRZkW/XopRmGOqd8hftr59SVEpUvh5HH5NGGNoX/Wx2rngOV+KmUfwE0HXApJlGUvk5kZ/fwRb bGSKspZn9xiu+96xWnVTNQqum/Ct/2q61VCFkl/XqCm0lDpae50DBapNsWOPBMIWt03yTjsHslN UvAY1W9Roxw/F/vls4Ff8wqqmvewupBjJYfykiyeu5Y2vHLK X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 0-yp6dEWDhfMesVA9JWvIvwawtdEoplz X-Proofpoint-ORIG-GUID: 0-yp6dEWDhfMesVA9JWvIvwawtdEoplz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA3MDE0NCBTYWx0ZWRfX2vpMvveChavp MC5z3BHv627RUf04CWPKP868rrtjv7IRuyLCxLYKUNtCVNckDfxYxLOkrSPCa2yDQCk4yIY0pm+ 03s+6ZKoSAEAEmlavJujojVh/SdunfkPHVIuFPz0H79OfMfggXpwCnTg4c5cgIMLSVbgrRUrwW7 ufTGe9NIOpV+Us4UrD/4ViQgdvWc3cc10iijFcY+ekfyW2LKBkBcYAUzvno5faxuW2N5Rzgd81i dgMTV1y79wt83p21c4s9kvlsbogx0eTvLIvikYxT/gmkBY6Q2bz6YpMAbTqqkft2kjPPM00pvFR 1dRmYweiHpf8dMGWss/ob9ixAcYJl37Du5WciXs+Q/ZZMmb8JWX8sZheO9hBb3PYO3g9C6B+vaW aDqFwS93O+D+nPKGjmwQkqjUyW2U3tvGpk6Iadw1SOpWyHT9hfq5I/vVjCAbtifnA/DpKPs5T6L UzjdUFQeCUPPgG3FvjA== X-Authority-Analysis: v=2.4 cv=KNZXzVFo c=1 sm=1 tr=0 ts=695ea2b5 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=58UsvUJqJn8fpqk6aeUA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-07_03,2026-01-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 priorityscore=1501 clxscore=1015 impostorscore=0 phishscore=0 adultscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601070144 There is little point in generating InfoFrames which are not supported by the driver. Skip generating the unsupported InfoFrames, making sure that the kernel never tries to write the unsupported frame. As there are no remaining usecases, change write_infoframe / clear_infoframe helpers return an error if the corresponding callback is NULL. Acked-by: Maxime Ripard Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/display/drm_hdmi_state_helper.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/= drm/display/drm_hdmi_state_helper.c index e8556bf9e1da..a1d16762ac7a 100644 --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c @@ -718,6 +718,9 @@ static int hdmi_generate_spd_infoframe(const struct drm= _connector *connector, =20 infoframe->set =3D false; =20 + if (!connector->hdmi.funcs->spd.write_infoframe) + return 0; + ret =3D hdmi_spd_infoframe_init(frame, connector->hdmi.vendor, connector->hdmi.product); @@ -742,6 +745,9 @@ static int hdmi_generate_hdr_infoframe(const struct drm= _connector *connector, =20 infoframe->set =3D false; =20 + if (!connector->hdmi.funcs->hdr_drm.write_infoframe) + return 0; + if (connector->max_bpc < 10) return 0; =20 @@ -902,7 +908,7 @@ static int clear_infoframe(struct drm_connector *connec= tor, =20 if (!funcs->clear_infoframe) { drm_dbg_kms(dev, "Function not implemented, bailing.\n"); - return 0; + return -EOPNOTSUPP; } =20 ret =3D funcs->clear_infoframe(connector); @@ -928,7 +934,7 @@ static int write_infoframe(struct drm_connector *connec= tor, =20 if (!funcs->write_infoframe) { drm_dbg_kms(dev, "Function not implemented, bailing.\n"); - return 0; /* XXX: temporal until we stop generating unsupported frames */ + return -EOPNOTSUPP; } =20 len =3D hdmi_infoframe_pack(&new_frame->data, buffer, sizeof(buffer)); --=20 2.47.3