From nobody Tue Feb 10 01:31:06 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BACFA19DF8D for ; Sun, 28 Dec 2025 03:24:13 +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=1766892255; cv=none; b=NfLgFgLRDtWlkaWts7v8LXT5HxuNLVV3uYH58SCuGr5c5xusOuctYOdNMM1pP7/J0s2ANIkpO92fvv5FH4t34WexoJgF51BNnJ1Jp1j8CxCesjivcMsqntg5SbekH2k6S085F/SxwwlJiZ/9djcw5Edsj3/gl3h0OelQ0hgtQ1w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766892255; c=relaxed/simple; bh=OHanLuFuc76947yU3WzGXKL8IflDYvhJa4SYngSj/Nw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uPWCUhAimlGlLQN/evrbAC8qOU+Z6/RbvxB7JBYwXn8LaSyl1sOmkczJVjU+p8TXdjkeKM00UvK4L4kaEBtQuzzZS0Sto8wbbCXFSFrcsfvc0HDpIJn75YfQHPpwl8N4E1liDjFaJicWXuflKEt2a9Wl3sA/HyzuVcRbcJNxU1k= 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=LxwRHhAb; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bCNpNCtD; 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="LxwRHhAb"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bCNpNCtD" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BS2wGPU1463480 for ; Sun, 28 Dec 2025 03:24:13 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= 1uGVNstsP/UQQcLwdrzkGVSuVG5G5/ESRhIQYzvPwck=; b=LxwRHhAbR7kpNG1k oms2nloI0pLtwFoQaJmmTFjvFi92tWj8FUVYjz1W+W3NtwXo19okA7TySOiw0ht9 xnpAnoeDIEzUv5rVFqrjg2jw1DkO61hqCa8hvExHqvnpEntFpCKkdMQaF3nTSGp1 3BSwtU0w/xiSSCZofFTW3/eQW7hqZeb+QK/eDGZbCmbCav8D63Eu3KiR810jGSHn Kznsn3ddn8k4OijP3hvtYvXG/pK3YwSHJcax4mMHHv6vNPRhX+vZFwjByPzBfiWk ePcYWAuic3vIkXCJsj1nT6EmPw/ohvDyT8Qt2EAfPEZXOeNC0Ba+GpCz3FF8P5Re Wd5AyQ== 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 4ba55e1shr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 28 Dec 2025 03:24:12 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4f183e4cc7bso153619831cf.0 for ; Sat, 27 Dec 2025 19:24:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766892252; x=1767497052; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=1uGVNstsP/UQQcLwdrzkGVSuVG5G5/ESRhIQYzvPwck=; b=bCNpNCtDw28Je8D24l7hfpAGj69gfhTj+hdSWJdpGcEPsPedNK1DrjZjSi+/YU9xOQ nUQsYclGZbrlBu39q1KBCG+CKeeNB3f2H9fBQ+NImSrIhmdbOGRb2BHmCFJILf96tHF9 way7szYe02XXslbhm1GX1cwSm1Im/TVM0rRaTYppkb5zKYjccxVuBrZHs3Bs15HlzQEG +xJYLGYfyTsMFPHp1qrbWVy1IS+8NKUpkz8qtmhyg5c0CuZl950W9fB6flEmWR/PtqL8 FPleB3Fr2C7uV/RUamR5edfd15lb3Q3pPJ+SEcbGRSWPqdT+m66jEwhAMx9bgSK2ZfLs nZ3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766892252; x=1767497052; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=1uGVNstsP/UQQcLwdrzkGVSuVG5G5/ESRhIQYzvPwck=; b=aRrBrmci6UXbMVvmBvNjmj6q+8bHYAubOvpYD3h34yX9gM4qk61AsBY4a02Seix632 xM/zvSrS6fLO3Lh6/uQpfatfv5yd0E3xCZmySPeiQANW2jeGIdVRQeghBCESuYtyfmvH AHeY740EmyYy0EIGedXN+pWJogbS7ZkTi/HPgySiiQw3hQBMd4Q/OFSoD6RmRRhwDstq qGEb7rXdmb/oZfkM/3V4J0p2Ym44SGBiP5JT35W/j8YKEEYAvoEkblfCcwpZjVjxad4C 7u+FzyRRf34NO1rdn5u0BMKTf7kDHS1I3IReS+5sxAttiG9eW8pMKI2Ka7XSkHHAXxxq 1Atw== X-Forwarded-Encrypted: i=1; AJvYcCX/Sd9Fjhdro/UF3qq9nF4ac9VCqZBJ4hM6ay6jSAEvg1Z/Sw/WBfCUmv8Cr2LZAknsPD9zOlW2bW0x8kk=@vger.kernel.org X-Gm-Message-State: AOJu0Yzds5/+/8XPeeXHRS/z2eM2vZ0mE7HbQd7b9WWRagy0rCzSyAkW QHBuARo2C8U1GS7oOe6Xj2DI/N38/gqtD9b3iuwwd1Dxi6NSJwFHN/PNkSZhhoSt795Zc9Xe4hK x6RVkxDxMskrsgkeO1phixaLIF8koFThowYZcC3DvaZQjep02GOw2Hd2QwpkBgRAizQo= X-Gm-Gg: AY/fxX4Xmtf3EE+b6R8irtX/2npK7S2AM9780kxrVcn0OicziSHJdsdYu1YpmfVjA2P TYxCFLCZ5Lp9XA27YtZ1ySSjmwfDEPbnGyRxLPnVIwb8dgcOF71DZbE2G2/X+xSqUAjOrbQfN1H HhFXU92FaixClF56kkMtJByAk5y5CR9UJZFj2RbC5ZgM/lyJNpNsTog8qhUBnG6Vfet3HbR5YKP 85uJlXHd36gSnTolZI1vfzwKrvElKSOG/zhkGVEa1iYYaoKz5On8pOrB3aGE4NE5ThQcf59DS0x D39EYqcM/t6ThXsBx/pODDBigOZVFlyIRZA9GWp6AxtB6FkPJUhmoz5A2YZQz3Yc3petpb2QsDP /PeZM3nTGyOF4koQHp08RQyvI3idvoATI7y5g8OJ+tUKsjyjvT0lqfcdFokZyrBKjpVaQ9KK4vd DTNk+fZbl5jzhcPtZPuPmr0wY= X-Received: by 2002:a05:622a:52:b0:4ee:2154:8032 with SMTP id d75a77b69052e-4f4abccfbf9mr411437661cf.6.1766892251882; Sat, 27 Dec 2025 19:24:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IHym4jtd6iruY/LtoXO0zkBjy8zwwzIIzsS7J759AFgV3YE7d2JZ9pTxvrevNx5At1xnVelTQ== X-Received: by 2002:a05:622a:52:b0:4ee:2154:8032 with SMTP id d75a77b69052e-4f4abccfbf9mr411437541cf.6.1766892251396; Sat, 27 Dec 2025 19:24:11 -0800 (PST) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-3812262b36dsm72149561fa.30.2025.12.27.19.24.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Dec 2025 19:24:09 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 28 Dec 2025 05:24:05 +0200 Subject: [PATCH v2 1/3] drm/mode_object: add drm_object_immutable_property_get_value() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251228-drm-fix-lut-checks-v2-1-50f5d1a260a7@oss.qualcomm.com> References: <20251228-drm-fix-lut-checks-v2-0-50f5d1a260a7@oss.qualcomm.com> In-Reply-To: <20251228-drm-fix-lut-checks-v2-0-50f5d1a260a7@oss.qualcomm.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Harry Wentland , Leo Li , Rodrigo Siqueira , Alex Deucher , =?utf-8?q?Christian_K=C3=B6nig?= Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2687; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=OHanLuFuc76947yU3WzGXKL8IflDYvhJa4SYngSj/Nw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpUKLWCqbtmVXnOVqIZM81gDqoe2k/c0O8gLZ0n bForL4+rpKJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaVCi1gAKCRCLPIo+Aiko 1WTWB/981hNSUmln3Zng5VlQNM/WADygi9G5h+qTQET3GiZ+0xse3xCVH5B6wPb3tfWauiTsB1V 1SY4OuuxrNu0qppPny8lc0OTl5FmYweB8YbelQeVDQvgZInG4KZiyZcPVJ/lS3jS3rOzOfNwdq8 P/nKrWj56IWQ0hPTuBLCD+DRs33SgtkYHVz0cMgJ607UzUskSmYpnCcIEibsUMFM8LAsv3lWcRc sRoMMjTeLtDhGQj85wzbvKGy9MUlty1R/B0wqUu3om5EW0HUp3fGdjCmqNHlOn41ATNSumjuAMj 1VJEsf9NVOmftK2w6E3K323j39kVG3EWuoESf3hEp6CSOJP6 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjI4MDAyOSBTYWx0ZWRfX8CLtj/BcIZuv 8NHfP7Hv5jpJPSlc+Bx+v4NK3ou8WRlNWv9PfJajbkcw2BqN3aa8t02qGqct5DnYlCJ4vVUE7Wd U0yfYNkRCXayFPU1hf2yY28T/JUysiQevWENqu7sVivIMFJn9VMIiflrFPKGxuWSRkP6gjbHA6h 2kQeCQJuUf5g92B2ogUrqKBTb8lyhj0m5f26v0LDi4G3m8dbq7RJa+iJZPgXzDq/Wd8Ld8gvKU4 b+PWFQXatGWWXCYx7r4Q8YfECuWxiA4Vo3PRVxpcFofO8I1UJ8R0YrJW5xl6KOzyKPivNbBV+bY u1gr5gJBdi57ZeUWGNyKYPI9kKZPUonbCEiLYpW+wxrzmYJXrUTT4qyEo/y7Ty75NtiYaSypkBC xnOrbbZUHAnOqneKyz0Ool4IklTI8S1yi8JHuDe/motaMMbRR695DHXY+5kR2QAISui8Jgz2wIH 4NDjIVwJuXBHN4k28/w== X-Authority-Analysis: v=2.4 cv=UMDQ3Sfy c=1 sm=1 tr=0 ts=6950a2dc cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=uUhA93nX2LN1thLMeo8A:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: CYcrVtt4c69uTCK-Q31oiGzX7qBKbDxt X-Proofpoint-GUID: CYcrVtt4c69uTCK-Q31oiGzX7qBKbDxt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-28_01,2025-12-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 phishscore=0 adultscore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512280029 We have a helper to get property values for non-atomic drivers and another one default property values for atomic drivers. In some cases we need the ability to get value of immutable property, no matter what kind of driver it is. Implement new property-related helper, drm_object_immutable_property_get_value(), which lets the caller to get the value of the immutable property. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/drm_mode_object.c | 25 +++++++++++++++++++++++++ include/drm/drm_mode_object.h | 3 +++ 2 files changed, 28 insertions(+) diff --git a/drivers/gpu/drm/drm_mode_object.c b/drivers/gpu/drm/drm_mode_o= bject.c index b45d501b10c8..2d943a610b88 100644 --- a/drivers/gpu/drm/drm_mode_object.c +++ b/drivers/gpu/drm/drm_mode_object.c @@ -385,6 +385,31 @@ int drm_object_property_get_default_value(struct drm_m= ode_object *obj, } EXPORT_SYMBOL(drm_object_property_get_default_value); =20 +/** + * drm_object_immutable_property_get_value - retrieve the value of a prope= rty + * @obj: drm mode object to get property value from + * @property: property to retrieve + * @val: storage for the property value + * + * This function retrieves the software state of the given immutable prope= rty + * for the given mode object. + * + * This function can be called by both atomic and non-atomic drivers. + * + * Returns: + * Zero on success, error code on failure. + */ +int drm_object_immutable_property_get_value(struct drm_mode_object *obj, + struct drm_property *property, + uint64_t *val) +{ + if (drm_WARN_ON(property->dev, !(property->flags & DRM_MODE_PROP_IMMUTABL= E))) + return -EINVAL; + + return __drm_object_property_get_prop_value(obj, property, val); +} +EXPORT_SYMBOL(drm_object_immutable_property_get_value); + /* helper for getconnector and getproperties ioctls */ int drm_mode_object_get_properties(struct drm_mode_object *obj, bool atomi= c, bool plane_color_pipeline, diff --git a/include/drm/drm_mode_object.h b/include/drm/drm_mode_object.h index c68edbd126d0..44a0d6f8d01f 100644 --- a/include/drm/drm_mode_object.h +++ b/include/drm/drm_mode_object.h @@ -133,6 +133,9 @@ int drm_object_property_get_value(struct drm_mode_objec= t *obj, int drm_object_property_get_default_value(struct drm_mode_object *obj, struct drm_property *property, uint64_t *val); +int drm_object_immutable_property_get_value(struct drm_mode_object *obj, + struct drm_property *property, + uint64_t *val); =20 void drm_object_attach_property(struct drm_mode_object *obj, struct drm_property *property, --=20 2.47.3