From patchwork Fri Apr 30 15:48:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bob Veringa X-Patchwork-Id: 74007 X-Patchwork-Delegate: sakari.ailus@iki.fi Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1lcVO2-00F0wy-0A; Fri, 30 Apr 2021 15:49:02 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230437AbhD3Pts (ORCPT + 1 other); Fri, 30 Apr 2021 11:49:48 -0400 Received: from mail-vi1eur05on2071.outbound.protection.outlook.com ([40.107.21.71]:25313 "EHLO EUR05-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S230152AbhD3Ptr (ORCPT ); Fri, 30 Apr 2021 11:49:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=topicbv.onmicrosoft.com; s=selector2-topicbv-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rkLKFnQgjUqiz8Rs97T2V3taAUUDbyNRl3rsBtMQmH0=; b=cO97xhfn4PeB4IVRnsT+hkNloQnR4NohuryBRaYLxQ+Y65+W8RceI38HKHM5+Dw1qwz47PmuICHg3A9McRXEqP7Nmwv2DyAyCFu7aGHtUnOPoSaB+6QdOMt33cthiUKZIMf/HXYKVZhQzHPA5fSLmi+LyG9KMSukdsErVSf7xGU= Received: from DB3PR06CA0025.eurprd06.prod.outlook.com (2603:10a6:8:1::38) by AM5PR0402MB2769.eurprd04.prod.outlook.com (2603:10a6:203:a2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.23; Fri, 30 Apr 2021 15:48:55 +0000 Received: from DB5EUR01FT053.eop-EUR01.prod.protection.outlook.com (2603:10a6:8:1:cafe::23) by DB3PR06CA0025.outlook.office365.com (2603:10a6:8:1::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Fri, 30 Apr 2021 15:48:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 13.81.10.179) smtp.mailfrom=topic.nl; leopardimaging.com; dkim=none (message not signed) header.d=none;leopardimaging.com; dmarc=bestguesspass action=none header.from=topic.nl; Received-SPF: Pass (protection.outlook.com: domain of topic.nl designates 13.81.10.179 as permitted sender) receiver=protection.outlook.com; client-ip=13.81.10.179; helo=westeu13-emailsignatures-cloud.codetwo.com; Received: from westeu13-emailsignatures-cloud.codetwo.com (13.81.10.179) by DB5EUR01FT053.mail.protection.outlook.com (10.152.5.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Fri, 30 Apr 2021 15:48:55 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (104.47.17.107) by westeu13-emailsignatures-cloud.codetwo.com with CodeTwo SMTP Server (TLS12) via SMTP; Fri, 30 Apr 2021 15:48:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SyL0l933ZQOBjrnCS1UzhEwdTy/3Zvm0s9/u3l61C6TE3srjmYL2Od2ohoptVTSNVGvjz/dixSG/RYAaHyv7CHvBaq2DbxjSlj5f+vKd9ouOj+1BZw6tRoUJmi35SKrq2lRPrq1HRL/gLXdydAbXE42JRJYzdpOqMQFMkQ4Y7aRXt9wUmhKuELoeoDrhCIHJDzcvXwgN8it1iG87titBVV9ZZ6tfg1afeE+dMSDpgmTNDumk0A5NSIj8ePU2qCkisZsf02CAwQly8FRtAGVc9amQE5AeO7zBhPtb15VP1IBoAPiWZ9W23AJeTM/yzaCHJTWyaxPPcpTpYLILDrj+wQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AWdI5HoG/JchxWM+XCOjyChtJFuXAoHiwYS9SkepW/w=; b=crosZkXCskIaPNiOAi7Q+sOuL9FZLAujSQ6BGea5AkG/vx1xay4lqwG+ozOsSxFbyS7iG88tPJU12b4DeAl4FCP5qfeAnEgbthKtDfk15+lwFzb+BvylKegwHORR0xpssZrpxrXorCrHB1Mkje23NOQMw1oIGwSr4T7rNRZSr5EaGNnU6pHwCDXlElU0r78GDaOWzQa0c3w31CXhRKNK3s+00IQbfKwz39QZ0R7gtxsG4tTXkazmDmYKZB7lfsK5HxqHA3ouWE6Q7ZjGVnOr46wn3kDSzgF4gCG+YTW0ODJfQgAjYC5GAFsuqlL0ZUZigdwPlaM5ZmKdNSk5XuoNMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=topic.nl; dmarc=pass action=none header.from=topic.nl; dkim=pass header.d=topic.nl; arc=none Authentication-Results-Original: leopardimaging.com; dkim=none (message not signed) header.d=none;leopardimaging.com; dmarc=none action=none header.from=topic.nl; Received: from AM0PR0402MB3444.eurprd04.prod.outlook.com (2603:10a6:208:20::16) by AM9PR04MB8081.eurprd04.prod.outlook.com (2603:10a6:20b:3e2::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.21; Fri, 30 Apr 2021 15:48:51 +0000 Received: from AM0PR0402MB3444.eurprd04.prod.outlook.com ([fe80::8175:49ba:9d62:1d33]) by AM0PR0402MB3444.eurprd04.prod.outlook.com ([fe80::8175:49ba:9d62:1d33%4]) with mapi id 15.20.4065.028; Fri, 30 Apr 2021 15:48:51 +0000 From: Bob Veringa To: leonl@leopardimaging.com CC: mchehab@kernel.org, linux-media@vger.kernel.org, sakari.ailus@iki.fi, bob.veringa@topic.nl, mike.looijmans@topic.nl Subject: [PATCH v2 1/2] media: imx274: improve v4l2-compliance Date: Fri, 30 Apr 2021 17:48:13 +0200 Message-ID: <20210430154814.2606-1-bob.veringa@topic.nl> X-Mailer: git-send-email 2.17.1 X-Originating-IP: [81.173.50.109] X-ClientProxiedBy: AM0PR02CA0027.eurprd02.prod.outlook.com (2603:10a6:208:3e::40) To AM0PR0402MB3444.eurprd04.prod.outlook.com (2603:10a6:208:20::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from bob-OptiPlex-7020.TOPIC.LOCAL (81.173.50.109) by AM0PR02CA0027.eurprd02.prod.outlook.com (2603:10a6:208:3e::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Fri, 30 Apr 2021 15:48:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ac40977b-892f-4a9b-1b0a-08d90bef7625 X-MS-TrafficTypeDiagnostic: AM9PR04MB8081:|AM5PR0402MB2769: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882;OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: OAlUhpB/ZiZ6N7fSXHqz7Ymmrb/nsTvSrd5t9Ul1qF00fYGiylzz4C9j0iMC0F4Rtv6/tTMlU7LmLU36hRc+fdaB5pOeIMw8s4wseDM0RlEZu2xtIzSkqzEDKOWqjD8rCKLi7PWg+cB7hKQlVTHKxmAn1Xn4h5MQBA0SaAHO46wX4d6qWJJNgJdGJC/pU64RNgnv9ftNQJElMB2JqOb8DbeWJME70GqNq7ghbirr/Pel6h7yYukVR2wqld3Wd/ekK6dpMdeMSW33fZqhANpBkEzF/AG4HqpyuUsD9KjLGY2k+5t1VD6wy6Dgw5QmywbtVMtWFzjqI7r5xAB7F1qZNTy3b+NWFg4WuFbcwAikWFN3ESDTREHOh7fN8jX31oqzqTwCCT4f45SNhS9UIbr7RnheZccBHEGtAIKDBv7YacYfvPBDd31TuwwrGELflhkmJ2KsUzCWvI9Pn/ce5F91ralBL1tD7fPwNU+Z+qvvAxudjey+I5OTO6m92qiW8Ruw9PKcf/cvccq1NXvKDLUPjvo22p/j//yZrZ60DItTIv9QoOMBfbhS6qQvp8YhXTVIYDkGYDSBb+6HxDLytFAjp25FPr3KSogMXjDbTcBcvvcJVosQMBLFcljEsiqgbH6/GPTaZbGkerLOS74eEO38/A== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR0402MB3444.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(396003)(136003)(376002)(346002)(39830400003)(8936002)(316002)(6666004)(5660300002)(4326008)(6916009)(2906002)(956004)(6506007)(66946007)(66476007)(8676002)(83380400001)(2616005)(6486002)(186003)(36756003)(66556008)(478600001)(38350700002)(6512007)(86362001)(52116002)(1076003)(38100700002)(44832011)(107886003)(26005)(16526019);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: U9/3dVL6IgJptpN1ayGrbS+ZlswWrao+hHpRpS1XsO3VyBxI89zCi9GbbpqyrXt4/hmYbda2P2Z0nFqbjuHN9DZwDpOAfA9G5JAvMF5PhpyQty1miLRngVCIlg90Ww7k35S5mzhk6ZYcRpyKgCNYcIUzPosaXCAhsHzkclZS/gRDkHRKQwoJdazXLwd0PMOttZC1hXggnVETdqh+0H+Zfh7zrxDXOvrucWp5q5Gv8nZwFPPXCd+NKsKIebqceN/wJ2mmPAsYzD5g66BQzw0GyZFr2QHx7ogOBOfr8JZUusBVaNQSAYpEd/HG32VMJpmGzQp2cyQyROVqyQjd9zIw2YN6QPeSvildI06wV8lhP219Txszz/8gGt2znFijER1MQhlHCw7ZQX2vrWZTDqlKBmlmFWQKGUMxLibKakxSxjFcUzvzGkR+VHQKtxn0NBOPBGDbBfcktfAUzoKoNQoKrpnLgvEJ6ZmIpfgj4y8yabEXEGfLPdltHgWILqloT/KhgN2MLm8WYEq6OZCGWftu1ecYDOTb2I4IQzpdN8bs65Ca/2ekJCKAM4Fkl2styTytu1+TQL4FyS63dgZlfIcGdj06v23wm2/SgkMrQZj14RycgN26QefvPprOgomjku/EZjbAuoN4NAgk5ZQxmFE5xfLulz3hHuySKivZxjmBjF0cG60aALzFqZYrKBPExTEnLmQDlDnlPILYwy6pR+/eQRORLq0F/C/CwMPTIWc9inryrmFHkg3Fuk3h/uK3WwYzZ67soHfPArYNzvpfrPBl3Xi1lcaQtUrA6jxkW+FfJL4WUSIzzx3fw9VdqR7phuHHrdScsM2U69oeeJ/JmJn8QkelvL0Jyte1uA+FpRQx5Tz6MlytzW4iG/5Bznoj6aid172YlrZe+Bcyk8GQejzZeKGKUM2I1j376Ha+f4erBEh9dVodZUGR7oDcFqS3Xhkl+c2pKn143Ub4hCxgpYQXNPjlEFYZCZjnjiG//qYqIl8tUSb9yQiTvOC2qe23D4vOBvsQDv3x3vHAI9d54pGyBRtTFin9WhFT2lY5uQwyxM6BMCZAZFXDnHqe0tqmT7DXCah+1at64ah23O7KFR0K7hyMA6s/zF2HaanUdDbiXDpuUKqMhvRzCVuHAhbciTCbXU3lQ4mPuJ3KXpBl7HNh7se4oTNND6q5Z8hL/77Am66+HwLsGNOPgkED6xcERCvJC30QayyCOirKFzF7OZ6Zj1LzjDXUie20vA9HCArbR7Rd8SlKO36VvyFpbGMMo0/zfSfY+G5+WCFwxgNw/uss9qTtvD3MyYaty+9AsrjH6MrvfSckelUanGEpoAtr+RHE X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8081 X-CodeTwo-MessageID: 29c14f80-609f-4d58-8754-12028b5ab5fd.20210430154854@westeu13-emailsignatures-cloud.codetwo.com X-CodeTwoProcessed: true References: X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR01FT053.eop-EUR01.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 7fc64405-1225-4590-754d-08d90bef7388 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Zk4Lo0gUFVAZvGWXpxE5/nAPP8O33PPOPPR4IFYssQdXJQM6qZWDMMKBtu5hLaLdu2QHDWp3CFwRFrjm7TgOx+wpnA+ZlRl/m4w4aasxki5sfR6071YFDUwWjhF7o4WraFz7/RPbiGWX86LnEI/VVd14tBLPvmrTv7+cQlD5fVLsc03AJcR0tzlyWobe/HqxVO3eLQKSQexsXjjfbYp2A4eGJkRp3TJNke8TdEzfPN2AYCC2pd7A+EG3mYiO6gk9hY+sZtbMzloHCj4lVYtYEbDtf9sBRnn3XubaVj7o7ufQAzdfWfk1UvTz5KY7dbIGk0sWNIjh0uWtFknpS3Kx8vf/7s350ZnA3ie7liTaYthnVi6naP9XSTbN5OlibEhgVAFpixD2LWJsrr2lLfD0ge8nWCenhKzuBitMeqfi9NYokGjAOoWDEjE6TuDFsM5Jzk1OoyqqVlZF3I9CyjOpCLCVw6wUrKLFCtJIu200RtVd1DEhowyXERGxKjxPe0eLx8w/KRGi542UCCt8ZPQVHUccjw/qucT8vShK+wNcKAQpfDJoSMeQ1WypxAXy8WAKIaY+2xhfJ92uQmqskWVWx9fv8lA21mYIx4BvwgvgsnWEWB/f2B7EtVTrj/X64Bls3Rf1qZ7LvgQMfrJcpJ2JAKdPELPC+HAp795PZHqfPEVPBgbZS1Bgy9pCbdmeAKFdYtWM3jl8VfW73E4abCtuIAm2/EPbv7JThtuPq8RR2pA= X-Forefront-Antispam-Report: CIP:13.81.10.179;CTRY:NL;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:westeu13-emailsignatures-cloud.codetwo.com;PTR:westeu13-emailsignatures-cloud.codetwo.com;CAT:NONE;SFS:(136003)(376002)(346002)(39830400003)(396003)(36840700001)(46966006)(86362001)(44832011)(6666004)(7596003)(2906002)(107886003)(6512007)(8936002)(82310400003)(2616005)(36860700001)(47076005)(4326008)(6486002)(70586007)(15974865002)(83380400001)(6506007)(316002)(478600001)(1076003)(8676002)(16526019)(70206006)(336012)(5660300002)(36756003)(956004)(7636003)(26005)(186003)(356005)(6916009);DIR:OUT;SFP:1101; X-OriginatorOrg: topic.nl X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2021 15:48:55.5900 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ac40977b-892f-4a9b-1b0a-08d90bef7625 X-MS-Exchange-CrossTenant-Id: 449607a5-3517-482d-8d16-41dd868cbda3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=449607a5-3517-482d-8d16-41dd868cbda3;Ip=[13.81.10.179];Helo=[westeu13-emailsignatures-cloud.codetwo.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR01FT053.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0402MB2769 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -7.4 (-------) X-LSpam-Report: No, score=-7.4 required=5.0 tests=BAYES_00=-1.9,DKIMWL_WL_MED=0.001,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,MSGID_FROM_MTA_HEADER=0.001,RCVD_IN_DNSWL_HI=-5 autolearn=ham autolearn_force=no 1) Fix incorrect return of get_fmt when fmt->which is set to V4L2_SUBDEV_FORMAT_TRY. get_fmt always returns the active format, but should return the pad configuration when V4L2_SUBDEV_FORMAT_TRY is requested. 2) Fix set_fmt not functioning correctly when fmt->which is set to V4L2_SUBDEV_FORMAT_TRY, by implementing 'init_cfg'. 3) Add support for enumerating media bus formats via VIDIOC_SUBDEV_ENUM_MBUS_CODE. 4) Add support for enumerating frame sizes via VIDIOC_SUBDEV_ENUM_FRAME_SIZE. 5) Fix v4l2-compliance error 'VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL' by implementing v4l2_subdev_core_ops struct with default functions. Signed-off-by: Bob Veringa Acked-by: Mike Looijmans --- Integrated feedback on the previous patch. The init_cfg method has been implemented to configure the subdev pad config. drivers/media/i2c/imx274.c | 77 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 3 deletions(-) diff --git a/drivers/media/i2c/imx274.c b/drivers/media/i2c/imx274.c index d9849d34f39f..52ca9bdf0066 100644 --- a/drivers/media/i2c/imx274.c +++ b/drivers/media/i2c/imx274.c @@ -28,6 +28,7 @@ #include #include #include +#include /* * See "SHR, SVR Setting" in datasheet @@ -72,6 +73,7 @@ #define IMX274_MAX_FRAME_RATE (120) #define IMX274_MIN_FRAME_RATE (5) #define IMX274_DEF_FRAME_RATE (60) +#define IMX274_DEFAULT_MEDIA_FORMAT MEDIA_BUS_FMT_SRGGB10_1X10 /* * register SHR is limited to (SVR value + 1) x VMAX value - 4 @@ -1072,11 +1074,23 @@ static int imx274_get_fmt(struct v4l2_subdev *sd, struct v4l2_subdev_format *fmt) { struct stimx274 *imx274 = to_imx274(sd); + int ret = 0; mutex_lock(&imx274->lock); - fmt->format = imx274->format; + + switch (fmt->which) { + case V4L2_SUBDEV_FORMAT_TRY: + fmt->format = *v4l2_subdev_get_try_format(sd, cfg, fmt->pad); + break; + case V4L2_SUBDEV_FORMAT_ACTIVE: + fmt->format = imx274->format; + break; + default: + ret = -EINVAL; + } + mutex_unlock(&imx274->lock); - return 0; + return ret; } /** @@ -1274,6 +1288,53 @@ static int imx274_set_selection(struct v4l2_subdev *sd, return -EINVAL; } +static int imx274_enum_frame_size(struct v4l2_subdev *sd, + struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_frame_size_enum *fse) +{ + u32 width, height; + + if (fse->index >= ARRAY_SIZE(imx274_modes)) + return -EINVAL; + + width = IMX274_MAX_WIDTH / imx274_modes[fse->index].wbin_ratio; + height = IMX274_MAX_HEIGHT / imx274_modes[fse->index].hbin_ratio; + + fse->code = IMX274_DEFAULT_MEDIA_FORMAT; + fse->min_width = width; + fse->max_width = width; + fse->min_height = height; + fse->max_height = height; + return 0; +} + +static int imx274_enum_mbus_code(struct v4l2_subdev *sd, + struct v4l2_subdev_pad_config *cfg, + struct v4l2_subdev_mbus_code_enum *code) +{ + if (code->index > 0) + return -EINVAL; + + code->code = IMX274_DEFAULT_MEDIA_FORMAT; + + return 0; +} + +static int imx274_init_cfg(struct v4l2_subdev *sd, + struct v4l2_subdev_pad_config *cfg) +{ + struct imx274_mode *mode = &imx274_modes[0]; + + cfg->try_crop.width = IMX274_MAX_WIDTH; + cfg->try_crop.height = IMX274_MAX_HEIGHT; + + cfg->try_fmt.width = cfg->try_crop.width / mode->wbin_ratio; + cfg->try_fmt.height = cfg->try_crop.height / mode->hbin_ratio; + cfg->try_fmt.field = V4L2_FIELD_NONE; + cfg->try_fmt.code = IMX274_DEFAULT_MEDIA_FORMAT; + cfg->try_fmt.colorspace = V4L2_COLORSPACE_SRGB; +} + static int imx274_apply_trimming(struct stimx274 *imx274) { u32 h_start; @@ -1903,11 +1964,20 @@ static int imx274_set_frame_interval(struct stimx274 *priv, return err; } +static const struct v4l2_subdev_core_ops imx274_core_ops = { + .log_status = v4l2_ctrl_subdev_log_status, + .subscribe_event = v4l2_ctrl_subdev_subscribe_event, + .unsubscribe_event = v4l2_event_subdev_unsubscribe, +}; + static const struct v4l2_subdev_pad_ops imx274_pad_ops = { .get_fmt = imx274_get_fmt, .set_fmt = imx274_set_fmt, .get_selection = imx274_get_selection, .set_selection = imx274_set_selection, + .enum_mbus_code = imx274_enum_mbus_code, + .enum_frame_size = imx274_enum_frame_size, + .init_cfg = imx274_init_cfg, }; static const struct v4l2_subdev_video_ops imx274_video_ops = { @@ -1917,6 +1987,7 @@ static const struct v4l2_subdev_video_ops imx274_video_ops = { }; static const struct v4l2_subdev_ops imx274_subdev_ops = { + .core = &imx274_core_ops, .pad = &imx274_pad_ops, .video = &imx274_video_ops, }; @@ -1968,7 +2039,7 @@ static int imx274_probe(struct i2c_client *client) imx274->format.width = imx274->crop.width / imx274->mode->wbin_ratio; imx274->format.height = imx274->crop.height / imx274->mode->hbin_ratio; imx274->format.field = V4L2_FIELD_NONE; - imx274->format.code = MEDIA_BUS_FMT_SRGGB10_1X10; + imx274->format.code = IMX274_DEFAULT_MEDIA_FORMAT; imx274->format.colorspace = V4L2_COLORSPACE_SRGB; imx274->frame_interval.numerator = 1; imx274->frame_interval.denominator = IMX274_DEF_FRAME_RATE; From patchwork Fri Apr 30 15:48:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bob Veringa X-Patchwork-Id: 74008 X-Patchwork-Delegate: sakari.ailus@iki.fi Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1lcVO7-00F0wy-P9; Fri, 30 Apr 2021 15:49:08 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230315AbhD3Pty (ORCPT + 1 other); Fri, 30 Apr 2021 11:49:54 -0400 Received: from mail-db8eur05on2069.outbound.protection.outlook.com ([40.107.20.69]:57825 "EHLO EUR05-DB8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S230152AbhD3Ptx (ORCPT ); Fri, 30 Apr 2021 11:49:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=topicbv.onmicrosoft.com; s=selector2-topicbv-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YMCfxMjOQuv01DmMoeP+WNUR6OgAEr4RCWORzGMcZ4s=; b=d8OqoxM7UWHuUn+nogaTSY56KCnGukMQDVeHVoF3uLH44UHEfpu6m/V9/iQY7GgedfOE9c/IjTLPtJwJyz3o1vzPpqTMa10fjrinRwB5KdTnzvsojOsWdfCZNZ2zOkc3Est9L/t2Z0DThXCHnU1+AMfBPaGy8f+HxMVfyyhBLsM= Received: from DB7PR02CA0007.eurprd02.prod.outlook.com (2603:10a6:10:52::20) by AM0PR04MB4899.eurprd04.prod.outlook.com (2603:10a6:208:c5::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.21; Fri, 30 Apr 2021 15:49:02 +0000 Received: from DB5EUR01FT003.eop-EUR01.prod.protection.outlook.com (2603:10a6:10:52:cafe::90) by DB7PR02CA0007.outlook.office365.com (2603:10a6:10:52::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Fri, 30 Apr 2021 15:49:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 13.81.10.179) smtp.mailfrom=topic.nl; leopardimaging.com; dkim=none (message not signed) header.d=none;leopardimaging.com; dmarc=bestguesspass action=none header.from=topic.nl; Received-SPF: Pass (protection.outlook.com: domain of topic.nl designates 13.81.10.179 as permitted sender) receiver=protection.outlook.com; client-ip=13.81.10.179; helo=westeu13-emailsignatures-cloud.codetwo.com; Received: from westeu13-emailsignatures-cloud.codetwo.com (13.81.10.179) by DB5EUR01FT003.mail.protection.outlook.com (10.152.4.101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Fri, 30 Apr 2021 15:49:02 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (104.47.0.59) by westeu13-emailsignatures-cloud.codetwo.com with CodeTwo SMTP Server (TLS12) via SMTP; Fri, 30 Apr 2021 15:49:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T+f0DLU/FrgsFaD3tvelXqb4rAUgdGrsKdx+9ByWNr0fTE5PHEFcGnz0OV/drymkb2x2XUeqrSjtOhdublp7iJO/vetXNdov8BvQ8Emr55SDWMVN3UFtVRVPFUWIOr+5Ww/HuNzDtkctMT2BT3tdWdJI9Tt/OLo146lpA+2GxRmFmpt9wnPmj53T4azicbuGN+dBhmcJcH0JZENyZLbEQFlzqSf4TV7L43tqLa3iiElLKyc0cGnVemi/5pLnw3R36m2eZxSypAEnv0EBi4umg7lm0kppvItGX9unrFHa7r1b6r8dXXU4skYkKA76KuJ2uE8IqFEt18Dq5u0MNpAOkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mxfovNWdQa/c/QNeUHb4Ceqma1G0puTJKR+GR214xIo=; b=kWq4un9CYj2pq2UDb4l5DPvfijNMeZnN5cVEL70C+Kw7ZnyPzY7faMmsQ/pS7vydXe0DE9PMVCts4qSGF6Kzoz8URgd4/RpihLT1mQdAhJ7cMx7W4903j6pFplWNt8j3FwxDZ/5H4g53mEEsPpZLSzS1y+mHuF1ugdMezr2vfp1KsZxkTIrnnUgMpXcwlOarGrSvngJUnzqB7ZoyyHRccsaoqJDhSvyvC4sTWpj/QE8q6KkJRK4hXjz/ak6fuOEoR/MHctRYRJEQIE6Q97ocxxToNC4zErc8GHXY/IIdMG/Aw7UXrhK1gOPnGqRTxlx2m4fA+trxNa63PleWkN5Agg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=topic.nl; dmarc=pass action=none header.from=topic.nl; dkim=pass header.d=topic.nl; arc=none Authentication-Results-Original: leopardimaging.com; dkim=none (message not signed) header.d=none;leopardimaging.com; dmarc=none action=none header.from=topic.nl; Received: from AM0PR0402MB3444.eurprd04.prod.outlook.com (2603:10a6:208:20::16) by AM9PR04MB8081.eurprd04.prod.outlook.com (2603:10a6:20b:3e2::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.21; Fri, 30 Apr 2021 15:49:00 +0000 Received: from AM0PR0402MB3444.eurprd04.prod.outlook.com ([fe80::8175:49ba:9d62:1d33]) by AM0PR0402MB3444.eurprd04.prod.outlook.com ([fe80::8175:49ba:9d62:1d33%4]) with mapi id 15.20.4065.028; Fri, 30 Apr 2021 15:49:00 +0000 From: Bob Veringa To: leonl@leopardimaging.com CC: mchehab@kernel.org, linux-media@vger.kernel.org, sakari.ailus@iki.fi, bob.veringa@topic.nl, mike.looijmans@topic.nl Subject: [PATCH v2 2/2] media: imx274: remove imx274_load_default Date: Fri, 30 Apr 2021 17:48:14 +0200 Message-ID: <20210430154814.2606-2-bob.veringa@topic.nl> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210430154814.2606-1-bob.veringa@topic.nl> References: <20210430154814.2606-1-bob.veringa@topic.nl> X-Originating-IP: [81.173.50.109] X-ClientProxiedBy: AM0PR02CA0027.eurprd02.prod.outlook.com (2603:10a6:208:3e::40) To AM0PR0402MB3444.eurprd04.prod.outlook.com (2603:10a6:208:20::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from bob-OptiPlex-7020.TOPIC.LOCAL (81.173.50.109) by AM0PR02CA0027.eurprd02.prod.outlook.com (2603:10a6:208:3e::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Fri, 30 Apr 2021 15:48:59 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8b02f1e8-fdab-4e5d-5823-08d90bef7a29 X-MS-TrafficTypeDiagnostic: AM9PR04MB8081:|AM0PR04MB4899: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:147;OLM:147; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: RUHfKGachG3HNnGAIOsHWN115iEwEJpvkq+Cs44ngGXXLWP7Y/krJ0h2QjHanK0Xjyu0jC9dyNm+D22SAO3UpPQbS4sny9zyWcLUYs5DZVXMwfJ0ZN6wepbLABjIWm2q57B/nnXhZHE8ldHEWqPXCmlkA037oLJK/XbdAAq0EnF4j6Q4h6OfmuBxe6iwG+dF5hd8SuKHfWFRiUUVYkQbQiw2bG9S0DZ7dZlaZ58S4bVbXIm1pxNfthc6zhGrujsvvQJZqIYQVIoahrwz8HoZ7HSuBftXbkD6QFUObFhMn1NVm/hnd6XT8SsrR0wlyw/S2dbrCvissvy3Vlgd0TN46cpSKa6tJfYjzMKth9lJdKkyin5/qhwpGOc8t0WX5ukEU5W24p17eB/Jy9A1c34WqScgp6N822a/VPEUbwi9zhv2au0y0emR0ypz22NSiicJE1cOzIQEd1N9rANVzIXKr7uoEZi6Y6r3CoH9sV3F+d4CQBo/Qm+CbBJGlffQVA724QiK4bzYxpKcOtRwex8SmsXlilKikl2Be1aFF5mCHJZxwfhkkZlBEwy20WlZ1jqPAkXoD9tFlqXHwxfvEXTUOIp1lRw+2gEBdjKZNZzGIXuY7OWtkPLjTGLVrnlgOPbtWP/7RJZhiD3cvfy57bhBgugQyHA2bKcSFMueKIaksvo= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR0402MB3444.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(396003)(136003)(376002)(346002)(39830400003)(8936002)(316002)(6666004)(5660300002)(4326008)(6916009)(2906002)(956004)(6506007)(66946007)(66476007)(8676002)(83380400001)(2616005)(6486002)(186003)(36756003)(66556008)(478600001)(38350700002)(6512007)(86362001)(52116002)(1076003)(38100700002)(44832011)(107886003)(26005)(16526019);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: zd7HDdzqBS077mRos+JVU8bYavI7pvQiSPoC9Lew/iauw/K9SHhjoRBvhkVlzSidiEnITyAnuwHMb0OjU9yG9kWy54tPsAjRMvNbLtUCgep+I0bwETHFUSC1a4TWNbsWpF2B4QizasH69qm/6ZJsL1f64uTA3ykMsiteFxahHqnQ0ImSwckHcxVC/27/TDWfGoAJmeKFzpYwjhvDZa1RJXsG4aQWKmKHTTRaDcHCzfKUEvwX4VMkX70eRI2hdSN8v1ZktbTSbVaLQlapgkb/HZA40vdNx7fr8JPZHuMIUNKwrVWO9zHAargRBrAQ2a9UpIo6QQDvA4CBWNXYX9ryLWCYac3DahCfZLK4fKYd0ZaKMxNGp8P7LbBkCIzW4FAaTW4MN2e1hiGkTgEJuT93VUt+o3J8bMWRkxJLdmkHaUqcCZCKSbYdBIhGqOMm8TqKR9kEIBcO9ztOBTFdnirCmJ0Hb6d43fGmkvzDjdf1VSqDbo/er8cU6EGRWpTgopK9LvqUoD+lfl1j7RG613FB8nsRHzNwzuhQSBZl04LSK2CVfQW2VcW1uta4UA9ucpi1U1BGKwn7J5PaRfdIX4/RjOzh4NoRtoBTaumI1+p8fBxj+/8t8yPLR7rKWwSry93OqDjR7//z5ZpiA6I3g17JNB9/HJ/mucpONB7X4aEiTfhhWCkcdAZ1vo7akdY1kkHyNvumqqi/+Y1HSng+iO4Rn72FGkCHb6cgYeIZsxln7zuYKw4KDAEOo5fO8uez1TELhd5wNZoiizk7VgoXjU1FSQIATUnsxIq+0Remy6zA19iyb9wtazOIp94PhvRVo6HfNRQDcOoyTeQGpQew9blwK9RkqZfI3FpevAKbs4BqQgQ6mTNp9IbYevCLGDw30vVWwJd40I8am5dAtLjZ1Q5pXvtw75vEb87VmTpdcmYsSXi+HPWODn/IBO4DQkJmpASuXs0P2XHLZCo5KpsI5Y3aWR99bvDIvkWn1tnn3LCaJ7AEsK++Jbru1e01x4KJFS3yObpEGzPWtijTSFfw/8a8ciq6Zx+AqH3hXA1MA/NgpIRSVA6PK1GBXTWOTeCBtMNKytcdQdwuF9HHm3K1doyUzY/XpCja1xjCCffUA7xBSCi2CLa+4w6ZTZYKBlcR5KzjRbYc0LSF8GQbdANpp2hFideZhxu8bD3t90aFWLnay3eT5rCYUGZVyPIr7I/PI56obMwP6ykYbwLClj13+lKI/lW5yAtEtLKHVyNg4hUuR5oeb5591gPBMldaRni1zG3CDjy2Gv8TlZs/EE3bJ0HJHZ0dDSnMNQyudDsQ9kzhS8QWXbwo+NTB3laQN3sgwq0m X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8081 X-CodeTwo-MessageID: 4e9e9fa3-dc90-4ee2-9137-7b1a6ff436fc.20210430154901@westeu13-emailsignatures-cloud.codetwo.com X-CodeTwoProcessed: true X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR01FT003.eop-EUR01.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: e50316a7-4922-40e5-1e94-08d90bef78ba X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3g5fHbc+fCy4HVh3GWL98N6ARbcf1bzA4r8CHRE6xTy/1z9yN9JNiKcnLOqcuxIjntl+j9kOZdJ6njgLf/V8vgdjBjPZxT0nXCd0EnFh/cNrIAIVo9ypBcyzNaptXw5cqhz8HNkurIuhOkS4WVhpqNBRb+NfNcYTkelH/RaA9Po0aV2iOpdI1iNP3jaAIiU1NoidU+bMyf4FoXaxKPWQAFxWZna+U9P0SHApJgwhAnfr7hAcqPjcsRKHuM1a8ydYcCHs4YlsB53D8fsOMw/nDRAXRRjvtb8cFR1duE5H611JiI3n2RR9q7x1v/L7s8s4OjfuDGoDTLGebjg0nNRiwqqxreo0eaUZaHDtdwssdmDRXmRLYjOfbje4r2AKbg7up7cdcDzTYE0UfUa/aVRqPUXRUMhVd8UDEwjEH2fDyqLZ6M405+CuQSZdS+ATIsIE+Ph0cZj1Mh6V+z1t0sUpqvELDhOA3W/kLdYsktCR7aT79nOgqoLBF3+o2aUJT+CKrzsF16lxEIsyrom2XZlMAMbdK4uaxkk3NTO9obRvjWjAaRi3dbhobwUlsjM0qP3uRI25f94aun4T89PmAsCjGANJwqRMbLfSNDAmhTPW5OVsRtDBFaCAGeWiA+XnITVtx94CUzpbFi/Scg+GtEXwhrqAq8Z2bBRXnSSCpW90jJGAvW4fBbHrUuG9qWKiLYHAHkQdLrISnJSxRcszltchS0qHuMXY837sinULhj7PoFY= X-Forefront-Antispam-Report: CIP:13.81.10.179;CTRY:NL;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:westeu13-emailsignatures-cloud.codetwo.com;PTR:westeu13-emailsignatures-cloud.codetwo.com;CAT:NONE;SFS:(39830400003)(396003)(376002)(136003)(346002)(46966006)(36840700001)(15974865002)(8936002)(336012)(44832011)(7596003)(107886003)(316002)(4326008)(2616005)(8676002)(36860700001)(7636003)(356005)(6506007)(956004)(83380400001)(86362001)(82310400003)(16526019)(70206006)(70586007)(6486002)(5660300002)(36756003)(6916009)(47076005)(6666004)(26005)(478600001)(186003)(1076003)(2906002)(6512007);DIR:OUT;SFP:1101; X-OriginatorOrg: topic.nl X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2021 15:49:02.3255 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8b02f1e8-fdab-4e5d-5823-08d90bef7a29 X-MS-Exchange-CrossTenant-Id: 449607a5-3517-482d-8d16-41dd868cbda3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=449607a5-3517-482d-8d16-41dd868cbda3;Ip=[13.81.10.179];Helo=[westeu13-emailsignatures-cloud.codetwo.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR01FT003.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4899 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -7.4 (-------) X-LSpam-Report: No, score=-7.4 required=5.0 tests=BAYES_00=-1.9,DKIMWL_WL_MED=0.001,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,MSGID_FROM_MTA_HEADER=0.001,RCVD_IN_DNSWL_HI=-5 autolearn=ham autolearn_force=no The function imx274_load_default no longer serves a purpose as it does not configure the values since commit ad97bc37426c1eec1464 ("media: i2c: imx274: Add IMX274 power on and off sequence') All the values set in this function match the default value set when registering the controls, except for exposure. The default value of this is set to the minimal value for this field. The result of this  is that the output video is black when exposure is not explicitly  set by the user. By setting the default value when registering  the control to the same value originally used in the function,  this issue is avoided. Signed-off-by: Bob Veringa Acked-by: Mike Looijmans --- drivers/media/i2c/imx274.c | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/drivers/media/i2c/imx274.c b/drivers/media/i2c/imx274.c index 52ca9bdf0066..e0fedab267c1 100644 --- a/drivers/media/i2c/imx274.c +++ b/drivers/media/i2c/imx274.c @@ -1461,23 +1461,6 @@ static int imx274_s_frame_interval(struct v4l2_subdev *sd, return ret; } -/** - * imx274_load_default - load default control values - * @priv: Pointer to device structure - * - * Return: 0 on success, errors otherwise - */ -static void imx274_load_default(struct stimx274 *priv) -{ - /* load default control values */ - priv->frame_interval.numerator = 1; - priv->frame_interval.denominator = IMX274_DEF_FRAME_RATE; - priv->ctrls.exposure->val = 1000000 / IMX274_DEF_FRAME_RATE; - priv->ctrls.gain->val = IMX274_DEF_GAIN; - priv->ctrls.vflip->val = 0; - priv->ctrls.test_pattern->val = TEST_PATTERN_DISABLED; -} - /** * imx274_s_stream - It is used to start/stop the streaming. * @sd: V4L2 Sub device @@ -2101,7 +2084,7 @@ static int imx274_probe(struct i2c_client *client) imx274->ctrls.test_pattern = v4l2_ctrl_new_std_menu_items( &imx274->ctrls.handler, &imx274_ctrl_ops, V4L2_CID_TEST_PATTERN, - ARRAY_SIZE(tp_qmenu) - 1, 0, 0, tp_qmenu); + ARRAY_SIZE(tp_qmenu) - 1, 0, TEST_PATTERN_DISABLED, tp_qmenu); imx274->ctrls.gain = v4l2_ctrl_new_std( &imx274->ctrls.handler, @@ -2115,7 +2098,7 @@ static int imx274_probe(struct i2c_client *client) &imx274_ctrl_ops, V4L2_CID_EXPOSURE, IMX274_MIN_EXPOSURE_TIME, 1000000 / IMX274_DEF_FRAME_RATE, 1, - IMX274_MIN_EXPOSURE_TIME); + 1000000 / IMX274_DEF_FRAME_RATE); imx274->ctrls.vflip = v4l2_ctrl_new_std( &imx274->ctrls.handler, @@ -2128,9 +2111,6 @@ static int imx274_probe(struct i2c_client *client) goto err_ctrls; } - /* load default control values */ - imx274_load_default(imx274); - /* register subdevice */ ret = v4l2_async_register_subdev(sd); if (ret < 0) {