From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0F248C02188 for ; Thu, 16 Jan 2025 23:33:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 79F0B10EA29; Thu, 16 Jan 2025 23:33:26 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="c7McL6+v"; dkim-atps=neutral Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2087.outbound.protection.outlook.com [40.107.223.87]) by gabe.freedesktop.org (Postfix) with ESMTPS id 43B0D10EA28; Thu, 16 Jan 2025 23:33:25 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IqBVZqHGM0Q3ck09oTq3PV5Al0qH8ND1WA+yL6EDG5GIHSTcA36OW6vV5Tu+cH8jB0ikcLji+GG1E0t1MlFe7YVbJtRe76xOUQjJrncJ9QS5ZmTz9/IJ0bkBMyunnH80GuyO5L9uWdmRUdHfFHNdoyV0kZj4oWtoV9H+L6K4QOmNvztNS9eAlHt8bCFV/RqBUGcPCa3g8dbS/yH8rn8ANI27e0aond9lpJNbcuaekILsR/iuXMs4H6zk13J4w3etA5fT9e61vOKvktB782eWaDFAyYglLhZTAFSbFJ/zynzVJUmPqfcptm6A2Ui7r1bRZKqCn1/9CXB99/yG2yCmvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9/dA50goZoe2C/ftWYFFnOki/MuQ586a3sSb3kMqo44=; b=Z27m+IMzH4guXgrF5O/YTQF9XMun8biFRJlqbJtyr/tr3+6YV8WhbmL5tqN3yApb2jCXqlbSwMbg04Bj5g5i53vCwVcKMvzJcsDPCURZzgfgCf9pvq7RG0HZN0HVVsuOY/ibcBJkv5uvwAWh0jshN0qwCqJAD/k4kI3El2oEU7PQXB2nG7Kd29fRyQoQYogP3ceipFH28BWS3nJPqRnvK1Vimoalw2rIlJvZfGQNN2k5v45wSOxF/RtHYdaKWvPIdX/pV/ru6lTqWPusNyHwP59SvcoyetTmkz4UFfguvCjuDma8HYOhJ8+NHmBj+cOBWKgJ8fa+5XTp7NuwmnT7pw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9/dA50goZoe2C/ftWYFFnOki/MuQ586a3sSb3kMqo44=; b=c7McL6+veIV9lmKP5YOAbPzmnPRMXj9oEhit0OYNrYbtVhy7/h1wYgP6biwZZSq6aBRXGoonVyRzcs+WMrabE+3jmFODfamLhZ90gLXYfNBQD8F9UoMnhkALgixgKl1irwZxp47snHaAmTSZsDtVXfW0nLUGLpuDaZMCbr9gXfQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DM4PR12MB8476.namprd12.prod.outlook.com (2603:10b6:8:17e::15) by SA1PR12MB8968.namprd12.prod.outlook.com (2603:10b6:806:388::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.13; Thu, 16 Jan 2025 23:33:22 +0000 Received: from DM4PR12MB8476.namprd12.prod.outlook.com ([fe80::2ed6:28e6:241e:7fc1]) by DM4PR12MB8476.namprd12.prod.outlook.com ([fe80::2ed6:28e6:241e:7fc1%4]) with mapi id 15.20.8356.010; Thu, 16 Jan 2025 23:33:22 +0000 Message-ID: <4d13fddf-d3d1-4e94-b736-e240a4ba8658@amd.com> Date: Thu, 16 Jan 2025 16:33:19 -0700 User-Agent: Mozilla Thunderbird Subject: Re: [V7 33/45] drm/colorop: Add 1D Curve Custom LUT type To: Simon Ser Cc: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, wayland-devel@lists.freedesktop.org, harry.wentland@amd.com References: <20241220043410.416867-1-alex.hung@amd.com> <20241220043410.416867-34-alex.hung@amd.com> Content-Language: en-US From: Alex Hung In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: YQZPR01CA0151.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8c::12) To DM4PR12MB8476.namprd12.prod.outlook.com (2603:10b6:8:17e::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR12MB8476:EE_|SA1PR12MB8968:EE_ X-MS-Office365-Filtering-Correlation-Id: 8b58c4d0-3fb2-4709-d995-08dd36862a6a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?M3htZDU4UUMvYVJHSTNWNjFXZ290VkNZcXVFSnlRRGQ4dUY0VUJHTnBRWHBw?= =?utf-8?B?VUxwY2lJamtHemdsVzNGdzc1OXdNd2IzVlh5NEJzK2cvKzJLMHVlTWZML0Ni?= =?utf-8?B?RThZdU5QTGtjZG9rVGdwY0drQnM5SFkvSW5UbFFoVFdLQU92VjJMdk1VWmpW?= =?utf-8?B?OXNOcXZwVVVLWEN2aS9rS1FvY0VHbGVkUXo0bEVhK2Q3Vkc3YjVTdDc2OUF6?= =?utf-8?B?UzVrQjBFalpaS25wQjlwWVdvd2hCRkE5RW5nWGQzcGJuVzF4OVYvWGx0OFFQ?= =?utf-8?B?RnFqMiszK1p3WEtGcjFHbVhncTF2OC9qT0ViZ24vTlBvd3RESmZkWGVSNG1G?= =?utf-8?B?ZWRVeHJFZjJ2QTNabmU2K3Qvam5nT0l2bnBlcFZObUNmU1VndkNHNDhvUEts?= =?utf-8?B?YjlVcjdiUE5IRFlVQTJDVUhhcVRXcDdJdmNRcGJ4U3I5Rm9QZDNaRnZ6azEy?= =?utf-8?B?K2QrTm1hQUk0aHk3YU45RjR0R2tFTUY0bFFkaS9Nd3k5UHF5NVZqWGhkMUNp?= =?utf-8?B?ODVOSzlpL3BvRDZmTExoM3pyenB5eXNKUTA3K0NsNzc0a3dUV1cxY2wvdXRM?= =?utf-8?B?dHpaV2lRMnQ3NUMrem9kMTBpTmYxcFZLOUYwMmdQMmtyeWUvelVQRU1lSERm?= =?utf-8?B?Z2RjR3A3bzN1QUxacXZrU3c5bk5GSmoveEp1ZXkzTjBWYk9vNm1KeWxQWnVx?= =?utf-8?B?U0llZDhUdUxSM1VJK2FxQWdNU2JtdENHT3pRcVNMUUZONE9vSUFNbmMydVA5?= =?utf-8?B?eUlWY0hLTXI1cFUwd0FLa3ZqNG41NG9zaitXQ2ZVY01ra2xNOG5JUjhqZUtl?= =?utf-8?B?OWxhM2hNZHQ4OU9aQXBCOXdDb1FwM0dDMFMxLzdtQmdCOEREQURQbHVDNUlW?= =?utf-8?B?YVltanozV1dCU3NlT25lN0tnNFduV2pRVWtBRnI2U1JhNHM0Z1JvRDU4LzN1?= =?utf-8?B?bnZjSlU3RDVleFVCUkRtaXNwUG9PVGNxR2xidFpiTkVPOEhXeGlsaXc4UDJW?= =?utf-8?B?R3FTTFJ0WDF4bnEzRlhFWFlBSEpteU5qM3VBZWpkR2VDS1pQclZaVWJ3Nklm?= =?utf-8?B?K1IrUXdQb2hEUzhVbjduOTA4eUUydEJ3ZUVxTHVPTWV0SlBlRmVBK3JFTGdU?= =?utf-8?B?Q242M0pRTDdRMDZ5U1dkUm9yNVI2ZFN3dXkyWlRvdEN2L1NvRzhycmgvdXJI?= =?utf-8?B?SGlSNXFyK1hHVC9SWnh0VGJ2R1M5TTFVa2tVK2hkU2wvK1pEYzhQU0t5MmNC?= =?utf-8?B?dWFOSUFjejFPbVVncmxDaHFMS2ZKcDd4Y0YwVzc1QUJXTGVBeE1SYzVjQmFY?= =?utf-8?B?RVVEODFrUHFocVZPY0xBR0ROU001dGR1NTFhVTJNWDYwK3AvYmdFSUxRbkt6?= =?utf-8?B?Zk9lM2loMDU4MWp4Tk9VQmkzNXZvdzAwRHRYZVJaOUlsTytlVFVyU2Q1K2ZW?= =?utf-8?B?cHFvUW10a3JBN2pYZElhMTdoYlBUNTRPalltRTJvZ3JSZTBsbW9XOFJDNXEz?= =?utf-8?B?bjcvMHRKN2xVNDVUNWJCWHlvZmtrMGdIaXBkYVRzNmhjdXRZV0ZOenlaWWF5?= =?utf-8?B?ZWJLYjVYWnFCaVZUV0VzY2hLSlBLSUZQTG12bEZ4VDRwek0wTmhkQ1FXbWxG?= =?utf-8?B?MWxqbjN5MC84ZHJyMXc2eGRzTXEwa2VwWmpzU1BieEQ5ZGVuYTJEaVVVcGFS?= =?utf-8?B?SUxhOHlTVmlMS0JHcWNYWExaNmlFMVN1Ty8yZ3R3eXRKYmVCMWgyTkhTNSs4?= =?utf-8?B?d3hPRTUxS2JwYjB2R3hKbzlZYytCNWRNaVprUW5NcHYySUcza28vcCs0QjZP?= =?utf-8?B?MWJJY0s0dElGTDdvZlhlNFd4Z21SSHFiVnkwNURSQ0wwK3Nqd0xTVXVTMStZ?= =?utf-8?Q?Q7SLVjiCQ7tKQ?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB8476.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YlVYQ0ZhMlNmeGc0WlFoVjdtQVNBWDMybmZsRHVsUmZHTkxrcFpWbzhBWDdX?= =?utf-8?B?WFh1RzE5cUpFbWt5WFZyMnhTM09VSVNSWlRHSjZaR1Q0azhKVkdJbndyUnA1?= =?utf-8?B?eEVxMkYxNkVNcnVDajhvMENOUjJZeWhHeWlnNWR6dUlxYTNnRVBROTh4VWtB?= =?utf-8?B?UDBEbCt5RUw3dmFQbjkxR2RuVy91UUF6RU5DTTZKVkRuYXd0MkEwY0NoK0c1?= =?utf-8?B?L3RZT0tXUCtKdjc5REVrNXpJUFE1ZDlMUzcxZ29HOU9BSGszSnFwUmNEUGNy?= =?utf-8?B?NW12dVN1RTdNMmNTMFFpc1JtKzY2Z1FsTnZYem85ZXplZlRESXpLSHJueUg0?= =?utf-8?B?VGxyUDNndHFtRzR3b0N4QTlteHRxNkZXbENFN2ovT3ZMYUlPZ25iOWxyb0c2?= =?utf-8?B?YjI2TTJyZVZYWXdsc0lubnNDQlZrdkp4cnl2anVPOUJlaUZVZUNZdjNRTTFM?= =?utf-8?B?SWV0VGNhTjlJU1NJODdLOXRIUTc1YU9CUEl2NlFSTXJRdk12clhUcXJIeFpI?= =?utf-8?B?M2YzZnlDRzB4eTRwNUtWNEVhMENuSWxtOW9hMmYzMks4TW9nZ1RYdmE1Rzd6?= =?utf-8?B?dm9XQWdBUEc5NHJmMVU0bGtqMHRURWlsTERJR2g2anFRMFZCUFphbVc0SkFl?= =?utf-8?B?N2tMYS9uamtXaStxVWJTYUpkd3paU216N3gvWVV5M1lreWVZVS9hdmhQWlhH?= =?utf-8?B?eENONWthWTkzRHVuNm83TFZZa3NsWkJRUW5DbTYwSVpnazNOaHZLVmhGVVh2?= =?utf-8?B?MEJJWHl1a2QxK1R3YW1CRFlpeFNIRnB6VnNEYlQ3Q3NNT0RseVBkdDRWZTBX?= =?utf-8?B?SDhxdWhNMXY4YnVpOU10eXUzWlpudENsYzZiU3FUOENxZm1oSzlzWkFIOVA1?= =?utf-8?B?dGJ2VnRpR1ZienJRQU9kc1lhc1NFeWNVK1hQRWJIeFdYajFLMUhCU1hYWHBt?= =?utf-8?B?RmR2QmZhY2F4TU00bFR5bU5YNnM4bXMwSE5sTHFUQkpLRm9rZzhmbHgzelYv?= =?utf-8?B?bVJ4K1FLRWV2dDdSRFMvU1A3cmk4WEtpV2dER2JCUGgzTEhwUCt5aDlHMkh6?= =?utf-8?B?d2lxTmlWOVZHTGF3MC9xMzBmcEZQUHVicmg3Vzd3TE5jcTdaeEtXbWxUSFBF?= =?utf-8?B?V2dsdURIZi94MUltWUdhOFF4V2Vrd1Y3aWFRayswOXdiOXBMTGsxb1F5Tk9H?= =?utf-8?B?dER6d0F4enlUTmRPYk5aa3hwNVFweS9XRy90NHBRV28xN2RPZFUxWmV3WlJF?= =?utf-8?B?aVBWVGY4dGpiMVJBUWVEZWpGeklzb1dkczRkV2RuUnBSbVRpazVydlN0MlVs?= =?utf-8?B?Q2VmdzZPcTd6aFJNdktDVjkvVk8xVENkNW9xbmtBODFUWjh1WGNUOWQ4MmtI?= =?utf-8?B?M1ZSYS9VK0EvWWhYcFRGMk4zUi9lRDBpd0F6bnBXL3k1VVUyUTRsSlI4OFRr?= =?utf-8?B?bVNrYXpNLzlXU0FLeVAyNDh3L1BBa3ZhbmdxcGhyRnN0Und3alV6eDNQRU1m?= =?utf-8?B?WUZUS2loZ01LVlJ0M29WQXc5VjY4K0ZQRXNtNFdpaFdoYnp0SlJ0Z2ttUEhh?= =?utf-8?B?RU9tamxSUUU2RitpcFFPa2thcnhmK0VGZkd2dnlCRktzdXJqQmlwajZhczhG?= =?utf-8?B?RnRYK3Z4SjdpbjZ6N2t3ekhkTHRxT09reVBQVXlLYzgreXp3dS9CcUFHM2pE?= =?utf-8?B?b2lrMHZlZEprTXZMbDF3N1FaWndQZU9KRUJzNU5lQnNEVjNxWmh0QldmQlo3?= =?utf-8?B?dXg1MFJ4SDh0bmh6Z3BsOGdyY09MRFl6QjRGc256bFp5OURIanY0QUZFTzZ5?= =?utf-8?B?ZFFyTXVqNENsQUxCeWx3elFDTFdxeExmRFpWdDBKc2ZVeURWa1JXbERRRlBr?= =?utf-8?B?c2QxVEdncy8xNHl1NGphSnpHSFVwc2pMYTl1bWs2dkhxREdicTd4TzdsM204?= =?utf-8?B?ZExYMVU2NERpRHpZd0lZUmdQcXF3QkRyWDM1UXdvYWQ5dDErYWFOS3ZDYnh3?= =?utf-8?B?YlBOYmJMZ2JER0hBeWdBSm5yTytDbnBteTZzQndVSVVNUUhTeHBBbDc4NXNr?= =?utf-8?B?elAzZHl2VmltTENqR0R6d0R3VVdHM0pMenYxZlkzdzVIWnJad3F3TGNGNGww?= =?utf-8?Q?vx3l0EYFU/HHdSyPoEnJZCtHT?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8b58c4d0-3fb2-4709-d995-08dd36862a6a X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB8476.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2025 23:33:22.3202 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qpCphu6yOSdnnZgxMGU+ezS8PRozkEKoq+IJke8nQrLkEBQnizqJ1rA/KLcYeYDo+d800wDyHLDUJvwcogw6Bw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8968 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" On 1/15/25 01:14, Simon Ser wrote: >> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c >> index a3e1fcad47ad..4744c12e429d 100644 >> --- a/drivers/gpu/drm/drm_atomic_uapi.c >> +++ b/drivers/gpu/drm/drm_atomic_uapi.c >> @@ -701,6 +701,9 @@ static int drm_atomic_color_set_data_property(struct drm_colorop *colorop, >> bool replaced = false; >> >> switch (colorop->type) { >> + case DRM_COLOROP_1D_LUT: >> + size = colorop->lut_size * sizeof(struct drm_color_lut); > > Should we set the element size and the number of elements instead of > multiplying? Or is that only useful when either of these are controlled by > user-space to avoid integer overflows? This multiplication here is to calculate the total size for the data blob. The user-space communicates the lut_size (which is read-only) without multiplying sizeof(drm_color_lut) in drm_atomic_colorop_get_property, i.e., + } else if (property == colorop->lut_size_property) { + *val = colorop->lut_size; Is this what you meant? > >> + break; >> case DRM_COLOROP_CTM_3X4: >> size = sizeof(struct drm_color_ctm_3x4); >> break; >> @@ -750,6 +753,8 @@ drm_atomic_colorop_get_property(struct drm_colorop *colorop, >> *val = state->bypass; >> } else if (property == colorop->curve_1d_type_property) { >> *val = state->curve_1d_type; >> + } else if (property == colorop->lut_size_property) { >> + *val = colorop->lut_size; >> } else if (property == colorop->data_property) { >> *val = (state->data) ? state->data->base.id : 0; >> } else { >> diff --git a/drivers/gpu/drm/drm_colorop.c b/drivers/gpu/drm/drm_colorop.c >> index 665b23900cc0..e6dea2713490 100644 >> --- a/drivers/gpu/drm/drm_colorop.c >> +++ b/drivers/gpu/drm/drm_colorop.c >> @@ -64,6 +64,7 @@ >> >> static const struct drm_prop_enum_list drm_colorop_type_enum_list[] = { >> { DRM_COLOROP_1D_CURVE, "1D Curve" }, >> + { DRM_COLOROP_1D_LUT, "1D Curve Custom LUT" }, > > Since we now have both a "normal" 1D curve, and a "special" one… Would it make > sense to change our minds regarding the naming of the former? For instance, we > could rename it to DRM_COLOROP_FIXED_1D_CURVE. Or is the current name clear > enough (and only the human-readable name can be switched to "1D Fixed Curve")? How about keeping "1D Curve" and simplifying "1D Curve Custom LUT" to "1D LUT" such as the following? { DRM_COLOROP_1D_CURVE, "1D Curve" }, + { DRM_COLOROP_1D_LUT, "1D LUT" },