From patchwork Wed Oct 30 02:21:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ming Qian(OSS)" X-Patchwork-Id: 13855864 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 33142D74957 for ; Wed, 30 Oct 2024 02:29:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-ID:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=z3oKuxRFkA9yHb1hrfi99zYa7fO58IZs40h8sxAWj0U=; b=A9vX0BP2xbX7/Im/uvQh65qGpY lBCkpkwfyiPsXPTBPzpZWZrLmdFsdLTdH6U0LhjVt/tbaW4fRCEgO1CC0Lb7A5SJ/RKn3NA1K2PwU 5KTGuJjZF5jjcGvJfMnAZYm9nvP4g+iNgCAyXLTVr4z/HieeGFMF2Lc/MmMYFc3ZXPWeF0vb0M24R UeB8jLr5ncb9cy2v+HwYRE7JBBDsOFxbkBh98Jdm6bQRq/+eBKMqTYqqAxWISyd7hxEvhWmBKmQQm rfWpI9mHrR0qS+g8i8xtI66whBsu0ce/ypQHv5xz6KIWRwqm6UPpYr+1ks4lx/jM4wyXRVDTfuyvo EBE8MF0g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t5yS7-0000000GWJZ-3i07; Wed, 30 Oct 2024 02:28:55 +0000 Received: from mail-northeuropeazlp170120003.outbound.protection.outlook.com ([2a01:111:f403:c200::3] helo=DU2PR03CU002.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t5yLq-0000000GVid-1BEh for linux-arm-kernel@lists.infradead.org; Wed, 30 Oct 2024 02:22:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lSQssZqXqbI0qDOyM8uzpTIi0iMbHxFYzdwWUug2S5keewRsfPablThDV9AfzOpkhYDu/qc86Lb8JpdYd9Zpo+gZWH8UFSUCHrz8ERH9l0SigoyR7vgSK6KmHQunOzB06Hq6ow5vRiQSW5bPkAFNxauQTjhShXzy6zfWfaVfk46IqTqpLVMq2hkfBIYBCxMhQPsW8xxvBrQWGA3qbX3v+OQud2zvzVqt98NdmJ4xGr39xMezQeVgMbEs55R8K248IF53T0NyejT7E8InZAl/m/2zxzMc36HsTu+GaS8FyDKZexdh5f1OAXSjMYwPRjrvV6PPsbaJaMfMD/ApOmIwjw== 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=z3oKuxRFkA9yHb1hrfi99zYa7fO58IZs40h8sxAWj0U=; b=NWPrOAzOoBLZVMXcb4KOkGMSTqXs99TYjBV9xXaBE6e6RjBIqDvboJKKPRAUosils/cagfiTIigVRenGCElqv8gjcE3+R/8Kk6SobM1n3kltyZ8YAnHt/Zt8Rn5QO7tgrk+H+Nwsx4v0/mJIjWxxI0G6LQgdqanzFTbXcpLWy1PWv4958fAWczfVwMk/rPKBm8/UVxkOsDcFjE9Y78AXxIly9aJYf7PJQigciGReCckpdh9XveofIBaKA6dktBhVPrYlkXgRIoaCEsaSx0xe8pVIrGxMvxYgOmyiGMDbqHXkdjg0ycIeTwJ5cmD7fDvQnR/KWX2O6SxoU7SqqhukdA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z3oKuxRFkA9yHb1hrfi99zYa7fO58IZs40h8sxAWj0U=; b=utRL81S/CDciQlwdCk0JpR+BsYHUd+GtXi7PjFIStnJPxnxMIeVgYM7plDEjh7r0M4GeYjocXe87OjDrHeZrBc0AFWupOxaXUmZlgqvOzALCgk1GoVISlNiWgCWSL9DtLhf5lB9Rz54Z4P0KPGw/kUCcW12Y4T1q2VYwkhYoACtmBxXcSaBVic/b6IKdemfkIYZYnhevhci24Gje0098KEqY3/Oli9hi2kscJWUpnrjKLDc0YJJ9XiZdhD4UxKkRMh7MC/7u1+IkIbJzf1YIeztiCVjpaUrrn44Srs8X2+xo/r8ua4pWiVSBmcEq25XXcvB1Jj7VPlN2zPnByOI8aw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB8254.eurprd04.prod.outlook.com (2603:10a6:102:1cd::24) by AS8PR04MB8705.eurprd04.prod.outlook.com (2603:10a6:20b:428::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.32; Wed, 30 Oct 2024 02:22:21 +0000 Received: from PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87]) by PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87%3]) with mapi id 15.20.8093.027; Wed, 30 Oct 2024 02:22:21 +0000 From: ming.qian@oss.nxp.com To: mchehab@kernel.org, hverkuil-cisco@xs4all.nl Cc: yunkec@google.com, nicolas@ndufresne.ca, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, xiahong.bao@nxp.com, ming.zhou@nxp.com, eagle.zhou@nxp.com, tao.jiang_2@nxp.com, ming.qian@nxp.com, imx@lists.linux.dev, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [RFC v4 3/4] media: vivid: Add an rectangle control Date: Wed, 30 Oct 2024 11:21:33 +0900 Message-ID: <20241030022134.1098589-4-ming.qian@oss.nxp.com> X-Mailer: git-send-email 2.43.0-rc1 In-Reply-To: <20241030022134.1098589-1-ming.qian@oss.nxp.com> References: <20241030022134.1098589-1-ming.qian@oss.nxp.com> X-ClientProxiedBy: SI1PR02CA0044.apcprd02.prod.outlook.com (2603:1096:4:1f6::6) To PAXPR04MB8254.eurprd04.prod.outlook.com (2603:10a6:102:1cd::24) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8254:EE_|AS8PR04MB8705:EE_ X-MS-Office365-Filtering-Correlation-Id: b6b259d3-a7c4-4326-73ad-08dcf889af52 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: DnE7m6fKGAvxhC1Cd2dDosy3qwvuef1CJi4CpgIYgzlJf25I4SLLAW7U+TFZzhl1DtxJJLuRtDNGEtWjZvEcG+sdlM6vqU1pCX3Utx5dO50Cg9/pzxAdHyWbA6GtRwxh9rhfFSJz/aWCgB1pvlxGV4VNuX+NGNRhCmoqC94fwFugJN7tmA8BdBkgxAysqICFPT/1+SorrFl1GQEcih5Sik5yB5PIuTzUmuvJ1hrhJ+yTLNwdY+bi37Ps609BK6k5Jfv1H2xj3FZsXNT5poLNoKlT0W5fjFEPrybf2wQ5i5VXY2eHFaCakAw8tlMlStnfhmsfYlWJ2Pki/xJzMGImkbBZZcuhEy/OMYnLPTAN91Gc/VhsRP33y9D0jb5GvUkR+TTXe/t6qOm0PHvfQIk8zy8+SxEtzKtkjaAA/kwCklnkP5pWVlFuIScCrq0Mz4mPfKxnDzdJff6bgZ9TiShFKAq/aY094f9+OnAYvM3fwa6rAQMDOTdp/CCDkicII55KDukMW4Tnxcll/MRvFvT9nKdPSEHT44tauaMKVU22PIK7GGeOvd+TsSnLz5YAn9XvGmVbiVXFXvJHx2m1DJ7/d6+TgtATCqZbk9E28WI3BOlgNTWY9VMnOAM92pOVMudi9eoejUa8mxkH5fWLlAEs6IMzTHxi07C72+KiOVOUxANX9pgUR102/ePpxigek4kOwcloMssbhsIum/12Dv0ea6cnSCvq330KsEUXi5z8n/nYoBddGx3U5Y8xOq8RYS4fWFGeyQ8/06uFJicAj3XVPcwx80Difojmy61gkCknFWoNnrja9GniUGn+3SA/FIQd7JIUMzHHdeFpaMq2hLtz3vPoCTLSwKEDgeSYgFNhXjvMZ2Nh4byZ0/6pugdRa/CvSRyCCUG7+9rmHVex/wB1pYLMAACDP6+0fCL+IF7DNv5UxShXsGLrqkTDWb09Tao+TOBaHLctjY/yFXu36SEUTDpfrOEb4JBNgvqHF2crF6XCF6Wgw4kHjhsJSOmfLgdSuAxk6ntSc3iLtB0c8qbQviyRIxTaVs5lktEhzBX5c7PEgdqykWcwCcz9U1B++BqtoC5al6YvylKF3LoJWA7MzDyWY/ev4kP+fBX8Ox5E/uFGcNfFz3DCBmO1ZB3G3722sh1FTbilNfd0BQo9DfECeUpo01ej7XrjNRi5CylPHQqKJMggfUAmZHAZtf4xNdw1LGtoJrhwxGEXXuFHInPnpeRSNLndkKTqhOL7GrPxSt56cG8uCV2pB9W8OEe5KCOpntNnEeSgDYy2n0jIDao30kPM12Ia93wqgJciJzWLK+mKuZJHn0t0HWLemB+yTGinc8FyrnelnErnGMYp+IBYgYrzbFnabS/G372KCHR0pC4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8254.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pC3LessNBM22pYsIS0Kz+wFbkhIh3nX07yACUtuvNKPnwzwlAezpn6T2OEgk+VtnzII4BY9J5usp50qM1VqcpfdlqPLMjiqVbVMLjf5OotqLPXV54ObrYchzSh+pVd5NRq7Mkuu7VN1mTy/te73NYEZEoYXS4cB81t7Q3VcQL54OOlgLAYhnJs++QOeQz8ljFuh8+iOaO5ai5E8RqAKDW7RDS2Fr0aToZQapY1CgKMqYp5Qyj20OFPX95ybvRVJdgfdNdvNZFcqbADBKBUdcSmhTyrjiHEMBcbKnIPQIpcwuFE093BQm5JuFVQRW3GnsFqDMzqlP9i796qLVotsZ7X9c5Gz0Hwmj6GNi9/L/fHdYRiRqWjl4ctZ+rmWoMDxHssrGn9PcY0oQ9aDSNPYOqtOe7m5GIblGND+o3uY4ev1yjG+Zg7DDf6C1ptE7JCGkubtJxxnmKV2GpQWfEhIPeGUTa2M9tQh1+SHj+rKQZzsnaS9E+vrzVlLysfKKHnj/ANwXaBOzoVM/NAmPOuO9k06oQ43K2L5B3bPlFJT5TDG7KRU90Sys+SA7izebzVez4WXb78eDD2LsXpynHfoxSh1XmYt6xpGopetKm2qKYBwsFPPdrxpSgJg5Cmn0GyUF5pLRfLIA+QSUsqgm0DlKVTDed1XIQVs2TN0omc6ldtEzDHG/0owksLPuk6XvrUPndVGEbqCTjAA+qv9aYklv2L+IC0gGXpUhxVjdrfLx2/+OGXAyFK1Sp5XKI+b1bKe5cis6RKzLByiXg6GI+RxhjpLJMOtOELsEqIPJ5k7vAM1lJGF7x7FwEK2WV2ZI0zGbpz0TwIqF6RaqnjNzjma66sGSwa8y60rPdSM/02WYmchNxmX8pEZaG1S3807illYzLbAJEHGzisyLXVvwQ4FPeMxBOgDveXiSHKHlluwo3VSQ0cmK1ssxZjzZ27TEqG0qcNSqAl1Q+6FV1vrrKqBdX3mzQJbwJfHyHhdk47VXXeY9/E888wrb8CvqMZ2Kxn2/5Iy6Kt6FeQVwNZ4rJzHXczFkOGpeqBpPfqAP9SVN4LeKhADEkVSwOC/lxiEmjMy/0FVZrLgqDmTCo6nlS9bGzCcH71Edg0ksj+UIMySosechpgbno7EYSPMqCoPqSCjycY6jezO2ZWYv9l+cCYur+DQABvv46cw16+B1hJJa9LJ0uAYs8adj+OcuIF/MXMds8YFsQG4cu4H26oNyLRR1YCfk3h1FQrWSfbGMWBRqUiR/Fy48n6853wEsN2dsfVOADQfJwJzBBMkNvPItoP6+mJl0gphnksSe230c7siJP18UiKBxjzw3sNzMO4jZzzDZK5/ELktre4phEGl6Y2kwaYMc+OIFqUNR8+bYAeMNRswV7rlUnjo7t01DijPlaMM+u0uCuIfZuwH40QM9VvBSK9Y8OXVrkD2LEgusvFrjSTGyYDzlaszPrr73/WLInCpA975AqoFXNDlJZVnsQAGjn6Za9fzzJx4rc5JIIVw/gBLntOvLYD8VNPY73w7RG8iXyS6MG4MGm+dUCKfYOMWmBDcfnbcHYlH7KBjvWeCX1R32JiKE/OJ4gvdTfAHWotew X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6b259d3-a7c4-4326-73ad-08dcf889af52 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8254.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2024 02:22:21.6994 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: rl3atW0zDSEgAuFrzTYG5gMMAqckHmx3wCvNqEDfHI8MXPKKeG3PyLroaclVrNS0z4uNl8HYPz00AeJiFz/10w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8705 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241029_192226_357524_C31F3473 X-CRM114-Status: GOOD ( 10.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Yunke Cao This control represents a generic read/write rectangle. It supports V4L2_CTRL_WHICH_MIN/MAX_VAL. Signed-off-by: Yunke Cao Reviewed-by: Hans Verkuil --- .../media/test-drivers/vivid/vivid-ctrls.c | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/drivers/media/test-drivers/vivid/vivid-ctrls.c b/drivers/media/test-drivers/vivid/vivid-ctrls.c index 8bb38bc7b8cc..bed5f4fb0c69 100644 --- a/drivers/media/test-drivers/vivid/vivid-ctrls.c +++ b/drivers/media/test-drivers/vivid/vivid-ctrls.c @@ -37,6 +37,7 @@ #define VIVID_CID_U8_PIXEL_ARRAY (VIVID_CID_CUSTOM_BASE + 14) #define VIVID_CID_S32_ARRAY (VIVID_CID_CUSTOM_BASE + 15) #define VIVID_CID_S64_ARRAY (VIVID_CID_CUSTOM_BASE + 16) +#define VIVID_CID_RECT (VIVID_CID_CUSTOM_BASE + 17) #define VIVID_CID_VIVID_BASE (0x00f00000 | 0xf000) #define VIVID_CID_VIVID_CLASS (0x00f00000 | 1) @@ -360,6 +361,38 @@ static const struct v4l2_ctrl_config vivid_ctrl_ro_int32 = { .step = 1, }; +static const struct v4l2_rect rect_def = { + .top = 100, + .left = 200, + .width = 300, + .height = 400, +}; + +static const struct v4l2_rect rect_min = { + .top = 0, + .left = 0, + .width = 1, + .height = 1, +}; + +static const struct v4l2_rect rect_max = { + .top = 0, + .left = 0, + .width = 1000, + .height = 2000, +}; + +static const struct v4l2_ctrl_config vivid_ctrl_rect = { + .ops = &vivid_user_gen_ctrl_ops, + .id = VIVID_CID_RECT, + .name = "Rect", + .type = V4L2_CTRL_TYPE_RECT, + .flags = V4L2_CTRL_FLAG_HAS_WHICH_MIN_MAX, + .p_def.p_const = &rect_def, + .p_min.p_const = &rect_min, + .p_max.p_const = &rect_max, +}; + /* Framebuffer Controls */ static int vivid_fb_s_ctrl(struct v4l2_ctrl *ctrl) @@ -1685,6 +1718,7 @@ int vivid_create_controls(struct vivid_dev *dev, bool show_ccs_cap, dev->int_menu = v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_int_menu, NULL); dev->ro_int32 = v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_ro_int32, NULL); v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_area, NULL); + v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_rect, NULL); v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_u32_array, NULL); v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_u32_dyn_array, NULL); v4l2_ctrl_new_custom(hdl_user_gen, &vivid_ctrl_u16_matrix, NULL);