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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5F850C433EF for ; Thu, 14 Apr 2022 10:04:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242050AbiDNKHL (ORCPT ); Thu, 14 Apr 2022 06:07:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241519AbiDNKG7 (ORCPT ); Thu, 14 Apr 2022 06:06:59 -0400 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70071.outbound.protection.outlook.com [40.107.7.71]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2F5CB27B22; Thu, 14 Apr 2022 03:04:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=THIDvlPr4wlyCtLm+u0y/GQq2Y/tLmP4mWkxP6yvHio8njqsBqvTWRaKnduo+/M6WfnJU2h1wElcp60P7cF4A+nuY7P6NN2yK85bOzSoqHJPbVzFrGDIdfyrSNYlkB4rU44V5oWpMM4y6UV0f1Pc5tIimZrGCXLDpRKG7HUYriN9fixOBZiS+taahg1Arkm7X6RuumLFWYUFhVhsMVpastAFpkMriairhy+uvTh++ilnWLIXSm7ZV9H8TQiHAgF+l+PAsueh2riF45y6cLEob83OMCoe1jo6Wk9dWadM1RMnWkUxfKzv5da7bLHJoRR0PaX7Z9pg4634dEQltQEIaw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DtTtkr4MDfPGWotpootAeU9zeZsJ5jSAmg+QSgCF8IA=; b=Oh4ltRvo+1OouN6QMcZu+uhMCev+3cqVzx4xyrvs/bJ2ak89JD9ZRPdCuXBeLUxcyD9g4EoeRiNxy3+QFuc+EHJCKhWwyI4z+dzVpT3+DVusf+eeTEwv7PcTn5DlUsInvgUqL9HvkIAtDvON1zcxF9p33iPUNVLyS014QYAZ7NLJ/Z/TXhEiv4CxEajWQ6opn4u+v2EfGxLUNMI6cOrVHaPWSov1UA4tlcQIM4LLfiohMBaX0tJWDYRjE8Q/gWTJe5BYp63Hf7QFkJ+bZzDoyZR3KRe1o91BgAhrnpHyzKvjj3XmOdutzGJBFT6uZDRJ7T+TOmUrxwe9f/CY7FBRtA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DtTtkr4MDfPGWotpootAeU9zeZsJ5jSAmg+QSgCF8IA=; b=KQ+xhxbkeJ7Irpfbgh/XT4Tj0A6naiIacrHp8rL//wQ86/zXHQJYlyXI5dDl+Ta/XBwXk6MAd1y7Qzt8HnQuJGjOulPcSwlCPaQCusCEtQb1wzC8A2fjoQZcz5+U//06eocD/dGP+G5C5IrZfAsegxXzMd8FHO0WROGJXw+5TXw= Received: from AM6PR04MB6341.eurprd04.prod.outlook.com (2603:10a6:20b:d8::14) by DB6PR0401MB2280.eurprd04.prod.outlook.com (2603:10a6:4:48::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.18; Thu, 14 Apr 2022 10:04:31 +0000 Received: from AM6PR04MB6341.eurprd04.prod.outlook.com ([fe80::d8b5:5914:5189:ffa5]) by AM6PR04MB6341.eurprd04.prod.outlook.com ([fe80::d8b5:5914:5189:ffa5%6]) with mapi id 15.20.5164.020; Thu, 14 Apr 2022 10:04:31 +0000 From: Ming Qian To: "Mirela Rabulea (OSS)" , "mchehab@kernel.org" , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" CC: "hverkuil-cisco@xs4all.nl" , "kernel@pengutronix.de" , "festevam@gmail.com" , dl-linux-imx , "linux-media@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: RE: [PATCH] media: imx-jpeg: Encoder support to set jpeg quality Thread-Topic: [PATCH] media: imx-jpeg: Encoder support to set jpeg quality Thread-Index: AQHYSZs84ah/y7+Re0OOpIqCG7EFQazvNJcAgAAAtCA= Date: Thu, 14 Apr 2022 10:04:31 +0000 Message-ID: References: <20220406094623.7887-1-ming.qian@nxp.com> <80bcabe7-5761-7244-c6ea-1b5893395170@oss.nxp.com> In-Reply-To: <80bcabe7-5761-7244-c6ea-1b5893395170@oss.nxp.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7c83f8ef-27b4-42cf-25b8-08da1dfe2b4c x-ms-traffictypediagnostic: DB6PR0401MB2280:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Ak3EQoYjh305/PevG/niw0hbvZIx7rrvEWo6X47FSPl55CP1igbbOFCDgZDYNidns4inlH7SwxOjMJ6BRDH6Dm9UCBe3tjDi+UxwGT3FVRHl/qY/JfWjCopMODPL/YRqy2er4vZNBIE311ZLmQtXXBK6hj2cW5wmC0v3+49eWE8n93bAlPH+i1m+GT9eAI1lIPsb++JtfOeHeWnuq2Zn+ZXmlfVizK9+Qekqqvzft9W0ZCYJ/UaHlagCVVBoV4iSqtyTeL/IuUbcSZMZsztcZ8R8pdVQDQCKgtLTrgHDH3UjDQ39vupJiEqEZ2JYk1VYxsWCbHOQuqmNZxA77eNsTTz7Dc96NAq1BA2BIXYc2MqYCGdKmhUZc5c04kcf3xCp52Em2Z0pddrggX/Wo8xqSoBT1SoDzFiMx1xER4ypnVjCAqwZh4pG2FGP6cqJ2oQ/MQtTwh4ygdUv+0uhB2I14BcXVrc5HgeTYzsuO6QJoWOPn+uKUagKAvg4hc6o5JyZIb5N6av2PJdsp5MiPFgcHlSN+w1CZfMk49MEMPr1MN6s+b1c8w7bvxojPUD/sTdAfXOs9hDTvTBlluuQn4NahQjGmZs0Qxh9rUg26TM0J9Tit7iv242dB9wp4Tcskn73jHgZpY4A5LHf67Psv8AsoblDTeFuZDUc17V7LYFy1ummniCVWXJUzlaOUhxgtpYhWGFqfhmQTF+SXDl5i4CWhg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6341.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(110136005)(86362001)(53546011)(6506007)(7696005)(316002)(54906003)(83380400001)(66556008)(38070700005)(5660300002)(66476007)(66446008)(7416002)(8676002)(8936002)(66946007)(9686003)(186003)(71200400001)(26005)(4326008)(52536014)(44832011)(64756008)(76116006)(122000001)(38100700002)(33656002)(55016003)(2906002)(508600001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SU1pUG0xZ3AzRmh0dFF2UnQzeHpoZStYV29FMVMzZmwyMjNHTkVwNms0QzNl?= =?utf-8?B?dFBPeklrTVpDb3BZWURZUDl5dWNkRlJvc012dERoQkRINys2UTc3aU4rK2xI?= =?utf-8?B?aGJ5RjR1ZzBKeXAza05lQm1BNU1ITEx6Zm9hNnliUnpZWVR6a3EraHdxMzQ5?= =?utf-8?B?T3NXTVc0RVczYUM1RnltM21XZTBqRkJ0WTUvVnVoKzZKK1JaU0VleUJZS1Mv?= =?utf-8?B?U1czaFRZRkFiU3pXb2J2V2d5MkZhY2x0SzlOaVBaWnZ0Qlg1R1kvUllhNzJO?= =?utf-8?B?UkZKY0FEc3RleWN1QmthOTF2UkdrUStyUU8yMzlvMkZvQkpUVjZlK3lrWEhT?= =?utf-8?B?NW5nTXUwbm9BRlFHMmZKekNyVTN4ZmVBYm9FNHhvNkZpU3JjRm1yalF3N0Ri?= =?utf-8?B?YUpGQUZMTEw5SHQvM3RWSU1XTWJXV1FRZVJUQXBoY2xVM0xPNXNNVVNVTmJs?= =?utf-8?B?SjZYZ00vaERKcEphVnhDNzFKeDVNaEVwY0NhOGJCL1BFRlJFVllFZUhZMTMv?= =?utf-8?B?RXdXdDI3bzFIU3JPVitBQU1Kam5GTU44WTlRcXJrYmlkL1ltUllZSTVuVHI2?= =?utf-8?B?VTNGWlZNNXRGNG9BMS9ESTh5Qk9za1F2dWx4dDIzV1dNdHl4T21LVUMxSGhP?= =?utf-8?B?QlladTdFdGdPOGV3SkV5b1lZRmdyalBhNzBDT3pPTzVsRnNmZll5WjVHR05Y?= =?utf-8?B?N3hpSkxTU0hoZlcyeU1yZktlOGhjaTdQa0IzenVYNXFEcmdlSU9RZ0tJb1Ra?= =?utf-8?B?Y2JyNkpjSnYxL2hZa0s3U2pmcHNLRyt1ZzZXV1hMM3Z5bFoxdHI2eUx2dHBr?= =?utf-8?B?YnZHQmFjeFc4Ull5TmM2ai9YWnFsdzRWRFNhV3RkODYxVzFESWZDZ1E3eHdT?= =?utf-8?B?K2hoRjJXOVpWeENwTHhaUnRib2lQYWJDS1h5a0xuSHhjUDZxd0M1RUlHOUJk?= =?utf-8?B?b2szQUFaRXpvNDdibTB2VTJLTCs4dDcyTW0xYW9RNncyREtoK1pZdFg2MTVN?= =?utf-8?B?bGxwOGZEZmJqcE84SGI1SFJHZWEvLytUeGVlNlMrUTBxZjQwTjhFNHZkWTZD?= =?utf-8?B?K0g3Z2srWHUzaW0vVS8wOEFvTCsyTVd4T29wbGJGRXVlVzNSbGc5Rnh6SXE1?= =?utf-8?B?djBpSU13VHRrcFgxcXY4ZzFrSFZRcS8zeUZMWnd6d2hnc05ETHdvcnpCUDNw?= =?utf-8?B?OG5MWG1Wc3UrVi93ZjZlU2FPZXZNOFZuY1NJZUl5T3hXTVowZzZWakY1Zmgy?= =?utf-8?B?ZTZNcUtGalVhZGJzOXZVcVgxeVlRMm44QXF1RTFmY0MweW9NcmVWdU5EV3Bl?= =?utf-8?B?NXlFZFBabUU0eHl3UDh0NGNmUHZSQWxQZkpoSHpQNVdiNXdFalpLUzhxNE9F?= =?utf-8?B?QjRNYjZIT2ZSZXlWck42aDBteXpLNlEwMXA1ZHkzZEcwNHlyZE51VWdKZjBK?= =?utf-8?B?aUh5S3pScVc3QjBWK29TTEp2ek9ONlJ0WFl3akoweEF3RitsUFlxWHAyVXdk?= =?utf-8?B?VkJXRFNGZnJtMjV3VjU0elZrd1h6azdqZ2FKUmV0alpIRE1ERjlwcklKYjlj?= =?utf-8?B?V3l6Y2hKMHF4K1BCbnVPdnhqYVJkZDNwS0V1azZsaHl3SEVWMGRHdTd3TCtl?= =?utf-8?B?NVdmVVJKTXVhalJrM1EvT0szaVRlUXltY1ZvaHk0LzZ4alU3N2JrR0x0SFRE?= =?utf-8?B?a0ljK1FoUFpXVzB0M29iQmpIZmhiNy9GZ2JNTmpzdUR1SDBxcHBFZzYvNnhJ?= =?utf-8?B?d214R0Mvb04yL2pYbkdUUnZWSWlvZWwxMjZTV1lFY1NwYVpiS1Z1QUtJY2Jk?= =?utf-8?B?SHRwVis4dHdleFZaV3RveUUyU2U3cUZsNGFEVDAyenBob1hqTm1Dc203ZE5B?= =?utf-8?B?UGJXdU4wUi84NVFvSzRNeTJWUGNRRVFYOUk1L1RPem9lVHlaa2QwSDljbHRI?= =?utf-8?B?a3Nkc0tpMkM2bC96UGp0Mk5vMFdxY3dKRk1HUEVpa05hazFCQmg3NkRabEJJ?= =?utf-8?B?cThHZXkvZXFReGU5RjdZQUhtMkc1c0VncXVNZVUvNU5wYmY3VzNHcjRIeU5K?= =?utf-8?B?NjM4RUJNQTh1RDU4QUJTU1lwZTBvZFc2bTJJU1VaNmZOT05ZQmptRVZCVHYz?= =?utf-8?B?a3FkOS9vWWxqRWlwN3ZXcS81RFJkNVBCSlFJZkZyQWphVGttaUh2Z0tmcDMr?= =?utf-8?B?YkNWMG9uNWY5RE5zQkZXbUlrMzlpTERUWk5UVm1UMDhIYWVtcW9BanpJQ2Zr?= =?utf-8?B?SGNBejgyMzg1UnJIWTViaSt4WkUvT0JiVFdqbDVKM3Z3dXdXVU9sdlMwVjBO?= =?utf-8?B?OUwvVkxHbVViaUMvbWd2OWRUSW5qaEJDZFNLdUhScFl3eWNXTUhaZz09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6341.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c83f8ef-27b4-42cf-25b8-08da1dfe2b4c X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2022 10:04:31.0249 (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: 1WQ/hFzMI7npqAPix1yqeey5p4gsKxIRPW0DCBhW/04snjpqYgo/NvYJ59ldRRHsKXOIBdLGENq6DAHHNo4zuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0401MB2280 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiBGcm9tOiBNaXJlbGEgUmFidWxlYSAoT1NTKQ0KPiBTZW50OiBUaHVyc2RheSwgQXByaWwgMTQs IDIwMjIgNTo0MiBQTQ0KPiBUbzogTWluZyBRaWFuIDxtaW5nLnFpYW5AbnhwLmNvbT47IG1jaGVo YWJAa2VybmVsLm9yZzsNCj4gc2hhd25ndW9Aa2VybmVsLm9yZzsgcy5oYXVlckBwZW5ndXRyb25p eC5kZQ0KPiBDYzogaHZlcmt1aWwtY2lzY29AeHM0YWxsLm5sOyBrZXJuZWxAcGVuZ3V0cm9uaXgu ZGU7IGZlc3RldmFtQGdtYWlsLmNvbTsNCj4gZGwtbGludXgtaW14IDxsaW51eC1pbXhAbnhwLmNv bT47IGxpbnV4LW1lZGlhQHZnZXIua2VybmVsLm9yZzsNCj4gbGludXgta2VybmVsQHZnZXIua2Vy bmVsLm9yZzsgZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmc7DQo+IGxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSBtZWRpYTogaW14LWpw ZWc6IEVuY29kZXIgc3VwcG9ydCB0byBzZXQganBlZyBxdWFsaXR5DQo+IA0KPiBIaSBNaW5nLA0K PiANCj4gT24gMDYuMDQuMjAyMiAxMjo0NiwgTWluZyBRaWFuIHdyb3RlOg0KPiA+IEltcGxlbWVu dCBWNEwyX0NJRF9KUEVHX0NPTVBSRVNTSU9OX1FVQUxJVFkgdG8gc2V0IGpwZWcgcXVhbGl0eQ0K PiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogTWluZyBRaWFuIDxtaW5nLnFpYW5AbnhwLmNvbT4NCj4g PiAtLS0NCj4gPiAgIC4uLi9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhjLWpwZWctaHcu YyB8IDExICsrLS0NCj4gPiAgIC4uLi9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhjLWpw ZWctaHcuaCB8ICAxICsNCj4gPiAgIC4uLi9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhj LWpwZWcuYyAgICB8IDUwDQo+ICsrKysrKysrKysrKysrKysrKysNCj4gPiAgIC4uLi9tZWRpYS9w bGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhjLWpwZWcuaCAgICB8ICAyICsNCj4gPiAgIDQgZmlsZXMg Y2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL254cC9pbXgtanBlZy9teGMtanBlZy1ody5j DQo+ID4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL254cC9pbXgtanBlZy9teGMtanBlZy1ody5j DQo+ID4gaW5kZXggMjljNjA0YjFiMTc5Li5jNDgyMjI4MjYyYTMgMTAwNjQ0DQo+ID4gLS0tIGEv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhjLWpwZWctaHcuYw0KPiA+ICsr KyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbnhwL2lteC1qcGVnL214Yy1qcGVnLWh3LmMNCj4g PiBAQCAtMTAwLDkgKzEwMCw2IEBAIHZvaWQgbXhjX2pwZWdfZW5jX21vZGVfY29uZihzdHJ1Y3Qg ZGV2aWNlICpkZXYsDQo+ID4gdm9pZCBfX2lvbWVtICpyZWcpDQo+ID4NCj4gPiAgIAkvKiBhbGwg bWFya2VycyBhbmQgc2VnbWVudHMgKi8NCj4gPiAgIAl3cml0ZWwoMHgzZmYsIHJlZyArIENBU1Rf Q0ZHX01PREUpOw0KPiA+IC0NCj4gPiAtCS8qIHF1YWxpdHkgZmFjdG9yICovDQo+ID4gLQl3cml0 ZWwoMHg0YiwgcmVnICsgQ0FTVF9RVUFMSVRZKTsNCj4gPiAgIH0NCj4gPg0KPiA+ICAgdm9pZCBt eGNfanBlZ19lbmNfbW9kZV9nbyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgX19pb21lbSAqcmVn KSBAQA0KPiA+IC0xMTQsNiArMTExLDE0IEBAIHZvaWQgbXhjX2pwZWdfZW5jX21vZGVfZ28oc3Ry dWN0IGRldmljZSAqZGV2LCB2b2lkDQo+IF9faW9tZW0gKnJlZykNCj4gPiAgIAl3cml0ZWwoMHgx NDAsIHJlZyArIENBU1RfTU9ERSk7DQo+ID4gICB9DQo+ID4NCj4gPiArdm9pZCBteGNfanBlZ19l bmNfc2V0X3F1YWxpdHkoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkIF9faW9tZW0gKnJlZywNCj4g PiArdTggcXVhbGl0eSkgew0KPiA+ICsJZGV2X2RiZyhkZXYsICJDQVNUIEVuY29kZXIgUXVhbGl0 eSAlZC4uLlxuIiwgcXVhbGl0eSk7DQo+ID4gKw0KPiA+ICsJLyogcXVhbGl0eSBmYWN0b3IgKi8N Cj4gPiArCXdyaXRlbChxdWFsaXR5LCByZWcgKyBDQVNUX1FVQUxJVFkpOyB9DQo+ID4gKw0KPiA+ ICAgdm9pZCBteGNfanBlZ19kZWNfbW9kZV9nbyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgX19p b21lbSAqcmVnKQ0KPiA+ICAgew0KPiA+ICAgCWRldl9kYmcoZGV2LCAiQ0FTVCBEZWNvZGVyIEdP Li4uXG4iKTsgZGlmZiAtLWdpdA0KPiA+IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14 LWpwZWcvbXhjLWpwZWctaHcuaA0KPiA+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14 LWpwZWcvbXhjLWpwZWctaHcuaA0KPiA+IGluZGV4IGFlNzBkM2EwZGMyNC4uMzU2ZTQwMTQwOTg3 IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbnhwL2lteC1qcGVnL214 Yy1qcGVnLWh3LmgNCj4gPiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL254cC9pbXgtanBl Zy9teGMtanBlZy1ody5oDQo+ID4gQEAgLTExOSw2ICsxMTksNyBAQCBpbnQgbXhjX2pwZWdfZW5h YmxlKHZvaWQgX19pb21lbSAqcmVnKTsNCj4gPiAgIHZvaWQgd2FpdF9mcm1kb25lKHN0cnVjdCBk ZXZpY2UgKmRldiwgdm9pZCBfX2lvbWVtICpyZWcpOw0KPiA+ICAgdm9pZCBteGNfanBlZ19lbmNf bW9kZV9jb25mKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCBfX2lvbWVtICpyZWcpOw0KPiA+ICAg dm9pZCBteGNfanBlZ19lbmNfbW9kZV9nbyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgX19pb21l bSAqcmVnKTsNCj4gPiArdm9pZCBteGNfanBlZ19lbmNfc2V0X3F1YWxpdHkoc3RydWN0IGRldmlj ZSAqZGV2LCB2b2lkIF9faW9tZW0gKnJlZywNCj4gPiArdTggcXVhbGl0eSk7DQo+ID4gICB2b2lk IG14Y19qcGVnX2RlY19tb2RlX2dvKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCBfX2lvbWVtICpy ZWcpOw0KPiA+ICAgaW50IG14Y19qcGVnX2dldF9zbG90KHZvaWQgX19pb21lbSAqcmVnKTsNCj4g PiAgIHUzMiBteGNfanBlZ19nZXRfb2Zmc2V0KHZvaWQgX19pb21lbSAqcmVnLCBpbnQgc2xvdCk7 IGRpZmYgLS1naXQNCj4gPiBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbnhwL2lteC1qcGVnL214 Yy1qcGVnLmMNCj4gPiBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbnhwL2lteC1qcGVnL214Yy1q cGVnLmMNCj4gPiBpbmRleCAwYzNhMWVmYmVhZTcuLmNjYzI2MzcyZTE3OCAxMDA2NDQNCj4gPiAt LS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL254cC9pbXgtanBlZy9teGMtanBlZy5jDQo+ID4g KysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhjLWpwZWcuYw0KPiA+ IEBAIC02MjQsNiArNjI0LDcgQEAgc3RhdGljIGlycXJldHVybl90IG14Y19qcGVnX2RlY19pcnEo aW50IGlycSwgdm9pZA0KPiAqcHJpdikNCj4gPiAgIAkgICAgY3R4LT5lbmNfc3RhdGUgPT0gTVhD X0pQRUdfRU5DX0NPTkYpIHsNCj4gPiAgIAkJY3R4LT5lbmNfc3RhdGUgPSBNWENfSlBFR19FTkNP RElORzsNCj4gPiAgIAkJZGV2X2RiZyhkZXYsICJFbmNvZGVyIGNvbmZpZyBmaW5pc2hlZC4gU3Rh cnQgZW5jb2RpbmcuLi5cbiIpOw0KPiA+ICsJCW14Y19qcGVnX2VuY19zZXRfcXVhbGl0eShkZXYs IHJlZywgY3R4LT5qcGVnX3F1YWxpdHkpOw0KPiANCj4gSSB0aGluayB0aGUgc2V0dGluZyBvZiB0 aGUgcXVhbGl0eSBzaG91bGQgYmUgbW92ZWQgaW4gZGV2aWNlX3J1biwgdG8ga2VlcCB0aGUNCj4g aW50ZXJydXB0IGhhbmRsZXIgbGVhbiwgSSBjaGVja2VkIGl0IHdvcmtzIGZpbmUgYWZ0ZXI6DQo+ IGRldl9kYmcoZGV2LCAiRW5jb2RlciBjb25maWcgZmluaXNoZWQuIFN0YXJ0IGVuY29kaW5nLi4u XG4iKTsNCj4gDQoNCkNvbnNpZGVyaW5nIHRoZSBtdWx0aS1zbG90IHNpdHVhdGlvbiwgdGhlIHF1 YWxpdHkgcmVnaXN0ZXIgaXMgYSBnbG9iYWwgcmVnaXN0ZXIgZm9yIGFsbCBzbG90cy4NClNvIHRv IGF2b2lkIGFjY2VzcyBpdCBpbiB0aGUgc2FtZSB0aW1lIGJ5IGRpZmZlcmVudCBzbG90cy4gSXQn cyBzYWZlIHRvIHNldCBhZnRlciBjb25maWd1cmUgZG9uZSBidXQgYmVmb3JlIGVuY29kZS4NCkFu ZCB3ZSBvbmx5IHN1cHBvcnQgeWV0LCBidXQgSSB0aGluayB3ZSB3aWxsIHN1cHBvcnQgbXVsdGkg c2xvdHMgYWZ0ZXIgd2UgZml4IHNvbWUgaXNzdWVzLg0KDQoNCj4gPiAgIAkJbXhjX2pwZWdfZW5j X21vZGVfZ28oZGV2LCByZWcpOw0KPiA+ICAgCQlnb3RvIGpvYl91bmxvY2s7DQo+ID4gICAJfQ0K PiA+IEBAIC0xNTYzLDYgKzE1NjQsNDQgQEAgc3RhdGljIHZvaWQgbXhjX2pwZWdfc2V0X2RlZmF1 bHRfcGFyYW1zKHN0cnVjdA0KPiBteGNfanBlZ19jdHggKmN0eCkNCj4gPiAgIAl9DQo+ID4gICB9 DQo+ID4NCj4gPiArc3RhdGljIGludCBteGNfanBlZ19zX2N0cmwoc3RydWN0IHY0bDJfY3RybCAq Y3RybCkgew0KPiA+ICsJc3RydWN0IG14Y19qcGVnX2N0eCAqY3R4ID0NCj4gPiArCQljb250YWlu ZXJfb2YoY3RybC0+aGFuZGxlciwgc3RydWN0IG14Y19qcGVnX2N0eCwgY3RybF9oYW5kbGVyKTsN Cj4gPiArDQo+ID4gKwlzd2l0Y2ggKGN0cmwtPmlkKSB7DQo+ID4gKwljYXNlIFY0TDJfQ0lEX0pQ RUdfQ09NUFJFU1NJT05fUVVBTElUWToNCj4gDQo+IExvb2tzIGxpa2UgdGhpcyBpcyBhbGxvd2Vk IGZvciBkZWNvZGVyLCB3aGljaCBpcyBub3Qgb2ssIG1heWJlIHJldHVybiAtRUlOVkFMDQo+IGZv ciBkZWNvZGVyLg0KPiANCg0KVGhpcyBjb250cm9sIGlzIGNyZWF0ZWQgZm9yIGVuY29kZXIgb25s eSwgc28gZGVjb2RlciBoYXMgbm8gY2hhbmNlIHRvIGV4ZWN1dGUgaGVyZQ0KDQo+ID4gKwkJY3R4 LT5qcGVnX3F1YWxpdHkgPSBjdHJsLT52YWw7DQo+ID4gKwkJYnJlYWs7DQo+ID4gKwlkZWZhdWx0 Og0KPiA+ICsJCWRldl9lcnIoY3R4LT5teGNfanBlZy0+ZGV2LCAiSW52YWxpZCBjb250cm9sLCBp ZCA9ICVkLCB2YWwgPSAlZFxuIiwNCj4gPiArCQkJY3RybC0+aWQsIGN0cmwtPnZhbCk7DQo+ID4g KwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4g K30NCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX29wcyBteGNfanBl Z19jdHJsX29wcyA9IHsNCj4gPiArCS5zX2N0cmwgPSBteGNfanBlZ19zX2N0cmwsDQo+ID4gK307 DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZCBteGNfanBlZ19lbmNvZGVfY3RybHMoc3RydWN0IG14 Y19qcGVnX2N0eCAqY3R4KSB7DQo+ID4gKwl2NGwyX2N0cmxfbmV3X3N0ZCgmY3R4LT5jdHJsX2hh bmRsZXIsICZteGNfanBlZ19jdHJsX29wcywNCj4gPiArCQkJICBWNEwyX0NJRF9KUEVHX0NPTVBS RVNTSU9OX1FVQUxJVFksIDEsIDEwMCwgMSwgNzUpOw0KPiANCj4gVGhlIHY0bDJfY3RybF9uZXdf c3RkIG1heSByZXR1cm4gYW4gZXJyb3IsIHdoaWNoIGlzIG5vdCBjaGVja2VkIGhlcmUgKE5VTEwg aXMNCj4gcmV0dXJuZWQgYW5kIEBoZGwtPmVycm9yIGlzIHNldC4uLiksIHBsZWFzZSBmaXguDQo+ IA0KDQpBbG1vc3Qgbm8gZHJpdmVyIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgdjRsMl9jdHJs X25ld19zdGQuIGV4Y2VwdCBzb21lIGRyaXZlciB3YW50IHRvIGNoYW5nZSBzb21lIHByb3BlcnR5 IG9mIHRoZSBjcmVhdGVkIGN0cmwuDQpBbmQgaWYgaXQgcmV0dXJuIE5VTEwsIGl0IHdvbid0IGJy aW5nIHNvbWUgc2VyaW91cyBwcm9ibGVtcywganVzdCBub3Qgc3VwcG9ydCB0aGlzIGNvbnRyb2wN Cg0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IG14Y19qcGVnX2N0cmxzX3NldHVwKHN0 cnVjdCBteGNfanBlZ19jdHggKmN0eCkgew0KPiA+ICsJdjRsMl9jdHJsX2hhbmRsZXJfaW5pdCgm Y3R4LT5jdHJsX2hhbmRsZXIsIDIpOw0KPiANCj4gY3RybF9oYW5kbGVyIGhhcyBhIGxvY2sgbWVt YmVyLCB3aGljaCBjb3VsZCBiZSBzZXR1cCBoZXJlLg0KPiANCg0KVGhlIGxvY2sgd2lsbCBiZSBz ZXQgaW4gdjRsMl9jdHJsX2hhbmRsZXJfaW5pdDoNCm11dGV4X2luaXQoJmhkbC0+X2xvY2spOw0K aGRsLT5sb2NrID0gJmhkbC0+X2xvY2s7DQoNCj4gPiArDQo+ID4gKwlpZiAoY3R4LT5teGNfanBl Zy0+bW9kZSA9PSBNWENfSlBFR19FTkNPREUpDQo+ID4gKwkJbXhjX2pwZWdfZW5jb2RlX2N0cmxz KGN0eCk7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIHY0bDJfY3RybF9oYW5kbGVyX3NldHVwKCZjdHgt PmN0cmxfaGFuZGxlcik7DQo+ID4gK30NCj4gPiArDQo+ID4gICBzdGF0aWMgaW50IG14Y19qcGVn X29wZW4oc3RydWN0IGZpbGUgKmZpbGUpDQo+ID4gICB7DQo+ID4gICAJc3RydWN0IG14Y19qcGVn X2RldiAqbXhjX2pwZWcgPSB2aWRlb19kcnZkYXRhKGZpbGUpOyBAQCAtMTU5NCw2DQo+ID4gKzE2 MzMsMTIgQEAgc3RhdGljIGludCBteGNfanBlZ19vcGVuKHN0cnVjdCBmaWxlICpmaWxlKQ0KPiA+ ICAgCQlnb3RvIGVycm9yOw0KPiA+ICAgCX0NCj4gPg0KPiA+ICsJcmV0ID0gbXhjX2pwZWdfY3Ry bHNfc2V0dXAoY3R4KTsNCj4gPiArCWlmIChyZXQpIHsNCj4gPiArCQlkZXZfZXJyKGN0eC0+bXhj X2pwZWctPmRldiwgImZhaWxlZCB0byBzZXR1cCBteGMganBlZyBjb250cm9sc1xuIik7DQo+ID4g KwkJZ290byBlcnJfY3RybHNfc2V0dXA7DQo+ID4gKwl9DQo+ID4gKwljdHgtPmZoLmN0cmxfaGFu ZGxlciA9ICZjdHgtPmN0cmxfaGFuZGxlcjsNCj4gPiAgIAlteGNfanBlZ19zZXRfZGVmYXVsdF9w YXJhbXMoY3R4KTsNCj4gPiAgIAljdHgtPnNsb3QgPSBNWENfTUFYX1NMT1RTOyAvKiBzbG90IG5v dCBhbGxvY2F0ZWQgeWV0ICovDQo+ID4NCj4gPiBAQCAtMTYwNSw2ICsxNjUwLDggQEAgc3RhdGlj IGludCBteGNfanBlZ19vcGVuKHN0cnVjdCBmaWxlICpmaWxlKQ0KPiA+DQo+ID4gICAJcmV0dXJu IDA7DQo+ID4NCj4gPiArZXJyX2N0cmxzX3NldHVwOg0KPiA+ICsJdjRsMl9tMm1fY3R4X3JlbGVh c2UoY3R4LT5maC5tMm1fY3R4KTsNCj4gPiAgIGVycm9yOg0KPiA+ICAgCXY0bDJfZmhfZGVsKCZj dHgtPmZoKTsNCj4gPiAgIAl2NGwyX2ZoX2V4aXQoJmN0eC0+ZmgpOw0KPiA+IEBAIC0xOTYyLDYg KzIwMDksOCBAQCBzdGF0aWMgaW50IG14Y19qcGVnX3N1YnNjcmliZV9ldmVudChzdHJ1Y3QNCj4g djRsMl9maCAqZmgsDQo+ID4gICAJCXJldHVybiB2NGwyX2V2ZW50X3N1YnNjcmliZShmaCwgc3Vi LCAwLCBOVUxMKTsNCj4gPiAgIAljYXNlIFY0TDJfRVZFTlRfU09VUkNFX0NIQU5HRToNCj4gPiAg IAkJcmV0dXJuIHY0bDJfc3JjX2NoYW5nZV9ldmVudF9zdWJzY3JpYmUoZmgsIHN1Yik7DQo+ID4g KwljYXNlIFY0TDJfRVZFTlRfQ1RSTDoNCj4gPiArCQlyZXR1cm4gdjRsMl9jdHJsX3N1YnNjcmli ZV9ldmVudChmaCwgc3ViKTsNCj4gPiAgIAlkZWZhdWx0Og0KPiA+ICAgCQlyZXR1cm4gLUVJTlZB TDsNCj4gPiAgIAl9DQo+ID4gQEAgLTIwMzUsNiArMjA4NCw3IEBAIHN0YXRpYyBpbnQgbXhjX2pw ZWdfcmVsZWFzZShzdHJ1Y3QgZmlsZSAqZmlsZSkNCj4gPiAgIAllbHNlDQo+ID4gICAJCWRldl9k YmcoZGV2LCAiUmVsZWFzZSBKUEVHIGVuY29kZXIgaW5zdGFuY2Ugb24gc2xvdCAlZC4iLA0KPiA+ ICAgCQkJY3R4LT5zbG90KTsNCj4gPiArCXY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJmN0eC0+Y3Ry bF9oYW5kbGVyKTsNCj4gPiAgIAl2NGwyX20ybV9jdHhfcmVsZWFzZShjdHgtPmZoLm0ybV9jdHgp Ow0KPiA+ICAgCXY0bDJfZmhfZGVsKCZjdHgtPmZoKTsNCj4gPiAgIAl2NGwyX2ZoX2V4aXQoJmN0 eC0+ZmgpOw0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL254cC9pbXgt anBlZy9teGMtanBlZy5oDQo+ID4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL254cC9pbXgtanBl Zy9teGMtanBlZy5oDQo+ID4gaW5kZXggOWFlNTZlNmUwZmJlLi45YzlkYTMyYjIxMjUgMTAwNjQ0 DQo+ID4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhjLWpwZWcu aA0KPiA+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbnhwL2lteC1qcGVnL214Yy1qcGVn LmgNCj4gPiBAQCAtOTYsNiArOTYsOCBAQCBzdHJ1Y3QgbXhjX2pwZWdfY3R4IHsNCj4gPiAgIAl1 bnNpZ25lZCBpbnQJCQlzbG90Ow0KPiA+ICAgCXVuc2lnbmVkIGludAkJCXNvdXJjZV9jaGFuZ2U7 DQo+ID4gICAJYm9vbAkJCQloZWFkZXJfcGFyc2VkOw0KPiA+ICsJc3RydWN0IHY0bDJfY3RybF9o YW5kbGVyCWN0cmxfaGFuZGxlcjsNCj4gPiArCXU4CQkJCWpwZWdfcXVhbGl0eTsNCj4gPiAgIH07 DQo+ID4NCj4gPiAgIHN0cnVjdCBteGNfanBlZ19zbG90X2RhdGEgew0K 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 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 EA037C433FE for ; Thu, 14 Apr 2022 10:05:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: 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=NsqA5PPxMUlM7RuKkZipDLxQGYwiDzy5qs/EaFvijrw=; b=QkyeLuvy3jLvt5 OSOtzFpePzDmIYZd9sO8wDN/6HmX4pf++kJSxTkkZAiZxL4phOp368HZvD8q6W8SLipF1mcnPhnNy fK1KRXCruDzi5KeHSIUVmeEr3lWLjZVw6bWWAE7KsXYIdeUfMbFH1qGW4kCtbN3vPhaE30AssU5ew Pa7yWiUw9xxTGikU1+Y7coq62mWq4LOLYRzcxk6H8CQkDIk+Rit+izNH8P+JswJ6oE/OdMEnAOTbh U5qGtvuxAO9YJ6W0eA7JqVdKRFWO+J+Acunc4lfU8SxfP0z1LBMxoqtXdwtEmcClRBa2n3NLsyfbq YWH05VgezSo/th6I63Kg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1newL9-0052KQ-OS; Thu, 14 Apr 2022 10:04:40 +0000 Received: from mail-he1eur04on0613.outbound.protection.outlook.com ([2a01:111:f400:fe0d::613] helo=EUR04-HE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1newL6-0052HK-5U for linux-arm-kernel@lists.infradead.org; Thu, 14 Apr 2022 10:04:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=THIDvlPr4wlyCtLm+u0y/GQq2Y/tLmP4mWkxP6yvHio8njqsBqvTWRaKnduo+/M6WfnJU2h1wElcp60P7cF4A+nuY7P6NN2yK85bOzSoqHJPbVzFrGDIdfyrSNYlkB4rU44V5oWpMM4y6UV0f1Pc5tIimZrGCXLDpRKG7HUYriN9fixOBZiS+taahg1Arkm7X6RuumLFWYUFhVhsMVpastAFpkMriairhy+uvTh++ilnWLIXSm7ZV9H8TQiHAgF+l+PAsueh2riF45y6cLEob83OMCoe1jo6Wk9dWadM1RMnWkUxfKzv5da7bLHJoRR0PaX7Z9pg4634dEQltQEIaw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DtTtkr4MDfPGWotpootAeU9zeZsJ5jSAmg+QSgCF8IA=; b=Oh4ltRvo+1OouN6QMcZu+uhMCev+3cqVzx4xyrvs/bJ2ak89JD9ZRPdCuXBeLUxcyD9g4EoeRiNxy3+QFuc+EHJCKhWwyI4z+dzVpT3+DVusf+eeTEwv7PcTn5DlUsInvgUqL9HvkIAtDvON1zcxF9p33iPUNVLyS014QYAZ7NLJ/Z/TXhEiv4CxEajWQ6opn4u+v2EfGxLUNMI6cOrVHaPWSov1UA4tlcQIM4LLfiohMBaX0tJWDYRjE8Q/gWTJe5BYp63Hf7QFkJ+bZzDoyZR3KRe1o91BgAhrnpHyzKvjj3XmOdutzGJBFT6uZDRJ7T+TOmUrxwe9f/CY7FBRtA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DtTtkr4MDfPGWotpootAeU9zeZsJ5jSAmg+QSgCF8IA=; b=KQ+xhxbkeJ7Irpfbgh/XT4Tj0A6naiIacrHp8rL//wQ86/zXHQJYlyXI5dDl+Ta/XBwXk6MAd1y7Qzt8HnQuJGjOulPcSwlCPaQCusCEtQb1wzC8A2fjoQZcz5+U//06eocD/dGP+G5C5IrZfAsegxXzMd8FHO0WROGJXw+5TXw= Received: from AM6PR04MB6341.eurprd04.prod.outlook.com (2603:10a6:20b:d8::14) by DB6PR0401MB2280.eurprd04.prod.outlook.com (2603:10a6:4:48::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.18; Thu, 14 Apr 2022 10:04:31 +0000 Received: from AM6PR04MB6341.eurprd04.prod.outlook.com ([fe80::d8b5:5914:5189:ffa5]) by AM6PR04MB6341.eurprd04.prod.outlook.com ([fe80::d8b5:5914:5189:ffa5%6]) with mapi id 15.20.5164.020; Thu, 14 Apr 2022 10:04:31 +0000 From: Ming Qian To: "Mirela Rabulea (OSS)" , "mchehab@kernel.org" , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" CC: "hverkuil-cisco@xs4all.nl" , "kernel@pengutronix.de" , "festevam@gmail.com" , dl-linux-imx , "linux-media@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: RE: [PATCH] media: imx-jpeg: Encoder support to set jpeg quality Thread-Topic: [PATCH] media: imx-jpeg: Encoder support to set jpeg quality Thread-Index: AQHYSZs84ah/y7+Re0OOpIqCG7EFQazvNJcAgAAAtCA= Date: Thu, 14 Apr 2022 10:04:31 +0000 Message-ID: References: <20220406094623.7887-1-ming.qian@nxp.com> <80bcabe7-5761-7244-c6ea-1b5893395170@oss.nxp.com> In-Reply-To: <80bcabe7-5761-7244-c6ea-1b5893395170@oss.nxp.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7c83f8ef-27b4-42cf-25b8-08da1dfe2b4c x-ms-traffictypediagnostic: DB6PR0401MB2280:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Ak3EQoYjh305/PevG/niw0hbvZIx7rrvEWo6X47FSPl55CP1igbbOFCDgZDYNidns4inlH7SwxOjMJ6BRDH6Dm9UCBe3tjDi+UxwGT3FVRHl/qY/JfWjCopMODPL/YRqy2er4vZNBIE311ZLmQtXXBK6hj2cW5wmC0v3+49eWE8n93bAlPH+i1m+GT9eAI1lIPsb++JtfOeHeWnuq2Zn+ZXmlfVizK9+Qekqqvzft9W0ZCYJ/UaHlagCVVBoV4iSqtyTeL/IuUbcSZMZsztcZ8R8pdVQDQCKgtLTrgHDH3UjDQ39vupJiEqEZ2JYk1VYxsWCbHOQuqmNZxA77eNsTTz7Dc96NAq1BA2BIXYc2MqYCGdKmhUZc5c04kcf3xCp52Em2Z0pddrggX/Wo8xqSoBT1SoDzFiMx1xER4ypnVjCAqwZh4pG2FGP6cqJ2oQ/MQtTwh4ygdUv+0uhB2I14BcXVrc5HgeTYzsuO6QJoWOPn+uKUagKAvg4hc6o5JyZIb5N6av2PJdsp5MiPFgcHlSN+w1CZfMk49MEMPr1MN6s+b1c8w7bvxojPUD/sTdAfXOs9hDTvTBlluuQn4NahQjGmZs0Qxh9rUg26TM0J9Tit7iv242dB9wp4Tcskn73jHgZpY4A5LHf67Psv8AsoblDTeFuZDUc17V7LYFy1ummniCVWXJUzlaOUhxgtpYhWGFqfhmQTF+SXDl5i4CWhg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB6341.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(110136005)(86362001)(53546011)(6506007)(7696005)(316002)(54906003)(83380400001)(66556008)(38070700005)(5660300002)(66476007)(66446008)(7416002)(8676002)(8936002)(66946007)(9686003)(186003)(71200400001)(26005)(4326008)(52536014)(44832011)(64756008)(76116006)(122000001)(38100700002)(33656002)(55016003)(2906002)(508600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SU1pUG0xZ3AzRmh0dFF2UnQzeHpoZStYV29FMVMzZmwyMjNHTkVwNms0QzNl?= =?utf-8?B?dFBPeklrTVpDb3BZWURZUDl5dWNkRlJvc012dERoQkRINys2UTc3aU4rK2xI?= =?utf-8?B?aGJ5RjR1ZzBKeXAza05lQm1BNU1ITEx6Zm9hNnliUnpZWVR6a3EraHdxMzQ5?= =?utf-8?B?T3NXTVc0RVczYUM1RnltM21XZTBqRkJ0WTUvVnVoKzZKK1JaU0VleUJZS1Mv?= =?utf-8?B?U1czaFRZRkFiU3pXb2J2V2d5MkZhY2x0SzlOaVBaWnZ0Qlg1R1kvUllhNzJO?= =?utf-8?B?UkZKY0FEc3RleWN1QmthOTF2UkdrUStyUU8yMzlvMkZvQkpUVjZlK3lrWEhT?= =?utf-8?B?NW5nTXUwbm9BRlFHMmZKekNyVTN4ZmVBYm9FNHhvNkZpU3JjRm1yalF3N0Ri?= =?utf-8?B?YUpGQUZMTEw5SHQvM3RWSU1XTWJXV1FRZVJUQXBoY2xVM0xPNXNNVVNVTmJs?= =?utf-8?B?SjZYZ00vaERKcEphVnhDNzFKeDVNaEVwY0NhOGJCL1BFRlJFVllFZUhZMTMv?= =?utf-8?B?RXdXdDI3bzFIU3JPVitBQU1Kam5GTU44WTlRcXJrYmlkL1ltUllZSTVuVHI2?= =?utf-8?B?VTNGWlZNNXRGNG9BMS9ESTh5Qk9za1F2dWx4dDIzV1dNdHl4T21LVUMxSGhP?= =?utf-8?B?QlladTdFdGdPOGV3SkV5b1lZRmdyalBhNzBDT3pPTzVsRnNmZll5WjVHR05Y?= =?utf-8?B?N3hpSkxTU0hoZlcyeU1yZktlOGhjaTdQa0IzenVYNXFEcmdlSU9RZ0tJb1Ra?= =?utf-8?B?Y2JyNkpjSnYxL2hZa0s3U2pmcHNLRyt1ZzZXV1hMM3Z5bFoxdHI2eUx2dHBr?= =?utf-8?B?YnZHQmFjeFc4Ull5TmM2ai9YWnFsdzRWRFNhV3RkODYxVzFESWZDZ1E3eHdT?= =?utf-8?B?K2hoRjJXOVpWeENwTHhaUnRib2lQYWJDS1h5a0xuSHhjUDZxd0M1RUlHOUJk?= =?utf-8?B?b2szQUFaRXpvNDdibTB2VTJLTCs4dDcyTW0xYW9RNncyREtoK1pZdFg2MTVN?= =?utf-8?B?bGxwOGZEZmJqcE84SGI1SFJHZWEvLytUeGVlNlMrUTBxZjQwTjhFNHZkWTZD?= =?utf-8?B?K0g3Z2srWHUzaW0vVS8wOEFvTCsyTVd4T29wbGJGRXVlVzNSbGc5Rnh6SXE1?= =?utf-8?B?djBpSU13VHRrcFgxcXY4ZzFrSFZRcS8zeUZMWnd6d2hnc05ETHdvcnpCUDNw?= =?utf-8?B?OG5MWG1Wc3UrVi93ZjZlU2FPZXZNOFZuY1NJZUl5T3hXTVowZzZWakY1Zmgy?= =?utf-8?B?ZTZNcUtGalVhZGJzOXZVcVgxeVlRMm44QXF1RTFmY0MweW9NcmVWdU5EV3Bl?= =?utf-8?B?NXlFZFBabUU0eHl3UDh0NGNmUHZSQWxQZkpoSHpQNVdiNXdFalpLUzhxNE9F?= =?utf-8?B?QjRNYjZIT2ZSZXlWck42aDBteXpLNlEwMXA1ZHkzZEcwNHlyZE51VWdKZjBK?= =?utf-8?B?aUh5S3pScVc3QjBWK29TTEp2ek9ONlJ0WFl3akoweEF3RitsUFlxWHAyVXdk?= =?utf-8?B?VkJXRFNGZnJtMjV3VjU0elZrd1h6azdqZ2FKUmV0alpIRE1ERjlwcklKYjlj?= =?utf-8?B?V3l6Y2hKMHF4K1BCbnVPdnhqYVJkZDNwS0V1azZsaHl3SEVWMGRHdTd3TCtl?= =?utf-8?B?NVdmVVJKTXVhalJrM1EvT0szaVRlUXltY1ZvaHk0LzZ4alU3N2JrR0x0SFRE?= =?utf-8?B?a0ljK1FoUFpXVzB0M29iQmpIZmhiNy9GZ2JNTmpzdUR1SDBxcHBFZzYvNnhJ?= =?utf-8?B?d214R0Mvb04yL2pYbkdUUnZWSWlvZWwxMjZTV1lFY1NwYVpiS1Z1QUtJY2Jk?= =?utf-8?B?SHRwVis4dHdleFZaV3RveUUyU2U3cUZsNGFEVDAyenBob1hqTm1Dc203ZE5B?= =?utf-8?B?UGJXdU4wUi84NVFvSzRNeTJWUGNRRVFYOUk1L1RPem9lVHlaa2QwSDljbHRI?= =?utf-8?B?a3Nkc0tpMkM2bC96UGp0Mk5vMFdxY3dKRk1HUEVpa05hazFCQmg3NkRabEJJ?= =?utf-8?B?cThHZXkvZXFReGU5RjdZQUhtMkc1c0VncXVNZVUvNU5wYmY3VzNHcjRIeU5K?= =?utf-8?B?NjM4RUJNQTh1RDU4QUJTU1lwZTBvZFc2bTJJU1VaNmZOT05ZQmptRVZCVHYz?= =?utf-8?B?a3FkOS9vWWxqRWlwN3ZXcS81RFJkNVBCSlFJZkZyQWphVGttaUh2Z0tmcDMr?= =?utf-8?B?YkNWMG9uNWY5RE5zQkZXbUlrMzlpTERUWk5UVm1UMDhIYWVtcW9BanpJQ2Zr?= =?utf-8?B?SGNBejgyMzg1UnJIWTViaSt4WkUvT0JiVFdqbDVKM3Z3dXdXVU9sdlMwVjBO?= =?utf-8?B?OUwvVkxHbVViaUMvbWd2OWRUSW5qaEJDZFNLdUhScFl3eWNXTUhaZz09?= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6341.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c83f8ef-27b4-42cf-25b8-08da1dfe2b4c X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2022 10:04:31.0249 (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: 1WQ/hFzMI7npqAPix1yqeey5p4gsKxIRPW0DCBhW/04snjpqYgo/NvYJ59ldRRHsKXOIBdLGENq6DAHHNo4zuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0401MB2280 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220414_030436_627192_9398D463 X-CRM114-Status: GOOD ( 25.20 ) 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org > From: Mirela Rabulea (OSS) > Sent: Thursday, April 14, 2022 5:42 PM > To: Ming Qian ; mchehab@kernel.org; > shawnguo@kernel.org; s.hauer@pengutronix.de > Cc: hverkuil-cisco@xs4all.nl; kernel@pengutronix.de; festevam@gmail.com; > dl-linux-imx ; linux-media@vger.kernel.org; > linux-kernel@vger.kernel.org; devicetree@vger.kernel.org; > linux-arm-kernel@lists.infradead.org > Subject: Re: [PATCH] media: imx-jpeg: Encoder support to set jpeg quality > > Hi Ming, > > On 06.04.2022 12:46, Ming Qian wrote: > > Implement V4L2_CID_JPEG_COMPRESSION_QUALITY to set jpeg quality > > > > Signed-off-by: Ming Qian > > --- > > .../media/platform/nxp/imx-jpeg/mxc-jpeg-hw.c | 11 ++-- > > .../media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h | 1 + > > .../media/platform/nxp/imx-jpeg/mxc-jpeg.c | 50 > +++++++++++++++++++ > > .../media/platform/nxp/imx-jpeg/mxc-jpeg.h | 2 + > > 4 files changed, 61 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.c > > b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.c > > index 29c604b1b179..c482228262a3 100644 > > --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.c > > +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.c > > @@ -100,9 +100,6 @@ void mxc_jpeg_enc_mode_conf(struct device *dev, > > void __iomem *reg) > > > > /* all markers and segments */ > > writel(0x3ff, reg + CAST_CFG_MODE); > > - > > - /* quality factor */ > > - writel(0x4b, reg + CAST_QUALITY); > > } > > > > void mxc_jpeg_enc_mode_go(struct device *dev, void __iomem *reg) @@ > > -114,6 +111,14 @@ void mxc_jpeg_enc_mode_go(struct device *dev, void > __iomem *reg) > > writel(0x140, reg + CAST_MODE); > > } > > > > +void mxc_jpeg_enc_set_quality(struct device *dev, void __iomem *reg, > > +u8 quality) { > > + dev_dbg(dev, "CAST Encoder Quality %d...\n", quality); > > + > > + /* quality factor */ > > + writel(quality, reg + CAST_QUALITY); } > > + > > void mxc_jpeg_dec_mode_go(struct device *dev, void __iomem *reg) > > { > > dev_dbg(dev, "CAST Decoder GO...\n"); diff --git > > a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h > > b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h > > index ae70d3a0dc24..356e40140987 100644 > > --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h > > +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h > > @@ -119,6 +119,7 @@ int mxc_jpeg_enable(void __iomem *reg); > > void wait_frmdone(struct device *dev, void __iomem *reg); > > void mxc_jpeg_enc_mode_conf(struct device *dev, void __iomem *reg); > > void mxc_jpeg_enc_mode_go(struct device *dev, void __iomem *reg); > > +void mxc_jpeg_enc_set_quality(struct device *dev, void __iomem *reg, > > +u8 quality); > > void mxc_jpeg_dec_mode_go(struct device *dev, void __iomem *reg); > > int mxc_jpeg_get_slot(void __iomem *reg); > > u32 mxc_jpeg_get_offset(void __iomem *reg, int slot); diff --git > > a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c > > b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c > > index 0c3a1efbeae7..ccc26372e178 100644 > > --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c > > +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c > > @@ -624,6 +624,7 @@ static irqreturn_t mxc_jpeg_dec_irq(int irq, void > *priv) > > ctx->enc_state == MXC_JPEG_ENC_CONF) { > > ctx->enc_state = MXC_JPEG_ENCODING; > > dev_dbg(dev, "Encoder config finished. Start encoding...\n"); > > + mxc_jpeg_enc_set_quality(dev, reg, ctx->jpeg_quality); > > I think the setting of the quality should be moved in device_run, to keep the > interrupt handler lean, I checked it works fine after: > dev_dbg(dev, "Encoder config finished. Start encoding...\n"); > Considering the multi-slot situation, the quality register is a global register for all slots. So to avoid access it in the same time by different slots. It's safe to set after configure done but before encode. And we only support yet, but I think we will support multi slots after we fix some issues. > > mxc_jpeg_enc_mode_go(dev, reg); > > goto job_unlock; > > } > > @@ -1563,6 +1564,44 @@ static void mxc_jpeg_set_default_params(struct > mxc_jpeg_ctx *ctx) > > } > > } > > > > +static int mxc_jpeg_s_ctrl(struct v4l2_ctrl *ctrl) { > > + struct mxc_jpeg_ctx *ctx = > > + container_of(ctrl->handler, struct mxc_jpeg_ctx, ctrl_handler); > > + > > + switch (ctrl->id) { > > + case V4L2_CID_JPEG_COMPRESSION_QUALITY: > > Looks like this is allowed for decoder, which is not ok, maybe return -EINVAL > for decoder. > This control is created for encoder only, so decoder has no chance to execute here > > + ctx->jpeg_quality = ctrl->val; > > + break; > > + default: > > + dev_err(ctx->mxc_jpeg->dev, "Invalid control, id = %d, val = %d\n", > > + ctrl->id, ctrl->val); > > + return -EINVAL; > > + } > > + > > + return 0; > > +} > > + > > +static const struct v4l2_ctrl_ops mxc_jpeg_ctrl_ops = { > > + .s_ctrl = mxc_jpeg_s_ctrl, > > +}; > > + > > +static void mxc_jpeg_encode_ctrls(struct mxc_jpeg_ctx *ctx) { > > + v4l2_ctrl_new_std(&ctx->ctrl_handler, &mxc_jpeg_ctrl_ops, > > + V4L2_CID_JPEG_COMPRESSION_QUALITY, 1, 100, 1, 75); > > The v4l2_ctrl_new_std may return an error, which is not checked here (NULL is > returned and @hdl->error is set...), please fix. > Almost no driver check the return value of v4l2_ctrl_new_std. except some driver want to change some property of the created ctrl. And if it return NULL, it won't bring some serious problems, just not support this control > > +} > > + > > +static int mxc_jpeg_ctrls_setup(struct mxc_jpeg_ctx *ctx) { > > + v4l2_ctrl_handler_init(&ctx->ctrl_handler, 2); > > ctrl_handler has a lock member, which could be setup here. > The lock will be set in v4l2_ctrl_handler_init: mutex_init(&hdl->_lock); hdl->lock = &hdl->_lock; > > + > > + if (ctx->mxc_jpeg->mode == MXC_JPEG_ENCODE) > > + mxc_jpeg_encode_ctrls(ctx); > > + > > + return v4l2_ctrl_handler_setup(&ctx->ctrl_handler); > > +} > > + > > static int mxc_jpeg_open(struct file *file) > > { > > struct mxc_jpeg_dev *mxc_jpeg = video_drvdata(file); @@ -1594,6 > > +1633,12 @@ static int mxc_jpeg_open(struct file *file) > > goto error; > > } > > > > + ret = mxc_jpeg_ctrls_setup(ctx); > > + if (ret) { > > + dev_err(ctx->mxc_jpeg->dev, "failed to setup mxc jpeg controls\n"); > > + goto err_ctrls_setup; > > + } > > + ctx->fh.ctrl_handler = &ctx->ctrl_handler; > > mxc_jpeg_set_default_params(ctx); > > ctx->slot = MXC_MAX_SLOTS; /* slot not allocated yet */ > > > > @@ -1605,6 +1650,8 @@ static int mxc_jpeg_open(struct file *file) > > > > return 0; > > > > +err_ctrls_setup: > > + v4l2_m2m_ctx_release(ctx->fh.m2m_ctx); > > error: > > v4l2_fh_del(&ctx->fh); > > v4l2_fh_exit(&ctx->fh); > > @@ -1962,6 +2009,8 @@ static int mxc_jpeg_subscribe_event(struct > v4l2_fh *fh, > > return v4l2_event_subscribe(fh, sub, 0, NULL); > > case V4L2_EVENT_SOURCE_CHANGE: > > return v4l2_src_change_event_subscribe(fh, sub); > > + case V4L2_EVENT_CTRL: > > + return v4l2_ctrl_subscribe_event(fh, sub); > > default: > > return -EINVAL; > > } > > @@ -2035,6 +2084,7 @@ static int mxc_jpeg_release(struct file *file) > > else > > dev_dbg(dev, "Release JPEG encoder instance on slot %d.", > > ctx->slot); > > + v4l2_ctrl_handler_free(&ctx->ctrl_handler); > > v4l2_m2m_ctx_release(ctx->fh.m2m_ctx); > > v4l2_fh_del(&ctx->fh); > > v4l2_fh_exit(&ctx->fh); > > diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h > > b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h > > index 9ae56e6e0fbe..9c9da32b2125 100644 > > --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h > > +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h > > @@ -96,6 +96,8 @@ struct mxc_jpeg_ctx { > > unsigned int slot; > > unsigned int source_change; > > bool header_parsed; > > + struct v4l2_ctrl_handler ctrl_handler; > > + u8 jpeg_quality; > > }; > > > > struct mxc_jpeg_slot_data { _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel