From nobody Mon Feb 9 19:52:27 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1FC5826FA6F for ; Wed, 24 Dec 2025 01:04:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766538249; cv=none; b=ZeTwIiA8dkePsmdRHuOjS+6SOMw8xWcH3EFXwn25ImA3QvaSgMQ7GgZ5T689xQK/s4ERT5fLzwE1zgq4qPAlEdb50eEUC0X4d4x7I8wXSy4saYweCY6zIv4ezJWJMsDsZKu20gz5YwjEi6bW30+jNTDiRXoQld2tJmSBEdXOc+o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766538249; c=relaxed/simple; bh=sxrbcfgP+1lHt6WjBr3iluImnNCx0aJDmiljrTHbhwQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CUiwNQOqqmjgvK1Mq2/DU/8OdPSOqUwmNdHD02m7IEN/jwv7pdkWUa8HOc55Mv7AHqhzQjlWMz3yHxjjD7bNr+FqalrSj8cVTTMj7oY2hi5nfaNrcSqce+OsmztBvt8UBN9l0gvIIuoFHe/yoigI6CKnwjRZLW1PtN8kA8NHdo4= 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=B5FzLQH/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jnH2d5lQ; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="B5FzLQH/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jnH2d5lQ" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNFr0Z24133945 for ; Wed, 24 Dec 2025 01:04:05 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= O0WcJstQEewLBWylyM1yaF1uo6Aq9IevUZuM4w9v8/c=; b=B5FzLQH/4hdXvpfe zRFH90K8m6qtrg/XEWhQfEiFLYj2sJlborOxSU6Ve5K1V7hKJG6ddM5f5hLHr9O4 G5FXrg+x2+sZ9U/OXiaNp/wHJ9rRB0Js17h6g8QCgkkdYEEOM682EJmWdkRJSwhK kQePbxHNlL6j+a/BpNbMONLysUtobbr5nGvrJmzoA9yB0sF9cVMuIU6eE0kaGPiH 9zYXOPs5JQjKabNmUxd4fZ+aeTJlgQvTv72a/GeIgJrwdHaN0Dd/bJzy1t13hpI4 C6ekVf2ER33wY8q3E2wG5W5TveJk+urBH5JoBUQQ2/ZGy/5+7CIj2iJgKbR7pbjn GsKuwg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7x46sebt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 24 Dec 2025 01:04:05 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4f4a92bf359so117875811cf.2 for ; Tue, 23 Dec 2025 17:04:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766538244; x=1767143044; 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=O0WcJstQEewLBWylyM1yaF1uo6Aq9IevUZuM4w9v8/c=; b=jnH2d5lQENEqV7hUbMTbbS6Sow1x286qTnW+cNDGlqpH2ER1oIbgR9A+zTvFjm36B6 LFq60O5QGMK0fZ5EnOH8dLqQ8ar6EskR3mVWUmrMGab+AbLmMA7+/6gwu13Ga8F1Xo4i nOzEFv/vrZ4sqP63mCZgsK2PbCpKcOM1ZbqtIrDC2VPMVd+aOrv4K8DxwgLD5zzseNQT YnSk9J/oZZ8qAI/84uo8WJm95psw2w93Sxh/RMvpfNR0bzOhy4trDW0tIfXfTlQ62iwJ D8p1wzbXm4/0kjKt9I9JDTfHsWL7L0KJfFNUg8VySJeGaP/MC7SXmAUQQyQcHaZE+hiO Atiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766538244; x=1767143044; 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=O0WcJstQEewLBWylyM1yaF1uo6Aq9IevUZuM4w9v8/c=; b=W5O/TWie3ZwNO8pxtWo7DEtR6pRaNrnSINywTnghPK5XaYcQ1rL+WSPB205Lc+DAAQ GhCxqcmPX4DgjhWzFfcOnDKz1VCBbK3ai4v+JjIk9SgtacspeEBH6oNyBmRdvxnaN90m seRAqSn4sdotWEY47YvWu1xdjlicE+CVECfoLjmKXbj0TrgtGaCNaPWT+DZwEDL3G2dZ EwisMoUhSTaAHyaeaVpyoDNj/SbzHcVZpgT3xROPDt7dvlQ6A1iK9Iem4R/jPUu304ka ILKDSkOv4IS3cyUm7FISG5+zXLsAxm43FdMp73O9hTrNjmzdLwdR1/BjKMBVr71oGEG5 u8eA== X-Forwarded-Encrypted: i=1; AJvYcCX3tFPnnbI3ZfMCZNSJ0rk+hIymdIbtR4qvROwS0VGlSSBJ7hflFeMFXApUBl0/BX3NFk1bHpY4nF0rgO4=@vger.kernel.org X-Gm-Message-State: AOJu0YxgfeFpRBRo0GsWNbE+hHhIpNalVzKe6eQyIfUxBDsp5dJw0x+o Q/OJDROUxWslVzlBQCiws5vHg+k8S+i/wSqfrZX3AYCASrOK9E58ZEB7GrKjz/Q/4KM7RFyRH+W 9GLPhZzaRxvu3c1l8udEZ7WStbep1yiXakWB0Ltd4F16+iPlXE02g1z9GUPM+JNXxnRQ= X-Gm-Gg: AY/fxX4Jvdmwcp9EEoIzlE88ZScc1Xc6rJ0yC7UKbRJY1cTT9mc7iAumvm6koo6zW/T FEUA54eQzgviSfMALEeVPIRYTNptgoVgaErrmH4wnJee6wenK+ec8BS5Ram7RsI29GedX2ybbrG iTu2OztKyeLn7TtyIS2XL9gOxZN11yUt49dUQQQctq8ZjoyE8Sz9nzzdC92ivDcQU+BdKEaDiyy RooQjm7vIxR2BjD8wTsB1TwcQTKeCqzn7h2UQ2yVX4OTEukOkxxFYYRt/SOB4YNj/pirNYBa+qd AmOEHvECKwA10hMO/rLqEdyR8vdDodq5y1am4xQ57jEHjYOKzKSpLMg+pdM3kySjMjtSIdd5PRM sC629Qb8+q1xxBaSM+PcDJL1k/+6fxu3Jo2H7YYiFwNK6+FJU0LPGLI0S4f7Lvd/LUEUheX8laM PqDvkIrO+7av5SuiJvkIe9DhY= X-Received: by 2002:a05:622a:4d0f:b0:4f1:cd72:f22b with SMTP id d75a77b69052e-4f4abd98192mr256226081cf.52.1766538239479; Tue, 23 Dec 2025 17:03:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IEQGuGT0UI/67dXu411P/e6eStajQsFB8+nCzwFqQBAvO4esgI+rdZ+y7jVSLNcipwTefBy2w== X-Received: by 2002:a05:622a:4d0f:b0:4f1:cd72:f22b with SMTP id d75a77b69052e-4f4abd98192mr256225241cf.52.1766538238937; Tue, 23 Dec 2025 17:03:58 -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-59a18628284sm4545268e87.93.2025.12.23.17.03.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 17:03:57 -0800 (PST) From: Dmitry Baryshkov Date: Wed, 24 Dec 2025 03:02:57 +0200 Subject: [PATCH v3 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: <20251224-limit-infoframes-2-v3-8-7fd3cacfefed@oss.qualcomm.com> References: <20251224-limit-infoframes-2-v3-0-7fd3cacfefed@oss.qualcomm.com> In-Reply-To: <20251224-limit-infoframes-2-v3-0-7fd3cacfefed@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=2020; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=sxrbcfgP+1lHt6WjBr3iluImnNCx0aJDmiljrTHbhwQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpSzvZLWWWNHwhc00YhsGGHeZN4blSTiSB4fsQ2 dICD4LJEyWJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaUs72QAKCRCLPIo+Aiko 1TXpB/9MY/IAmp3a91kMBGdYigbcoUHZMxaQmuYtcY1pIt9hLZ/xDG0HyDeKfdb4ZXPmrbxM+Lr sZHIZRai5kkZBYBHRbs1UvhqFPaEKWCBVQ2Okq4Z1fFonAOh7dEtqQxrre3ELHCo/ljQz4N4wif r83ry1FetVmArWVlTeM2HjwKHkCtccISoiLzXtBF/vjY/mM4/GPwg3Vgf2yuvlfOviragLloVE3 bKNPzT63BmazQ/jQ/THvNVxTXxfLg7YxC6jPXiOFdD16vj7gkXrw6SeuFK7IBzesw8H/JFK5eGM 6letmWY47KyLynSka/FTDRJs5TQaxz+pxi/8ZGoJLndSd0+D X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: FcHmb0rWEPVBKFuDEgfPQhXWSZu3MIFB X-Proofpoint-GUID: FcHmb0rWEPVBKFuDEgfPQhXWSZu3MIFB X-Authority-Analysis: v=2.4 cv=aOf9aL9m c=1 sm=1 tr=0 ts=694b3c05 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=dmsjDmb_ix4f0IDqKoUA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjI0MDAwNyBTYWx0ZWRfX3RpMIN9KCmQ/ a/1JJihoPWLNCkHC1S818rFwQW9sVwE2uVaCJ6LeWknmprOzqk5qEQvBYX4Od26O7KRSDRBfXXG PlYF07PrYGToa3hq6dapuvA0quq0k9NC4bJQAfVkKl3fIKEWz3pfwDJ+ZKL7/fIb4tMayW7hp45 Mj59JxoY73X8Eo2CMLQvysZYTFc+vycYzWhq4foRDPbj8Ydsxe9SY8s2ityOMG2csxXq5R9sL0a tctWc2386jxAt0jlvKsMYlo9nDT/r38ynGPEPIVqf30lQ4dY/FLNFjFVImf2AnYdPMt+d2wKBqY lIO0F0ptyl/kOMW2P1k+48N9IIqLW9lMcGAeLipf0okYhEwKY9Ul6mrTVA2iELb1MxF1Z+uw3+d vTlgHNtjE5Zryi4uFuS6BFcncVOmjsI1tB56NxKVYotViDLGTY90QvU26jhYVntSKcDSx2AfYPC ksG0kFv0os2jIOjIQ8w== 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=2025-12-23_05,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512240007 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. Signed-off-by: Dmitry Baryshkov Acked-by: Maxime Ripard --- 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