From nobody Wed Dec 17 00:14:33 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76B3432A3C2 for ; Wed, 10 Dec 2025 19:43:04 +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=1765395787; cv=none; b=rI9Ush92EypVXiHTM5SpKMisHvNDxP1nN7VvrNPErv2iWCvg6AhaxTmDETewptZXKZqXgGeJjT1nHetbuRqgJCJOh+19ZWUKqLyS5tWpf3W2NeidjM3g1FHp6mPI4qtQkds7kbVk9NhqbrKtEhlutOLb4kQ1b1Av/R2qYt6YCto= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765395787; c=relaxed/simple; bh=84spwcC+GgCGcy6iJaQp0NhNe6cV9oQI7NsJIN80HDg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GfdBh8NnyqkIaARwuB6zfVx7+8GX8Xqm7X1X9IyCuLtxUu9qXA/rAJZKGRfIpvtIKlpjhL3nr9ip26B6uPk3icJG+HrcaxdXqo6wnVbn6LQ7/WZ9f2DbfAFpu6mB0dpQg2VOPNRkJ9hRrgUo1i1qfWiFAGdRoFNwfkZy8KFY5So= 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=IfGcGQaF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DX3H7BAF; 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="IfGcGQaF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DX3H7BAF" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BAIRSeu3192563 for ; Wed, 10 Dec 2025 19:43:03 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= ryq28wshLI0oIjJ4PKrZBvj5VmkNPho6G1e6vywuGjk=; b=IfGcGQaFGSoAHFkY +Bdz88h6xLBPeCkhZrACck9CpPp3PcNndJfWJ0cPM2kSMViBgxxaj6ym71aAVqKk IyNnbjWcf/oY0A0oEQE944GqVbHtUizt34we/1UYiTJmuq0qUx81vCqbWw0NOdfn RWyJhZLeBgVUIRnUzXUemroSFfUJObYMTIe+kkIdctpE3nGc7dF7xKOxoLdc1GBT p++oxTOdq6ab4+g0jLCaSJz+7UUeWbJzPgFh+zl0SbVKrOJ5uyOHS6a39SG4wrl8 ICSr7kejZWIxNY2fdlzoi0+BL/S8CT4J4Hv5BSxeh0TLECvZpiVaHJo+1qot9n0w ZKU4rA== 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 4ay505j9qx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 10 Dec 2025 19:43:03 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4ed782d4c7dso2559811cf.2 for ; Wed, 10 Dec 2025 11:43:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1765395782; x=1766000582; 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=ryq28wshLI0oIjJ4PKrZBvj5VmkNPho6G1e6vywuGjk=; b=DX3H7BAF+Uwrd9t94cOJQJGNm2xT7zpLV+ZvDP8c4qFPla2tef35QHNmCRsU4R/pJi Tgr/XlcEsPB7ZBlf36q2ah4lwybfhWvEhsMAIV2cuYTMTw1+VBNkwfqFnVrNJMTNByJl sS/88RAUEZVrbwJGITE1n5FLPWnOy0+vR5oekvA+02MyegRfFjFH96Oh3xA6/vAmCWJm 7dEE8ctp1VEob0dhZ3Oyr+huqd/Aw3/uopC4PTOjfbZXnHuCNYBllcEAJ3tUbgmoUmJ9 Qn02D61kTyqN7IdpBiLi28UELJD4LH4fcIY0KwTeui8i5t1qSDLq0jjkLRPydkuvTg/V Eo6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765395782; x=1766000582; 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=ryq28wshLI0oIjJ4PKrZBvj5VmkNPho6G1e6vywuGjk=; b=iaBoJU4YSVpNgFPgUENmV4JRF28FNDoRenOyyj0Vfavp3KP+/jhGcfLPSSOyIy5fcf m6u8Niff837Onup5Nrlykvvu8lJEwEJz7tDjnYikh3QP3OAakw22JW3tMT4xj/MXV32Y bq1w2oPzKdDN551ZHtwVNQ04WTAO1Mb5XEOco2R1XdKOD1R5v4eiFA6uABSpZbbbqtaB A6Qv8Mcs0idqkDkL0tIWx9M0ANSZn8aCSvHshWiV60N508ZqVTpwmaBGvKTAZf5hik2j sU6T5R1JhO4oE9kiYISmSuEYYytZmJW+1ze2qeferB4Gy5ht9SRh+kZuZk7j0FdJn2kz u2DQ== X-Forwarded-Encrypted: i=1; AJvYcCWHGiBXSxc+2ZvM9MhV231u7vHbtvCUUU7b9JLGFU2TwyUWpHc2qY33T9b76Fu2IZ8eyZx+HSUUnlV/qfo=@vger.kernel.org X-Gm-Message-State: AOJu0YxjYmswbaFSfGq464kExIwPBmMtHCYIEa3f5HF5wiGGdTFW4MKp sITxylMqwUFxI6QOgpgolkdks47nDR7GpUhukKU9vhrTEoAmRnNLgd7iktf/PgCw9qQP0P3KGwQ XaqYGIzfxvDeLVtnfhDe0eDY5NqeQVO0a7sOBsg/xBo+5Y52oP2v+KV7Vh/V1Q0CJCNqI9ZeHWQ 8= X-Gm-Gg: ASbGncv5rNHQpgU0xFYV6CdXbE8nd/IRbn0h4KC5YlIaocLRzhD1J5Fkw38fmLn0aAS TpUYYGZ+CSHPuxF2qDBCcSw1YUNQewR0PR6ToUlvHBKlRra6a5X+UxW8HsIr4/lT1WXMtZdyDzb oEr8i575DxAZFb4spEJU5RFVjISBUVZC6PZZxSLiJlNO2IYQ1zQd+6OL9QptWPYLGul06m5h6yZ OagihOxPc2qG76XOmijg17cbR0ghprdmOXSu4+i+6RJO6TmRhXRTBF/L6oSWYC8n4WZ8X+hDxZf ecGI6Qq2LtxO8lxDKHE4/2W4vPtUq7rNb2GAPg7xSgte8rKwr3z8hBVS/VipJ/haGk4UDOEaOxQ D9pqvpIlxjoXGfHAR0efoM+/UybaSJ7kgKr3Xn9WHNeFhJlRtHViCCDyZT1b0tgYT3EZolEpMqg TXFepDek6Acg+SI0Hks+RBKyA= X-Received: by 2002:a05:622a:4d8d:b0:4ed:df82:ca30 with SMTP id d75a77b69052e-4f1b1a4441fmr44110961cf.13.1765395782092; Wed, 10 Dec 2025 11:43:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IG8Leq08Gnm+xIOjQRDoPg4jQIGdReNJ5+WQmPnyY2bqpauNc4t6EMMxDDUIMcGNH0IxdK3MA== X-Received: by 2002:a05:622a:4d8d:b0:4ed:df82:ca30 with SMTP id d75a77b69052e-4f1b1a4441fmr44110611cf.13.1765395781625; Wed, 10 Dec 2025 11:43:01 -0800 (PST) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-598f3199e93sm104845e87.96.2025.12.10.11.42.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Dec 2025 11:42:59 -0800 (PST) From: Dmitry Baryshkov Date: Wed, 10 Dec 2025 21:42:57 +0200 Subject: [PATCH RESEND 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: <20251210-drm-fix-lut-checks-v1-1-10ae38519f43@oss.qualcomm.com> References: <20251210-drm-fix-lut-checks-v1-0-10ae38519f43@oss.qualcomm.com> In-Reply-To: <20251210-drm-fix-lut-checks-v1-0-10ae38519f43@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=2674; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=84spwcC+GgCGcy6iJaQp0NhNe6cV9oQI7NsJIN80HDg=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpOc1B8K6ZcH9AGxBj1wYCLCUEBFjES9yOWFJCd h15qndfCVCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaTnNQQAKCRCLPIo+Aiko 1eNBB/9mmJa+SoiCqubL6XwCu35MQeMCvsZSyezoTRIFzMWU+RXiMp65olwThsJX30j7QAoE62W 6HeSC5PLSjTYmHU9xDc1knqb8PJsL+9S/kmPBZP8otKlBgPME8uv6PVG9etXNrAz+XEHCyAun+c Sv0N9yK28gVvH+ocJQPTSClSG03fiL1f1NfxljZNKK32G/71jhJiZ+/t9/vMWHbUFvgB0rW8WSd btYC1JzDRwyz6QznNlxhihVta3VR5KZQX1/VPW5MTPCmDOsGZJs01isKALrvIfRXc+UIbsbBIrW gwmKkcyKzx+3BhRkAlORsJmB2xTjzzOM7fuwJIYXxzECRJH3 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: 5ZzvVI3lhcICYsEvReiP9_h7NRfxXrJS X-Authority-Analysis: v=2.4 cv=Bu2QAIX5 c=1 sm=1 tr=0 ts=6939cd47 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==: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=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: 5ZzvVI3lhcICYsEvReiP9_h7NRfxXrJS X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjEwMDE2MSBTYWx0ZWRfX8eBNaTpIJ71z RhmmX2hxHZPIKIy33a7XWKQstTokSpjUNjJ8chrAWnmvQGD8GcbFYdavq+4uOBFhcmusvAwTeHD 1owGAVuVPR5x7FaTME3DWr1E205+5SdJUKfMIt94ZmFGBJQScK7DM3MIyQa0F7dO9xfKL8r9LN1 tm2TjrybxlhmuybnXOVMMIudDww5AjcL9svTwVuxmyLS9lNEwIxWiJDHFRoiBB8FfynsczgVbJT jp7NQt5+o7JIz+B/eO3KJPHWuS2fQ/tn3slteorIFDo/vDJEzm9lQ6VZWC9a/xEYRuYikDxXanm 3ucHE1A/LkPQCWOOOqH3bSbChEG4WxF+5oEghHrP3EWqzJyaNCN70HSwnOSjBQRlOhkXvLKolCs T80UIHVLmohIUTyBQ5eeSlu4K/J6AQ== 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-10_02,2025-12-09_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 impostorscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512100161 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 e943205a2394..ead8eeafd012 100644 --- a/drivers/gpu/drm/drm_mode_object.c +++ b/drivers/gpu/drm/drm_mode_object.c @@ -384,6 +384,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 softare state of the given immutable proper= ty for the given + * property. + * + * This function can be called directtly by both atomic and non-atomic dri= vers. + * + * 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 (WARN_ON(!(property->flags & DRM_MODE_PROP_IMMUTABLE))) + 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, uint32_t __user *prop_ptr, 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