From patchwork Sat Sep 27 01:04:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 938 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 0A6901EF38C for ; Sat, 27 Sep 2025 01:04:43 +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 58QEXCdr012904 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-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49db0q4gpe-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-f199.google.com with SMTP id d75a77b69052e-4d77ae03937so75851501cf.3 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=NOIEqeCL1ec7L7fCBsDxQh8wSpOfg5RIoPsPPY0NW18A34iZIvC7Ivd8fRPMsJi3EY WuKUbaWJau86ce6AUSGdj5iuviapiy+SoHSXagwVrrIIlNCo/uT9IKMIU1NfObpOvOEZ zCDhZWxD/8EW1LD8EXG/BYLv8G9czQkqLByEWdtaWWFwM7tyuwuQNtk3Ng0BX2CwVMYO FQDFWCunxLfELACSoh1pdXaQvfWkmUF/LwCuoFInr0Da4VS/mLnO75hpbl4LMJYfgpeJ t7/vTlYhNgwozncL2Rg3UomKp7zvQXyQwd16YZ7amM6m0VpXs2VYWC38Diha2xH2Ehb6 NL4g== X-Forwarded-Encrypted: i=1; AJvYcCWYAzj3kI2h/or0e0KlZ7F0IArMBaUoIDf1Yt8isJKziwwVF/QhW3RBkvPYrUfvvmbrzPUINsFzzu4FqQ==@lists.linux.dev X-Gm-Message-State: AOJu0YxLz6N2vO5N6oKjn+0JGIPe/eD53B4cPmivOpZUWDTUViEss/Ma QwsRetOOfpo2Xw9DEyhejDLFBFIL8iGMwUYyvWr24INjBSl7eh13uD7wB08XHmLBbHkNlYV/dPy YRMs1CrHoCXCIjh2gBvoY0O3az7cLsRh77I9pL0HIIeaVNC3mv7pRiW4I9rN698oRlg== X-Gm-Gg: ASbGncsThYl1OVj5FLVYLIe7yfoKFzDmuyxk3gKg4D03Oz010laMkfXamosQGqQL6Ev JtQdq4+aftoben5qb3ieAV8SHqfiCGDIwxIVUGUXSOGfm2bEEqs5/k6ZuaP9A1k9HU6nEFnfo++ m8OFBHXrjvbDjlDVQ8mP0xfv/EO2NQ2rsRWL4IH61B0yIIkmlUx5p1LZw1LIFzJgCpM9qBAH+qq bDPlCkEU8PJl51gFhYCOzjuWSwg1WYDQ+IPGhfEW2dey0gS3JLrkFITYnEvh2TYuP8Hz96ad95u nrvRs5a+7iFEQ7gbYhjAS7AqODZFM4E/58Z06dO+lntJo1Ov53b49R+zjYcmmHuQhhOib/ZfewL cMSXFrj/CkOTfv/TASABntTfaeJwLA8/v0KlPbq5sVjHNY/3lgWlt X-Received: by 2002:ac8:5f53:0:b0:4b6:38f8:4edf with SMTP id d75a77b69052e-4da48c83a55mr117773491cf.29.1758935081756; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX4J7bHKxDsEDf uU6sd0zfNxcCw7EIRfIViZWUtBeUAe/QIfem+ReZFGKvj3IR+nACSMF9RCInii1JzoOOOoS3JK9 rjkTVcXXYXZPDSJKGXx5M1a7mAwiJkpbwOIX7VvyElyVTBdIRI/D01AVujrSSJk9745o1jjoxox 6Eq8VT+go7hpGPE82xv7tMb0bNXTHFb8zUYugMVi/n7g2r1S8vk7sNSgkLakbUq4VypfeefFh5M 0koN4Q++pTmIKr3b0JxIBFlKnE9+zL9qFUXOjZJIulTOU5GnJ0A2p+BVm7wgx88xFgyTjyrfsgJ nO2hBZKnSjg6qQZD3NtMbLghS7XvqY/xgAkveUg8shbSzVKSge43lBtvB/fHuiwwesHBqHCsRtA +Yfky38llq1kU+8i/44uibGJkNskvw== X-Proofpoint-GUID: mkPExdiR4sThpRc6vu2lC9na0WqQOsg9 X-Proofpoint-ORIG-GUID: mkPExdiR4sThpRc6vu2lC9na0WqQOsg9 X-Authority-Analysis: v=2.4 cv=JsX8bc4C c=1 sm=1 tr=0 ts=68d7382b cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=9qaGXxVFTICEpRVd4z0A: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 Status: O In preparation to tightening driver control over generated InfoFrames, make sure to warn the user if the driver rejects the InfoFrames on the grounds of it being unsupported. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/display/drm_hdmi_state_helper.c | 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..361912de2741939cfb5ec350c08d738a92e2ad37 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 *connector, int ret; ret = clear_device_infoframe(connector, old_frame->data.any.type); + if (ret == -EOPNOTSUPP) + dev_warn_once(it->dev, "unsupported HDMI infoframe 0x%x\n", frame->any.type); if (ret) return ret; @@ -947,6 +949,8 @@ static int write_device_infoframe(struct drm_connector *connector, return len; ret = funcs->write_infoframe(connector, frame->any.type, buffer, len); + if (ret == -EOPNOTSUPP) + dev_warn_once(it->dev, "unsupported HDMI infoframe 0x%x\n", frame->any.type); if (ret) { drm_dbg_kms(dev, "Call failed: %d\n", ret); return ret; From patchwork Sat Sep 27 01:04:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 937 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 BBDDA1FF1A1 for ; Sat, 27 Sep 2025 01:04:48 +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=1758935090; cv=none; b=noy3Vr5Dnm5Y3FSN/Qvu6Ss0H5SyUehjKKV8TzSQIplMHNc0piOszPNtsfsA6bDiYnwfcbc7nD5cPrPcLKQvYQ8pmm9Pm32Ud9jYG485tL1Yys0d+m3P6B51U8E1rbE2VGqL1QROz+DY4j/xxtFu6pyOEfA1Ba9pTIi01x8vJP0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935090; c=relaxed/simple; bh=GDJs9stizfNvb2WVbvQCEr8SONIYHFgwY7yHLMQGSzY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=u/0nvalrnQgRA6qaid1JJ1kB2zao6BTo9UclRM2+r57ulVyRCF4RCBJ98UI79Ukiaueydm/wAuDNnBBnc4DlcauKdC+XFCzv9K1S5t8SlseAbOj/LHZqGc1epqfZkwFdaWgtaKoztP7xW3oyh4AyepbfHRQSuOGoBECKNJn8qUQ= 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 (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEX0iw012763 for ; Sat, 27 Sep 2025 01:04:48 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-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49db0q4gpn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:04:47 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4de53348322so35845621cf.0 for ; Fri, 26 Sep 2025 18:04:47 -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=ouJ9VIdHxblXO58Hlg5VX3/zjPQXwNBeH7NssFTVrqItJ7mravhL7mt3NwmmcNBLyk JqhmdXq6v7mhTK14UH+TtR9VG2f5tXG4s5aHQmm0jrd47R9z4abr7KdD0rj04xd5DCuF n2Ik5ysqNCmhejZt5jwDysjXxnePHli51p2IUvMPWmmI0Iac24j97ivDcWQQIFxDjAyA eY871edPFDD48HGHamNpL75lbwtzE4OruVNnw9qmd8ilDFl/hpo3cc8agik+Ecki/vFH tvmCAttCi9jxx0YMlBDMc1HxQJ9qOBwEl5orBe/tS1MdVd2ti/JtRVJ3E/LYJujApSJS +eoQ== X-Forwarded-Encrypted: i=1; AJvYcCU5rUAaaBjMJB53QSKn90r08bpF+ysRChOE+f7iyuByRiAkfbDLtMmqYMlvFs85iFIqLSVOsLSW/X8onA==@lists.linux.dev X-Gm-Message-State: AOJu0YwbNhDXaLtaPZ8KhohX11iAa5SMNEK7xmRty5odR7IMfvgzhuVl w6eU8TcT5JQ4WqNvYY+RgYlmmQAd5VtyiAtIJRGgLn8EdJ/diP45hmnqysNQf5cHkzuVU1F9ZDp tWkVyxIZihKjdo8y9ywm1eeO6sW3xLF6r2L+e63Vo/2bq1bZBGzFqG7ZP0nMlVAMwKw== X-Gm-Gg: ASbGncvClR/cq0W1jekQTX/8nq2+bp2ZWbLwXumzasz/zwgTEmVPTtrpp5VJIFpHVZi ZymZCPohZmy/o0j99Fbh6Fb17Hxab6avAG4hlD+zcHuYJQiNBpQjqpRYtOD2PWqHvP0uEG6TTnN bMjD22Lkw7Vkch/gMiBHOu+JC9THs95Tu7dcgzPXP+BFve0ZnMOBus/UduKEFZvXPpbzhcziY6N FYDhWuLl5i81RErrR00NUT/BfDfTAGri0LLu7sA+GoLF9cIJWGNyJnGIHeRwQxLCfYHP/+SAZs/ hmnvZZjyCcSCaJGPzWjknC5tlBowIufeqtYdnOvvYR9PaDKIm/ut5d4WnWZRy2dGcQsUFqo+zL2 /LkSTJ4Hl9wQKDdjVBCXOXMbS/EtQyeaUCEhwhTcGA6lKl6OwGmxj X-Received: by 2002:a05:622a:1f09:b0:4b7:9f68:52cb with SMTP id d75a77b69052e-4da4bbe54e6mr141708311cf.54.1758935085187; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX0iNIMQjH3O0q 9Byz4wHEwjHWfXFqwNAf8FUcpXVp994kGTom1SecqQJMBwlWXDNSW/T+7q+1YWeoh/DLf5LQXff StEoj9PWKaDJFycBccTxw9pUVpxWRhRwfAEGa6pTI9p9AZt2qREa6Dek2OFqcgtgT0q/Wf376P9 U1BRkOHN67/zhQ4rNRh1rqwQXH7G6+C8kJLCtPDKLV2qSPdT4W5B+3mobQdQE0zEW8t/Rh20+ZP q8MiNRok68UMM+mIrxUJUb2H+HahWR51l90WEeaHZx9ID6S8ICVjAw6btFyhyOS1pGHfywWiAhG rYU2twxdEUxqdvr3ozlWuMAtzFWItY5y2Cxe8LPrJpJbWOGcW+KmeAy+j8C3AFMV5UI+uN8plIs //dJtMX+Ejj2W42PuNd23S4ppaFSBg== X-Proofpoint-GUID: uWuR7GygMqFM6LGiaJfa4ge2mFSUwIfJ X-Proofpoint-ORIG-GUID: uWuR7GygMqFM6LGiaJfa4ge2mFSUwIfJ X-Authority-Analysis: v=2.4 cv=JsX8bc4C c=1 sm=1 tr=0 ts=68d7382f cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=XNEcMcDYeHr5uxMbIEwA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-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 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index b9be8654130758e69ac7ccbc73a82cc25d731a5c..452265c2d81269e158c83850279a3a58302faf03 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -906,8 +906,7 @@ static int adv7511_bridge_hdmi_clear_infoframe(struct drm_bridge *bridge, adv7511_packet_disable(adv7511, ADV7511_PACKET_ENABLE_SPARE1); break; default: - drm_dbg_driver(adv7511->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - break; + return -EOPNOTSUPP; } return 0; @@ -966,19 +965,32 @@ static int adv7511_bridge_hdmi_write_infoframe(struct drm_bridge *bridge, adv7511_packet_enable(adv7511, ADV7511_PACKET_ENABLE_SPARE1); break; default: - drm_dbg_driver(adv7511->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - break; + return -EOPNOTSUPP; } return 0; } +static int adv7511_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->connector->hdmi.infoframes.audio.set)) + return -EOPNOTSUPP; + + return 0; +} + static const struct drm_bridge_funcs adv7511_bridge_funcs = { .mode_valid = adv7511_bridge_mode_valid, .attach = adv7511_bridge_attach, .detect = adv7511_bridge_detect, .edid_read = adv7511_bridge_edid_read, + .atomic_check = adv7511_bridge_atomic_check, .atomic_enable = adv7511_bridge_atomic_enable, .atomic_disable = adv7511_bridge_atomic_disable, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, From patchwork Sat Sep 27 01:04:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 936 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 BC11C1E5714 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 (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58R0isip015639 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 49e5mcg0t4-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-4d7f90350f3so58682361cf.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=1758935090; x=1759539890; 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=As3qe6iWLlYhWfqZkjfEjZ36c5NTncfa2gP5JTTEdO9nLWbK394oLz8a87VDDd+vMO QWX+DCaLZuLhkWsteDc0A8Dznzi3q5goXl5Nho01C1/L03JFET8T6GltLWRFiWW/PNPM 4c/eahIKsRCrnXeCZNAobx1RpB1J+BWIF5vtYQ1afjjsp/q/8H6qJGz4sH4DXS9DCBpW skLb5espmUF5TsocyGSv07mi2ZdS+vZD1p3wb/FNQ5nQyeYxdziW2LSs7lfpx3QXmo6f skoZPzSOtL00c511bLdQJpKwtZXYmiinRZa7dZPDpEPWlrkEN0pjnxXOSmmvIcqolws2 XFqA== X-Forwarded-Encrypted: i=1; AJvYcCWKzb5Wlq/QsolF+57aYZLaL6b2roW1TlaAM0okfLm8oR4UfY93/ZV5a65RCe5u6m5BhYbqgxHd5GSY7w==@lists.linux.dev X-Gm-Message-State: AOJu0Yx5EivLPCYQU6hbniBPRy1RMBhcRfb9HpCELn0VfhpJAPpz0iQs /wSU90We3JbvO4R9nkxM8Wmp3l3vmgqFJLDxeYwT3Ys8gbKFwTWSK9qOK2M/gKtUaPMhqtcMqsx ntbMXYcK3D3QMylfqYZkL/TzSKvs/+UXk8ilOENNTFYhl9Oz+RtEhDuYA8Aj0874k3g== X-Gm-Gg: ASbGncvfMUBkj04E1Qo78zSPDaYB7mYdCPWnl6/W9ZJih8jgqQMEA4k3qfFJeF1ffHY /KHwKx1tb4wdokLjG5lScHyDAOSCYGTqlywAkqfXH801mDAjW0e63yHNQjQLRoTpTkkEOHLBzP8 V7pmE17R4OGgyewJeMZV+m3UJM6VkkBbBtcU5EdwZNn/0/5P4znveNncbG7fDbmgo6h4mmil9xQ gxADi4f7dLC32lenISYsAlWnuuwQF3NXQrnK0bCL4UVga/JOcuaWa0WG7XlIz8Wbeg1y5Z9vpMB UUs/yoYsXlvNjCbgbGxPtfROKnoemJzMfdaNEFu/eCwjOtDHOqWqyg4CnBO7i9A/9LKGxAks9vs +p8KhqzEDbgecvynjn9C1SUZ6l6EiPjb47jjgg5B9avC8aw6uh8qn X-Received: by 2002:ac8:5902:0:b0:4d5:eedd:6882 with SMTP id d75a77b69052e-4ded345283amr20741831cf.12.1758935090286; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Authority-Analysis: v=2.4 cv=RMC+3oi+ c=1 sm=1 tr=0 ts=68d73833 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-ORIG-GUID: Wue7lpHhdohjmloZs27gpr4LjPXAO_s3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAwNCBTYWx0ZWRfXzC3zNK0/foN/ kePwbbCWPewJo0wBiZ7toZcB5UcCK1yWT/bQdR66WQflmLVBlt2d4GFT/YjlXc2F8uVXXx3lRgN CHHY5WvJ6T+AFBnxWjNJ6vtknjfYYz0VdIiuE+iVwBwrcAAtAfSV0PZGnE5mUml/imIeOEi291J /zPHVEbibQagvMlNwCwHWuebV282rOicYg94zw9iJ2pY/svCeIRx09o0ijKKfMyY3036Wrj5RIv RAs7IS4CECC9dj4+4byGx1EQ/stjsRfyhjKEIesI0wQ9DWiQccP0JpJ26nn653j/hl211/nipZA HHY+hDclCV0vYPvzJoau6/FPFqqORl1OE1uLlfShO/CHa4eK6GM4xJpFY9CIR7FToKYeGDobVtH NLYb5SRi5S4rucTZGD+cqkDwwr89+g== X-Proofpoint-GUID: Wue7lpHhdohjmloZs27gpr4LjPXAO_s3 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 malwarescore=0 priorityscore=1501 suspectscore=0 impostorscore=0 spamscore=0 adultscore=0 bulkscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270004 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/ite-it6263.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c index 2eb8fba7016cbf0dcb19aec4ca8849f1fffaa64c..ad331e8dd4e815fe51235e672798bb2732d5c7e0 100644 --- a/drivers/gpu/drm/bridge/ite-it6263.c +++ b/drivers/gpu/drm/bridge/ite-it6263.c @@ -26,6 +26,7 @@ #include #include #include +#include #include /* ----------------------------------------------------------------------------- @@ -772,7 +773,7 @@ static int it6263_hdmi_clear_infoframe(struct drm_bridge *bridge, regmap_write(it->hdmi_regmap, HDMI_REG_PKT_NULL_CTRL, 0); break; default: - dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; } return 0; @@ -812,13 +813,35 @@ static int it6263_hdmi_write_infoframe(struct drm_bridge *bridge, ENABLE_PKT | REPEAT_PKT); break; default: - dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; } return 0; } +static int it6263_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* should not happen, 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 = { + .atomic_check = it6263_bridge_atomic_check, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_reset = drm_atomic_helper_bridge_reset, From patchwork Sat Sep 27 01:04:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 935 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 40894212FAA 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 58QEX78R032149 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 49db0rmh8y-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-4b31bea5896so30779621cf.2 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=S/XlFbX86nxBW+ScdI8w/LHfLv6ilBPKko/Xp6LU2khO2ES2T1ZNiCrIr70Z99G/ra VkdZW48U8tkpOUFNbPBqPsA5KBBokqI/iBtRqv4ZlpxOmmml7AGIGy/5DnhsHptH+y8w 8OoecTpjmLGtx6d/6r6ac/Dw8tHAj0utg/GP/WqJquc7nyb+HbbLUURx4PzsdJO+W2fv MWCagwWIhclRC/lYzK0z55gGhUYB+ljnn0yyOFWsZDFt61a0f6GH8okCyWhSpmmziwqt AoHOkqOQVK4fEQOPC7PsG8EP37LUwomOFse/5oMjcZ4X4CoJKAHmTU/2zufbanLc2laS sa2w== X-Forwarded-Encrypted: i=1; AJvYcCVWXOwGpSjpO0tlENs5kUaaJh2ZcZ7NDFDDJB+cjwvg+3h+BoQYNOZHjneptCubMT7/nNi/waXb3He6yw==@lists.linux.dev X-Gm-Message-State: AOJu0Yy1Fe/IcC0wdrjMiB8xxgClVMp1z/ffEM4/Y4Z4/nMpXD1z0b6E StolojsQ34b5Q4ClelD6K1pcLCqmdFH15M4kDVN6xtm2jEZkJt3XYsXhFJr0rT5J8ehJvOSxKJR bVSBXZHsiXiDpcgU8G2CxJ6mcTfKGk/+LmMekYDbSGvk54XGr3s0ucPrgwcLW3irVLg== X-Gm-Gg: ASbGncth19FaHxwBepF0pTw52fiqIqfpQHwR50jalRTCulNQ9j+R8FBDLwnOdFfp80j zCqk8wzJ+hkpPAw1JZdjfW8all+M04LMc2tFyIGVku/pDLJf3MYpGmohJ69mXgrTiThFdLE+JlD uN/sZRLKqXxGfF3IqH/d5ihFep+5gwO0NXEokrb3mwGoey7vG0kK+hu43BgdtRKxCkrdHBWhBjE TiVfDcAgyXU/n1BG3badYSG67uEidKhH4ICtJ3PO5+riumr1CA3N+QDwhkgDTxYpQcU8CcYQ4gD noaOlZDO1Y11Xkz9qupmss/KPcCdB9tnmgf4svQnDxZ91iE3h5xiVIWNBEEcyvM2T0Zi7cFK/uw KbDt5fE2Ia6pp5Opp5vzOYGU4nsAdIL0bNNIlsIziPZCgLAV4qTYp X-Received: by 2002:ac8:6f0c:0:b0:4b7:964d:a473 with SMTP id d75a77b69052e-4da4b142f90mr128891521cf.52.1758935094005; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: caE-Ts0rSMedV3xAvK9-UnIHDVvRf3O5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX2AUEqi05KZZ4 /wiKlNrbeFdmVzCX8dVD5dZXmoTBqlobHK4XhBmyjhqEo/IwRyC0+dSqch1pVmZs9iD8V3VF1Ah KVjtvaRF0Kc/0+J43WD+0ng0aUn17SizAoHt4JtAfLGGZjnjN1m2kk2Bcj1jaJcx+kjJ9a4IZlw 6DFQKC7OJCBZTwIr9+oEGNIYcWEUhm9G0JMjG3CY972bOxReIniOj4D+PU9p+XknpOJJ1kszDx6 WIIqjxzTfCdOF13y92Nsb6X02l6zD4Dtk3SCt2VS6rMMwnLXYJStbN+t2uOm9TalAo0CF5tEmgl dnRt9kSyVi3u5S3krDj+nVqBWBPDBUkLz8N/WA+E7FcrKb+X3xAOu9KDnQK1khKHxAQaOjwvqMY 6hFWlpHNLFqucZcQJ7DyBdLOTUfvyg== X-Proofpoint-GUID: caE-Ts0rSMedV3xAvK9-UnIHDVvRf3O5 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 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/lontium-lt9611.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c index a2d032ee4744715b88eb66883edf69bab4c274b0..9c2c9887d2d66968eb1d50544a257d5999bbdded 100644 --- a/drivers/gpu/drm/bridge/lontium-lt9611.c +++ b/drivers/gpu/drm/bridge/lontium-lt9611.c @@ -869,9 +869,7 @@ static int lt9611_hdmi_clear_infoframe(struct drm_bridge *bridge, break; default: - drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - mask = 0; - break; + return -EOPNOTSUPP; } if (mask) @@ -910,9 +908,7 @@ static int lt9611_hdmi_write_infoframe(struct drm_bridge *bridge, break; default: - drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame %x\n", type); - mask = 0; - break; + return -EOPNOTSUPP; } if (mask) { @@ -925,6 +921,19 @@ static int lt9611_hdmi_write_infoframe(struct drm_bridge *bridge, return 0; } +static int lt9611_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->hdmi.infoframes.hdr_drm.set)) + return -EOPNOTSUPP; + + return 0; +} + static enum drm_mode_status lt9611_hdmi_tmds_char_rate_valid(const struct drm_bridge *bridge, const struct drm_display_mode *mode, @@ -993,6 +1002,7 @@ static const struct drm_bridge_funcs lt9611_bridge_funcs = { .edid_read = lt9611_bridge_edid_read, .hpd_enable = lt9611_bridge_hpd_enable, + .atomic_check = lt9611_bridge_atomic_check, .atomic_pre_enable = lt9611_bridge_atomic_pre_enable, .atomic_enable = lt9611_bridge_atomic_enable, .atomic_disable = lt9611_bridge_atomic_disable, From patchwork Sat Sep 27 01:04:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 934 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 D583B1E25F2 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=1758935100; cv=none; b=eWNBQvjaDY454sNFWjiGMJchDfmMu4LBHoTlDYAx/iXpziHde8OhVB5hP3usZ6OLEw8n0zCX9iqzPl1XbOcowDIKpvqFg6QnL/ONjF4j8M+3VyXI+Fu5Kl7izZ/7CCg1DRTXUBPtnS+J1nM/4PHyEk2c6oJ8EgOekv8qszUhgPY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935100; c=relaxed/simple; bh=iR5U12JmTHXUQwMeh7Ktc2ZVP6MtOB7VE/y4QxY7Pgo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Eyz38uLIwNt5Hq63DSh1Ax3Yq3VsB48BT/a/r7wdBAUuvqNp5jb1LOQDEUEydxD5y5miBE0aKzGXVzJByOEzNlg44jCXYI/wc8Y6tpS87XF1WqggceDZD4exs/g5nK+vHLKqW+r065brYkkFdJkbwWLoRIBH1y4cxT2RJU5mpIc= 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 (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58R0gS5Q011617 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 49e5mcg0tk-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-4de2c597a6eso35834121cf.1 for ; Fri, 26 Sep 2025 18:04:57 -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=njaBqDMd2LthSnBY7MUjZNsi220Qz0YwKpYugaOU16efOjNib5BWQa37RN3dOlKED6 fSA4vA3ZdEO60tjZ6jWXgm0AAC1qzVR26MKb3LelHXt80/2WUzgQ05du180dZVkIFMwA SchlGbju3d/xpfnyo+XsgsKenWRKu6XJFfy+cVr47rbITz4gCcWyoDr0HfRqIqlsL+32 dnnoWdZcakTVbUpnbT26LBQ+XGHxLIvdGx6YSdgpXAxJBDrCpDUNMsNohqh06C2FLIkQ kulCBTah2qgyc0TxoBVIOF4xaLfNwShlbu0Heqy3B6BMkQZVFrvq0DMby6iZKtFw+Zn1 139g== X-Forwarded-Encrypted: i=1; AJvYcCXv4sZi8Y+I2EvdLxpANgJ8esxmBU8+eN2z6QyKwLSWeLf7Gk+AuLtpd118XcheIH9IkULxTrMg1Z6KnA==@lists.linux.dev X-Gm-Message-State: AOJu0Ywna4jVKTJ+IThBa7vndd/LxkBKV4rwFgOfXAnixKlRd4XgQXLa jC8OCU4K3gCdprZdxs+K+Z4HI7ilWdVUJU+4pBIUbNjL69YTTbFM0dntI1AF9nLnXs65tK41gWZ z3wcW1k28DLbfQ5lAPEzbVvAH4ovXrq2v1HJ1hi6DlejSv2wyF4yxbjHPI9Fv0nlN0w== X-Gm-Gg: ASbGnctl1mYcEl0Kq/dFFTd0+DiF5HNm1vdc6rgXZUk7CYh1F0j6QbiwTMENKz0lJKx 4y1emhW4HPW8m0kAHdkEPkjMEsAeMTI2FHFhET/dDStOX7KH1fCfL8X03cmOAXrr9KLwA8QQVeX MmfjnflEroVFtY2h4HjaZKpGMIAv1yjk+MeXetfEuZbWqx64tP37L1ebVvivkk5cnlZeBlvKQsf zLUgGsBi6jcwOWvH8dRzYqSeiNVZJAMqD5OmqakYRk6dgv97s+b5yN01METUM2SBPQ4hLVI//bA 1Kcqqe/+Y3Bw5YLE+SU1X+SPjf+H4qLshiyPymw00OnWnIjwVEhk3ATQ0NbP6FD2ASh8oTMm474 +t3FLaN9q/jL7Slcvnzn3LeisYdHrP3VLvb70ZOXXasDKa5vQkWA6 X-Received: by 2002:ac8:5f0a:0:b0:4d8:afdb:1261 with SMTP id d75a77b69052e-4da4b808863mr135723431cf.44.1758935096607; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Authority-Analysis: v=2.4 cv=RMC+3oi+ 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-ORIG-GUID: BrVUOzodI1dXfOOyHGaLEDzY-hoGftxx X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAwNCBTYWx0ZWRfX6/tt1V60Vkur KRVhDOridJT4DO5A8pFT0ABepooosiNkp3WTv1msQTK5RyDkovzoCpoW9hrjDUt5VJklzBQ6fYx YyYz1Gxe3I7zXr5HmrOhzq552LON28TTu/JcRdY36LkRXGs+WukG+DyxR5y2fhDR0GkwzBaX45w 3UawPzUbTlZUvCRIHbW2wNBAL83gJ1p7TxDbWlblD9Rmw8FHNEwa9zZ/VajaAmWK6HGM1qYUiFN KNjTbeG0WH9ZshbHnoaryoiCGaL/UbnH4kYpOkgNinDXXY7eg2KTs0n1zwTUznL8Q50F1HQILtK Tp20C1FQMhNKaq43FFKEPahcZLlIabcsUYiW7YJRdgJHNRClYtrlGvwT0BZ/KOx7J/r7YZm87Rv c4lh7uKjT3+sQv1+qJAFKyQ7Vg961w== X-Proofpoint-GUID: BrVUOzodI1dXfOOyHGaLEDzY-hoGftxx 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 malwarescore=0 priorityscore=1501 suspectscore=0 impostorscore=0 spamscore=0 adultscore=0 bulkscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270004 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c index 39332c57f2c54296f39e27612544f4fbf923863f..9a77e880b7f58403691338ee8c22d24af570acbf 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c @@ -935,7 +935,7 @@ static int dw_hdmi_qp_bridge_clear_infoframe(struct drm_bridge *bridge, PKTSCHED_PKT_EN); break; default: - dev_dbg(hdmi->dev, "Unsupported infoframe type %x\n", type); + return -EOPNOTSUPP; } return 0; @@ -960,12 +960,26 @@ static int dw_hdmi_qp_bridge_write_infoframe(struct drm_bridge *bridge, return dw_hdmi_qp_config_audio_infoframe(hdmi, buffer, len); default: - dev_dbg(hdmi->dev, "Unsupported infoframe type %x\n", type); - return 0; + return -EOPNOTSUPP; } } +static int dw_hdmi_qp_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set = false; + + return 0; +} + static const struct drm_bridge_funcs dw_hdmi_qp_bridge_funcs = { + .atomic_check = dw_hdmi_qp_bridge_atomic_check, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_reset = drm_atomic_helper_bridge_reset, From patchwork Sat Sep 27 01:04:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 933 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 DAEF621D3E2 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 58QEXCe0012904 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 49db0q4gqy-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-4ca8c6ec82eso60478491cf.3 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=oWVCJomwoUj+DdDD4irSsidPqTICJx/H/m17CC5iUGnnOK8udqrEDGZX1dOzgK+huK y4zYb0jqtpmCrqHVP0YBhti7Hhl8u4B46Q/7hG8r3UwB6m+CaEgTrxS6jI7bCCKmjHRJ tDd+AAWP1IkbBUjbqjMt7Y83g+U1i9yKaLz9+C2s28AimsLDJRg2P0DraZwkwgy5qjuY KYystWWNc30wK7nOueQKPTw/97EKwkCd4+NRwPFf9Yh3s3afTJroaRHG5crqjdkmoplE e6K9Sxy/2MoZ5rqibHTz/3FQ84HiKu2asi3Zc/8Bckh7iw+nSwyQ2wb8FcxMuZxyBYpL I4JA== X-Forwarded-Encrypted: i=1; AJvYcCX450+NaG72Sg624pgUG7vIeKMnU1RfPv46b35o6GpvGesFOIfSPAjsNxyIK99M2W//+QxPMnY6HNeB6w==@lists.linux.dev X-Gm-Message-State: AOJu0YzMy9GWbkERwBgBbPPEPmSOYiRNccMTdwUwZy6lLyM4L0YY6mLt +jwvXRCoiwCA8eOF7NWyO/XngzuhTGYzmif4cGw6GAtakPWtDO78WEkvg07/Iyi0li/yJNNJRoL dHfMZt41fcBDXj6yIrqyKdtPcw/eMX8dpmGDaNdIewkXLySD02qAGG+++g/WYA06TBA== X-Gm-Gg: ASbGnctx9tHHKKztmBGMpqHPl9zIIYiKkA6mWcYxSUX9dl1pjy4cdJjpHsWRACHrOOW 97Up7LtzCL5PxOz9fOvK0XDBAlhvQA58wKNaKxU0s+3FGSvCmh4agPI5mLS3e9bawcfxLvJDx0C 38nuWTKW5++Px3GW1i2CHKbXV9bzUjmHaYalKC1xdeNxVzN3XrtbCImiIKiRyS0S0bVfSsBdsBu we7KtUur/OljqV1cGetLfDNQnEwo9TRaYAF/xwpl1DsNq4HQuOgM8Dv66705+UANaARnmYQfbCE Bq+MBYwHY8vnX196f4nhNCdVXj2gDEQC9+5anSDsC7/ZF12spwPyjzs51q/nwh5L5RNXG4jLKa9 +a/aXuwq2Gpi4lKcnLdAmxuQDtrVfkb4rgAdcNKNqOXpN/8oKyg3b X-Received: by 2002:a05:622a:4b05:b0:4c7:35cb:4b8c with SMTP id d75a77b69052e-4da4c39b711mr133233101cf.65.1758935100535; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX5ecqQyA/iV09 fTPuJ62fEv/NtxBnHCWWbvBRhic8sXrVwwEBj+4QbV46KpWHrnAJXGvyVU8EqOZ+2M4CIF7otXG MGjMLnl2q65+v2C8HNS51wklpp0mxkosIOVegfun95WhvvFR+EvtXt6PmnZOSilA+k02zmnGT92 TCmk9GNX/ICUXgtDBz4tFFdKWHDI9C3Z5lN+1L9jrRU7DRc/LBgRguFzgZcAun3MArGktE9ovoR 9BPnxFTnVYrAJkwypN0hVzSlxwCUsduhG4QZhU+JxQSi/FvxE9uSjScuC3iozYL9izb7L7uVPr/ JTyncYV5/Bqijw1MiPW3Y3S/aKxyNTtiP2zssluEX9UZH0MFJiJkNTQd13UW4FMKsqQ+1cOG85P dK784FnaIpc6WkC0mTxxVdUqYPLTWA== X-Proofpoint-GUID: BtDR95UxzmzeixYNqwQj2RuLOd3WX3Rk X-Proofpoint-ORIG-GUID: BtDR95UxzmzeixYNqwQj2RuLOd3WX3Rk 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 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c index 46fd58646d32fd0611192595826a3aa680bd0d02..121239a01cea334c3e7c789ebfb54df71515db28 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c @@ -248,7 +248,7 @@ static int msm_hdmi_bridge_clear_infoframe(struct drm_bridge *bridge, break; default: - drm_dbg_driver(hdmi_bridge->base.dev, "Unsupported infoframe type %x\n", type); + return -EOPNOTSUPP; } return 0; @@ -273,11 +273,23 @@ static int msm_hdmi_bridge_write_infoframe(struct drm_bridge *bridge, case HDMI_INFOFRAME_TYPE_VENDOR: return msm_hdmi_config_hdmi_infoframe(hdmi, buffer, len); default: - drm_dbg_driver(hdmi_bridge->base.dev, "Unsupported infoframe type %x\n", type); - return 0; + return -EOPNOTSUPP; } } +static int msm_hdmi_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* should not happen, HDR support not enabled */ + if (drm_WARN_ON_ONCE(bridge->encoder->dev, + conn_state->hdmi.infoframes.hdr_drm.set)) + return -EOPNOTSUPP; + + return 0; +} + static void msm_hdmi_set_timings(struct hdmi *hdmi, const struct drm_display_mode *mode); @@ -452,6 +464,7 @@ static enum drm_mode_status msm_hdmi_bridge_tmds_char_rate_valid(const struct dr } static const struct drm_bridge_funcs msm_hdmi_bridge_funcs = { + .atomic_check = msm_hdmi_bridge_atomic_check, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_reset = drm_atomic_helper_bridge_reset, From patchwork Sat Sep 27 01:04:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 932 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 3CD0E1F0994 for ; Sat, 27 Sep 2025 01:05:15 +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=1758935116; cv=none; b=L3i32xZ3sLUWVtFPDGvixzhgQae+FZv4rN0tnmUfc+ZKCG+uWFIiN91fd0ZBttmJRGHLnx8xDgrPiayPKq1qRK2B1EefXylxKgk0zd1KU4shoT+Siqw/TaMHB5NuJknGhn/gVgrt7KATx74QO+5lAx2BoyR5vxbcUm5F3qZjEnU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935116; c=relaxed/simple; bh=SRdsHNR0LO/SljNP2tmHd0np6D3Jw2olFDYhbWhBuVw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vaj+yJEQQYdq/5k/O2opqk0z9DyzOk5kEo5ljIPJfp7PCTjd3CCHch1XpnNb2l2of5tQvKeqy4KCaOoJJqa16eGVT8P28Z6lm7jnUZ+MV3GqtIaGOkr5uiPLXvHu+S6khDCUSXKTt0wp82RnnDEnAQK1DMe61aWA7kWMJs9Vfx8= 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 (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEWrns009513 for ; Sat, 27 Sep 2025 01:05:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 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-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49drfwj5mg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 27 Sep 2025 01:05:14 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4cf47c9bab2so100712161cf.0 for ; Fri, 26 Sep 2025 18:05:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758935105; x=1759539905; 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=WIGVpCupi3Luc3iKmYxOoncO25f1LmHtQdC1O8gHEj49MwkwFsNCmQZ3t0fvoRJ12i 1gMcApqnf0Ek4Ekjl2W4BsdDxu2WKBOF+clAx70L0p/hcDqKniSQiuBUlP24geK89ora tz9olIQqVpcAuCY/T6QIl4kaWp3xhqcwL55BH2kPxQKYfzwnbrtcqgs3s/i5f81bf5NS Gygn6XeAwJMc351NRtgtREle9XPQxRQlkZUI12JAJUxO23Yrp/hwog6tzT1lOzJu8IOI rrbxLN5cjySJyFjnwivgTjMUHXGye9rWE+4hIryW34wtPvJvZXcOeVC5GfDYKRTkeqzu gxTQ== X-Forwarded-Encrypted: i=1; AJvYcCUM8oacKPXWtW7M0+iCd0lP51bu0PhJEL6u6n8GqIrgVDdzt+9pA/rFl0mhgE/I1NnKVq1RRbXAfOpeDQ==@lists.linux.dev X-Gm-Message-State: AOJu0YyU2ZZbQaOF9yZJQSqEY42mcm+ffsGcbCeOXdX3P+7SZ4RLzzAf XdW7d9dSWf9FOYLC4Ta56mtlgmmqvM1ExZi7FteSSbaMW5VuLjaJ1wuVWZMlQbwNBDjQUtmBNPb oPkSnDcAPrsIZnZTrqv0ggcqjIAw0nc3NX1HDuVstA05mWqFppZ70GiuKnVfxu1w9iQ== X-Gm-Gg: ASbGncuTyddlqMbB3CwbjHxLZZiEQ2C0/tOW3shayhjEvLGywMNber1o0N//LVjwrpT er7ybU0ycFe18XLpGZ7IEfoKLNoZ3v/Boaua5bJB+O6nVl8s5gqdwHYU+3VYRo5/v9WLVRdt6Q4 pwApCjY0Bj56zJjLF/eboSkpSenysNzPFs6rg4whqVs5fx5oEXX0XmeMH6hQR1TGTD3A1DcDCKu 37kC4Sv9sorG74Vi7wfBBiZJz30iOTPCMT4gqcNvPwchkJgUVDGH0/mTEEZK9Ausl68nja/5K6P cI+eG/J5UUrhZnw9CHQV4Pk+BLtIuM7jIhF1chaA3fbhMb9Y33nf0pChWWG2ERbqgLvwMPL6KH9 oy4gHsvT8A9ZUPHE23Lb1mexk95Ek0P2u9gb3USdlII7nEM2fKMil X-Received: by 2002:ac8:5852:0:b0:4b7:9743:6da6 with SMTP id d75a77b69052e-4da4d02b61bmr114904141cf.70.1758935104568; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Proofpoint-ORIG-GUID: yLvXxja6We_FfewsBLm8N8GBC4UomfnG X-Authority-Analysis: v=2.4 cv=JKA2csKb c=1 sm=1 tr=0 ts=68d7384a cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=XNEcMcDYeHr5uxMbIEwA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: yLvXxja6We_FfewsBLm8N8GBC4UomfnG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI2MDA4OSBTYWx0ZWRfXzLlnmQYsaYB3 6+09J+GOYtaU/LcdkyneCApaBbTbo8Y2KLP66XWHSQvTVV9jdwkvOze+t/zc+LSr8Uut6q/31+z Ia3lBNbmw5OUa/c9+Hw7GaPMbqDuWaH/FNhpGPIhLHlqaT2vnV4fNxgGxkVSt1T1dnKfK+LBNHK rEJKQ7lbR/pH829FrZT7PDZ7UfhlJD3gNE6x2anXznxg2FnClmmqX0Z/BUGwQq4Zceeeq/AYXKs 7+Z1Jidz+z71U7kcREShoXtfQfOLPitRg2907V+Fmzxzasy9QWYjRgtXBBBkAunsXcqMZzH2Po1 vjVCJ/6na40yBCrJT1hI/GSC/nE5htfvLAWrI6YHWgz+9wAAIPJPkLQCeWrMZMJ3KMKV2yU8AoO vW5A5LQvYRSuI9BP2IZe+BeQmriTCw== 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 priorityscore=1501 impostorscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 suspectscore=0 bulkscore=0 spamscore=0 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509260089 Status: O Make hdmi_write_hdmi_infoframe() and hdmi_clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/rockchip/rk3066_hdmi.c | 38 +++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c index ae4a5ac2299a93a49f87df7604752f6b651c839c..cbae27e2443798d62bd83acc8b979cfc34df3544 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 drm_bridge *bridge, { struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; hdmi_writeb(hdmi, HDMI_CP_BUF_INDEX, HDMI_INFOFRAME_AVI); @@ -180,10 +178,8 @@ rk3066_hdmi_bridge_write_infoframe(struct drm_bridge *bridge, struct rk3066_hdmi *hdmi = bridge_to_rk3066_hdmi(bridge); ssize_t i; - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(bridge->dev, "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; rk3066_hdmi_bridge_clear_infoframe(bridge, type); @@ -193,6 +189,31 @@ rk3066_hdmi_bridge_write_infoframe(struct drm_bridge *bridge, return 0; } +static int +rk3066_hdmi_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set = false; + + /* should not happen, 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, } static const struct drm_bridge_funcs rk3066_hdmi_bridge_funcs = { + .atomic_check = rk3066_hdmi_bridge_atomic_check, .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, .atomic_reset = drm_atomic_helper_bridge_reset, From patchwork Sat Sep 27 01:04:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 930 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 523A6209F5A for ; Sat, 27 Sep 2025 01:05:21 +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=1758935123; cv=none; b=WkM2s0Osw+hpJKDxlL4mMHzkKcLNrW/WFsR1TLHz8tVIrW/AjEB3vL8vhYS/q8s1F1/lvmPHX4KfTSSkQf0xsLanUoj4s0+TCFeFj45uC7L3sUkEu3Z3aaCOAZJLmCwZo9BQFx4UIXfpfsj7ZZZFh463E5Nbqp/L4q8pwhvGgHk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758935123; c=relaxed/simple; bh=Lc2tTQYfaN7zqRa7FcjPg44+fL+8LeTUVnX4T4zpQNQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TILe/2bo9diwejjL6HEC2APt/bEbuCaCnqotapYMrqefO7hCLbpwyiA7p8EC/nOV1kgJA81Tka+O0DQXkoCxbTXwOmrBEGJ6zUUCY4tcunIOXnMUK1Wgt0YYs+9vBEeZ8aIfZo9v45yEYYmDYSvo5w6iKd+7D9lmngRrIb40olc= 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 (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58QEXJq0032710 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= Ep6o8PRzDpDpN9BCPf153wSzeohtk9bx6s3tbhjl8dM=; b=UOTli0M4CsntoZrE 7T1c1P0BhQ3Qki+HUpNz4BE2hfj8yF1BkmCLcVTjSWAXEHqhLuSRx3HwWjkhMrDh BtPqcZ8FF+/LyCWZdF1VUiaZnVfZ6zojoQD8ewIkLrTAOu5rMjNFvChKjxM0XN5h N6g36shxoOSY3S4x4TtW7e/OSp9M1EDkD84rkuRhY1PDPSMCkrymnxt8pUnS+F3H 31QMFsC9TnCD7cQexdfzx9Jjh4m4E/nyPb8UvuJqpKERZgGbD19aMh1M7GKv4gtv CzDyQ1n0bRCxaz32uZYXYv/yVxdY1Q8Khfuu1AXGqFm6i/xee8Z6+u5E649uR32m 0l08lg== 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 49db0tchf3-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-4de4fb840abso25083491cf.1 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=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=nkVyjeMU7AEkjGggMw6nBxuwV+82ZJD2CfPP57Wjo6c68muODZrQ+tFMIhotlG5itk 2td4AQVeDzO992mBNpdBoiyBqoNOEBDJqYvw0VPPJ6l1Zq5OLR89NYzvD5BhG7my4Adv FHh/HJJuA8bZJ02d+PnvWwXVpmIB4ovHRytomy49I1MgX+SKWHpOnVAXVolCaq8NhAFD /+F+qkItbBLRjPoOFnF666KqaF05hVxWH2wNbXiascmE+biLMOx5bfUPt1G6+e9IE+Xg w/6QLRe/mqERJ1XaVe36TB4Heqeg0MY20ls4NuMZO8t+6G3BbayBE6MS8CefgkBcG4hU /i5A== X-Forwarded-Encrypted: i=1; AJvYcCWXaavhsRgNCVIXHAZ0KrMYMtZLQg/5VeLXxdd/6NnSLblsoOi9TAp2tOBBVPvhzFmhvcYNd/9imiXfUw==@lists.linux.dev X-Gm-Message-State: AOJu0YwKE4UxvO3V/wmGe5hiKdtQJSxkuTFOSWschF1z3BHEB/Cz+YVo s3d02+MG6uskW9Acrtc3Lc3bLdHFt8KdYQB/C1JeLQQp3Pn/9Zr8geoLttRSAgNFEyliaZ025RA A0iLe+xkhP3oufEOUu0bFpcTS+yY14VnkmOFkZVgXos8Kb1hHNBIwy8DxUuzlj5kndw== X-Gm-Gg: ASbGncsjPSXzjymD49DUI1ms98mPICjnAv8yrfOBfI+y4AUe4KJs2qOnxwyfL/tw8iz G2qSOoovhYp0nbSBvdCQ6g3cvrG4VPCwuF8GrZ/SHZLoEFd6REeVpaVlNIwkhoEZ428C7k4xcAu lpzGeVh9/AT+9YpUDjvzlnLN7yhkH0ZlD6MIS2YlcSMcfpcNCxoy4gm34F+CBgVeAAs4wnwI+tU 7lt2wNeosqPRAXGW0FFF40N0kViE6rmH1VJTLqOIPr5FIym5H4+BIU5ouDm5orDivHVNCtisOzc +88btc+X4YavnGYbpMpsUeE15rA7V12UKSjqCxO5blEyq0SBPcYdPISubBRCnWNAzdkQ6szJrQG 3VpwryTqmj59gk5qPqyeOxlnzCmyzJSF2GPwTbZ5TJLhmaTQJ32ae X-Received: by 2002:a05:622a:4d4a:b0:4d1:6bc9:8794 with SMTP id d75a77b69052e-4dacc7b3838mr95542911cf.23.1758935108440; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Proofpoint-ORIG-GUID: JwqO19h_zDuRqAlYKMC3eeAEqochP_zr X-Proofpoint-GUID: JwqO19h_zDuRqAlYKMC3eeAEqochP_zr X-Authority-Analysis: v=2.4 cv=Jvz8bc4C 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-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfXw28MQ5IYwg81 KWg8OLQml9QR/8K6HCTxMZzVOR06wPCjtekJMSxIenzNJ8suH2bHkFy4En0lohA6d74GrvnzEx+ BVNODPFlCU+ofoL8QPpOePHQ+821aXY1lZUr5t4bQdm8txkHX7nce6uxJvF35qS8mvlfLzi85I4 f2doq+m+GE9BmpiHQ9ykSLHTpSFqRnVvqmcbnLcra0wfAIufWXJ3OsjNO1Rk1JfT+U8eQeR+bh/ 9lh0abxA7qCVwhQqDiEhhg5KFDzk3nTp7pFOYytLHlkwYTG6PzzOOrhLfpadaFEu+GAtJTIuMh3 KHx6UCKi4ogjYnLCuavLgdFDwXG4cnSe0nz8++LJ15fgmi0WPHohgshiergKRt0UrONbA9SA4gP PLAwnnILZ8mKm2RGI61IjWXQfafo7A== 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 phishscore=0 malwarescore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 priorityscore=1501 adultscore=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 Status: O Make write_hdmi_infoframe() and clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/rockchip/inno_hdmi.c | 46 +++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c index f24827dc1421cf5e0c1be63a80da23d645cf3f24..dc2d68b9c87f7ae7b06ecbeaebc82b9689c1abfd 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_connector *connector, { struct inno_hdmi *hdmi = connector_to_inno_hdmi(connector); - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(connector->dev, - "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; hdmi_writeb(hdmi, HDMI_CONTROL_PACKET_BUF_INDEX, INFOFRAME_AVI); @@ -659,11 +656,8 @@ static int inno_hdmi_upload_frame(struct drm_connector *connector, struct inno_hdmi *hdmi = connector_to_inno_hdmi(connector); ssize_t i; - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(connector->dev, - "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; inno_hdmi_disable_frame(connector, type); @@ -673,6 +667,36 @@ static int inno_hdmi_upload_frame(struct drm_connector *connector, return 0; } +static int inno_hdmi_connector_atomic_check(struct drm_connector *connector, + struct drm_atomic_state *state) +{ + struct drm_connector_state *conn_state = + drm_atomic_get_new_connector_state(state, connector); + int ret; + + ret = drm_atomic_helper_connector_hdmi_check(connector, state); + if (ret) + return ret; + + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set = false; + + /* should not happen, 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_funcs = { .clear_infoframe = inno_hdmi_disable_frame, .write_infoframe = inno_hdmi_upload_frame, @@ -1029,7 +1053,7 @@ static const struct drm_connector_funcs inno_hdmi_connector_funcs = { }; static struct drm_connector_helper_funcs inno_hdmi_connector_helper_funcs = { - .atomic_check = drm_atomic_helper_connector_hdmi_check, + .atomic_check = inno_hdmi_connector_atomic_check, .get_modes = inno_hdmi_connector_get_modes, .mode_valid = inno_hdmi_connector_mode_valid, }; From patchwork Sat Sep 27 01:04:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 931 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 C2A73208994 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 58QEWrs5031909 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 49db0rmhb7-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-4d7f90350f3so58686161cf.0 for ; Fri, 26 Sep 2025 18:05:19 -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=GpXhtNPcf8BIHcIzhW7+AYNhssXGFG0q7kCaZ+jAZdp0ddv2Tb9pLjU3On0W3EBAMm jp/tGAGG1JroqIs/LkpKW55QFwi0X2X0yZ56SZyR/EDiqibXnmMKavc9p21Jgwf3ys3A ZNoM3I0ewITUAzgM2oPCWm1cqlP8un0EOcxFM8k4cx0vqZr7pyn6SCiaU9chsDkXqd9s JNl2LYIzDT3mWUOCSxNs/epXaYygF7e2aMbFmERLw6i512AgsJSiFT2b2rLbypv2SNgy d02qU0HeXH8xozSF0LgDl5kTFhEMxvSrOfq+GO1lIpfLfpj38VnuqONYZNxnowlwKk9l w63g== X-Forwarded-Encrypted: i=1; AJvYcCXIHilVq1H2kS2mQi6ImIa5Q+4Ro/4Yig1sioP3BE2oMhmr3z5P6ru5gx0bqTChKVoDLhZ1Pnc+oGgnXg==@lists.linux.dev X-Gm-Message-State: AOJu0YwTTZUc+hSK2xWKO+1Wng4EccDcHhGHZYEWXVIc4eNTnvdO1nji 5V4mWBefKMVGGf8O4TEvaZQIXzGbVHTSBFdKwSYp+ofJ/RuSbq9NFKwdlmBUj1fuqBvIjFvccTp P2c8Sn4CUcyrQKhdGDS9hAF5J3SoYpOs3L7tkBbHtmB7/Fql3x0LseoSDCiPpd2F+DQ== X-Gm-Gg: ASbGncu+jnOm2j9oGQRdIzkwBO83zVxd5JnEQwvNZUX3JIIG0THGEIeFMJkiKomAYf9 Qukm8bUi9RVXQpsRBRh94TBUjDkilucu09Igj02KrpivvB7LySyAsGjKHtY+bM6VD89BS/2uarS kS0eSc2O+m+eStbHzsp1oMQxcceWOi09So4zV3gOhjvey76A2RBoVTKDKSF6X2/NePJfgBsJOjs S6et8JPQLWCqhdlKEwZpQcwM/g6J0g7oT3/SDXzH3khSCcLi+KgIEexrrhK1fjHQ/arA3O9mh23 f1Sg28H7Rr5jyWRCHdVEAX5IKAY0P6o9TUn93/cuQHswGrESVxv5cPiqQuRAZKWXkzEjHTAIFl5 5WpnQ7Eans4IIMc98As24paJda1kNGKkiPpuspKxYCOo0WUpX5zQn X-Received: by 2002:a05:622a:164f:b0:4b4:95ec:c830 with SMTP id d75a77b69052e-4ded642c212mr20148331cf.42.1758935112333; 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-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: kXioh__MzaP5oQYVWS6SjlAlAqriSrrg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI1MDE3MSBTYWx0ZWRfX0ZkIOO1GX090 PphehGypTPKioAor/uzocBT4eb+2Zl+yakDVR6AbBqtF45Yg4BI6OdaGvyKZvunSOGG3evf/VQ6 cO/JGVWVgzTc3FvsaYPX0EwBUU88Qisj+wqPagOX/VsQHYj24rjuAOA7eDgjMI6zXr1if3uJo2R dHMlXOSf0bWAjQLxK/DbKyvu/EhzkgHAaAuMrH8/LwfHQBYEiT1jLwWvEL9/7sQY1vzaZ5IzkT8 qLSuZvqT6dtuL0oTvtX00T+7nrD4jvrG3kkg25JAcWRKg80ofUx2f6nWFejbyKLjdxfCxeQ0gfH 8FGW6OnQZpPA6Quj02f/D2yYLBogu21GNUUVmXtKmCg0q0GZlpMl6wZCZMbZvc+0kM6sbJLiyFT GVzDeuI9qPIo43R5KhiWHaMvatLaQw== X-Proofpoint-GUID: kXioh__MzaP5oQYVWS6SjlAlAqriSrrg 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 Status: O Make write_hdmi_infoframe() and clear_infoframe() callbacks return -EOPNOTSUPP for unsupported InfoFrames and make sure that atomic_check() callback doesn't allow unsupported InfoFrames to be enabled. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 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..219d826d535eb82328260c631e8b41f33a2f4c2f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c @@ -47,11 +47,8 @@ static int sun4i_hdmi_write_infoframe(struct drm_connector *connector, struct sun4i_hdmi *hdmi = drm_connector_to_sun4i_hdmi(connector); int i; - if (type != HDMI_INFOFRAME_TYPE_AVI) { - drm_err(connector->dev, - "Unsupported infoframe type: %u\n", type); - return 0; - } + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; for (i = 0; i < len; i++) writeb(buffer[i], hdmi->base + SUN4I_HDMI_AVI_INFOFRAME_REG(i)); @@ -60,6 +57,45 @@ static int sun4i_hdmi_write_infoframe(struct drm_connector *connector, } +static int sun4i_hdmi_clear_infoframe(struct drm_connector *connector, + enum hdmi_infoframe_type type) +{ + if (type != HDMI_INFOFRAME_TYPE_AVI) + return -EOPNOTSUPP; + + return 0; +} + +static int sun4i_hdmi_atomic_check(struct drm_connector *connector, + struct drm_atomic_state *state) +{ + struct drm_connector_state *conn_state = + drm_atomic_get_new_connector_state(state, connector); + int ret; + + ret = drm_atomic_helper_connector_hdmi_check(connector, state); + if (ret) + return ret; + + /* not supported by the driver */ + conn_state->hdmi.infoframes.spd.set = false; + + /* FIXME: not supported by the driver */ + conn_state->hdmi.infoframes.hdmi.set = false; + + /* should not happen, 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_funcs = { .tmds_char_rate_valid = sun4i_hdmi_connector_clock_valid, .write_infoframe = sun4i_hdmi_write_infoframe, + .clear_infoframe = sun4i_hdmi_clear_infoframe, }; static const struct drm_connector_helper_funcs sun4i_hdmi_connector_helper_funcs = { - .atomic_check = drm_atomic_helper_connector_hdmi_check, + .atomic_check = sun4i_hdmi_atomic_check, .mode_valid = drm_hdmi_connector_mode_valid, .get_modes = sun4i_hdmi_get_modes, };