From nobody Wed Oct 1 22:37:05 2025 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 0FFDB1F0994 for ; Sat, 27 Sep 2025 01:04:44 +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=1758935085; cv=none; b=K5ooNx0jR0pF15DT+SFob/dvmsKJ95aivkIHBVFODXIjwY3DuTpRtJaPcvquCAbs1HM/7rb00gnw/bibtLQbHsfxnOBOHhbgLuGBcSXB3/7XyxfsXGK7pbzbiBNmH4XHNTTOkCe77c/cttBTKONxZK3Y0/7Eh4ZEJuCnyrYNG9Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935085; c=relaxed/simple; bh=3Kap+upNT87sFn+7RYq1dDaa62IPE0BRWOyWIEU3S6I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ULa8wPL0sEUQkXOTrVDoHXMwPnmJVf+eSYkRlHK05vprL2k0w6xEXy/U9ecyiDyYuPe16tSajDJ/FmCJEApSFdMuczZjG+V/1l6Q1GByOJtC+pxlOmXP//G7pq3rYWo8DAxZFauCNf/S5+veCsWWDls4Jc+6xxW9r6ZHWePqWNc= 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=h2aCXGC4; 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="h2aCXGC4" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEWrRa012042 for ; Sat, 27 Sep 2025 01:04:43 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= tqL9/YMiIEc6tsQIKNZIjqHO6NoBtjrbfKTgbxxDbRo=; b=h2aCXGC4I/FFoMnp ArCQmvc7Xjl5wqsta2feYFgGDI2uIcwDXCd7J0Gmp2mkXhwM/90qPS3j99QD3eNn gu19rTNNMHJt7ZXdsPYO5qHfKW9KUaIGFwJlwA5VrvS8yr/bBE7QDMEitmdf1eZM k3bKPYzDMow0aPKNFhQvqlPgCShKom8IyZufpGAsNxFXU57aJFdCrvzRp7HkAwEB zV5AjopJDVGM1aGGaWsKrwJVMHBwNcQfhCBSQwYvpAJQuSQijHZ+ie/QXEHvJNrn X62z9DjXvsPxYiRBif5ns/q3sqsTLemg4FKeDe0ZM9s4ST3bZz8LvreCGTylgB8V MqJ+rA== 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 49db0q4gpf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:04:43 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4df10fb4a4cso7695811cf.1 for ; Fri, 26 Sep 2025 18:04:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935082; x=1759539882; 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=tqL9/YMiIEc6tsQIKNZIjqHO6NoBtjrbfKTgbxxDbRo=; b=MonG3qhhhcUOuqT8WXQVMCusf5eQMJMHp0KN2DTB2J4wL6iy4pqaEOacZpu7xcc2vj r0c8y2dvCLOUea99u/OJkkXGFIBQWDuv8irj3haPGlqm8rUc30J0OKLz+tP6ejYLeaCN 1FuEP6KJb7ZwwBUTmpko5EZxB9Yh2iYqOvzETIaCGX5NYjIPs77zRWfyc8C1O/J0J6fe x59bX9v+POOwlooKiEZd9f+u+SsZI+NMXw05p0+ojHlwxs19k9GyR+HqWmi/7CEQXTsu pArE6iIVaoh9yvTZ28Piz/6RGkngbRdx+XbwMagA7BzlQCg+4uKdX8V5+gw1HMsQck+P ttMw== X-Forwarded-Encrypted: i=1; AJvYcCWbSKAkzq12nxxVwGEdtnQ4F9C68mjiMQwp8x/XtWONnqCQ/hYYzq+OcHA7VoiocHma2G6TIYjmxc00UwM=@vger.kernel.org X-Gm-Message-State: AOJu0Yy5stlN1eC8ntNCkco7K1vshnjdwWh7LZ32ZNiPyiFQk2Cnxyzz iCbUVzo3Z1cmkRGS7x/T9ORTQznC2qATFUCT4kBg7DwOlGzFWHWjMnUeeX8NEvOEO2fsrjr4oUs Fp2Z27gkFWcU7WcOmz8Lx4CXiCb3WuTdCcJ7ocu/51L8gRn/mnvBFudZo+O6Lxh4l/4U= X-Gm-Gg: ASbGncsp1oKnCZJV4IJUlsSFQsC85hCBD0X/nCPd/2Ni1DHbp88t401xcdvGHcNnwnY 5OA+lLSp90yr380QrFPE6+HI2jR+dGu6GgG2/oYtPQ2Fi73NYGeIP/bKXL8aG5qJzCD21k6f20L UMWd6f5WIEDH+9lJT6Gb6RnNFJovrWRQc9yBDw67AiGnIN0+wzl2IzrqF6OJFxk+tv450+gyJfs xdqZ/lbEBu4a87sTA5Psn5h5gJlvl7uJV/2aCOqZR9FIYawyh/sPT3ANc5CBZYhPKVqj7xtZ3xu qRCF+b6UJtwgT+H5WroKvrnSILCM1jzJwH798ZXEmYFzGNdBL6/AGfkauLt+O2OcJpAPUjoF5ho 4hO1Br+LBBF7n4Qtwft0tcNyZbSaNLJgE5Hb7Qvk1JBMpEVIXvK16 X-Received: by 2002:ac8:5f53:0:b0:4b6:38f8:4edf with SMTP id d75a77b69052e-4da48c83a55mr117773551cf.29.1758935081775; Fri, 26 Sep 2025 18:04:41 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF75VibNMp5O2UtPKi1lry6nSqkB5lKg4XgBP9p5gbrQo+2jtHOvdb5uGII3iLSHRo8cejMHA== X-Received: by 2002:ac8:5f53:0:b0:4b6:38f8:4edf with SMTP id d75a77b69052e-4da48c83a55mr117773001cf.29.1758935081126; Fri, 26 Sep 2025 18:04:41 -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-583139f99c1sm2156143e87.35.2025.09.26.18.04.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Sep 2025 18:04:38 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 27 Sep 2025 04:04:30 +0300 Subject: [PATCH 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: <20250927-limit-infoframes-2-v1-1-697511bd050b@oss.qualcomm.com> References: <20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com> In-Reply-To: <20250927-limit-infoframes-2-v1-0-697511bd050b@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 , Chen-Yu Tsai , 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=1357; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=3Kap+upNT87sFn+7RYq1dDaa62IPE0BRWOyWIEU3S6I=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo1zgfX/GIreKBwo6aCquZZY/wID5t6jipXzkNi wTF056wjFeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNc4HwAKCRCLPIo+Aiko 1f55B/9KVdsAJOIT3RmBfdpKQySqJj7khLyWlEyFtjy3loB2+1eEOtJi2XVpH99c6q6m5nmgika FDWK4UD2Q/faYp488okDacpcRd7LG2k1I/KXafk68W0yMIvO5PU37KKyl7UkZWxNov7p7+aHt5R Wwp8mCubhX8mMCmlOVFpNKA5ARDnIbuY5e3+fAnV7hsW1ppyyJaXajCEmTQZvwpQoU0oH5PmzTa OwUPXQEUskF5wjmeV0dhV8YVx7YAksWi40g7yInbW6g+Q9eVi2VGdPoFWcdBj1TOGc2d7/j1rgU PZOjdrVKqzO/S8m9Bgk8t7Er/wOQS12w80Pibwbavv/Oj8jS X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX4ceUhaz7ROVT 9edpyI4MBTVp3rtgVonynyQyueiMzTGvimUukRajbJPfKXBVh494LjyfXhwt4x9cL399rgrvIey c3LMeCLgWjBjfkVkXLoaM9T/tlh/ZAI9kX6R2k45W6r5CaqnvIFK0pAQLsykCsxzRYCvTJ+oi4n 1MTuxp0eTMKR4iaxmR6ZutYXS2b62Jpfi2hTbNlR+GasfkaZlBL56YNUir37AJn1a0sII2dBqy6 ujT7qQjismeuJZ5NnTIB9rNiCA/LFHhDDCTFp/AjZA2n7LfgK8MHWsupGXq4NCnJI9ZFvWrFSEl +hyiVkysJYED2PhyQjMmnmVV9/y3Jd2msHxkW4XAkvZtdRVry7XzGc11de14AEaMa6shSdgHl3U BefjBiMXyxYj+4sNipdUX5owdQpJ2Q== X-Proofpoint-GUID: 7uZpG2gI7QUWSWv5FQmEcU70D7lgOoLG X-Proofpoint-ORIG-GUID: 7uZpG2gI7QUWSWv5FQmEcU70D7lgOoLG X-Authority-Analysis: v=2.4 cv=JsX8bc4C c=1 sm=1 tr=0 ts=68d7382b cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=9qaGXxVFTICEpRVd4z0A:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-26_08,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 priorityscore=1501 spamscore=0 malwarescore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509250171 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 | 4 ++++ 1 file changed, 4 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..361912de2741939cfb5ec350c08= d738a92e2ad37 100644 --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c @@ -920,6 +920,8 @@ 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) + dev_warn_once(it->dev, "unsupported HDMI infoframe 0x%x\n", frame->any.t= ype); if (ret) return ret; =20 @@ -947,6 +949,8 @@ 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) + dev_warn_once(it->dev, "unsupported HDMI infoframe 0x%x\n", frame->any.t= ype); if (ret) { drm_dbg_kms(dev, "Call failed: %d\n", ret); return ret; --=20 2.47.3 From nobody Wed Oct 1 22:37:05 2025 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 61A541E835D for ; Sat, 27 Sep 2025 01:04:51 +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=1758935092; cv=none; b=AYfP9gMD0TCH7Hcf3HQdVyE/CUbvF+Cvf2BEfdAHP9a8GFt53IdzryKJPFrcIrp6sXn4YHpjoCiZZV15YgmpFLOtbxVssXnyGwuts1HElMIZxEQAJgYSnIM/G2ZX6qGGZ3RFjAY6pRQ698jS9KbF+6EiA4AzD28UmtvDodW116k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935092; c=relaxed/simple; bh=GDJs9stizfNvb2WVbvQCEr8SONIYHFgwY7yHLMQGSzY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eheTTt3h51sv6z8TgeDVVmkEPvr+mfUj2HHVBtgiu9tP8BxmScS6BYUhaB3KenmtIiI9RjS6Fw7JUtTOhL7cMGkKGTKr53FsBSuw/9VijtV1ar1vCENPNZ5N7NCd5tFNDc52T8dffm7bdUBPySKf8q//bv0CHt1DhRz1jzXx9OA= 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=iB0NPyKz; 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="iB0NPyKz" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEX70M007022 for ; Sat, 27 Sep 2025 01:04:50 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= KHBvbs6wVCtvxZAx2wHIzn0cwgfPtQSReWo4Noc9O+4=; b=iB0NPyKzQp9RO4/b NiUXUNjL95SnD6VCYC2k7DHEXwm+tErDbCYYEpxZk1PGBnrfOt59d7H6g7nRmYoL BmNhvjHiVdK5EQ7VMkDkLu1MFx3iMTtnUVcyOjXHy1S1KceI/8/zJim9fzkkXSxz 9Heb2J2vhyGp3HaFE35jg+nhzBles9TZ809gOX4xZ62XfO5nweoxK6mZfHlQTqiS /8Lk0vJn/Ovja2ENhnXLkTeWkzfbe1jQpc93dZ4Q9ZYgM5WfpYG2XXPGl8/pHH7Q Lf/dfoi9jcixGh95tqcKkkTLSvfxoF/n/ARMhqiz3JCqI2kGNEAlPKuBWewgPWAf miLiaA== 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 49db0qvh3q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:04:50 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4df10fb4a4cso7698461cf.1 for ; Fri, 26 Sep 2025 18:04:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935085; x=1759539885; 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=KHBvbs6wVCtvxZAx2wHIzn0cwgfPtQSReWo4Noc9O+4=; b=FzAc5Sa+sFF48AeKNFRinXmBxO1I17ubDDc4wECXkRs6R/Xni/FPY55/46kBkS3O6W lq+2qzVVoQBwdtUPCV9utrrK21Gfa82eD+cFDPoE89rgLCAPdA/+n2YySepG4BU6Qi9p bsnhTPIUyXuMYL6hR4VQtqovH+Ls7rIDvJJ3bt7YJm8YYVV+N3BI9cBtS8/5XQc9ChCo dsr/YR7GTgecHpS3Wg9zxVMFV4xbeAO9MYN+RF8DDm8Vqo2v4lr7vO4Psg4JzwXvySnE forQWvB9Kp9wvdPqYcBC4bt6MHs3XL6ffrYW6TxrQ71Z++uCv+rUPZnpRaaU3HKGhx5J Awyg== X-Forwarded-Encrypted: i=1; AJvYcCUtjuRwu7FFs2gPXrCEsuwfS15ZWHgGDDjxzCwDxr4JxHMF4yO3EKVIeEK/LZ2WgWgFRHQTU43SkRVokzQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yx+LpF5VueXBYhlYnoScRhkSCFKZuH+SqVN1pm+Jwndjjr+8nZU mlMPjhhC9YE/jMMYFek1nxLFShHuSaxJW4uSKqTB7BvK1GYdv9OLso5KMHjNejxdNywLszgINPE mcirSYs06VqjLH3kOETPXxS3tBOvV2kHZxkiwqYTypWpbJ67kfm8dTw5OMKPXxununK0= X-Gm-Gg: ASbGnctqMInlmSfOc4hkB9j6H8QTK4I4+izrH+gcUyY8E52h1vmwfR5Tij8Zr43Kput DnPbE29ZFAQYrTchehfFGGHYxt5n6WjXsgIO9gffvBq+9ICsL59XQUZZD2XTTA+aa+BZ1t/oFTZ APL5BBXVZbsfbWPuPe7SAHN4yE65wdHAe5LKnpe4MHZpzGMD9nG5gPX5YRMZSL4dLTTA8pi8Xoz 8/M2aaTOi5z5cgA8Sv94U36CccO1UNfAomV2T2IF+rA76aWTMZfVAEp6m7d6CmL4MJOS4XWvCll BpCYtkxW14414OwLSCKbRNjYp7fys3er+Mu5YtDQB7riN8m7xvuwwLD9JosSojdtMepsVI5yecV Dowzj3YbmjO/iFTA1c91QT/BSuT1fTjBqlGUcEM8GXm2URqi04afh X-Received: by 2002:a05:622a:1f09:b0:4b7:9f68:52cb with SMTP id d75a77b69052e-4da4bbe54e6mr141708521cf.54.1758935085229; Fri, 26 Sep 2025 18:04:45 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGDgxekAFYTmTTqmCZefeEPl+nSUzBiwY3LbANe6dbEILxpaj8AQRwYb+0/9qkitC+FpZtBTQ== X-Received: by 2002:a05:622a:1f09:b0:4b7:9f68:52cb with SMTP id d75a77b69052e-4da4bbe54e6mr141708011cf.54.1758935084695; Fri, 26 Sep 2025 18:04:44 -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-583139f99c1sm2156143e87.35.2025.09.26.18.04.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Sep 2025 18:04:42 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 27 Sep 2025 04:04:31 +0300 Subject: [PATCH 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: <20250927-limit-infoframes-2-v1-2-697511bd050b@oss.qualcomm.com> References: <20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com> In-Reply-To: <20250927-limit-infoframes-2-v1-0-697511bd050b@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 , Chen-Yu Tsai , 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=2270; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=GDJs9stizfNvb2WVbvQCEr8SONIYHFgwY7yHLMQGSzY=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ8Z1C4WwP9P/BahfUM7J/q38y+eoSdQLBoWi9c1+S95+v sn2RUOjk9GYhYGRi0FWTJHFp6Blasym5LAPO6bWwwxiZQKZwsDFKQAT4f3B/k9v8b97bhIf9U8U rWn0L+vfdMc+z9ONLZFtWkd73NlfAtP52OZ9fr5zUayhl/rpazf/lhyvCPNVZLlvN2eaaEvRF7t M/RtdPk8PKW1gqT8RmhWS+fDiynlZNom/N/mnfeTKCb/hO+Ovzualbg1512M7InnKQ/p+9Qde6G vR8O0/s95ngpGb24U5mc0Vz67N2jhbrCcgpqDGsn7ZwbCKYleeUzyFj/lDhBTmSYZ5q75Wjt3Kf Vk1o2NBbWNF/IerWYqvNVZvzdWLWtXKv+is/+R5LVFN5o8X7kjexSmg+/brZ5PqSs5HffbavMEZ q1zs5186cY/dRH661Msb39SCc6bVOgZ0nkowVN1rOv0iAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: lo7A1znM8Pci-G7zcEO4B8FqHifrpR28 X-Proofpoint-ORIG-GUID: lo7A1znM8Pci-G7zcEO4B8FqHifrpR28 X-Authority-Analysis: v=2.4 cv=api/yCZV c=1 sm=1 tr=0 ts=68d73832 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: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX03DBArfhV4V+ 9oEv4OylqRzVX59n+m9Cl6bND+jpvJKX45OsenZcLp4fDkkmktPQ00E1mnxV1t13tWQeOTOUQsd u2KIC3gy6a7HdOSO0v4ozMcaqdKif0hDt41Esn5FXVOXRu8QK5oObeU7TNw57JinR6d2A9i9EeD tDt+rw5VnqW2XM53Vl4P19vlMOwQ81KtAG67VXzwjhd560pG0EWF1Zu1txHHRk79PCES8IvEGLz hYN5pa7I2Nu8s2RIlSeBWKinaxRcezSvFhOGB99IFngS60VmNyV/BfARugYkIT0QZITLstijlD7 uB2JjZZ4pvDg7X9+YpyQ8TEHX24GS/QGYbuz3odhu7sQn6qcthUQhhP+afrYkQB/YcDRwqFC4LE +RScK5ipQhc2s+urvZm4QTBHQ2acQQ== 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-26_08,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 adultscore=0 spamscore=0 priorityscore=1501 bulkscore=0 phishscore=0 impostorscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509250171 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..452265c2d81269e158c83850279= a3a58302faf03 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->connector->hdmi.infoframes.audio.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 22:37:05 2025 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 9DCFC1E25F2 for ; Sat, 27 Sep 2025 01:04:52 +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=1758935094; cv=none; b=UXjIw4DPdoQnB4IBo/+VtlTAqtZcntMW7uM5DbQrBbH4V0PI90Lxo/ltFlDBPPtswtuHf/C8S6znUCpy/J15mJIB0VYP3A70Rd92JRyuWN/kbrb2P5e0drzADE2zjoNPM8CI6uLEChOt2Kz3aVPqU0oYuB0ghFo/mszjJYkHaBE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935094; c=relaxed/simple; bh=6wZNLqO8X0rRBnfpuMFvBzesvvV8mTr5AH0r8q+zW0A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tDIqXhqcX1mFAwuYtv6BDJidcTgCedAazUz1+FwaVS4Rz6H+qKanoglSSTwqh4tUQu/T2YzXUeCK9oMxHRakMrXXcZtgCSSRUNsii3Bum2Nu51klgNnAK07losw4hPvUBZyStf6pIjTAp9Z8fN7SzNY3cayEmyHA9a6O2I09vcQ= 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=OjikmTZi; 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="OjikmTZi" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEXamQ013538 for ; Sat, 27 Sep 2025 01:04:52 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= 1h6uYkRU8WeCjA3UtG+kTiDMnhzyUWryuidxMFQmEgU=; b=OjikmTZinC1bxTvY kl/UT/wbjuAVdi1UqckCvylVhh1eIhxX9LQyV2OHpLr1m4A0O4gnrNjnJhuvmXOx gGE6PXW8sZD/CH65sLfsFKcOdWg4OIxU+IpiT8dsg1JTqBVuOOWIlq5ZX1ZZFuRI 61N3Q/rnyPO4ty/GGw9ry+5mxU71+Qk2PKRWfsJuublN5++8LcrzzNCLD0b3CtI7 hLyRF+9zyky8GHiMrrO8cOr2tkLqsO+S6jfcMWhQ8VqMSyM6/1kNsJS9zN4O5Owr HLHi7ob9piLSOOwlbOw3Pce/ixBHPDB1brV+Wx2PZ7hSP5dtibY3A+uLHvuS6tBz uVDguw== 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 49db0q4gq8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:04:51 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4d7f90350f3so58682401cf.0 for ; Fri, 26 Sep 2025 18:04:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935091; x=1759539891; 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=1h6uYkRU8WeCjA3UtG+kTiDMnhzyUWryuidxMFQmEgU=; b=Q+F0O1jXPrzE4dHpUELWRU6LYDtr7onM5TpuhP8wyOpvOSKgTB2hv5JYnqKxwMQSTu XL4ymsxMXNVn3Hx5nRt+BVzPk3xPsFB1NQ9ETqDsPNyr3uyKMWfs43z0j4Lv/2LJ55h4 kSLzL2pTm9oFNnKiKhmx0DHiMuvvBN8pRGXB5O7McaSfMripp7AJQ5UhNAWd5lbGOEs2 4T7HRgTC3cmMO1VQx5vTubZtd5aXbF+WKu/Y9fWvlc3nykS17Bq4wxwPa5lUxdJDN4Do LDkasnapa1sjgyZ/RHPEjOVvRIgdt0mMPS+thkUdSMg5jJeSBoJ4Wb1H+pKqN1IawhX9 iBgA== X-Forwarded-Encrypted: i=1; AJvYcCVpxmLH39vkpljHUSbbjPGpn4FhOdigF7DXHiQ5VFlphbCbhALtfqAM0+ixS7hHE/6y8Qaklnx3DM6FMUw=@vger.kernel.org X-Gm-Message-State: AOJu0YwakLALJr5ZX/bQkLzGGZBuw6e2qY6axBRq9Pss7GUZlSuiJsoZ 8g/fmLKzu+VrqrOwH+GPwRTfuP7boh1EAac5jBgx0YGofJzqi/+ZOftW4WGnO6G3NScgfERO9me vjUUkCE1QhDypYcK5Myfh7/TClMlE3K1BrO8DvFpQrK1mx7vMDmmprz7TotdH7Hl1lBw= X-Gm-Gg: ASbGncvvPMZOxTN9SWXv1KPNxm7okbGf05RUEOiq9Hxi3xyshpocfOXatg6R5mLzaAE rHs5TrbK3BsJ2m1i3yAGIXFVhZHYjU2l5NGh1RIibjNh2CMyT1F99WrnaIPRo8sCCzl5rCR6kB9 AZb+nnZDTEN5hgbt2/ytkx9wBmcqRbjUukmQDm+UVmDi6VPqTA+U5VkVlKV/Ay/8tuw6yS3qcYF Ncoc4wyWWIwJp0Af3GIHXW9IAtieB/fzca4juD2EcPcRza2QliaMwDRagTOWnNnXHXH1NKw0hmu bEZXBm1YzN8aySYyaWkvhxT+Z6toDDUa1BSoZP2PrxPmCa/uo39ViayoUttBuGQcHdm6L062fh1 HuD20aRQRvRRniTrotoUF4VhBRNe3iiyaB1uJCxLTPLg8kbEewxC7 X-Received: by 2002:ac8:5902:0:b0:4d5:eedd:6882 with SMTP id d75a77b69052e-4ded345283amr20741981cf.12.1758935090317; Fri, 26 Sep 2025 18:04:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG/5DU/0QdkNd+pBR0ra13vIQRrDSgTQ5XS1w2ffZ6W1gk3zIeIsUearoOIFjHzJrN0PYiLPQ== X-Received: by 2002:ac8:5902:0:b0:4d5:eedd:6882 with SMTP id d75a77b69052e-4ded345283amr20741511cf.12.1758935089690; Fri, 26 Sep 2025 18:04:49 -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-583139f99c1sm2156143e87.35.2025.09.26.18.04.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Sep 2025 18:04:46 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 27 Sep 2025 04:04:32 +0300 Subject: [PATCH 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: <20250927-limit-infoframes-2-v1-3-697511bd050b@oss.qualcomm.com> References: <20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com> In-Reply-To: <20250927-limit-infoframes-2-v1-0-697511bd050b@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 , Chen-Yu Tsai , 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=6wZNLqO8X0rRBnfpuMFvBzesvvV8mTr5AH0r8q+zW0A=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo1zgg6ekeEVANunszOEPzosgM9q41mN5rMAyiM sKuwjfeMyWJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNc4IAAKCRCLPIo+Aiko 1RYrB/9NvDpIpnndk8/iwFBBsLioH37Zr2qZpkOdcBqGQFXpakstTEHsDq9kYmk1BhFrWzvOnSt Wz95HZugwxczRUr2xpV+CYq9mMKnRX5c/BTfHXqp1MXYSIz4V9nqS/u9/DY93Nw29BTgRsl/ADz k7ZQVsQthFAglDBsyn/v4QadarI4Zi04elOdMOkvemdmyPqiRWzjJK0RjhJ35Nuyd60XrC3wG+Q m1fG2fh1RbsPsFOJCMSg6OwochNbOsE6aVz66Ddn7z0SpGH4m99bXpVZiaTNTCUUdr2Auw7kA6P 6lNNyC1Ru+1fsOHa7S4qi4AD2uvRRGtjsI8LYco9Ol/RYvUm X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfXyOG3gv1ZkEBI k1log4RcsqZx5vt3ZH1LFBcjPNUc6SFDajYJAEv6cmQROIG3cw6L3RIxbXhbmA+ZirTLLkZeDgu Ld8dN5+n4sOefUQtyz9Cj82YTdtOhXkzDVWJCnIz/okdPgh2jFBvxAV/DqHGRUixfXBziSVDlup m+h5kvTtt1N8mprpixUlayTMaRYsKy651QcUotXsVW92Y2FIt8jVlJNgmsFWd+RFcFlkcI8YE3J FOuPJyKx2L1m4e5QGBaeATPDuG4IIEB/wjnN2dRkAlmePnCZ10mTusj9mtNkXt3y1uKZXa1cQQE Gb8P633uAWklGGwDT6fKXmi1D8gDTHERnW2KUcsItbDSpy9OL3xHhbaXX3UKgAcJ0+DwjqFLxKK O3LE+Wpr+TCAwID7NY/CicwU9AUzoQ== X-Proofpoint-GUID: -GGg1K38v8J08x0B-1Pax83zwtO6yRMM X-Proofpoint-ORIG-GUID: -GGg1K38v8J08x0B-1Pax83zwtO6yRMM X-Authority-Analysis: v=2.4 cv=JsX8bc4C c=1 sm=1 tr=0 ts=68d73834 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=yMgUBx0mNp5KM1AuerMA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-26_08,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 priorityscore=1501 spamscore=0 malwarescore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509250171 Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/ite-it6263.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/i= te-it6263.c index 2eb8fba7016cbf0dcb19aec4ca8849f1fffaa64c..ad331e8dd4e815fe51235e67279= 8bb2732d5c7e0 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, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->connector->hdmi.infoframes.audio.set)) + return -EOPNOTSUPP; + + /* should not happen, audio 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 22:37:05 2025 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 7642E2139C9 for ; Sat, 27 Sep 2025 01:04:56 +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=1758935097; cv=none; b=QLpC1ZLVO4DNKIevvoI9g5rsYlsR48/QvfvGSYWiCK4xni3GcxkDPjuVG9j6gXWcH12aUn9EjqZFuyUYyLVaNfe7LlUjhM4CwxZ0gfoZSotKZhjvXw9Sjcopkj6swzCWoyFzgjrWI5J1dU3eYH/lcaLCxOSGcRoaSH+pRuzCceo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935097; c=relaxed/simple; bh=vK8TFXgm/6X3TSi0UvfKUVov+3NPXXiYH1OJryZTxNE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bOCgIDPm6Suzz+0ElJURMGnaI+zM7ewhz8qd1p+SyNV+FAQ6Ler3G9mbXIRaQfQ5eoN8awMc0nd/2UfRWPpeUC6UFI5340hAR2/b6kBaUfwD4OwkW5ziSWqIdHVdwj4tO2LARQlvSzmbarPEbmhEeI6bABi8zhYe1Gjw3NHr6rk= 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=gZoYnt7h; 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="gZoYnt7h" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEWu7q032003 for ; Sat, 27 Sep 2025 01:04:55 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=gZoYnt7hLaHJQoqC JzECZ9VqglR5tUGGs4UytufnXaEFhcqEIOVgGTs6aK/wVfcTVheCoRVFKMt1Geja pCYDwBoVZyNB/MTNWPvGz/JtmJtccddO1DRD4GHyZc3fihkOr3V92U37E8AwS8/V pREkBaIAeavpXJuywT1ToGIBhgkw6dNqB57uX3xS8QulE/hETBH5gRJNgOU2HV4C 9qEBY0P8djpgRXoi8ZjNMXAtP+egDkzAcKHd2dzh8gITc+SEQL1bvZ+muizjnf1Y bj1ZCsEGwSy74lxYjUj7FW66XN496M6l4Qf06WrdPR6A7mca74UYrZDzl26JfLzh Ld8nkA== 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 49db0rmh90-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:04:55 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4dbd8484abbso33383831cf.0 for ; Fri, 26 Sep 2025 18:04:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935094; x=1759539894; 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=KzzeoA4vYKmYV1gmXNBsfWTN7KjwceZYSzo9fQgdaz5ULRJjOIhvVaeBuukXSJt1pA nN4HGHyMnPnWFiD4K4WsuBGXSdqYhbVSwzIoZPdxyPwLelkwoRV5nBuvHlftyFv+t6Ue LX12t90Hl4qMtzkegQQd8o2I6j7LQnGZje132RmuZ9RMFc5kdeZfLApckgW0z+MGY0ti Ha5Ijb1ppS0PI3VGFHWPXWLd0a8Pd8NBcp3HahMk89PyJALhzweX19d8iCOxg0zm/WCa ypmZV96t5ukyzYB7QvF8O9ofHVehDDm02Q06C+S6AT9Oh+kykQ+x5IJzHGzgkVi22LCP Wqog== X-Forwarded-Encrypted: i=1; AJvYcCUAX5veOA0W48/nF2i3Y0fRSUqlp9wvsA9NlPpwpGzZPDmcvnArdiRPEoPpgI83O+k3H+Kgpr8f7rKhHvc=@vger.kernel.org X-Gm-Message-State: AOJu0YyrfMx+Q3ljh5BnV2xsn+mv0KiJMDs41255stHHr8hvGOfvTYxw PygQgi+udMbI233S6YgndxF2ok7Jde3EQQFcZkUipwGvYwcVkbUzBGSFIMEH4xucX6+dzcA821N c7DZMygS7ewIF59mViPeQ7HrpFv9BB3COW0FkOao41+Bkh0G0ORhOg0CnzK8FG/WDXtk= X-Gm-Gg: ASbGnctoLIq513udGcsW4pUekkCkeNui3z72gPIFBUIhP7W2zSB8EM2wHauMte+NAwr 7bDwqgxLvoGVA/dNuzBUSbdJOiSCGuTCDxZ+1xouDd5+CEHHyLqYq6s3xKBpFjJADZiYu0V5yPV TmAbjo2uQ59LqHrKuINgeJL2BVV5eN3NrcdwU3csNrgw3Di44xaDbbsFOBp4+UoJt9BHuJpE7pL 2/NtP8tFCfa2muFG8EUwxoJumqGkCZQzfMoY/KIyGFavbM9w6ugzSoH3KZz5V3NAalCK3j2BD7t SK1XUrodXwNsQsLkT/ioX9Xo5+SePaHoFF6sowv5xWdskYA8/l++vySfi+Y4UlTvxoE07mDZM95 X/DXcaczgYFYlzSNadmA9wqAXXURdXuny8FHQg+d5ufYNPf9kuiuK X-Received: by 2002:ac8:6f0c:0:b0:4b7:964d:a473 with SMTP id d75a77b69052e-4da4b142f90mr128891591cf.52.1758935094012; Fri, 26 Sep 2025 18:04:54 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGCRYZFPLybi3qgiEc4tJcxO1VyFYbxX33ezwhqjsW3+EcQSWcPI5GdH+++nldPjNtBnOGTzw== X-Received: by 2002:ac8:6f0c:0:b0:4b7:964d:a473 with SMTP id d75a77b69052e-4da4b142f90mr128891121cf.52.1758935093547; Fri, 26 Sep 2025 18:04:53 -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-583139f99c1sm2156143e87.35.2025.09.26.18.04.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Sep 2025 18:04:51 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 27 Sep 2025 04:04:33 +0300 Subject: [PATCH 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: <20250927-limit-infoframes-2-v1-4-697511bd050b@oss.qualcomm.com> References: <20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com> In-Reply-To: <20250927-limit-infoframes-2-v1-0-697511bd050b@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 , Chen-Yu Tsai , 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/pANAwAKAYs8ij4CKSjVAcsmYgBo1zggUzK2RvlXjuBJ58sQp0MZK2qxX9MXwdZgz Jxz9w/I116JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNc4IAAKCRCLPIo+Aiko 1cOFB/4pMZYQgMm5haHVkWCLHoQ9SVONscRZipQty6kqJqyPqWCaV98QNX91eGvhLm45TmM66lW UMSazUEX/mcxotqCXzoNpmP8i7D7KtpC1vBVvSDWSgqVuEq1fV1mluRLvnNgiqkwrWc7qQDjVUQ bdhwPL5nXbF7LBtbDCZZptQZ6/tJdk3JGtKzlP8oniHvtNyoRiLPZSTuhxFMrVZAgPMHJktdfrz j0o9skVk6q910jOxpvy5ZrEXRcgtdZmdXW1d2vY2BUUrt7dTu6TFmybylrGkVpD9i7KJuu/q8YJ LD/SCriTfziUQ7jdmHCgSyj7zlO/IZIBF6loTp1XcETV+Ejc X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=dP+rWeZb c=1 sm=1 tr=0 ts=68d73837 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-ORIG-GUID: RaZalCga6_RhdDdGraxlGodt-Esp5Kpc X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX9NgrPaSS3DRH AAG90MYydiR/oqwwLCN6QT4B488LUEWDBPDHBnCrgG3kgn5vo9wxeQUkRPaUskKIdT0NIdlBd6s p2iCHX95y914mWizJ6/4YqzqWdIC6TP+Qi+ZgRN9MxeeDEKAM1SsehdaExR/Y9C7Wi26iim0Fj7 KAmxPe/epRsHWSCHy3OI599C2TKQuNTZ1q+szjBxHdW39897cnmrDPvh01zjMxbxaSDSK2bqlm1 1ctzld19sW+04FgoG+3ZvVKdhF5afl5i3ONA1tg9Rxf2MX3THCGa6aiyWq+UPgP9n6jXwcNaX/f xhfEiS+N+OF9ePs2WnyPGAQ/+WxE1K+zNrgxso/Sv+ZRrNcLY+PRM2vSYqAyhkkL+cm/x5PPB7B 37hoAqoXZDU9lyqXJy1xco8MNw9nFw== X-Proofpoint-GUID: RaZalCga6_RhdDdGraxlGodt-Esp5Kpc 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-26_08,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 phishscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 suspectscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509250171 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 22:37:05 2025 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 D58C821B9DA for ; Sat, 27 Sep 2025 01:04:58 +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=1758935101; cv=none; b=JcLXk49Eh/PGYl7slV/rLxKdwhYsrGUkotI7/TSes1vJlvdc63TixlWQeDwHM0YET6D3ywfOKOmkZ0TxWOLw5wA5geo5cxnFADXdrygGVh0PRMVLIgS6uARFptICIQ2O/y07yqgAOKyUAhBmEbHluswCAhaBu89iPfcMs0m3mXQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935101; c=relaxed/simple; bh=iR5U12JmTHXUQwMeh7Ktc2ZVP6MtOB7VE/y4QxY7Pgo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=t7wIb1xrOVeIqLbdG1aMa0NDwIxJolSSQ0MwofmTpmmomBuItZ+V/eaocAkiCThFsfGUVjDhzuG2X+NQTIAiwBg9Uwm7cou7C8PeXbFq0olsETUHLbcW4yOoo3stNu/Ink+ikWwvGi7YMMNzPJJoptoxluYSDge+m+6A0mkhqmw= 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=AlMqdStS; 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="AlMqdStS" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEXCdv012904 for ; Sat, 27 Sep 2025 01:04:58 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=AlMqdStSStQQHIYJ UOpVCKX4Xrkd7ZUAxVWtGuAANsXFaMCmBCuEedLARqiO43lX5qBNa88asiWxc8ak 54clqShnHMdCMZLkGgov4+miLwsejZDIYBP+eAA+PbpvuBzW6Wlud+VXxbcg9XVY b681QUXzeLvVOGaIQlw+JqnnfPXD3JjjGvRPup1qKo23Ro+jjkPJT9HVTDgvy5DD kIeQSyRUi62iBEVRj2j9/wZxXiDep39scjlPD4Izhotle2BaQ7ugyI7EcOlJI1P4 pLM2dS/kt2H+p1nIZu8Q1LLFAokWZ8ykyLLrlx2i59XB2l8WjfVFvex+430ssR9k x5mgkw== 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 49db0q4gqn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:04:58 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4b5f6eeb20eso95624301cf.3 for ; Fri, 26 Sep 2025 18:04:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935097; x=1759539897; 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=E2ckOHAHnCJ+jzE1WPBZe0INLDIC4SbasFLSMjgHx/IvbTYp0MUDbNA9iU2i/a/1nZ OBya3z82826hkWaEpC5/iH4bz3e8jx6mKcvV0I7g/m6T1i/iSTTzQxHhfXAS5XZuCaK2 vaAcTHh6TTy0Xp2W1x3zo+zKIfXxOO/BCm4I8Eoi2Cxr02x3HUUATFHXKcwJYnH7LCd2 /EHndJCdAi0QGf8EXrzyD2eDgjwd0JjuLlgeomDkvxaYpST2IVQstq+FEvX4YFMbazKC PuUW25qgXWODTTOLbIi+9yzOPppPtMOmWJep2JAWPYoISUHrSaxQIrEgxyeXXWY8ERPv 7LEw== X-Forwarded-Encrypted: i=1; AJvYcCVtnLjjoEKo5TSu/RUYp3Zgs2iKgwmshmwALeEQZ+JRDkqOrMrUbQrAoLdMimQVSX3SIBZjkwhSiQZhAto=@vger.kernel.org X-Gm-Message-State: AOJu0YxeQXLyWMZVm+TNMS9YowkMInnUUXWt4b4InGgE/2V4bESmlMia O4p+SWUByphu37UUWysOdM6DacEBfpkqPouum3SsSxnLdNHqI4z04bqOctuokHFT/TB50lLo6wT OTTbe3IWCqeO44gQ9U20nt2er52/p0Jd2lIbrhHQaeD3qHgm+o5DdS80Hsi16uxtFEv4= X-Gm-Gg: ASbGncveEibusWFm7xdVixqHeCZQCJ+yB8EqHBAavN70tfJf5YM6QiXL7oIJsy51zEd aZGy9PY+ZyDT7gpf/hXp6q6JVsjjNGL8paVAi8igEarvX3fn2aD8ElIf3D9d/YHsfVQxZG1uGbR t98i/e9kJXxJiMYvpMZWhBKUiK8HeNGY8bApDv9b6CKa5Xi8DA+DhQyaygMnvdOg5urNYmy/JxB BYSAsnVlIy8p3B1s37vjZ0Teu7JvZjRwg8RLdlUOzwV6gjELJGWMV8lUSHbLCIRTcPTaLvheYOg xP7Pm7t8WudA0FF32u3I3WbkWWy8gz4I2nbrz24oxxDuG/2zOqhOQDAG8qE10psK3ZlQKlovRR1 U9A4dJHcOi2WN3KgfFArK0Nag8NVZAH1K4gFiitEw9bemlS7A1nJB X-Received: by 2002:ac8:5f0a:0:b0:4d8:afdb:1261 with SMTP id d75a77b69052e-4da4b808863mr135723471cf.44.1758935096618; Fri, 26 Sep 2025 18:04:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF6/5/R3KCR4cljnetr7e3q1AUT92B8s6CxvnRXv0hsqXuU0evXlfVfuak/45jJZf6PNML+aA== X-Received: by 2002:ac8:5f0a:0:b0:4d8:afdb:1261 with SMTP id d75a77b69052e-4da4b808863mr135723001cf.44.1758935096130; Fri, 26 Sep 2025 18:04:56 -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-583139f99c1sm2156143e87.35.2025.09.26.18.04.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Sep 2025 18:04:54 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 27 Sep 2025 04:04:34 +0300 Subject: [PATCH 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: <20250927-limit-infoframes-2-v1-5-697511bd050b@oss.qualcomm.com> References: <20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com> In-Reply-To: <20250927-limit-infoframes-2-v1-0-697511bd050b@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 , Chen-Yu Tsai , 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/pANAwAKAYs8ij4CKSjVAcsmYgBo1zggNIldS9JOxwBNJBBO53Nrz/u36O69dPF6H H6nvUzECrSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNc4IAAKCRCLPIo+Aiko 1dFOB/0VjmmhzCSGfqQ5k/1+FNgEfQHtI2+JI8ViQlZDdUs2D5H5dWvZyr4BGllpLHJX5AvRyc8 3oVTrlbiHcWYARBX/z+3/LIvB49bl1V9nqbKa2iiLLm7jeEoEFUkRHY3LX6W6TG3yGCsyBDYthI KoZRck75s9gIhMaMIl6Q8cLtyUWEjpJK/bIDENll22GGKe2wR2d98eXe4IV5jD5I0QwGfGXdgx3 T4wl1EDAw1ICP8YbOs0svPI0MPiwirFHCpfjHz9PfDMJHqq8jDrD6Ogu5qvue8cly4O2XqTbcMS qVqd5LNwIHYUyhVax1WQnC+vkvKnnHSsD8F2nZejU51/auL3 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX/5+g687Fg1tO eUkcBlB/t7Gsy7dfigpJfgJckRZ2daVRdABU5ovzdnAI+eq+m4+ygGOJj4n1EBUH0fqmRtUgZra TvPCrYE6+AREpjYUMQyyTlgyRs7XnXnDJXf5dN7epg/bWCFCrOA93C8ue0WSP5H/LsUyb29xABQ XpVU+pOU+Smrbk+SHSqi6I49OBeWfmoZK/XDzCGWPLMNYFdYL/bfpU8+vweixyYj27uZzBGdtie qKS2gC2S2louj/HIvqcPdZXZu28YZYBhaXC1Zk0PCOxJeLdsv7gpxlF3le+r2lSUR6QXy9Oh4FI 9eQFuWX5nIs7kJRr+m4iQzG6AN1GI2h47brVlZNkNn9L02dalx809a9HP9eLs7cRxoTMZrxFgX1 EyBXjN2NMj5BsOiNlsa59BIckAFg6Q== X-Proofpoint-GUID: Sn98-ur5A0o8FtmQjG_Yv2QA3E8Wx51J X-Proofpoint-ORIG-GUID: Sn98-ur5A0o8FtmQjG_Yv2QA3E8Wx51J X-Authority-Analysis: v=2.4 cv=JsX8bc4C c=1 sm=1 tr=0 ts=68d7383a cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=w15x51AS-uJJn6dZ_iAA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-26_08,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 priorityscore=1501 spamscore=0 malwarescore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509250171 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 22:37:05 2025 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 B366821FF36 for ; Sat, 27 Sep 2025 01:05:02 +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=1758935104; cv=none; b=RGusjQPTAn7XZMn43NN3ADrSJpE4+QpVmhjhs40/j7ZF0zqQliKGU8BJlc+/SrLdzaU1mxBfJ0iPZmNeQZwVe3qiQW/0wgomiCUjlOWNN2/FOE++3ZRcvwPJfmDtEB3AbTci6Xhh/Y1H83TDnB9LQDf65t9GPRYZ7HN1geTM23A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935104; c=relaxed/simple; bh=vJ6MP4HtyLt5a75BuYCv3CbEFdh6+KuelPeaDQZ+OQQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YTwwrGIU9oUSnWC28PhGZEvNr5gsqvHgwMXsdZxDMMmM/rSY5WlRDM3gt0fQ0DXZD/89Lu1Czngy/SP32qI60nzrtzH2QGseiN32NyJA8kGIj1nWy6vrul6SYd0lbLAiLDQ5UCfcYrxDiqrN3pLs9PejxntRpgdp5kIIWaXEyf4= 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=LdIx6sZj; 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="LdIx6sZj" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEXIBn013116 for ; Sat, 27 Sep 2025 01:05:02 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=LdIx6sZj+ysPxWs+ aN8ZqXfUmgPGSOE6GN5IzW+BuvaToG7k1rUG1kxVNaxMSak90s8eOIeyZRGALhtg NrXV44rRYOIrzabDeXmEOOplrponsj+F3ZOUZ/TYElX4db5Wv6PYlQbHpi/AuLXA wsXfGaIyOhwXJsJnazyCBiqHsIji3scs06UJlu1Pz1ahLz06N2EGBe17F7hf2HW0 INHvVdGIi7/GolvWKG/FWC4QIFrR5TYDkt36LVIffpTPO4GHBJd6lDZT5xFyMF1R mR+E+DsZBd0DCZEL/1FcMlfOhiUHnzOJptbV7xVmO7rRnazUnBteLsSVhcJzEyI2 C9hfdQ== 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 49db0q4gqx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:05:02 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4de23c3b40aso26433251cf.2 for ; Fri, 26 Sep 2025 18:05:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935101; x=1759539901; 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=CmYjCiHql+1tXoV9547hjH77pKCYD9rDlA2CTFEoDbmWe+FN648Xr6ptm/5CZLqe3P ZgvIomhnWm9Yg/z5UEv6G9lKO8Ojpev702yhsWb10tjTEsihuS61/OR9YSMFqrx98gXQ oNreZfKnbtX+hZhnCfL/BRdDGOvDn7154T76f31S+vMx8lpaEHGTPULswiTqfkke8rvz RMLZ9obNL2pUKsXlJAVpDw2hqP5/zXkgZZ8cMr9eiq+Qsptbt+5eTYM2WROmrCFw8pVZ wgKlhSDbdUmFLh4rCMk9fRoZBgvyB5Qq8Fuwojpd85M9ubetOaiZQDtAQ3Y93MF1uoP/ ZJhg== X-Forwarded-Encrypted: i=1; AJvYcCUf5FJWeHsdRObb48XIbKIcMnezBEieh2JeUje5/mnFKcSWx76GLVr5xp/wGSKK7Nj3+JFCe+nj/4385pI=@vger.kernel.org X-Gm-Message-State: AOJu0YzOulEQuZk+fYI7qWyGubdg2pARoukQeIidOIQtTgul8Rn1AlFm KMtJ2oOBktEJjwl53u3P9vnjC70v1XiN9q2pSdCgGTIthnyledqqah6OYB6HYxJJHs6skAmalZk Z/8GNSR8zfUeBmD876tRB1rJlyVLPFZb2KEda56AZzMFw8cWwmaMigVtlJMv3+A0BbLc= X-Gm-Gg: ASbGnctKUIQfRm46dv5rDCgrfBfb6NjJ5Z7PihPUzXA+EPo/t/YCvcTE5Bu8AfYGB4m 5BmNQ0Pe43SsyGwJ9yr09MU7wGacEB0JQ5ijcyeI1s/x+hh6UAhAJ4uJWuH/HWFj26Bs4HvTV3X CfmfQgYrP+BbLV5/CLGAJ1L6sIzB0OGwE1l/qavshQKMlnZdr/JfH3yFZcpAtCrIWR82Rg6UsPN GldxKEKlPL9cK/5WIIyYgOkIVgjdzJ67un6xi9TXbLaS7PSBfa91K/DVqufKikYX54MbKhySqBy 8WGokNuUTwMa7gGxnRuNStDLkCRwhn0N/saHJfcet7x+gikIDOvkewiCsPuFGfRXobHeLMXhRGm 2Q1zmJP8flu6/iYB+Fmh2PUAvrsbEGzGutDOW28BpUVJm4gyFrFJO X-Received: by 2002:a05:622a:4b05:b0:4c7:35cb:4b8c with SMTP id d75a77b69052e-4da4c39b711mr133233061cf.65.1758935100534; Fri, 26 Sep 2025 18:05:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHGLqabjcVMfWczs/hM1RvjoXYZ24c8DWutZ4s//N20by1dgwDTIo6bz/phU73Cx2EjElCUJg== X-Received: by 2002:a05:622a:4b05:b0:4c7:35cb:4b8c with SMTP id d75a77b69052e-4da4c39b711mr133232651cf.65.1758935100057; Fri, 26 Sep 2025 18:05:00 -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-583139f99c1sm2156143e87.35.2025.09.26.18.04.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Sep 2025 18:04:57 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 27 Sep 2025 04:04:35 +0300 Subject: [PATCH 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: <20250927-limit-infoframes-2-v1-6-697511bd050b@oss.qualcomm.com> References: <20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com> In-Reply-To: <20250927-limit-infoframes-2-v1-0-697511bd050b@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 , Chen-Yu Tsai , 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/pANAwAKAYs8ij4CKSjVAcsmYgBo1zggmZpcbiYkQjpVkexHgZEXDSvw0DXxRboAe D0A9gHSrqSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNc4IAAKCRCLPIo+Aiko 1feTB/0YC+4rnr/Hho6lqvJBXm+BTduk/QVw+LVH6sijEBUHa8/pAnfAaeAOONR4ag7YUWkgqQX sgYuRV8cKAwLMlemd/JbVaBZrG/o9/asI/Htr0NYQ7+4VOs05tz6Dsn8KdQyvOYmQAkgK8Iqd4D ZcHUMCLjgTxgzcqwaBQ3dPdBKq9WyqgKY0F98RDFCXyVyrihsR8FbdCEv179gCtv1TrW+cUkfaj NtZdhMr+XUBpzAWVE7lE+r04YwywRVSUR8Kqq1/TkiOL8Ywc9Er7RyXwyYmKZiLzjDuNA7m6mfK lvktPPCBln5IT5K/Oqv+Aj1Qi29ArDZfpGZ0XxlheSJCAr5R X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX/dioo/AgAPVI CgJcfziHxfeLkdeG2fgTH+q319tET5z3oQ6R3jTF8bP0lHuEUY3a9KBAILNeDFuXCdj1dQ1wJUF REuqi7ZUBUjqy2XfSvz3VB75ythSgWh3WdJPaZtR+RxuRBD1XdhKlKNsQydZNiTtud6CSVQLPqA n83yQ24FVxV23mBl2VFR2b+iE8xwGfm2lboxGB3lsT+aupnrt7WJvmXjDgBZlhsLTHm7/2+0/sR 4CJD4gghu2WGw18OdpuovlX+weRIidlSppuCNUVeVkmpRVIjTn0VIRaYA9mK9b1VWYnMFdC/xI1 JffeKic6gwoW+Tnztrg4HD6eA8nuNkGz/Ryu3rgqVorudazl2JQI0RCHVln9C49euzGU+xjuOR3 sqruqGSLWBSDSKlMMHn3csBZXTkj1w== X-Proofpoint-GUID: kryqD1O9KsKYW2iRX6ggabDYOjyH2_yq X-Proofpoint-ORIG-GUID: kryqD1O9KsKYW2iRX6ggabDYOjyH2_yq X-Authority-Analysis: v=2.4 cv=JsX8bc4C c=1 sm=1 tr=0 ts=68d7383e cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=B-oVSsyST8MYkDpc_wEA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-26_08,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 priorityscore=1501 spamscore=0 malwarescore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509250171 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 22:37:05 2025 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 B85D5221F29 for ; Sat, 27 Sep 2025 01:05:06 +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=1758935108; cv=none; b=uGExHl/KCZ70IQ8d1a4B6xbd+djI0VeBTU1EB5jaD+l4IMgQ4rWDjQL8dd12+3fyTG3syLInqTI/IRG4hD4gG/4eCNZ9HUYgVSFxjsMyuKaYctNCbRIlw/D/x6x6msJAo9JRUxjtGuzqLIIb1w6doaubIdMgUTeRvCanlL4OBs0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935108; c=relaxed/simple; bh=SRdsHNR0LO/SljNP2tmHd0np6D3Jw2olFDYhbWhBuVw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pYx6h4BAHRp68wZfXWST4tA8/wtAL2QcFq/+WdCocovvfi6q7gQKMGsmxL24TkAc9ZODgB37cT/pa58SHzHH7tFuYmEHYul6uYar2WUieGtPXIEgPIJ5V6kt7g8LlrPeTjNr2eOyGtVGkcPXaVwJi/DwtP+k4/oGi53qqhrMNKk= 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=QDi2iJBm; 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="QDi2iJBm" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58R0QoM1027886 for ; Sat, 27 Sep 2025 01:05:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= l1ReRpPqrVzS8dYBiuFlXpsNAUSjSC7vdxG38yy4lOA=; b=QDi2iJBmOAe289bu ESavkYGg/aib9Lmi4hEjsKBuz55srjSA/nH+EQWD/o0RpTB4LmHnG+WlT2dECr2c 7e3Q+8YlCBiZV8X8OFeXh9WeAB8nSENYypTIHGecs/5uNAYH+wJktkJuNz0cAiZ3 uxtn8HfWJ4d13s8O/1/qw0X2IkKnFpu5ip0PgspkD8Q4wkAjrupE2l4jmk2QeAkE 7xz3t4E8QQ+8nPaProcefTjG37VaYQSO1Yr4yoiytjvECdW7ztDMm/SO5IrAi74X JJbTzGOaBYsbyG7D0YuiqahtW3ZRIkwsyPJdTlQq1p0jUSVJcvIjQeX7HZXOi1Yv J6zJ5Q== 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 49db0rmh9x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:05:05 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4d6fc3d74a2so79268621cf.2 for ; Fri, 26 Sep 2025 18:05:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935104; x=1759539904; 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=l1ReRpPqrVzS8dYBiuFlXpsNAUSjSC7vdxG38yy4lOA=; b=F0GEkWmGd+6khb1efjmfu70M5zBASi5Hhc5EmEwKDA+2bor5OgI7oVSbCZV3DYQPxU YTbNT6cTVGBVPqzfpKzpxdwLeLdelR/VDy6ZNnpag6WoJXCvFl+4KvBKNkAkAv5B+ND4 qAGzd1iDQeXBac/ts+Z7QqdFG7bN56nWNl9fQBP1tKDofffxErN1ulo2W1BXrZW417TE RdGpepigwcUhgEBXQ7iWPVe8Z0cT9gUb2k1BFob7mDQMg62HrB3NkTyZlAIK0HUlVOMe 2ew0jaYtQglOIxnzsi580wykfllotArjauCwv+L3AU5m6N37/iVzxaTpNuhgmTXPYK3p rM4A== X-Forwarded-Encrypted: i=1; AJvYcCW6vvYP58gyHX6PHYOC0y3Ex9u7/azjYXZJkwoYYzjHSydK/CO1lCRZxARQPx4SJL/M51FqFQN6M1OtuvA=@vger.kernel.org X-Gm-Message-State: AOJu0YzMC+1ZIJ5BoW9DTUgciMmUHT26MCwD/NvFKc4av7Zir17E4yl7 MwrHSBdFVUjCllVF3jQPhRYj1MBKprR5x2J1Wx2CyZUAz94IjSULxsxQl99WsnLn+iKE37W9Ear 0+ZEkaEiQIRWrOU355hV7nYC+JFcBSNTJkpZiQKM7XFCMS6c5TKmZx97+MbkDDHDObF0= X-Gm-Gg: ASbGnctecqhtMxk6G3cuYWwRNw/zlZYuMVzQN2g8oTe8qHpGB03kNJt5TSX/zmZQS/3 YENDXVCNGYu2Vh+84XHtwsbAvvycUwpjRPz8/bpGLUw6xpHTYEN5rB+VPI69y5W8mPie7mYUZ9F ms0VkI/a3wTqqn8uXyyVOouPRba9C+zyUlY/v+BRYQObxO4/rM03OhdrxwBGWMMuUHaxbuv6zOc kToQ5z2WFAeqltzjmeJc5f41OQxXTAb6c22neiCYp8ksPKCUsyw3M3c8EdxomUzSZvJ1OgqzjL3 P9gw+Eu2ucIyrrG94sNc1KFJxCp+HvqvJl5qe3fBNSZFwJIhrof5/PrjyaXE9YBwUNyzlsDOD/D lmXRmz2nyX0LbWTx2TIxAoauQWq1nZjYI2wvBBPGpspTLorajT1MX X-Received: by 2002:ac8:5852:0:b0:4b7:9743:6da6 with SMTP id d75a77b69052e-4da4d02b61bmr114903791cf.70.1758935104406; Fri, 26 Sep 2025 18:05:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGwTmhqnyjZFBwp/HsFiMEBnuWPK9YLUS4DPznVcdyQv+I6YogfCDp6AQn+3SRx+7bfeXBXfA== X-Received: by 2002:ac8:5852:0:b0:4b7:9743:6da6 with SMTP id d75a77b69052e-4da4d02b61bmr114903571cf.70.1758935103968; Fri, 26 Sep 2025 18:05:03 -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-583139f99c1sm2156143e87.35.2025.09.26.18.05.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Sep 2025 18:05:01 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 27 Sep 2025 04:04:36 +0300 Subject: [PATCH 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: <20250927-limit-infoframes-2-v1-7-697511bd050b@oss.qualcomm.com> References: <20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com> In-Reply-To: <20250927-limit-infoframes-2-v1-0-697511bd050b@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 , Chen-Yu Tsai , 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=2953; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=SRdsHNR0LO/SljNP2tmHd0np6D3Jw2olFDYhbWhBuVw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBo1zgg5I6HgovfGNCnJrr9DZzOmlvr89IG2N7Im J1IzAHqkSqJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaNc4IAAKCRCLPIo+Aiko 1QseB/91TXFBZi0pEpfz77geu/ZrsROvcW7gOnMXI7ySzBuNlQ0kbfHKfrR1hUQKrPiz+7O3Jyt NG+3ogi0SSqQIhJWGu8FsrNLkhtixlNgVerOl1ZDM2aZ+xSH870nIvmmE1uPJey1/Za9yRjxka1 kIELmhbciVh07+E4ejIJiDgMU/A1ybNMwnRww/7ZFXo5VNDJ4bE6RrOn9IdGr79W/444T+7Whog LSCWgGHlVq4g2bQ9RmPH0uGaOYeFpNQu57k5KoEvnqJv1jFMj7p/dAs8EyfS3UCh6z6w+UvR3Lc oq2InUo+uryQ5zZYarcxA8FBAO5BnW4QIvwhKBX0jSUfxpty X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=dP+rWeZb c=1 sm=1 tr=0 ts=68d73841 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-ORIG-GUID: i_UkpJ-h41lNkCUYhq6AcdM1B_nQ7XxM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfXwIEJ7NdTsY84 By+jHUd2b7+gz4mrSWiUqDofN8+sk4FGNwl3WdRfw0NNcymy7V9yc7eghOJxfn2PwcWjD44zDhW BE1NRbfnzHemaKGJ75dxLlSWuNC/F0ZEwDqPRCpRktKB8u5hZ7FWswss2/s/EWHLrdzQQbHdpWB CjFAXxOZeuzdiLKIJ9Klz6sMBsYC6djYvEDFbYxj+T11ZCBvaq0XB/HaQ93HbZ+gWCoIAVESJkS n/zWyTwXhQo13y8bp2xpk2Ojt0ftmDhACyjKOwEmW261xrNrmppXAr0caN04Sf3jKUXF7maiNj9 bokcmdRhaKRxpcpQ6V7viYgwrF/I2xJjWw4/lmnYqFjYzeuv7LDpAPdhaj2sNc+9Suvsb2gwr3Y siWE3Zs5Vt+ybSyXrjt6fSfMwtmwgA== X-Proofpoint-GUID: i_UkpJ-h41lNkCUYhq6AcdM1B_nQ7XxM 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-26_08,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 phishscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 suspectscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509250171 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 | 38 +++++++++++++++++++++++++++---= ---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockc= hip/rk3066_hdmi.c index ae4a5ac2299a93a49f87df7604752f6b651c839c..cbae27e2443798d62bd83acc8b9= 79cfc34df3544 100644 --- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c +++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c @@ -162,10 +162,8 @@ static int rk3066_hdmi_bridge_clear_infoframe(struct d= rm_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); =20 @@ -180,10 +178,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 +189,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, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->connector->hdmi.infoframes.audio.set)) + return -EOPNOTSUPP; + + /* should not happen, audio 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 +506,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 22:37:05 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 0AAEC1F0994 for ; Sat, 27 Sep 2025 01:05: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=1758935118; cv=none; b=IA2EyVFin6MPsRXpzTuMOxLrHgbkgy1gKA4r4lv+qBgCws3BgvFCMzpFMBVQDk4/+21LWUGD9x47Jf429H2upNcSP9VUvUf8X6K5lNn43wroadQUT2hVF905WDJaaVd9kae2VhZAxaTgd84hj3+0lzuyZPP5mm0cLXsynjAzXNE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935118; c=relaxed/simple; bh=Lc2tTQYfaN7zqRa7FcjPg44+fL+8LeTUVnX4T4zpQNQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BmNTQrNZB0I8sELZha9PSRPq2P0cpBiqJ56cBhlTpDPND/2PoacCFxISO82VJdQczNyMpf0A9bmYc0MQazVV+XJO1V5Qj1V1cRCP3ujo+dsI2uDIo/BjX2U0hcJlEZ5AvPZRQjO8aGYd9VddoPR8uUghXGEj7T6qjP5LlT9JIrs= 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=UOTli0M4; 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="UOTli0M4" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEWpoa015981 for ; Sat, 27 Sep 2025 01:05:16 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= Ep6o8PRzDpDpN9BCPf153wSzeohtk9bx6s3tbhjl8dM=; b=UOTli0M4CsntoZrE 7T1c1P0BhQ3Qki+HUpNz4BE2hfj8yF1BkmCLcVTjSWAXEHqhLuSRx3HwWjkhMrDh BtPqcZ8FF+/LyCWZdF1VUiaZnVfZ6zojoQD8ewIkLrTAOu5rMjNFvChKjxM0XN5h N6g36shxoOSY3S4x4TtW7e/OSp9M1EDkD84rkuRhY1PDPSMCkrymnxt8pUnS+F3H 31QMFsC9TnCD7cQexdfzx9Jjh4m4E/nyPb8UvuJqpKERZgGbD19aMh1M7GKv4gtv CzDyQ1n0bRCxaz32uZYXYv/yVxdY1Q8Khfuu1AXGqFm6i/xee8Z6+u5E649uR32m 0l08lg== 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 49db0tvhj8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:05:15 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4cfa9501871so91757641cf.0 for ; Fri, 26 Sep 2025 18:05:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935108; x=1759539908; 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=Ep6o8PRzDpDpN9BCPf153wSzeohtk9bx6s3tbhjl8dM=; b=R10GEcfvh+H8gkHZiafL0PYJzOCyGAxNK4Otjm0rES3p6jmtmUYp6T+HidSdyXTkdt lKk5UWDmSCczFvlK0F+RyBtTQQ/ATk97gb88KZ82brZfFIFk97RFTOmRpJe/QZEC/cdl 243aT9H2FLsDDCpIeVOgQvu+Tiptie/7H3tQnDZd6Js15k0rOKJvB1x7yth/L3qZaZs+ OJfCbODkWhVMIKB5fDh4GcL5rLMYX35KhwvZyy+R78Ecl1xkJLUYTYv7Oys5MAfr5zAV aG79jZuTpb+uLuVogsihg1ycYrAUWLKFLFXSVBUsKfz6/lcnDEZoTagFJcitIO6ugkRH WrAw== X-Forwarded-Encrypted: i=1; AJvYcCVeNHIYshkAJt8rYTCy03DVs3GBBL0CqFQsjfXLjkrmSgomjScP3iiZoMOS4qShCOQKOx9sN8v3IrLjN/s=@vger.kernel.org X-Gm-Message-State: AOJu0YxhziBLeGpSK2F8qlDy5wUJss02tArZj+0ElPkbNtpp5B6nPE4t wydKtO3hUUIeE1O32q2JpDiVdk61pAJWdT7HDGSV7u7uV/8fOUtgevJ2Ph3h/K64X9Trn3aKQdX lFbHBH+aWI5DWl6opowr5Yb7jByxg7HJN8e62FWkpYI2kqZ79qTNvJydh4OF5G8Mje3s= X-Gm-Gg: ASbGncuxnMnlqnx1CUBTkI2i10m5hc2NAypqWlc5jCPjDeguUQl5tptg5j9+yDBddsW uXH7/j6i7zPdROKj4WKfX3rkGYwLSJGsL/EgeoZnOwNgbaDSJp6Kr4ZmLjJVE5fyqGhCwGxVEqU Uxzp5B7rqN4vGbPVNCWLzBiX0KEMRi1JcOHX8OGBvfh1zdqmRPHrFQcj96HreXSPv69vSoeoFaA 9lBg4fqYVA5/OCgJ1AeL/txLhegOgKNEQccf6HIOHXuYRKZ6TSXQEwo2sQuDalXBU1wx+dFTa1O iuV44Bbb7XFRa9BUNglsKfoeYGGR8KEvWKh7wVl7pybILwn3xvB+xKHsACOuxyfJL8BbaIiB8w9 1TE9fPyfmYefZzbgj1FYnx8O80fucsN8vTjK2aev5GFbQTI6w+dUS X-Received: by 2002:a05:622a:4d4a:b0:4d1:6bc9:8794 with SMTP id d75a77b69052e-4dacc7b3838mr95542641cf.23.1758935108384; Fri, 26 Sep 2025 18:05:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE4GFghpOB7X5hfVz4Kb96HCFDTN4uTdC0uUTICAAv034gi7/1wnQGm5inpTe2Y4vlchBVykw== X-Received: by 2002:a05:622a:4d4a:b0:4d1:6bc9:8794 with SMTP id d75a77b69052e-4dacc7b3838mr95542331cf.23.1758935107900; Fri, 26 Sep 2025 18:05: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-583139f99c1sm2156143e87.35.2025.09.26.18.05.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Sep 2025 18:05:05 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 27 Sep 2025 04:04:37 +0300 Subject: [PATCH 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: <20250927-limit-infoframes-2-v1-8-697511bd050b@oss.qualcomm.com> References: <20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com> In-Reply-To: <20250927-limit-infoframes-2-v1-0-697511bd050b@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 , Chen-Yu Tsai , 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=3126; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=Lc2tTQYfaN7zqRa7FcjPg44+fL+8LeTUVnX4T4zpQNQ=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ8Z1C0V9TUOdBzd53hj9kTaa8f96WMDi9NcP7Le/9/e9w poYpaLdyWjMwsDIxSArpsjiU9AyNWZTctiHHVPrYQaxMoFMYeDiFICJbHvMwTBN/K/sz53FzjMm MaXGnrPvubO9r9f2X2Tc6j3Fmps9nohc3VX4Zf6GuQmaUWWzpZ3lTKZs+n3FK7zAeVJm3wMOY/1 rPBwCa3oSOJXPxC8+dHRdnPrRWmm3iKTQUtnMPAUT1ZBZaxhZP8R9V2F+wbjaZq30LqHTyoL7M5 NOyNas8f/mJhH9aAWvf/Img/NfVvt7MrnL7L6yOLfZ8tsKV4uiyVNiWU+eWS/NsEGiPv3Einxex doLLRL3Np4qkPCtved913RyeuiNj3a+U63nyChLF0rlTHQ8sF4x/eyBnEQ2tZV9tVcOXT1uwa4X MaXv7hO5IFG17R5X1zVqWsnuZ/+mwBJ7wSN9ldbKg+31AA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=I9Vohdgg c=1 sm=1 tr=0 ts=68d7384b 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-GUID: qwW82YZd3nMosrU9cmbBJCB1zfXcfPBl X-Proofpoint-ORIG-GUID: qwW82YZd3nMosrU9cmbBJCB1zfXcfPBl X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX0QWMHR/rjJ5s txZkAoKrGPlwx9fgYqZXXSR2uPtRzOdU0x0Gs5VW20wn3y/rtea6IZ9QlE6fMv1K6KWbmJA2P3f uesgHO/e3bVsVflfqdDXk9TEXSY+YQ0QA5EG3HdIIS+RmTHjHclRAogfzHYHX1gE7iRuBwwEkHx Vkc1L4SzTGzN66CZzS/V7w8qJrSXF6MKoaIn21Hi6wSVuPjwg5XlCJIF9YplYSVqR+FwVhas+IH s4v2HQkKQDSwxuI3ODGT4X0GUlMcc+JaXhm+FjHkfZMu0/+XkGGgBExxTKog1rkJlafuFOLoro7 7KfkQYMBieaEMmQkEa3bfyFWEg1xSWBcewxtrZZx0GaTYAIp5mscNX4mf1UgSJED8a+muf6LjWC 6u3v+PQqZv9Z8FaKFn0irDPwk7hJOw== 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-26_08,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509250171 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 | 46 +++++++++++++++++++++++++++-----= ---- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchi= p/inno_hdmi.c index f24827dc1421cf5e0c1be63a80da23d645cf3f24..dc2d68b9c87f7ae7b06ecbeaebc= 82b9689c1abfd 100644 --- a/drivers/gpu/drm/rockchip/inno_hdmi.c +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c @@ -641,11 +641,8 @@ static int inno_hdmi_disable_frame(struct drm_connecto= r *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); =20 @@ -659,11 +656,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 +667,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, HDR support not enabled */ + if (drm_WARN_ON_ONCE(connector->dev, + connector->hdmi.infoframes.audio.set)) + return -EOPNOTSUPP; + + /* should not happen, audio 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 +1053,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 22:37:05 2025 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 E8ADF2236F2 for ; Sat, 27 Sep 2025 01:05:20 +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=1758935122; cv=none; b=MqjaT4jU7wHz+DDbIhjBuT90LDUgLT6S7f7RHS9n1ClWsk5yd7ZNDA0lCH2HEKxarQ4zny9OwcrArl0EwyH/gjG32x+UWhAZoUbuUPOL8DMza2PXGkrFn8NHC9bQK3vkMCcWsYVSAumtnhwcbkOnw2h7qr2fPvtlUzX1bz7yTf8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935122; c=relaxed/simple; bh=9CNqOjlTFRCCeiBZ+szAQcQNElv7Yqy1Tew0H4Yo4CU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oeocb7JGUqA44ypBv2e97Czl3d2WWHyhy38ubbKmUSY0W7KtMiyq3dfzdheicOGCBcnJ7rE4DKtUwGTQdeOgSti3/N3igmoj9yeKvg0xxrKm9WwrqnhsYjrYFafK8fFNQHUpb7PsT+eAy/cpcpHKlTvEymiHXotxllxFv3XZuJU= 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=VJXreUEW; 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="VJXreUEW" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEXoZ8001483 for ; Sat, 27 Sep 2025 01:05:20 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= xAp39OMtIUlg6ggEgbLTpX/2Uyxk5maUiBvPyhN2y14=; b=VJXreUEWNkUkbxEW gNTa3rc5Q7CTeCx3Aq8DCW61iUOKIqsBNZXCpS3MEpp1dGi/zwBqdBb5dQUximaz 5JpKszi88v1jx9KJBibAug28ySUsa5uh0HhsW9mtfM6C/cxb3Oyg4CEzgEZ93Son lTi3wg/p3NCm7X60k3jBrMpnZ7Yg7+R9pCl4ssp4RvrIFTzt89vHr+NzOuL6Gtfe dAXqM/3K44sOKHDsEM9z8vEMSoCiExr0dXPzTg3tnChU+zoik/bL3Wce4FO5ZNQK xjcRGmXO2fpRAJy6HFEcRIdOAd0uTo+F/reFoWHLPlo/vyQh+zh3TA5n1pYXQJsu 0jSE1w== 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 49db0rmhb5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:05:20 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4d7f90350f3so58686121cf.0 for ; Fri, 26 Sep 2025 18:05:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935112; x=1759539912; 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=xAp39OMtIUlg6ggEgbLTpX/2Uyxk5maUiBvPyhN2y14=; b=bGsF8ixVJe+6Ju1RCYM3JR6igdPbBnBAAZ88hWDE69Y+tNigqTqsK7oY4yUJ0aSygc QIdcFxh5iUoGV6hVoosoquHu3GlIJvWxpVWaDDrURkuTQlcE0FXcjD14OhdEG2lF1rbj wCwCjojILT8nt27SChJvDJdosIMFoWdl9RYs0rKswz395fRoUxKje9Njt77+/S3fVvg8 7l1PFe6WO27log8qLCQ7nWD6CvC/0ftYxa6h3Lp1YfCblBCkQg38fKbPtRc3+nFDjWxy 001BdOGT0bfTEv8DIN7A77sXLzHtRwZY/N2iT9uTnBqCEJTtmk4KkP/QpMyiu4NfRpBO dSwg== X-Forwarded-Encrypted: i=1; AJvYcCUoexrh3ipmibREDyYSRhTA/kE5U3kNAsp68fmkY7YLtDgDVhYB3phQGe/u0rz+gb/Mv/vOKTR3qMe+fJs=@vger.kernel.org X-Gm-Message-State: AOJu0YwN6HeJv5OOVFP5AQn/CVDzg6ULSyUu5TWO9SXimPrshapMbF5q H0/qxJ6vB7oy3YgNYFTJw5MqnQkmVIe0vxlqXjarTeWeL0kpoUoILnhyWgsh8NMPIoj03BYZFCq 77p59/YZSuASO+gJLIkJQ6HMwNrZzt25vp53BTIbAMsLIR8ZZG59vMDtlBfXe5GeQTBQ= X-Gm-Gg: ASbGncs4L8lGJvh5ArPiCplNtgpe/NAjJqE9mpMiKL7PsLVyscOw6hJEMnzz5ubtzUe 7Hh/5MI3+hhOG+s9Q1QK/hsUsXwZUmjPdiq+ka4gew2Vryq6p/cFSBbGs3BDRyherxHEs2HC901 BF3W6QOIi0FGH0ib+oOfSBkaVcJHR08mk5baasiX2B8yMZ7oUtFc29vo+Mc83hInJffOKgEDxPl zGuX40ZVpPrmU05HpkowFBeCI6V6YYYdXh7xoGZDbUDO5pNivYmAH7zr4GacLrRQMeiZPSrZ7Vw leXcym2KfjtH23lmaqVj4fpbUpxjFk2G8eCX/BWh6BR20hYCNkFeE3fwePUsEW/mV7MedSfKDrX +LxIgKHvjVzzLzadwqUXmXbliQJk1s+DjqxWboXnaEUQpEgR3K6MA X-Received: by 2002:a05:622a:164f:b0:4b4:95ec:c830 with SMTP id d75a77b69052e-4ded642c212mr20148201cf.42.1758935112288; Fri, 26 Sep 2025 18:05:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFDCP6BId/iczHUn0V/ClnhswRFso/twuHTYrKNlDcNcH1xOXlUNtsKYlqWIiCEk6/tz5NBGQ== X-Received: by 2002:a05:622a:164f:b0:4b4:95ec:c830 with SMTP id d75a77b69052e-4ded642c212mr20147801cf.42.1758935111756; Fri, 26 Sep 2025 18:05: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-583139f99c1sm2156143e87.35.2025.09.26.18.05.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Sep 2025 18:05:09 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 27 Sep 2025 04:04:38 +0300 Subject: [PATCH 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: <20250927-limit-infoframes-2-v1-9-697511bd050b@oss.qualcomm.com> References: <20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com> In-Reply-To: <20250927-limit-infoframes-2-v1-0-697511bd050b@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 , Chen-Yu Tsai , 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=3103; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=9CNqOjlTFRCCeiBZ+szAQcQNElv7Yqy1Tew0H4Yo4CU=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ8Z1C0UxHct0YeW9rVGvqo/s5dsq/C+fqclwuc3P1ASLR tOG+g+djMYsDIxcDLJiiiw+BS1TYzYlh33YMbUeZhArE8gUBi5OAZhIUCIHQ89JLquMpq2R5rUP pSeJawi84tGYrTyvZ/16fZaXs4/rxs3Qe+qwzlvwotEPe+erErdqpzDGi/UqxwjNvt6jw7320ot J19Vy1KUSzG82FL3+Knwkv/CF8hKm3c3m2UyOsmHxGs/3VyeubNmkyBwadXC9rsXpbXGVFsz887 qPXm0zy67jOr5rd3LmroviXxdoNJTmzf/9e8N/D43VmjxM+RPmrfi07pAZU6C0uJWZ9jM9lTsPd LN7Mr/+cZGf+S7h9b+MDyV+eZsvsW/zWOKx987W6XsVWN0eHO2OC0hoPh75xGv675dHf0bIKDAo X1nLZLx9U53A7//+S7zuirZX5R/tUH27u8293XN1meluAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=dP+rWeZb c=1 sm=1 tr=0 ts=68d73850 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=Uj443JZPoyhSIAxeSSAA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: 4vnvjSyGdE1tuizKrUM2geE14Gyqq1ua X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX/sg44mI9NNrL xbvnXDqzop7lrKU9wYqTkt8wD+Esna1ZJmuw/Lbph35OD2R5BCNYF+CuBmiEfBHDP47sOHU2HTk ArcjMHPMb4NZYYNDkk9KAyR+hooHO5oVgzJZ+aqzvxjEMtdP5IEa2JF22wmzphuk5EYgqAWx3nQ /lPVoZYENN3UfICJx+4Gidt1elDNw/lSBWCO33vX0jl/xwQNubSR6r+mKMZL3svcuqc5DRroi19 tz1tOp+IuTT/7ZA+KcPbL2Zz2YmpDdWqJbvxk0FUADeZS630X94lH+ZLomtI4SHzM8qDyuorCIj 0bkkfHdz6aAqc0dQHcxsCVIl15hIe7B6hKWQX79WhkQKcSJKyMsTgR4bV9L35v1pnwEmbYKDERy dnzskMR6yFrfFHdRyot4GpS53MPntg== X-Proofpoint-GUID: 4vnvjSyGdE1tuizKrUM2geE14Gyqq1ua 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-26_08,2025-09-26_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 phishscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 suspectscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509250171 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 | 49 +++++++++++++++++++++++++++++-= ---- 1 file changed, 43 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..219d826d535eb82328260c631e8= b41f33a2f4c2f 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,45 @@ 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; + + 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, HDR support not enabled */ + if (drm_WARN_ON_ONCE(connector->dev, + connector->hdmi.infoframes.audio.set)) + return -EOPNOTSUPP; + + /* should not happen, audio 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 +273,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