From nobody Tue Feb 10 02:43:55 2026 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 E1FD02248B0 for ; Sat, 15 Nov 2025 03:43:01 +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=1763178183; cv=none; b=h1J3JcOIOOwRd2b8TNmFsrKpvIams2mZPbfNiuoivpvs4zV1HdlBxKy5OjIfEYbRGTwMgJZl+Y2dPcqFs8vnZqV5Weut6d7gNtS6IflN4kiM85YEXNmF7I1qsYn5q4oUDTUg5rgALlxEkcbwafAJzU8pdwVPXIMyob74OJbGz5g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763178183; c=relaxed/simple; bh=sd03B0iyMcZ4bRpYzJ8B3NHXcAQ+vhzF9Y936LF4/JE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ilQ6LLjRFdBed6L3qlB4s7F5b7zrsqRHc6j6hEuI5GdYhA2uOZjwjywg8uP4ePYbe1xSGlsMOrA76gPpvfOfkuEE3+y4MsvWWWwV+1m1Be/CUbcG2LblA1x6SJvNzaBVu+iEip87cG8oGvxefv8inkgil5+2ad+Z0djmShSuXUE= 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=nPE3C7Y+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EElIRMdV; 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="nPE3C7Y+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EElIRMdV" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AF2poKP1501969 for ; Sat, 15 Nov 2025 03:42: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= wT7UUFJeF9mn5pIiD4ANC//sSw0eeZrazvonDtQ2l5k=; b=nPE3C7Y+WwNMxcDd VcbZKN5pGId/FkrF6+8vtv7H3aALmWVblX5ADLOEleC1tyLU4nTpc3n733hPzqE2 Hegi9dIm9GzULEqdeznUfSkU9Uru2ZkXkPRRIWDArLoawL8Wnx6pYbCKxEHxAVnu Eu0BkP7yF6YaKC+LCVG63cG1SjyHDLT47NWHgpCfs25YwNuSwr2/HftYVR8ZMIoE NuHcf9oid7pLwSLCUKBy5qY+s9M1G9qTOZTkRcVA5sN//DnsM1eEUOGbMXGApC6c sf9QdYlA4px4T3QXm1/KbQPvNdY/yJyBUwf6DYpB8GR2GO4H9zQSqNCQJr7Cvv8t HivNpw== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4aeh3x82ma-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 15 Nov 2025 03:42:55 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4ed6466f2baso76588031cf.0 for ; Fri, 14 Nov 2025 19:42:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763178174; x=1763782974; 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=wT7UUFJeF9mn5pIiD4ANC//sSw0eeZrazvonDtQ2l5k=; b=EElIRMdVdBdePuVkdwR8wb/+2Opa+cWyUSSYBs0lOYwtTSQ5RR+P250hqbAaL2Dzhc IPS5n0m1Il4D5EfX68KIRPkXUXJpMR8lhvf0gufzicCjVFb+es6u54pysuEMlA/YVxA2 EyLTmdfYZ/CFkwP+aouHbFo6HhnJt2LIxWDv6gOQBxklpRBeQ/sJAatdJsF72j6Eyh3I jrem9zO/8Ay550j261mJdzxb8OYkS7YyJWABXKyR+K4a5wWBsIG/Xa9hlUE5VBFr2xdw 1TFtGJZ8yj22DW43D6vO+wzv1eS/pPEDbuz07gT88EFf7FhGumKx0l79+H3Hxu2qWdBR Q6BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763178174; x=1763782974; 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=wT7UUFJeF9mn5pIiD4ANC//sSw0eeZrazvonDtQ2l5k=; b=rlOd3u0GzqwzagU+Nhg+bzfWClI+7KFDoO6DUufzP3IRuvvsggY7CePYmNLBa8DgN8 mfUGziGD+xW1tXJJ6DMqfgetE7egqylKOXkawbGBfaSRl4OIl95KEtur1gUxh29WQJ5x AM0bJ25OV6jz2lCMFrewrIG6kL+IEUbOPn/ULR4ycVzw4mX2rLTmo/UiL7lNOaGJCPN/ mnvdbweIeSdlCbmMQpPO2yBbPuMfV1WGEJ5/yhGuV5/VeM2DJi7vKyvmgap27N3bMHXY Vv5hQoGZyZ0qDkLcPzHRCb/Fab9JvsIqqcdS7XXM9QPrRpo233raTzIibkA4g6s6ZtTV hGsQ== X-Forwarded-Encrypted: i=1; AJvYcCURhTcBSxXJ8n8S8Hz41wpYRytDNf/tcpoLq5bejAok9PsYBJ/3IQoEx7/j0Sa93cOqS1mB26u4nhWbKD0=@vger.kernel.org X-Gm-Message-State: AOJu0YyT07ByJA7u0zBZx9A/xbqO2sBoiWPWMAxJIaVRMTl+0i2q1gPa 1uFjvySOfiKbeGT1usuIJjBbpWEOchdgp5t0AwoPJAVDqKpwkxlfuLwyqwJgXKQWKvuHZsX4jG0 WHBU8i4uLsRStF9KMaWtke7oFbF4GtPvKiCrzPMrzh7vPqXxmJS6NIv8VacKDkemOGfg= X-Gm-Gg: ASbGnctR38QkapeUqleXVU8iHLyPULVirZpFhgJQnUm/Efcdk0Y92w8qEDP2XKwW4lO bU7omf2DTymw4hUZg40MWGwQe9BWbh2C/kn9QZlrvKR8FXHVTqJp8tP8TzegVih/nJbCYb6xGAN r2X6VaQlZRfWC4KXgJqqVfUapkaib0U0BI5hZBKkwxqFXlpWv4KLcljDylw0+0Jjl9nLqTnky3Y zCGPRDxtpQS2f7Ik9Ab27EXk3tWl5HPbGQAtxY/ihqv5F4sH4pUHg1AiFmLJVtG/fpl9560+Vkq /Q4kQ9v1d228cve/j9oTFAT71fONJPyZWxSBBfvgPTSbiXhhqz2jwgplGDR3BXN2TZdPIJhH54k jFj23tEbl2FxKDFOwrzrxLf9J30AvpX1hpo0/hXc2jczmjAmMaGjRU+Siu5Pu8TFPtApxe5KxEU 32J3+ZjkyvVIA8 X-Received: by 2002:a05:622a:3d2:b0:4ed:b4d2:bb1f with SMTP id d75a77b69052e-4edf215d86amr74148501cf.61.1763178174358; Fri, 14 Nov 2025 19:42:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IFRpgJMMIbQfXn2B+yE5Q7cHj+2bp0JKnB91uXEQcxd0UHF9SIgkPuJeRO0IpkL2Q1fqtnrUg== X-Received: by 2002:a05:622a:3d2:b0:4ed:b4d2:bb1f with SMTP id d75a77b69052e-4edf215d86amr74148291cf.61.1763178173856; Fri, 14 Nov 2025 19:42:53 -0800 (PST) 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-5958040578fsm1475880e87.78.2025.11.14.19.42.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Nov 2025 19:42:53 -0800 (PST) From: Dmitry Baryshkov Date: Sat, 15 Nov 2025 05:42:49 +0200 Subject: [PATCH 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: <20251115-drm-fix-lut-checks-v1-1-3586f5855bc7@oss.qualcomm.com> References: <20251115-drm-fix-lut-checks-v1-0-3586f5855bc7@oss.qualcomm.com> In-Reply-To: <20251115-drm-fix-lut-checks-v1-0-3586f5855bc7@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.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2786; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=sd03B0iyMcZ4bRpYzJ8B3NHXcAQ+vhzF9Y936LF4/JE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpF/a7Q390bzLrXrqU/SiCZtrKXA/1yNIqEBHBm UicFYwms5+JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaRf2uwAKCRCLPIo+Aiko 1a+aB/9LsO4ku/AA5NaGv9eaRTylr7bCF2cfqDSP28cQvEKbRuHYL/zAI1nU7Phf3vrpt04ZOzI HlM9PzrgvLuFvAyJewHxiIiDhdY1pVZqN70kwtvCnddMJ6Zf2H/qAfkENJepxI2+R1RhUzlJ+Lr WdX/8Vzjv6AWTLp/ixLnQHuqHV3YwbVEYHe1xGJk24qmO4Ulnnk3U+kE1VYMhNf9VCxM5X4ugbs DEMnNX2sbV/PC+Z/ATLY2MM11yDGMUIjnPlDplDSu8WDDINgQALCWoB30iLuriU1SoykBaZttCY iRK5t1YD9/lKGYFwyddW1sHFPpTim1NxZ0gbvfDU4puEa0On X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=Fek6BZ+6 c=1 sm=1 tr=0 ts=6917f6bf cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=uUhA93nX2LN1thLMeo8A:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: f1vrtOCP43y4KyMMJ7Scv_obY19tpFD7 X-Proofpoint-ORIG-GUID: f1vrtOCP43y4KyMMJ7Scv_obY19tpFD7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE1MDAyOCBTYWx0ZWRfX8MMgRaR9hBOu Ku1DLkUYK5DkJWlDVkhJ3muBJFlMAoIe+BI3+8DckltNMw7VIsTDNxz9hix0lVnTQTsYI0kaQnz suqO9ZqURiyG9nr7RA2V3i1SJW6mjUr/vRe/ZvecE/H+u6zQXOvOWCZ34JlWaGyTTvzb0KPj+RQ DI00sjS/cVsi8UANfnVRq695nnpHxDrVn4MpOuW8WTDVVWVrwhgD+Un50mtI2Ou+z19Z5gZF0bI q2x3xTb8gMVTz8Eibga1IMkWXRXwS+NZv7Ojo6HAKtVT6IebkMFfltc6dkYf9dq0Bg9/HSDYDkl jGD4OuZSj4tEMANg056S7VZF/zUdnmwCiIFe/LML2NTqrjfoSsNrqI7zORpcAfMo5nIbp9oIAKx RrsKAl7NF+Kyd7ZHczaCvIZMR+WVpw== 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-11-15_01,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 malwarescore=0 spamscore=0 bulkscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511150028 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 e943205a2394cd9c0d64b940a5e15ccff7f35246..ead8eeafd0126ee2028efc3ba74= 7d37307e8d72b 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 c68edbd126d04d51221f50aa2b4166475543b59f..44a0d6f8d01fbcd9db3dc2d6d37= 4f185459ae879 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