From patchwork Fri Apr 18 07:08:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ming Qian(OSS)" X-Patchwork-Id: 14056981 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 37A0AC369AB for ; Fri, 18 Apr 2025 07:26:27 +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=UViXd6A0+zbyBmgvpaPa84xKJbnSR8rUGGc/vKJ3nNE=; b=m8+uYAZ/A0MnWcNYtJz2/CPkIE m41b99LyHJVLwh4QRlQFOL24OnJnkbI48xUlEGHMIqUzy1KISJHxu+oi+OnnSYpoIEooxfefR0aXV OX73no7N7sIoO1GIqR8UQXbipGVRpQ2KYD41fT9Xs4mueY27hl90efhwri3Og/Xkzbk6Y0U72G5FV jfcbSNqvPbH5xUIP6RxelYseRN8xpnRIPPUJa7okcrmXk1Lr2kFAsY1RUrhKBqPa9jyW/4/drwyWm jKjgz6ypk9Cqj6zcKVTZFnjzo4gdksb2yLc9RxKv61gmqxP1NWHTXCEuIKBDfwg7BK+AuH1rcR7YF S0DGhLxg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5g78-0000000FT1r-0LqJ; Fri, 18 Apr 2025 07:26:18 +0000 Received: from mail-dbaeur03on20609.outbound.protection.outlook.com ([2a01:111:f403:260d::609] helo=EUR03-DBA-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5fqu-0000000FQeq-2XYm for linux-arm-kernel@lists.infradead.org; Fri, 18 Apr 2025 07:09:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Aa3nXcrT+LXoduAJ0uc72yZlnqBb0dvlDynfPPedlyh+9MPK8LeAL973uSb/GOjfw5TSKcgJP/BBTNUdRAMedJ2DzGzwgxejc045PXpD3CNvVN3lQsRaIeyqir1rK2Cd8ymQLl9PeGen90cX2B+9GGSK/25+bi5/CIzUHIceA+0lJ86zP8Aw882vVc2r5wNOQ27cSb6SPd26lnIWZkGCFIf5Ov2I7oktpAodvvGos2uLkAOnxvhovfx1/Y3ALV9lsK6/hhAwhSsSZBAq9rdTUPYvPAhoU4eVYeYcLzZZnAwVuLJGaVEzSfofFhLKeBYuuUtEJN/LmcVWx0aQeQnSyw== 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=UViXd6A0+zbyBmgvpaPa84xKJbnSR8rUGGc/vKJ3nNE=; b=kCpFEs4Gm8t0yfPjRB/LGBx5pmBQ//1bNQsxCIPa3lObuMdfcvIblQK3IEEb6je8KEjOk0/R5iOX9Jjc5zqdCVItO+arNL0WcZGKp6FKD6E2cW0vYB+mwt4ClgvGdqrD51l69R42Wr+5/wq8iPSR3S3GcKgVJHsMhNPlLOhfCEn26ULDRMnI0OL7mAuNHqG3cL8KSxP+HNXCvzJq4cIzwPLeGC9ilD5anUlA216OnwUrdfRNsuPMjvw5ULXMQ/DqEP/mqdblMv4JKRkK388m8iFPJgnmXgDFhUtv/60nsJgaFDadMcqzEfk7Lf/ntiirgbyMPf+deoUWO5JK1zV6vw== 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=UViXd6A0+zbyBmgvpaPa84xKJbnSR8rUGGc/vKJ3nNE=; b=MfefxE7XSI6MuSyd0g9exnKKoa0bpVKR/Lil/JQE08qP1fpKxwUA0IQxW9ZQNM7EcgN6dJExuPUxEEHwpHL6zTDVzu846eDlr9o14YRJmE8hp8zCmo3DOm6NADd2r//e8cXIU2Q/JzDYXRRzznE8w2UnPrNLaGraOmBtHRk7a0iYoVlhv27fv+4//RJhZTMxrfEm6SQoEZNxZ81urwFd/b+FSV88r1VqvdNyEgQ70zgkQ6fbGDtIzwmdfhPTnuw/BHrHez36Q9A31SW6ai5XU0jE0zzu5DLAbXenwyLgbjSroqAeuYdqTi0K01DQIVCtTXFN5wnqWjpU6cs3AuoZ3w== 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 PA2PR04MB10160.eurprd04.prod.outlook.com (2603:10a6:102:407::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.34; Fri, 18 Apr 2025 07:09:28 +0000 Received: from PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87]) by PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87%4]) with mapi id 15.20.8655.022; Fri, 18 Apr 2025 07:09:28 +0000 From: ming.qian@oss.nxp.com To: mchehab@kernel.org, hverkuil-cisco@xs4all.nl, mirela.rabulea@oss.nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, xiahong.bao@nxp.com, eagle.zhou@nxp.com, linux-imx@nxp.com, imx@lists.linux.dev, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 1/5] media: imx-jpeg: Move mxc_jpeg_free_slot_data() ahead Date: Fri, 18 Apr 2025 15:08:17 +0800 Message-ID: <20250418070826.141-2-ming.qian@oss.nxp.com> X-Mailer: git-send-email 2.48.1.windows.1 In-Reply-To: <20250418070826.141-1-ming.qian@oss.nxp.com> References: <20250418070826.141-1-ming.qian@oss.nxp.com> X-ClientProxiedBy: SG2PR01CA0174.apcprd01.prod.exchangelabs.com (2603:1096:4:28::30) 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_|PA2PR04MB10160:EE_ X-MS-Office365-Filtering-Correlation-Id: 32f8de2c-6772-46ca-37ed-08dd7e47f264 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|376014|1800799024|52116014|7416014|366016|38350700014; X-Microsoft-Antispam-Message-Info: xNDJtwzSWbOpL1C01vqcm5rlPumEfjGHNzUZCBZeD8jCBXC+hd+u7+aUx25Cb42mCzk60J9IdsOZbBGpcP4WP/Vv7zNA30F+ZTxc9beJx/aZBTNzmjZ8Ol1DTPCyz5H0gul89rkINyuS+8tpU141YgPzDbRG8ZmOHf7HPM46g2nNHCi9UroyM17Iv6cEzp7UtnGgHiysYx7BdDFi0CxuPSTSZT1pk6tNH9AG9SBRZzREtRzE82oxqW0PyF5qixhFCQzGQ4Snpi0UGljaPDXyTfCyCImXSzZDuJwYp5las1AwR3rB4S285p5Gx3/Jb4IngIjLCvnf9A3BZYxInRG6dGYvfd6o9eg9JX+TEKmXifmC13VNKmK/721sN+rWAf3RkacSVFUAKL7rafcy1iBq2//KbGsqt13svFhPBc+DPdycaZTBctctsShGuuIJM1Ji60x3cdedRFVKAlxdeNn89unaMHteIXUEyZwHEfP3o+XooTi0uDkigIQa4UPyXNqoX3FH28o38i5N9iWTthVm8AD86sLXoITNK/+BvBYdEt5N+Dv1tow6e7nwSazFQHXU7Qxgf4mY3mh8dqB672fvHVCyDeBlvYTIUbwvxVKP3gk8L8eAd9DyORbVsiiA8EEbeWmgZN7kQqclqzrSPdaB6DzIuyeoYJXL1iwyAyjJlhngIVAWNE03J0+cYEJi6LGhqFuGcd0t6z5UY8kVZ8BBim+Tw+hIOLq8CmaGtz593DziF88g2DduU1n3pb2oSTMNlvM6XW5RU+O0gc4JeP8P9+O+528r897DL7Wy/TfPrFzArjnYEyeYHnBHh/ZS13kqjxS4KtS4MCtU82I75qqHu3234PVHYQTR7fGy4jS1UJpkJyeNT/3CC5MNNLJeZUH0953wFSL1JhEtSw3+IvwV+MS4fwBpsfDW6r6vd9WabHlUkLbS0U4WMPquXvCfUh699DMvR+YmDThk87KiUTsLEp4tGJ8oUbHDbMrrnph1ntPaC1lIw8ZPuf2nBPAzgQssJHcJ61ZZY8ylN8p+Q8GoxTGMJn5zRDQWYuzwVB9SUgfT8guyofb+KnU/0P2wMDHuPjT90UZXWkxqUfKseHujk1cGKk9wKRTIPAACZSF9drTFE8MO1f5ThTR/TSHNf+MwOdOswVCRCJB7ZjnHDkIN1qvMCBAGX8fqW81FWPJ1Gqib/JNdzlT1vMKVy6mz0PcC+e+o01xWWyVUFWt2y/dXAzmF1FHsXHk2BU57w1WhPTVwwbGxS3Cv4jJiLuyZUywylpicNv8qpM6ycuranp0o2OV2LGoZ1fiT8XHBT+KMhd/i6efaJpu2ElFYlEeXjieWU48zUIhWJnKOYvbpyY+2D4M+6JTnYaXcmV/5DZYBcQ3f4oNHVXZhVP0qepshgt5d0qoGhOVi9dX0m4LNVnlRajYfh3pSlkhaKumPcUkG6p9TFZges2IpdGLugp4Fgw5K8VuYRRwokcD64b7+DngI6Kd4LjPNSH15mSJfYE+4fqo= 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)(376014)(1800799024)(52116014)(7416014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nlkNcvQRGr37i4i21vQxHahZPDF07WrQfxNOEGMds2/U3BMEX2ytdMJIHNv6MZgn86cNmab9CD5wNGIGHcVDYQIsfZLnwcSl3wDy9F7+Blrz7Zca4fhx+cMPKXJ5XOI8csphOEgCtadsftJ0WEl5tMV8chGNLbrndpxYLx/1uW8LnUQoHIHeMOI8abHSra1LnB6qyEST8qGnPD6B9m/o1Xb9+sTHsfzRSU+2NFiOtj9wLKYB7TLsd51GrQvaRSu/7DDmf5scx8pWEFXfZhOjCe6nWktYgO6g7af+F1VT9ahJC4kGhH2auvATChpkrpQ4WXyUsPyi0eOA8kXx5BySfa/+5wkwfNaSP7xqlyiQlfpaBwZyIn82bcyBR4W+2OKeWWNPFoaoxEHVgALaEnxHyMy7HnJg5rRNBY0/pR5wEll4P3OOorxpXF+huDmw0OcqLK4xAAw27NQaIUOq3zGxJEWji6w/mWhW3PR1BfmhYlsAxrXAlXZmFNLG81v2IHzzJLrB/ExGeAgI56gF5Y+f0EXfkyI5MPS6RfG3UwCCSIiq+RKXwbUOGz4brDaXX/ZVNNreO0YAttrbq93BEm6MVR9zPkO7WxNJK4jZ1HqAqjH1qkflXqzJwg0EGAM79eHzSdyl/q8WyxIUtqJKIj8WOQvCTIr2drVsOGK5mcrfAWm9LgFkN9VskPQ9jwyULSKC2Dap0VpPRrkTfqmBGTA4RpKYFqctBDsfC5xzY1jiX68N1HUjjR+QaSCXrVPeYEkfyfAtFPxsz+Y6vWZFsGKegJGWv1Ri+o+93jhE93uCcD8RAOez2DCkxfQSgJJzBdm/5Cb/IPbOFApqkyv85j4JzeltxgTfj81i/5efJXs+luFS8989YXIjZa7iVszrtIw/vb0CtSqZC9fWqnHBgq+OmWzgCWJDOBqnGpp1If0sX6knFtt2anby+UulIXr5w+9GV5nNqYKL8mk5qwaVYSEzhU/CB0jKwHYRUNZ2DHn+RYiJRb+5re0uea43ZkGRaW5Rei0n84F0a1W58WU7m5Gh4JlXeGJWPvZNzgRgkBD/5b7OttxPpjHVc2/3IzrCHy5ItTFGHi6dsCzc46Lfb4f/AvLrBjiLDLR+FiL3NHK2t7xHTx7NBlX8Bn/rXCn+F3fvodH1nZJEA3+aL9JdWr+0rBmrnNr34co9AGwXe2mBiiz8gUAbc3OksI0mA7GMfNQC3yXnpTL1tvdWwiLjFAhshxstTp67+5TG+Z5tKBDGKiDszA+HN4HCTVEvMHv8VyUR3tTEiv4q1wmLtXcf/2f4TK4jRMI/v9A7Fgw4F6BmCJCl8M0V0q41hzE2TpdgEp6aqFuQrGhxiqoTzxQVV0GHalPTVN4SS1mWtaOd+XXg39VPvzMVG5IvmD9RjHWJBD+TAqIesWiOefodg524Pl98nElZ4WzBOTN92Cag5iA31qpgxGU7YbjZnDqZUjtX68YFGggfSq0n5k2DO7P7Xn8Ci9zysobZeJIDIxju/1Q4qryzYVCOO2Kl0WKuR+wap8dOylen0cDQVKyUjP19M588d5ObrtgP5egx8ktt56tBcJtSthFE4GfdV3dmB3xWyU2j X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32f8de2c-6772-46ca-37ed-08dd7e47f264 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8254.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2025 07:09:28.5088 (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: BFcvR54cLmV8qZzlb+4LhjtGibsDhUOC+yRxvkYPhWXD2bQxZp2EtsY4D9BEXcDiC/KJOMNpN9t7HYZF78BjzA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2PR04MB10160 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250418_000932_645277_0801084F X-CRM114-Status: UNSURE ( 9.50 ) X-CRM114-Notice: Please train this message. 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: Ming Qian Move function mxc_jpeg_free_slot_data() above mxc_jpeg_alloc_slot_data() allowing to call that function during allocation failures. No functional changes are made. Signed-off-by: Ming Qian Reviewed-by: Nicolas Dufresne Reviewed-by: Frank Li --- v5 - Split the resetting pointer in free to a separate patch .../media/platform/nxp/imx-jpeg/mxc-jpeg.c | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c index 0e6ee997284b..2f7ee5dfa93d 100644 --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c @@ -752,6 +752,26 @@ static int mxc_get_free_slot(struct mxc_jpeg_slot_data *slot_data) return -1; } +static void mxc_jpeg_free_slot_data(struct mxc_jpeg_dev *jpeg) +{ + /* free descriptor for decoding/encoding phase */ + dma_free_coherent(jpeg->dev, sizeof(struct mxc_jpeg_desc), + jpeg->slot_data.desc, + jpeg->slot_data.desc_handle); + + /* free descriptor for encoder configuration phase / decoder DHT */ + dma_free_coherent(jpeg->dev, sizeof(struct mxc_jpeg_desc), + jpeg->slot_data.cfg_desc, + jpeg->slot_data.cfg_desc_handle); + + /* free configuration stream */ + dma_free_coherent(jpeg->dev, MXC_JPEG_MAX_CFG_STREAM, + jpeg->slot_data.cfg_stream_vaddr, + jpeg->slot_data.cfg_stream_handle); + + jpeg->slot_data.used = false; +} + static bool mxc_jpeg_alloc_slot_data(struct mxc_jpeg_dev *jpeg) { struct mxc_jpeg_desc *desc; @@ -798,26 +818,6 @@ static bool mxc_jpeg_alloc_slot_data(struct mxc_jpeg_dev *jpeg) return false; } -static void mxc_jpeg_free_slot_data(struct mxc_jpeg_dev *jpeg) -{ - /* free descriptor for decoding/encoding phase */ - dma_free_coherent(jpeg->dev, sizeof(struct mxc_jpeg_desc), - jpeg->slot_data.desc, - jpeg->slot_data.desc_handle); - - /* free descriptor for encoder configuration phase / decoder DHT */ - dma_free_coherent(jpeg->dev, sizeof(struct mxc_jpeg_desc), - jpeg->slot_data.cfg_desc, - jpeg->slot_data.cfg_desc_handle); - - /* free configuration stream */ - dma_free_coherent(jpeg->dev, MXC_JPEG_MAX_CFG_STREAM, - jpeg->slot_data.cfg_stream_vaddr, - jpeg->slot_data.cfg_stream_handle); - - jpeg->slot_data.used = false; -} - static void mxc_jpeg_check_and_set_last_buffer(struct mxc_jpeg_ctx *ctx, struct vb2_v4l2_buffer *src_buf, struct vb2_v4l2_buffer *dst_buf) From patchwork Fri Apr 18 07:08:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ming Qian(OSS)" X-Patchwork-Id: 14056990 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 C65C2C369C9 for ; Fri, 18 Apr 2025 07:28:21 +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=kqWATxGpOSk5DcvJTw5qOdtRluRezYzDdrMcnoZgEIs=; b=FT5PU3YpjYyMQdpzej6w3DnqBx i6/rREFHj6lfKwXsd67wdKxjOqNyzumon9oijPeqNZizinPNYQKPt5mYVzCzAimGNz6QxdVuSvi39 a8YeUooGRulklxEsLTqjfBp6Ttcc0gZBWXAt4wlpxViHBdsRsSKiQAAE+GRgjp1nmc8Sb8sxAIC3J 3tIpCr/1XNhwUxvmmO+8m/XvcpIQk2zkrbCTo2ERLWgx7gnE4zTrlU/69pahVhW8pZ456HUKyZkca wEtLmwJJcgcJyhkQQP4SJhO624Fem0xZwYW3JZk9ZIWEPAoJEXGzRYPVSMWD+py8gaWXdHw+ON5bL OviJdVjQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5g8w-0000000FTJB-3Cj5; Fri, 18 Apr 2025 07:28:10 +0000 Received: from mail-dbaeur03on20623.outbound.protection.outlook.com ([2a01:111:f403:260d::623] helo=EUR03-DBA-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5fqz-0000000FQhn-2mmg for linux-arm-kernel@lists.infradead.org; Fri, 18 Apr 2025 07:09:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RDTNYvQjfshhQLDALytR2y+c9d56mvHB71slY30WRDY39CfEvkdkfHfBcpbH8XhLxk2HhArLGuY3/dV1Y+TmkzlawOaoWW2YtYNCtEOEgdUK8L8Dt32ZQut3g4RBvAjL7g18k693vUMqwAzqKl1YtRTHMk3rBXKSEoi/OkH16Ld708hQLRhGschf+B2vp8nbWyUXDOJKHsls/byL4+DOoko8b0wURHCGHo4eio4ErIa5CwQ/Jsi1xtZLOjsAea0tW/LpUjeUvjCZGrTPGcyuHSm2JszYsXAl6tg7JcYzHSWRDJfWsHUi1s5qK5eRvKVRQovJjOSHMoVAIrLDIHbZuQ== 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=kqWATxGpOSk5DcvJTw5qOdtRluRezYzDdrMcnoZgEIs=; b=aHFxrJMAs1KT2EbShNymjaZB8XSIRkYLM/qqjbGrHDLefusDn0PDTc54Gs5XEtsKWiyrGZPzsjod4ZlaVVWSoL1ryArAmpjeJc4LfNFxk1fuUPDDqDTz/WQn8Nh22xLFN+L2rfCF11VGRcCnVp7IhWcDOAWJp1P9vQtt7L9Lkc3Cp+VwwMtEZ021ZkmPbJQrJkrffQ1VNFprpmPe+zMuyHBNjbKDEEjxhBBs2egGSf83z6l6cgd66AqSiINK6X4Dm5wp0SejP/SDi7FQkds1f4NmrfRN4jyqIpgM1mSz7BLGLWfmVZuxXRsucGZd2+fcyyJTHUwQ7OSk0KSDX8wcUg== 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=kqWATxGpOSk5DcvJTw5qOdtRluRezYzDdrMcnoZgEIs=; b=Ui7K0iv3qU+KvbmpBVXoRxp0OnmQNBatYYRaYeT6lDZiiCjl+IcfS31RNUcXtV5RSW9s/4eTTNVnYhRVOeV5LbPCayP4Itn+IX80YrzCod1u1FygD1alqq4qZLDWmZvX/CtDxOx7vUNyu7aYKMbcqFc40c1aiCtnL5AAhhQ7YlcjrCDvCoAjNmEeoVkAWMKQ0vCDS5USWYL/CY5Q3fpY5yxpQPkXPpv2EXIL+G90MpayTmFyh069da9Tp9lhqNhgDVyU9iT+K5RndOT9vAtV5NrhwnRDhnFh+1Wm60sv5eLB/IUExP2jWT/cxE2Fhuyn/cJuQyuqe8c+B9xpm3VIFA== 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 PA2PR04MB10160.eurprd04.prod.outlook.com (2603:10a6:102:407::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.34; Fri, 18 Apr 2025 07:09:34 +0000 Received: from PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87]) by PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87%4]) with mapi id 15.20.8655.022; Fri, 18 Apr 2025 07:09:34 +0000 From: ming.qian@oss.nxp.com To: mchehab@kernel.org, hverkuil-cisco@xs4all.nl, mirela.rabulea@oss.nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, xiahong.bao@nxp.com, eagle.zhou@nxp.com, linux-imx@nxp.com, imx@lists.linux.dev, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 2/5] media: imx-jpeg: Reset slot data pointers when free data Date: Fri, 18 Apr 2025 15:08:18 +0800 Message-ID: <20250418070826.141-3-ming.qian@oss.nxp.com> X-Mailer: git-send-email 2.48.1.windows.1 In-Reply-To: <20250418070826.141-1-ming.qian@oss.nxp.com> References: <20250418070826.141-1-ming.qian@oss.nxp.com> X-ClientProxiedBy: SG2PR01CA0174.apcprd01.prod.exchangelabs.com (2603:1096:4:28::30) 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_|PA2PR04MB10160:EE_ X-MS-Office365-Filtering-Correlation-Id: 67742a20-969f-4be7-a15f-08dd7e47f915 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|376014|1800799024|52116014|7416014|366016|38350700014; X-Microsoft-Antispam-Message-Info: L0F3SZeh6ANTg+wCtesd789wR3SKCmOi0yLoeUmW6R/alSTuNLmQi2SJK/jkBjCyfWvh6zLnohkgr1L5HaVtFeuxNOU4d8YMChwc7rmDzo60d1GHw49Tqv0Ggb/UmPWTJ6lPir3GR3UMSQ8AHthUddRZT2GpOq/CnE/PadZ2T91NL9ZcBOASlxJbdHHCP3C/pHyKP7OU5ANEyN3zkaE2Hnk+fngh3ltVabOwgrFq1Y0MhJ2xfXB2Eo65IeNyu445VRP4DE6VHPDGGoCkdHknGVqBxuWRx4zoXEWsDTkSCSsF9NaZViTHbl3Zd9qilOSqBWeD2cW6flUCKK0cuViGkCYtP5+YVeY15uP9KH+EJHgnQjha/eQdJHwEZeZfsPaPlBLu/BF2Kb8W8vhzupXukyfm0OLkG6ut+68hshajcWme6sKEeSA5CwLi7sEYmPZ7o9V50kt7Dan7Rb/NiV4AFizX3EIWaJBTEG5uzLRNwMThOaQrbkma5AY8P1TpfHRG1fU1GbC2xLENLAxd5yXqa6vQSAD1izjbdvFV6sU3x/lb0fqyqdUduzZh3WX+yXgxonHXHbESD4JMYEN5S2bDvB00dqQW0l0DPZFa6MzTD9jh1qCU51A2vfBzwzwcqRQgIhnAUIW5MDHRjNN1NIdyss4YAaAqXog586cR2jfkn/VIKRQygt5XVTw1wrODJjSOlGfydILfB1IwBz/lfZ0aZxGiT6hJx9gM22ZkIzIJ3z0xvqUSOdS3uKsEEVBlJ7Pe2095dg5ZfKHs4OX1PsnKg1qqNTsAU5C5vgDDNOv3dKaBRfRXocpGEFHK+x2eR5yXQ3i0DUSuEBmJ82kzCHOgFzPMvjl8ctuo9O664A50OftCG5S6wmmysL/zKAIqX0rAwo9as+sh9XCjrVeQ24U23q+JhKVSJqlpfR65tD3aObv0SemHvJyNbdZ1H5yooM+JcIyef2D4FXVyClrKcKdUyG1HcU5EhlPEEvy894NbNfjjj0iPRBzWX1+OjNyGJagryVlFBJzxY9RNY5U2b3q+wRjJWr105V55rtgpOjNHWML6SznlizFc8iPWw61j3vODV8ux4QUnmFWs18fVaQGqLXLpNcgn05AUfWf4FGpqBsCFKrUMjy9oSFwX6dJOo9EO2moNuBYcGFG7t/i1OnQXln7s0Rdc4kgJIva8MnRHNPjvEwr99W9b6xJr2XojTQ2EzPRXjplXfOjFBLFKujgiul6qnwWbM5k2ijXsNRcQnH2QwMUc1IWb3YBarQaU9pORPBTHtNx9MXmvDH1jJMq2u2bCg0OGcO19Kmi8kf7U4hEHTCGxqUbF3MyxZziGIi0GXeMsaTceaVlEY2E55WY3khUvGoOelPB5o/A7PDsEie46fGcaRsqsC/Osf8SxUck0GI0a8EkbDRLVkWmXRHtSz+1WCOOo8tLchjTTzMZ1Jw3h8Qe8+lxjXOmAF5AfeYRs5yjpp+qKnwn1qQBftmb4RQ== 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)(376014)(1800799024)(52116014)(7416014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: HE3M6MZv2RWut4ivi653LxOoXd3WCGDgpftu7YciAWHgrWQ3qw6DP9rGz8taNjiIl82dmtLsP+iRO9Ak6c8GiSz+AM5amSBx322IVSCCXGxHiz6iFApiMh3FcqR3oEjHKxGhcSA9/V/4SrroLuZIwe2E2QGuyikDbn+36deri5PzfkOkF7Dj/6lf41Aoq6Qz0WyxcxbkYjq7MKHb+PNtbEPkWIWZ/yJw7b8Lb4o14o2EH/hvSzjlSB2rKX+FqS7lZyAmLcKehv+ZxV53SmPYZpJfp7ibczKz7rLlAYDmCc3k92hxWrJRKqSfpUu6jcFMLQHrybfVaCsmMaxL9r/EQFtnVwrND4y0BVB9XjSrgVzMOucZNce3Sy4GAkF7UegHBBoIe/CalX6TX7KeSAOPfr7EngDvK7w8pxLJBk+Tivs6ie9AfbkZ3Hnm+MaNSq1iZcWcaPDXU7p3QaZsc0XHwAL2CfmwNb/B+YC9TmIqKEpCUGXGglkIIog3mSF3siCigAKKxbjI07vSSFglpFtG1tV/DESFkj+ulNDdPQ2pDmpYrWZ17/o48XhI1yHaDpGCoG7h712+3gbuGil9mmyaq0OhxRBA+j4YgusSxj8UHhCwUMwuEmK37ASQkndY/JozQiES8p9NzV2Xjop9ZlDqKSvZC4UN2rA9h5AXAujws7gF/5iqUN5giMir054StTc7r5q5XvYbde+pn76mfqOx/W4R/kHYiAHKKU+xm1HDLAPFTojMzgtQSPADWjkBKzIytCnlWLg4Dg2dLKqh5q4qF6J/SaWpWeEYcJeQ3gljwL2Nw1TAGm/iz96c+yYVnZKYpl2nStrb2HA7W96hb46OMD+IiU93+28dSopfpbUGfpr4IYTU0WrtIUMrzx6g5zKZjb8kHsktZiQbX861OCJ0rc6N8CFVM6y+mqZZ9hFFD8s3jMj+6xIdr8qpDQqa7ru45g7cvz0wcy8G71VW7aCfTkPdhRFFy7jUDD9wZcjuLvpvcFpTAyTdYlRJG8bZqlFOmnbwncjQVDEWYiQYiEL21En1/j3W4ENoXC3og3j32F2C6g2GYyryBOJ2dskyg3LjOtNOB9/lfbDtBApeg0Zz0XQkO3TiQLydbq614C4brXAeTp3CU3lwTC/0KlBzWNlwGh4FYCWlbLTxP5ba4Ale2lyzjZp0uMYB88oIjx9N2YyGJ7K2R0KgrlxkiUYXna5peDSk//7Ql4bknJXJAvM06f40aShdt21+k7tAB2EU1HY69h+FaGpXm7RNUZu6m9fGwuypxCwjj0XOIEuxj255lS+mULOx1yhz0rRS7ivnyuTU/q1kz78e0l91P54RuVTodd2LCTk0xD+opEpsRCm9hwz3Ak6MO3zFGNyOFG7y7Jh27HB5L77I9o8gsF8G1EMuYb193V/zRR79EnnSWZG/duGsrIi2wQlQQIeEBu5zjr+vHfcfTrBjQ4V6+aGsDYWTsOCq0LKgXu0Z0itVOo+1DiSAlLA5Hd92HMuw6gyAG7QB+q/56dPSbrvXnn69V45akvdmSAuq3KYJdtfCRqvnYsqAL2BVZmPuYolTDikBpp6TN/zJcAPnSG3Wsg8IlhoH X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 67742a20-969f-4be7-a15f-08dd7e47f915 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8254.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2025 07:09:34.8475 (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: LW5jeJpehetsdPs3FIpvjhu4EIxo6IK+/A3YWx/xANo1gLXq8/DLDR8+PxQAqiQwHVga4rA3BMJ6RsIqtUbv8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2PR04MB10160 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250418_000937_704702_4B953C73 X-CRM114-Status: GOOD ( 10.12 ) 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: Ming Qian To make the function mxc_jpeg_alloc_slot_data() and mxc_jpeg_free_slot_data() safe to be called multiple times. Ensure that the slot data pointers are reset to NULL and handles are set to 0 after freeing the coherent memory. Fixes: 2db16c6ed72c ("media: imx-jpeg: Add V4L2 driver for i.MX8 JPEG Encoder/Decoder") Signed-off-by: Ming Qian Reviewed-by: Nicolas Dufresne --- v5 - Make a single patch to reset the slot data pointers when free data drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c index 2f7ee5dfa93d..b2f7e9ad1885 100644 --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c @@ -758,16 +758,22 @@ static void mxc_jpeg_free_slot_data(struct mxc_jpeg_dev *jpeg) dma_free_coherent(jpeg->dev, sizeof(struct mxc_jpeg_desc), jpeg->slot_data.desc, jpeg->slot_data.desc_handle); + jpeg->slot_data.desc = NULL; + jpeg->slot_data.desc_handle = 0; /* free descriptor for encoder configuration phase / decoder DHT */ dma_free_coherent(jpeg->dev, sizeof(struct mxc_jpeg_desc), jpeg->slot_data.cfg_desc, jpeg->slot_data.cfg_desc_handle); + jpeg->slot_data.cfg_desc_handle = 0; + jpeg->slot_data.cfg_desc = NULL; /* free configuration stream */ dma_free_coherent(jpeg->dev, MXC_JPEG_MAX_CFG_STREAM, jpeg->slot_data.cfg_stream_vaddr, jpeg->slot_data.cfg_stream_handle); + jpeg->slot_data.cfg_stream_vaddr = NULL; + jpeg->slot_data.cfg_stream_handle = 0; jpeg->slot_data.used = false; } From patchwork Fri Apr 18 07:08:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ming Qian(OSS)" X-Patchwork-Id: 14056991 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 DF45FC369AB for ; Fri, 18 Apr 2025 07:30:16 +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=EbBELgs77b7lIUpwOS421z6ZzsJBpZxVQvu+YxmPQvE=; b=dPCyQfPH2AcFtRYu1YtZk6epm6 iu2lO6s8VjwIcfRLN4JogucaiooVEIRLU1DIJyFcJNAhq0GGoW1yizzunCqSxeXY1jwHwXBgYvGQq clY/lAV18/RCynehaNOE2/bBcUXoCrwzVzdyO79dMpUcXVJ1j8n0SwJrDOZQjp9IBge2/uhY/1G9f 1cX5bDfV35JcXDe1zrNeKrQIo2ZSFpM/A30AqCa+LxPdps/s2oBcLkZFr2fB1dozdti/YgYJoDaR4 dqtxb2w6OBgWRcxeFnA3we0i9aHp3wl2Ue9ihNmxYlD2oQArPEUjVQVrixGrQiNBNYUPkY76DHnI2 /k7erVcw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5gAm-0000000FTUt-1pso; Fri, 18 Apr 2025 07:30:04 +0000 Received: from mail-vi1eur02on2060d.outbound.protection.outlook.com ([2a01:111:f403:2607::60d] helo=EUR02-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5fr6-0000000FQlP-1LYJ for linux-arm-kernel@lists.infradead.org; Fri, 18 Apr 2025 07:09:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yCY3vvCParfI6B2DIp9Kwse6sIq8c8fqarvSOrZRG/YE2wcbZZjSaoU9anRJHh2ui4BXToOGrVc+19QUDteczhduZA/akH4ZRZX8RI3vjsoSVV5ZzfbWDfNbZxLZ97XjtYgNbDF+pbEIjg8SesgULFNspfauV0q49hy6eljHfxWiYqUIU/qdveOF8RzTj6X50pbDVWQrx8Ms4hq31sZSZlIOyaxTLyrRG9h+/Rh0snfymSAnrl+vSTHy8JbCvg6DdBvVQMa/2+mjghfHn9hGBlK3fDitTavh1oRzTk2/kCXkbNDzHh5N/CN9ehRP3WKT2AjgNetqpTgcC8pSDRuZVg== 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=EbBELgs77b7lIUpwOS421z6ZzsJBpZxVQvu+YxmPQvE=; b=wtpOt3XLIDJhT14EAYbZ781M1wlcSvvCeeDAE6C37SBwMTjiXWOvXIHzMURSrJZMfXt+uL7mF4tUMX2Jru/doqCrNaogyZ67/wyWGCu2025ii/41LyxqtCVjsRcI4iWhSOZZ7JWCZNzB5oBe7nNQ/IXMelF32vHM91OUQlKDb+PVVftvUOG9SsDXsxOBHwiS2jM5+U7GtK7Rl/8nGcAQWT0VEcsh9QDJdZWdgg9b00tU7UFEw+UdEssksNYVUEjsIrX/JIsbCLlg5JcNztdIRFZmtoB4Fq92AwY4lJTa2vCraNaSOH4d8RUON6G+KJ9wkdt/G8jd3BHOZVEnixzLdw== 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=EbBELgs77b7lIUpwOS421z6ZzsJBpZxVQvu+YxmPQvE=; b=iS0suIpljWwvSj0HQzarbsSTmaXViYhWDZ6i8lip8P639Q9bGXgYT+qxasAIZwQ7D0H1bJenXAGNsgKSJybOZXBI4mtEmMUgQhwkrb9Hgew0hAiqqW2MYjs3sE5Qh7MiTSPBXztn4jkAT7rCiDy/NbG4w5ukfvssotMSWBOkr8D+5mZfShqJ+7TMlnK0xpd9Ae6IxYrM63ATJ05XjnBc4Sh+X1QSAQ88JwuQbbExIyLmsxkByJ3hZ5PsGtdDagl0JX3lj1kJS0vHLHEJEPb6cYKeam1rs8odR7GkLItNOcoxJH1MLigickZ1ATnzL+PC1aUQLjkxW6Y+x12zXI6H3A== 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 PA2PR04MB10160.eurprd04.prod.outlook.com (2603:10a6:102:407::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.34; Fri, 18 Apr 2025 07:09:40 +0000 Received: from PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87]) by PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87%4]) with mapi id 15.20.8655.022; Fri, 18 Apr 2025 07:09:40 +0000 From: ming.qian@oss.nxp.com To: mchehab@kernel.org, hverkuil-cisco@xs4all.nl, mirela.rabulea@oss.nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, xiahong.bao@nxp.com, eagle.zhou@nxp.com, linux-imx@nxp.com, imx@lists.linux.dev, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 3/5] media: imx-jpeg: Cleanup after an allocation error Date: Fri, 18 Apr 2025 15:08:19 +0800 Message-ID: <20250418070826.141-4-ming.qian@oss.nxp.com> X-Mailer: git-send-email 2.48.1.windows.1 In-Reply-To: <20250418070826.141-1-ming.qian@oss.nxp.com> References: <20250418070826.141-1-ming.qian@oss.nxp.com> X-ClientProxiedBy: SG2PR01CA0174.apcprd01.prod.exchangelabs.com (2603:1096:4:28::30) 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_|PA2PR04MB10160:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a74fdf2-b1b6-4e75-ceab-08dd7e47fc4d 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|376014|1800799024|52116014|7416014|366016|38350700014; X-Microsoft-Antispam-Message-Info: 3hKDIVVMV3cTjWlH9NGYkpZnHf5hHpC5Y/C9K0za7qj4KRERfyiQNENCEC5KXRzfELa5OIoQhgHzBHVdp90/gBsHEx3id8ixcTYRRbw3nuvfhaw5a+13EJfiWM3MZfI7YhFpTEWc4UdNzdP2CjGFzWW3VA1b3LjXt9FEE+HWwClBkUCInQGaYl5l8Yk/C81piP/0mER+EKROYi/TNzYaseXIuCSXKgM0ZOEsosqie3VaSnJVfho+g3eTAI0+yl7qKYNvDxUEqZ4QMjPSfksyJ/2193AQw5JekoZJwlGuE8NAKPUiOyBSTsG8Y64Fjq3jQ740Qi4X3Jtg/4PFf0lNaaMU55KRpKe3UYEiHZJvv1J5fnAV4gDvhNz2ccin2wTbNALMUtBHlyL1hYkh3wBYkrIuCko+AxA+jYk8ABs7bqq2lCSK0ED6CZ32dMFBnNZQ2HREo7VwkDGltyUZwW/MqE3gHf9JxZGgtarIMmA1LNvQHf3n1SDixQdYRDdVmXfMx8D7HFt5li+MaT+usiAnfYRzQu2IiJMnL1pyQ8kUqny3iNBxjW09kiPwnXMDuq9cBjkIbdi7V1qCoWW21xZRO9B4rdcOInENBH2N6zoo0Vb4yTCtsS22bIn8LgeV7v7AYQY/G4vvPP9K8qXYPCuxIwOjJQArrgsprWW7olKRwcfy8xjY3Q2u4Ns/YPI4IspdehKhf0yCaQTOpiy4687QkGNnhyaaQQDTi9WIXnSIk1ozrsKHKlM3jLIVgEBwxE3GlaogdB9i0UrDyrl8AJmX6c7QHF1z3C0HwP4NHoRgb0Waa1lvXADQFXh7mjieXtqNqb0ybP98f7KcstH5Hi78hbIFB8zmrrClekYPotav6W8U7/17UUDChpQoQvFAQDcaI0+Bl8ZztwkbyaZAokrBs4Xcmm1K2s+9/u5TEER8J74mDGaRGQKN8x97c2ycwIrxAATwqQjN6yX1o+V8g3Yn5JpOtSFMsChsK5JW5z5ftNoGe4ios/F8Gx4+G0cgpwBf/LOvOKn+tumbwvgb6P6GGAYkK7QiRchPF1ASBxdHyn8wic49isSblwomHJdqhcL7H/PPVeFRoeEosYfPE3+wbBEn9xIvujS9y/AfZrZb56nJeRvz9stO3YIrUWGvgQuYGKM6aqQxq4qZH4R1OzqIIZkIi7BRSIyR+06KpWSbS7tyvk+kuT2E3EkP+6zfT7BuCLFvk9IfvS4DW9ZYxaqo6ZDyb66hqYlGVwu+qcfT++7889IKpdDFEIwqkeq2qqsZwpPLqvXdkqczjutXrv6Sl5+wGqePxW0f7dwvSApmTukQRNgsQVI0vZtYXcqRcAOZuQXoybyQkJI7nAruLhY2EmC5atfsBnGJ58AqqTjKO9npFrc+ZYOet8I1eAkXW3HHPfkotHkziXjyzQKBUp8X1c4oukRYsujdRxWvKQizKDXnGfhq86atSlmCkyjLIUC+0rGIXBQrUQiz3a1DhIeDG7z/E3dtlD4xGpgjkXsiWJA= 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)(376014)(1800799024)(52116014)(7416014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GdMTp9TLewat0ClFgNF8XZOCl35VMBUHgyoimRVekIbqSfMftjge+JBWPy2nNnpAFkKOI7C2NnPyiS4nIFpR1y9aAqWdEw23PYAQWxzcwy3BNRG1onCAOqMkA8LJk20TdZvhP6hD/e8m3ZfBerIYInf9CNz0FmbTBHMhfdMYrt5WC7xuhY4TVerPUwULkK793WKzEEsnqlTzGcWdg4EQzow6D0xR5lADBTCocGjVSz3S4MOdDI9lL6PTR3PtO8whFG4v2oZ2UCnmY3GsLBa1QLTtwhBG193hB/FI+g189N7MFr8liCB7E2nX4fbz/7jCz4OZKlGUzLh694hqSxbl6+Uao5nLcfutrYcu76VwMGEDUdXVETbAB5FZYxRxjZqrQcLon9unovntNLBATVHP0rOYnSAwfTsQkYOuYEphxxWq2R+HK1CUhK4MVeWKzPkeADym0lIcjCOk4eMkoRRi4isFfQMCyjHGI+Ezj5Mu6gd4TzYDY/Mm62KzPP2UzE1sgdNd977VJEn5EFKttfWKTooUIuuH+Gui270ZNw7wp660Y82qAfDD++6M1DrluMQ24KheX8KTjzW3Qw2ybXunqGz1W27QoCzi1sXO6q6oveS701RFcwELTRISTqwGL0amLSR9n1H6O+y9AOSgne4z/uRNKo9nHiYxiGclPggu7l0k8BGGkbBUSmueQK/A2+IpJglTW1I3IjSBkOSEzN0CaAg523nF/BW9Sl/y7sv55dkI2N5/D6yAX2P1EjV4RyDBETtcSd8xDR0FyRZPhk97HLNAywGsho08vV+3vg3NN/Zhj/jH8P2XeDEjg5CmkZVyIK842jJwIsRLA8h3F7243XqGSWdF9MPHOq1P07UgDyMkOwn3XBK8I+CQjrUxDVkZhhalZ8c0Jb646h+mHLRPM8M/y5YsJsSy8dXalerggsvj9Fp3qwSPYFmp0u4pZBkRqEmUs3vxlN1EdiJaFF6oYKXCehl920h2TnUCc9OMGR6wG5D9d/omPXgjVdcZivR3ILsvI0kYm+nDzbtITXRQWn7ofTPn5CXOSYznlWMT59gF8vcmBw75x39M/+Vvchpk9paPNQE1/v6wK3b11p78QqDuwrDrI5W/FQAF8qUn7kl60wHdmo5OQ34cz7yja5MRm/PyOwL9GfJGpsGhFXNC81gKQWJl5XGFRW29YaczLQ+HbyGPl+GxsMRFi0tBD6KpPViJ8tv4kRTwMj+tSmGkEwQO6BSY4s3XEMDAK+kdgG+qvq9oJ+TPQDMh6pApAs8Fz45viJJmdhGNcP2mCRK2S0uRtIeKiP2FjyvrFW3fttuPdwbvxxdbs4XM6nl/UKQYkt1zQYq+o3u2foIL7IjmuBt8VJJABH7LlWgIW/yz6bR9IhOvRQK5tHkAZIu6fCE4PZHP7pmnmXUmQoxamlF3SkuQE79gyvHLxdf9buU2cyiUgm91CU98MCiNc53RODkGbjqk8GCPPfHfMducYys8Ccqk4hqSt3a0YhWJnv/0Sze/RYLunM2Y/S+fnuyH57frJ3gGJlgMmsDJSshgJXQ9FnrKhMV/pKUKLD3FH2LAY6BAGaN2E5bfW8pPvlFZJIDM X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a74fdf2-b1b6-4e75-ceab-08dd7e47fc4d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8254.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2025 07:09:40.2481 (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: OXEVUpukWL483kRXMklWBEcMMaXp+49rF+U97eXJWhKKtgQXH/2SiM97PMrvYnam2mjOCjCvZZYxQYoPgihEtQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2PR04MB10160 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250418_000944_360368_55BDCCF2 X-CRM114-Status: UNSURE ( 7.75 ) X-CRM114-Notice: Please train this message. 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: Ming Qian When allocation failures are not cleaned up by the driver, further allocation errors will be false-positives, which will cause buffers to remain uninitialized and cause NULL pointer dereferences. Ensure proper cleanup of failed allocations to prevent these issues. Fixes: 2db16c6ed72c ("media: imx-jpeg: Add V4L2 driver for i.MX8 JPEG Encoder/Decoder") Signed-off-by: Ming Qian Reviewed-by: Frank Li --- drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c index b2f7e9ad1885..12661c177f5a 100644 --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c @@ -820,6 +820,7 @@ static bool mxc_jpeg_alloc_slot_data(struct mxc_jpeg_dev *jpeg) return true; err: dev_err(jpeg->dev, "Could not allocate descriptors for slot %d", jpeg->slot_data.slot); + mxc_jpeg_free_slot_data(jpeg); return false; } From patchwork Fri Apr 18 07:08:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ming Qian(OSS)" X-Patchwork-Id: 14056992 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 75E4BC369AB for ; Fri, 18 Apr 2025 07:32:10 +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=XyGuoQ4PQsYSjvwIzt7RZA/K2hNku7Iwy2yKEj0nMvU=; b=ibjmbJ+fsFjNxW1aunOjeLvdlT 37n3niyD1igutHP39BWcfR89JNL661a26+ljULstbNyJzeW7zkLeFuxfHZzX9BH9U3DvNxp2yTllT vFYPRiLAbrXukUiArJa5SErCW7mxCdxen8JO62ZsPVSABHLPTSkk/oHo+Yk5h4muARJM0DUcJz23z QxwWl5W7zS0aY4/EcJ3phOTuHeV9AaZTZC10M9j4evIayYDAzYe9+s8JDB/LlFeK54yDPhdeTDP95 I37t3Xj86LsbjgFfNAmMyvk5pM3n8SIoUl/a+M8onsoXgVJTtbvYF6jkxFvNXAstQkh2wRsH7mGO6 p+k28FVw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5gCd-0000000FTsA-1SBX; Fri, 18 Apr 2025 07:31:59 +0000 Received: from mail-dbaeur03on2061e.outbound.protection.outlook.com ([2a01:111:f403:260d::61e] helo=EUR03-DBA-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5frA-0000000FQp7-1wHm for linux-arm-kernel@lists.infradead.org; Fri, 18 Apr 2025 07:09:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vbyWuWjBNFPMKiyHaWLWCjASPNI4lUSi5J5RGF0SgE9YRvrZ8xJ6OHGb4Nb6hkP5y23aGa1cE1JyUIP9/AyTzZSLvJZASE0CguL8zdKhkNmZ+4Nyb7HYl7aWjyIaUSjy3aB4XBoH0TB6bbxX71+pLLQ9VXlO8qpbzYw/OSXP3wC9sS/lD/GX6jJxcmVpkfcrtlly5Q9SJaUhRugDDcu3JsL0j8AiR00yOoJEKZAmOC/c/nOMNcto9inzpNCb+DvHrNJXRFP8NSMUbi0NGm7R59ChUWRMr4zkifZyUlZa7LMQ8P2uxFZfZ42mCCA6/xlHIO9K8PeaVYcVF+5C/14+6A== 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=XyGuoQ4PQsYSjvwIzt7RZA/K2hNku7Iwy2yKEj0nMvU=; b=uBFi8eo6wXal2v/cC1QsAILpdgd5zZ4maguqranqvXre3sU5L03wuolqg+ZtFpADJ5gjVS+15i+LN1YnvMoCqEdMqt4wyNtbB6YFu1z4Fvyi+JJIISYqydh27IIFHXjHtw8ISVb14x7OR9Pzt7/HvfnpqLHniDuD8RDe4VYKd9mNu+/CzvlDqlnjXDN4F6oCO8j+h0f5hV6xsktTA8p//pSXUb5td7cyoc4Ff8OVENSxwqu/8wdLmaBcUpdAf1Qf3NSyupzG3u+SP09GO9GAJn12XxSkiSwl36ka1nw/43x2gZ107HRcP+xwhc8inBcEN4kzsTPg/j601P3PzLzhfg== 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=XyGuoQ4PQsYSjvwIzt7RZA/K2hNku7Iwy2yKEj0nMvU=; b=lEmc5ZaS7jJGVAMy6SipPl521ABcESLvuxdnok3vOt63ubu/z315D7MexllCw56E0Q0dwd5upWZxhvtHt/U9Dbzn89IwqVuUv/tjk/NQ6JY3tn0LICxpiJUn8gDhrFZtAqSkgudlWctgGicpu5wSPay8Mon9S0SgsqsX8Z+JEIKqPVxRymS/R4Bki8PEeHjlLjMbpUEEK8OydAIG+x4kLmh7m5F4uJ7dTONwFE1OVbWppu2SSEYC2EXU/SJtDsbOE83Mx4yuZhtTe1b5HOOjtKOzV/zDNo4BR1WOWcx1A+M8lmoCWJyuhOE5dCkVKfDQjz+UP+dvTTjxa1/5D+r+Dw== 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 PA2PR04MB10160.eurprd04.prod.outlook.com (2603:10a6:102:407::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.34; Fri, 18 Apr 2025 07:09:45 +0000 Received: from PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87]) by PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87%4]) with mapi id 15.20.8655.022; Fri, 18 Apr 2025 07:09:45 +0000 From: ming.qian@oss.nxp.com To: mchehab@kernel.org, hverkuil-cisco@xs4all.nl, mirela.rabulea@oss.nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, xiahong.bao@nxp.com, eagle.zhou@nxp.com, linux-imx@nxp.com, imx@lists.linux.dev, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 4/5] media: imx-jpeg: Change the pattern size to 128x64 Date: Fri, 18 Apr 2025 15:08:20 +0800 Message-ID: <20250418070826.141-5-ming.qian@oss.nxp.com> X-Mailer: git-send-email 2.48.1.windows.1 In-Reply-To: <20250418070826.141-1-ming.qian@oss.nxp.com> References: <20250418070826.141-1-ming.qian@oss.nxp.com> X-ClientProxiedBy: SG2PR01CA0174.apcprd01.prod.exchangelabs.com (2603:1096:4:28::30) 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_|PA2PR04MB10160:EE_ X-MS-Office365-Filtering-Correlation-Id: 51c8d5c8-5659-4f8d-3f39-08dd7e47ff68 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|376014|1800799024|52116014|7416014|366016|38350700014; X-Microsoft-Antispam-Message-Info: 4HBOZ02EdCxS3k+80Zd3nUe/ZiXL11rpJaXrEaWCnfc663uSClEJhAOaJ/WlA7z/++oGd8P/PZSs9UkMfLeLhUbPM45ZpTrDVvzlMPj3+e9O2K+M3NkujcEMqUdXhKgvE1hGupA6csT9GU1pnI0deEaX9JaEQqZpv6GIfahQNlMP1sAHEqHBc48MQ9zVDOHHct7P85i8+X2WzKSx8jZhwGnbqfYDYNWhIWnRP9H8R+SwrZWdNEW/5WKizW4c+fJp7YTRX2pJZJISdzSsRbqeIOFFzx0ltQ5RWIaDgVjj3rXQ1c2rU961XT2YeltVWQ36Dh1DI8kH+XCJdWGf8fCjBObvWmty8XtC1soWltQA2dD4gNrvtEirmfDMKZ9UattZ16rAibuStKSIvnytlSPIGQBKYul8CjpB3D2g7u/nm9p7zqUMnjQPrSZbYQz2Z8cikgfGs4trpsJlfeWe1vY8TvzcE7XjW9lISzc5iH4d6vj2YdTAHeOIorr6uiQJF0GJG82+Ln0y6Ug7Fq90L2ewBPRfZbeC+YqXL0Gmg84S2LbBWKdwf4jiMfMmYGcGZTY+LdSbqmkw1+CyGrIE2P8to32Nd37D5JpF8Y4a8Lhwt09oHBrESFP/dPaPML3xPWhtt3i9OMM2IGGK5lt2Iy7PnRhOMzR1AP4L0VNCCDSAGjBpI8xZ32vZuO8aFU2RyKTgQFr3BhQmQ0f5k3RlMWokX6I+4hgnV/sJL0KnFpn68mqzJlaLqyvMxGe2qDkwDiP5cifQKWOESRMul5LR7ZNDDJd4lBPheGWlG3gdgFk8TmsOu44mbctxHnKTlNWFT38H6mwnY9kOwOyfGnDSajx90P+cjmz+5geCxyH7Gx/gkjhmtswWcXbXlOmdmBzWyNUZw0mqrM1Cnk3+PUzxyLm8bbM6iNwH8nKHShtlYKjT6MYfzSqa0ubgNvvfN7uWbPgo0wF4wZyycq93+tFLQbaxldtTOhTkAw8bh002H4AjVj5sqCLmHAnoJlfjmTQC603KdlyhZrbVyQHEJAeo44xuFZL645fc7gY405I9aSvCDVQ35O+WcF/uMcTRmqTal3qBiCitUTIirqNSCmGi/jpUrj0Y02ctXbdmoGjS0eNrZ5ebGlzaLI6AaLEygiKDR9DoZm40NoCy8Uf8R+LFOOaN9J45Os1HOtKotYdz3/UtkqtWxfpQbKmHOzOTQ9gC79ppSkQnzOYjJ0Dc1jIJs8VJGH8dAnJLCEK1sLiitJgX8qWcHSjYhbioCR2IYytUoWyqwFW0j6J0MQqyOKqs7jmaIHui2SypHpJO+zOHRYl7E8UbxA7sWXgiYwkjct9Ob4Cq3iduhuUAnEp6BgQntf6I0+hKWE3wG06N3DdYmlIulUA5Z2ff2XUiwBYKSQEgCjSTV2Noy+Ttecojw5Gd76wzIrhxF1tUtr60kvoC+AU665IFk+ElfOu0F6nQ0u2mDsPUwFZjRqrjGaDXANMDH64HaOKtS81Ux+GhedqeSfSfslw= 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)(376014)(1800799024)(52116014)(7416014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: f7iTnX6UXXKO0tayX3PBVXrIJGI9i3yHBvQsSsWoe112dCsZyAyoHsKd9EjA3bMfXHTkdmVDU+Z0t1PcL86SR+a2VQwmkhaSxhzOBZEHPY0wJlIcgAXNHz29UpIUXFzFcoCL7rDfK0zGcDLPwr9QDb31P3llpp4yFw3Zg6M9UMqGrB4Ons1O1QHYqxmdvN4vBOVzApEcs436CNRbKNCDanExXfJg2XWeOFiCSRQphTKAi8yR3vXOf7+Z/Po0Dm4BUOhAemtZHRk070Y9iAhcFnzU7rlTEF0vvEnL59S0nhI04Eh06NQbuDtd8Vuj4nXJBHshjJHY4I54Sl/QRomKKXFl3KGv1NgjmJ3nhqm+x4YY/2eRa0nayGdn6JOTULmtwJ5HdmncaOtHtf5i+1qj4PllUE9F4UGXSeCmAJr8Kc9ksTjv1fjMLXOzPXO0ZbzP6EpCLtUAOydzpZb/IlI16tBAiNliPbehvR3jEDXNOeuLwvmgOsuOR0BX6iXcY/STaiIa78LNPEGR0AS5HIGs6/k3IuIrCOAWYKU3n3eGmRvyvY7rsn4Tuk/i0w2iuF5KkEM6m1T/xs4/vPgosyqZB9wIPi48uHyYoM+nbSvb/qXG0YxO8Bpwd2CKoHZA0qrCTxIVCCZMaIkgKbwFjsv8LTsUY1knO/6AuxeVo2Xy21lj8/US8EPkq2DG0qvER8uSi7jOZc50kyqQNnwrpbXEXbADRW5Ez/2mDwS8pmhTAf4biuKYsz8nwHsebAy38GPO4rrp7ZmEN9y2q+qYkkr9Sckw4UQUSGYbof5BtRUv1AokIfE+rtZPLqXIrbj3dawfJMs7lLp7Ano080YUIRGh0LfNRa47EqtMH+sAG+tBBEZThhpmmwdvsXKmrm9qn9o6LjPPt4jodfbgWlzDVwD49M8fhwNOgE55kg8pvZIxqnz7SFqSRsr86vTTshzJPZ6psx7/Ugnz4ulmDMpL9mDGGqWstw4/d2amJ0zvdruQuy3j5+y+LqSwWWdJ96s315EMSaxPcNRj8l8R6Wdnm1lftNwpI8kAfUqFNuXXQhNcWJTLZ8dR8wMYVorVGKKPCzCSNRuH3NB0WTfA7ZtP9J9HGC41hfMVYLf6xKShOU7f02YcympKXLloW3U1NtHwt4wmsVCcjRZPLkCcgYOAcrZEW3P8E+YLgnpwyLs8KTFkJe6BsylcxqLN6jKfZQNYjulCskq78O9hHIOHL1Dj6ij7W2YEkZ0YJX1n3/xneubYvJpuHlnFVnzm4NuEfIxWa8jPle47GevQrfRkZ31LtEhDnr1RCsJ4EtdtkC6hdcucEMLzVN65Zgl19SkHQQtKiDG3kWECBbY/FukHpOe2YGERjaDjfe+XbDf8Jgd8jHxawrEjhUsC5xRqdx2EBeteBgq/snjSpZc6qMxhcXRDvSEzmRgoa/yBfKS3JpmJS8LfL5nKTdVtklkTe3cZ9r2WQAy86/pLJZNvDZ0r3jZTE1yPwfgO9cYnsL+xzQVHsuyLQfTB5NjBfoIBrF66sssFVwGna6INB4odtgGOhI7lkPpeGU6dlErnCX2t9dduGQzH0HitrdlKD4wzkBAyLk7Zj77o X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51c8d5c8-5659-4f8d-3f39-08dd7e47ff68 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8254.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2025 07:09:45.6126 (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: 3u5EILJhuGuyAZv7sbKQPWwc4OZ1kYv0wMa2DqOWGMbwgoBkbrO5DfxcfOMAgeE4j/J9xFR6K7rKl3FaZcpgXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2PR04MB10160 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250418_000948_508430_14F5C51A X-CRM114-Status: GOOD ( 15.28 ) 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: Ming Qian In order to decode a motion-jpeg bitstream, which doesn't provide a DHT, the driver will first decode a pattern jpeg and use the DHT found in the pattern to decode the first actual frame. This mode is called "repeat-mode" and it utilizes linked descriptors. The smallest supported resolution of 64x64 was used for that pattern to not cause unneeded performance delay. This choice, however, can cause a corrupted decoded picture of the first frame after the pattern, when the resolution of that frame is larger than the pattern and is not aligned to 64. By altering the pattern size to 128x64, this corruption can be avoided. That size has been confirmed to be safe by the hardware designers. Additionally, a DMA buffer needs to be allocated to store the decoded picture of the pattern image. Signed-off-by: Ming Qian Reviewed-by: Frank Li --- v3 - improve commit message .../media/platform/nxp/imx-jpeg/mxc-jpeg.c | 42 +++++++++++++++---- .../media/platform/nxp/imx-jpeg/mxc-jpeg.h | 5 +++ 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c index 12661c177f5a..45705c606769 100644 --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c @@ -535,7 +535,18 @@ static const unsigned char jpeg_sos_maximal[] = { }; static const unsigned char jpeg_image_red[] = { - 0xFC, 0x5F, 0xA2, 0xBF, 0xCA, 0x73, 0xFE, 0xFE, + 0xF9, 0xFE, 0x8A, 0xFC, 0x34, 0xFD, 0xC4, 0x28, + 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, + 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, + 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, + 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, + 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, + 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, + 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, + 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, + 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, + 0x8A, 0x00, 0x28, 0xA0, 0x0F, 0xFF, 0xD0, 0xF9, + 0xFE, 0x8A, 0xFC, 0x34, 0xFD, 0xC4, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, @@ -545,7 +556,7 @@ static const unsigned char jpeg_image_red[] = { 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, - 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00 + 0x00, 0x28, 0xA0, 0x0F }; static const unsigned char jpeg_eoi[] = { @@ -775,6 +786,13 @@ static void mxc_jpeg_free_slot_data(struct mxc_jpeg_dev *jpeg) jpeg->slot_data.cfg_stream_vaddr = NULL; jpeg->slot_data.cfg_stream_handle = 0; + dma_free_coherent(jpeg->dev, jpeg->slot_data.cfg_dec_size, + jpeg->slot_data.cfg_dec_vaddr, + jpeg->slot_data.cfg_dec_daddr); + jpeg->slot_data.cfg_dec_size = 0; + jpeg->slot_data.cfg_dec_vaddr = NULL; + jpeg->slot_data.cfg_dec_daddr = 0; + jpeg->slot_data.used = false; } @@ -814,6 +832,14 @@ static bool mxc_jpeg_alloc_slot_data(struct mxc_jpeg_dev *jpeg) goto err; jpeg->slot_data.cfg_stream_vaddr = cfg_stm; + jpeg->slot_data.cfg_dec_size = MXC_JPEG_PATTERN_WIDTH * MXC_JPEG_PATTERN_HEIGHT * 2; + jpeg->slot_data.cfg_dec_vaddr = dma_alloc_coherent(jpeg->dev, + jpeg->slot_data.cfg_dec_size, + &jpeg->slot_data.cfg_dec_daddr, + GFP_ATOMIC); + if (!jpeg->slot_data.cfg_dec_vaddr) + goto err; + skip_alloc: jpeg->slot_data.used = true; @@ -1216,14 +1242,14 @@ static void mxc_jpeg_config_dec_desc(struct vb2_buffer *out_buf, */ *cfg_size = mxc_jpeg_setup_cfg_stream(cfg_stream_vaddr, V4L2_PIX_FMT_YUYV, - MXC_JPEG_MIN_WIDTH, - MXC_JPEG_MIN_HEIGHT); + MXC_JPEG_PATTERN_WIDTH, + MXC_JPEG_PATTERN_HEIGHT); cfg_desc->next_descpt_ptr = desc_handle | MXC_NXT_DESCPT_EN; - cfg_desc->buf_base0 = vb2_dma_contig_plane_dma_addr(dst_buf, 0); + cfg_desc->buf_base0 = jpeg->slot_data.cfg_dec_daddr; cfg_desc->buf_base1 = 0; - cfg_desc->imgsize = MXC_JPEG_MIN_WIDTH << 16; - cfg_desc->imgsize |= MXC_JPEG_MIN_HEIGHT; - cfg_desc->line_pitch = MXC_JPEG_MIN_WIDTH * 2; + cfg_desc->imgsize = MXC_JPEG_PATTERN_WIDTH << 16; + cfg_desc->imgsize |= MXC_JPEG_PATTERN_HEIGHT; + cfg_desc->line_pitch = MXC_JPEG_PATTERN_WIDTH * 2; cfg_desc->stm_ctrl = STM_CTRL_IMAGE_FORMAT(MXC_JPEG_YUV422); cfg_desc->stm_ctrl |= STM_CTRL_BITBUF_PTR_CLR(1); cfg_desc->stm_bufbase = cfg_stream_handle; diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h index 86e324b21aed..fdde45f7e163 100644 --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h @@ -28,6 +28,8 @@ #define MXC_JPEG_W_ALIGN 3 #define MXC_JPEG_MAX_SIZEIMAGE 0xFFFFFC00 #define MXC_JPEG_MAX_PLANES 2 +#define MXC_JPEG_PATTERN_WIDTH 128 +#define MXC_JPEG_PATTERN_HEIGHT 64 enum mxc_jpeg_enc_state { MXC_JPEG_ENCODING = 0, /* jpeg encode phase */ @@ -117,6 +119,9 @@ struct mxc_jpeg_slot_data { dma_addr_t desc_handle; dma_addr_t cfg_desc_handle; // configuration descriptor dma address dma_addr_t cfg_stream_handle; // configuration bitstream dma address + dma_addr_t cfg_dec_size; + void *cfg_dec_vaddr; + dma_addr_t cfg_dec_daddr; }; struct mxc_jpeg_dev { From patchwork Fri Apr 18 07:08:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ming Qian(OSS)" X-Patchwork-Id: 14056993 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 31F28C369AB for ; Fri, 18 Apr 2025 07:34:03 +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=JTKcG8iW662T7Nw0xvAA7Bh6amD+CcqUAcjWDySvSy8=; b=JEtCd3//pYGqiyTi02S4xSdorv uP9BEyAFf3px6A00jv/G8teZilIBZSu9mSNmRvpDB5wJOcsCQ0hezPS7wIzKWW579IQtMguJdQr7z TAM4rufRzMA16Z/2Ka+Mr5X58jz0TZ5MrX8iO3Amc9uF9xaVqf4df8qivDzIGPBxA4e2n8ENEZN5Q jsl8kDpNRvegTbIny06LjOJhbS1Y+KBaPBtJ6ziZQiFnILcz0n770UU0akOw4QPds2LSgJd3LTAq8 SAaexfBBb6H0KBNmWi4kyCalc3lGaqgyUUNQBH31wxgX9HmHvBV2GR8lsrSWU7UcO7esUsJuWz/56 3qRuKzkQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5gET-0000000FUHG-07pu; Fri, 18 Apr 2025 07:33:53 +0000 Received: from mail-vi1eur02on20630.outbound.protection.outlook.com ([2a01:111:f403:2607::630] helo=EUR02-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5frH-0000000FQre-0KPK for linux-arm-kernel@lists.infradead.org; Fri, 18 Apr 2025 07:09:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A21DwvnORobb0Grt+C9x4iZpoIU1Sisvj7q89ZR6AGWgbc2ylFPsdQApBvKETuCI4La5llDAjsJUCqrEl1x56YpWp99fdy6VVs0kS56450qQDtv9AxzLhnuwaQbf2EuxlcATfKGB66JT3XU/UkUC6zZdSm9k0EPH3evHJTEaUH/3afhCn/MuH+Mgu2s/1QJdL+EwnEuI5lupKw9SFqpRUboNRRKqKIV8/IdfeH3RrtO1W5To6fdX8AZqx99oSgcku6nYefHfPxwWR0Lv3AXBkN03JSjIaotXnBY3vrmKwux2Tm+oI8+M9/a6CVMqnpY9YzfuAP7Z4lb6oK/EUN6klg== 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=JTKcG8iW662T7Nw0xvAA7Bh6amD+CcqUAcjWDySvSy8=; b=fpJloIIJ+OlwrG2rN5sryGe6TKLEdScZHCNSYKOGcr57nq/iQu7R+hZPzrnk/RBif35ZbspriGPqtfZBcs/L5b32OHhjENO/23HYu1qL6ozlAsit9LLcJmmw7BYvPwTiRJUMneWUKER6Am+wOi8eGYcdAPca1Fa2hd0zzlp1D42LSWKF69hFEZRa4KOszOzXG9Y7yTo0fn5H3Y0U3ZJTDVjv0VW76akaYXukYUcoVkiZwbx8uthLuvw5ElG3ZWYxVx2Yqpmu+mFlAt25984JvueAr0AMyqzRXNEAtZ0yU5z/nTMXbOeoGBeVimEEos5H8UNo+u12RP5MSYZlOvbBpw== 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=JTKcG8iW662T7Nw0xvAA7Bh6amD+CcqUAcjWDySvSy8=; b=uIrBuJ41Uj2gjWZJreNGKuEVWtdSNb5kPcZGe76KND6qxzgmUqoX1QxdDNpYcfxgPCyiF+vthb8qiAJNJ80NjRCIz4t3DcDozYQHL7qZbiuELSM8HGA4pomSV/3T1V3HGoLEYFz+hcBIIp2Ga/uxSatCmM/+CbH/7Nh5c/j5VJ3jJNT4I7//EtsWUP1a8macju0Plg8LtHTvhmgFx5TPscaEsQ/2tKRbQvJMGqrI3YGgZ/LjAiNk6tK5cRLU6jKDIqDteSFT6BwdUdqmJq4qzOPtFCeFs3lMmOKUELHqUfacRmXeTR6HklXJCOvwwvcTnD6ZixLZe9y5qwozUC2xMw== 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 PA2PR04MB10160.eurprd04.prod.outlook.com (2603:10a6:102:407::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.34; Fri, 18 Apr 2025 07:09:51 +0000 Received: from PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87]) by PAXPR04MB8254.eurprd04.prod.outlook.com ([fe80::2755:55ac:5d6f:4f87%4]) with mapi id 15.20.8655.022; Fri, 18 Apr 2025 07:09:50 +0000 From: ming.qian@oss.nxp.com To: mchehab@kernel.org, hverkuil-cisco@xs4all.nl, mirela.rabulea@oss.nxp.com Cc: shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, xiahong.bao@nxp.com, eagle.zhou@nxp.com, linux-imx@nxp.com, imx@lists.linux.dev, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 5/5] media: imx-jpeg: Check decoding is ongoing for motion-jpeg Date: Fri, 18 Apr 2025 15:08:21 +0800 Message-ID: <20250418070826.141-6-ming.qian@oss.nxp.com> X-Mailer: git-send-email 2.48.1.windows.1 In-Reply-To: <20250418070826.141-1-ming.qian@oss.nxp.com> References: <20250418070826.141-1-ming.qian@oss.nxp.com> X-ClientProxiedBy: SG2PR01CA0174.apcprd01.prod.exchangelabs.com (2603:1096:4:28::30) 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_|PA2PR04MB10160:EE_ X-MS-Office365-Filtering-Correlation-Id: 74789385-34f2-4960-9c4c-08dd7e48028d 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|376014|1800799024|52116014|7416014|366016|38350700014; X-Microsoft-Antispam-Message-Info: EBXfid9TWBGlaMI9dxCtlGr5dr+LGX8gRTpfdyOdfYtnZRj1Lqjx5KLBleuOrWk1no2iqyHQPuhrjp1lDFMJWoNQ+3Gh+Jt4uk90pSRl1mQKnzfdvVSRPVV8XXHAm2Uzd5Ubmvuurfy8y15IjBZ5h0LGvHyGFeM/uWlw32sFmFc3HAlsOAFB+iymDf3O1ttDSB7Rv1AHJTLmdTpteboyzyTxxGB4UxZA6kWc5n8iz8r2fUHyBIBDQs8Ng++AF1C7T5MKFh8VkoijAGe7c8dHTOPLrS0o0tRviF8biSQTR+imEswKqUjjrmYbm0IhkpWbtG3VvIuHiD/CRWLKhj4VMOIVQycEr/96uRmM0rGhTpKaxG16MWmXncugZcw9QQ3YTyP9HrhX1zQj5A1FFrcu4lixX9x5Djz2hhKvURrMgOI152pXKQiAGQrpxsCvE3mc6uUJpAf6Xzz+HhnusTlcU6d5GS4/j1yjTKBrzv+VXjaCGpd8dBrOovdfilDyIAOeKRsNqIMPpcsiniiaRe+PyrHxU0/iQS4n7l93dY7OFnNRjP4M0gLjCbeksvGczJ2SMIdHNoyPfJlJVEvREp4CyY1j3K/jmeJOkiavr21LOVkGHR2ZWKdygLWCBi3YJWuPu7i+os5Ua2VJMB9PJWctRiD2LdTJQ4HkJQuWrMQuZaTl2hG9Rftc30fm8wmFtyNwDTijuBMKprsjSjO5mp9b0Te0h7PNbUYuD6/cdoU+QRL5AyRu0cydull/nZuALxzi201BLyahHdsvjUqjZ+bxE5TnKWrkNuxOfByeql1ZskqHSJ3ODIo1qK9A9WqzY8NvjE+6gU/AtD5U4xyjF2Gec9ilEciLhZADCMC/783SNYEv31a1UpGHVM7wzWtyTsh6Or/T/xWTAYFlCl0haTE/La4MIq6cj+HlMnKyu5RFOMegQEEDfRcJCYDgi4SzsiC60QGxTIjdCcnhgpFHipcKySQFO/0BHuY4BFsH8jXFW+nI0sraPyytRoVt8hb7405WsorqvOUkb0jDAGSwzsEpZGTm7pHKGvLZXM2YZ7a+jY/0psfwPJsLpHD+AY5kzyLse2qNGMPO6mZl+tJATi8edaMqhn/VyvwueQ6CORy1MjqBlt/K/cF0c+mvHxV2HMpm5prew+U92KujPPpcDQbZ3ZoxPKBJasVdV4gP32zXIf6T7hErws6J6G+K6Y7QNOwkybvIsYj3Ovosb70qZfqMDx1raKQuLgaGt/5tedF9W0PI7tmuLiLudtolltlcWgez6IKlRH20YY0GuK7RS+KtRuLFXxpxnAwpPgcbChwGKTw4uGSvd1Pwt4DqXZgpFM+i7zXcfwc2jLK+9kQNWRiqJjpJx7OD/T994IKmYCLdrUGyTrVjpOW1gABR7uak7Geo88vwcu8wlkEALWB+kfXPtz7evrw240BbW+ASueePU6ZVvEB3XQpEh2GHOl8A8KXSk/G4Vw7DxWAbxx/F8Av0ptuOoRTxaBKk1ICAg+VX6KM= 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)(376014)(1800799024)(52116014)(7416014)(366016)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Xn9EMfxRr41WW5eZxL7x4yiAT1mkjhVgcmo3FhLtp6cyGbi70c7zxRNdIF1D323jzmDxJY3C4wmYm/Ah0KDBOZ2xjsqtqmIie3CuwTIri09RVv9lXXOCkHoO/ZFbhFc2CkmN8GOhSSvV9J2XeWESrkJsg07d5sg7F0r+2ke2axeJ3nR9CJ0YdKiP0IImepQp9IRApJqaGk5nVtqRHeAeVjqXWwDbCPXG99Z1M3rxWziZVfzGuLH4eyXJLEHHlYFdPEwu/jBVZQ8ENSL8EIzRziG79sESjC40RiOdXgdO3xm2GHstVdIdGUFRQk84v+0VTo1nJmV1nwIHxJLL3oks57Z7nyshR/lhBY91KKKjeSZZGm2Z8vG9Tgrvh3yMq7LOIelVpqmykny5BZQ+2B2NXmiRRbMZU887V0VTlKGShfi9ZJffLDENa9cqcmWIQXDNwf2rgNVzdBEgm1vRvvheqe80Ngunxqk1GhUD5YtVj2PHRxdi3YcX219pxVS0f+awuOhlj8RiLRRlACXQehncEzyPeaXdjFIDtZLwJ3brTx4hKFEnf6k/QyizXGi6OPEN6oEcZ/yeZP0xUop6Mrvdp7lxIeffo8Zw5zrxbYdQ3TBZw6FJKnTYIvJVkESvoHCDiPWgoH52YAQPPGBurAHXOFME86sbbIKtwHtRMyqBVo8aRw1OP4DUeHcvak0NqW08LxIXBitZ48W85Qaw9/zlWWm3AuW9U0OuJdw2r2+29T4DjfHa42PnpKCiuHubHUz8IU0z3RsoXKlc1BcfOb3NxZRQCecpWQkhX+YAfsNYKYGaDunG1PDt7NDF7U/mlhehMDNA+R81vv/hLczGxqdBTOq73RjUtHYQRGPH3mt2qCZWwy7z+o2SFZM/SXIz+C0o1Qp/xJOZlRHeWubZvHq3ADEwF40PBi6Jx3uEMKMU6PVgx/X+R6fKC7nbdyBHdOfvhRaeZ7v4gb2RpWxxbDMGd5L5UpgNrIK4JRTCOAa9lZgL6wo5RZQTTdZsJcVvEmttPBjE6gvGQbL+k6WVAWFIKpmPH9EnVq8gAiE2T9iXg7VAHFg17F57Ae2ytDzfmOcXBVO2sh1jjvxeXrc4lPPgbSXidsN8U+iad4u1SNSf/32bdurosDbzPGCLn1btFqnkAbi67VMd+7S0d5H9uaC1HVgFLFUkLhJcooCE7t8qVKS5ZLb/cX+lNo0SZA29IRf1AO3tVKG70xMUsNK5XYJxsgJ/JqJCrE8ihjQTrklIfOegsl/8He9N7uepk2WY2BS/MLux/hbURQyQ/8hEW/SCeC4Zlms8+XohN3NPtysvokyLZ1duktFOBhqXwx+QKRbzXg9JsgwE4s/fy1Fy7pVXmi+561xKItBqLLxctbU1F4kPBFwpQ64wLnPUHJx2IiUQeLska1w74OZs/BVAxqB/Pautr12ioaasHnV2TE1mcMKvgFnqBEzMJBXYoB+zrRtSv2S6EOlduaPkRoVhsMFSpXs8WSuw3oghALLeWfxQ4FHn84QS01jyx238nGyI38DCpsDQptzZDEbmT2P3kC/SdvpFYFtmbePIgxVVeiUfQ9DRIuXvRxuTUOkD5+mIJnff X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74789385-34f2-4960-9c4c-08dd7e48028d X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8254.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2025 07:09:50.6616 (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: araD+uNq12O9zZGdlVVR4t8FHRKviySF/Qzr4zYuGB2CGBSDItQB/evRTeOdBJgvw36aQ8Tfnz0v6Sn+Y0waMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2PR04MB10160 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250418_000955_132709_25E9A3AF X-CRM114-Status: GOOD ( 20.39 ) 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: Ming Qian As the first frame in "repeat-mode" is the pattern, the pattern done interrupt is ignored by the driver. With small resolution bitstreams, the interrupts might fire too quickly and hardware combine two irqs to once because irq handle have latency. Thus the driver might miss the frame decode done interrupt from the first actual frame. In order to avoid the driver wait for the frame done interrupt that has been combined to the pattern done interrupt and been ignored, driver will check the curr_desc and slot_status registers to figure out if the decoding of actual frame is finished or not. Firstly we check the curr_desc register, - if it is still pointing to the pattern descriptor, the second actual frame is not started, we can wait for its frame-done interrupt. - if the curr_desc has pointed to the frame descriptor, then we check the ongoing bit of slot_status register. - if the ongoing bit is set to 1, the decoding of the actual frame is not finished, we can wait for its frame-done interrupt. - if the ongoing bit is set to 0, the decoding of the actual frame is finished, we can't wait for the second interrupt, but mark it as done. But there is still a small problem, that the curr_desc and slot_status registers are not synchronous. curr_desc is updated when the next_descpt_ptr is loaded, but the ongoing bit of slot_status is set after the 32 bytes descriptor is loaded, there will be a short time interval in between, which may cause fake false. Consider read register is quite slow compared with IP read 32byte from memory, read twice slot_status can avoid this situation. Signed-off-by: Ming Qian Reviewed-by: Frank Li --- v4 - Improve commit message v3 - Read the slot_status register twice - Improve commit message .../media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h | 1 + .../media/platform/nxp/imx-jpeg/mxc-jpeg.c | 31 ++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) 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 d579c804b047..adb93e977be9 100644 --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h @@ -89,6 +89,7 @@ /* SLOT_STATUS fields for slots 0..3 */ #define SLOT_STATUS_FRMDONE (0x1 << 3) #define SLOT_STATUS_ENC_CONFIG_ERR (0x1 << 8) +#define SLOT_STATUS_ONGOING (0x1 << 31) /* SLOT_IRQ_EN fields TBD */ diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c index 45705c606769..4346dcdc9697 100644 --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c @@ -910,6 +910,34 @@ static u32 mxc_jpeg_get_plane_size(struct mxc_jpeg_q_data *q_data, u32 plane_no) return size; } +static bool mxc_dec_is_ongoing(struct mxc_jpeg_ctx *ctx) +{ + struct mxc_jpeg_dev *jpeg = ctx->mxc_jpeg; + u32 curr_desc; + u32 slot_status; + + curr_desc = readl(jpeg->base_reg + MXC_SLOT_OFFSET(ctx->slot, SLOT_CUR_DESCPT_PTR)); + if (curr_desc == jpeg->slot_data.cfg_desc_handle) + return true; + + slot_status = readl(jpeg->base_reg + MXC_SLOT_OFFSET(ctx->slot, SLOT_STATUS)); + if (slot_status & SLOT_STATUS_ONGOING) + return true; + + /* + * The curr_desc register is updated when next_descpt_ptr is loaded, + * the ongoing bit of slot_status is set when the 32 bytes descriptor is loaded. + * So there will be a short time interval in between, which may cause fake false. + * Consider read register is quite slow compared with IP read 32byte from memory, + * read twice slot_status can avoid this situation. + */ + slot_status = readl(jpeg->base_reg + MXC_SLOT_OFFSET(ctx->slot, SLOT_STATUS)); + if (slot_status & SLOT_STATUS_ONGOING) + return true; + + return false; +} + static irqreturn_t mxc_jpeg_dec_irq(int irq, void *priv) { struct mxc_jpeg_dev *jpeg = priv; @@ -979,7 +1007,8 @@ static irqreturn_t mxc_jpeg_dec_irq(int irq, void *priv) mxc_jpeg_enc_mode_go(dev, reg, mxc_jpeg_is_extended_sequential(q_data->fmt)); goto job_unlock; } - if (jpeg->mode == MXC_JPEG_DECODE && jpeg_src_buf->dht_needed) { + if (jpeg->mode == MXC_JPEG_DECODE && jpeg_src_buf->dht_needed && + mxc_dec_is_ongoing(ctx)) { jpeg_src_buf->dht_needed = false; dev_dbg(dev, "Decoder DHT cfg finished. Start decoding...\n"); goto job_unlock;