From patchwork Thu Apr 10 03:40:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jackson.lee" X-Patchwork-Id: 880756 Received: from SE2P216CU007.outbound.protection.outlook.com (mail-koreacentralazon11021108.outbound.protection.outlook.com [40.107.42.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2900B202F89; Thu, 10 Apr 2025 03:40:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.42.108 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744256427; cv=fail; b=PM06wJ8AJO9IHojLVx1muE42L8u4p7AZH9QmRrEE4x4ok8qv4IOcs9UK0aQrhaeMeZw/sXn403PPAMKe/cO8lT1afTjn0BhxbqlOhOrcsBZqr/oCJ76KBuD+9SdDmWwU60AjWpU/zn0CHNzaP1QZw5+b31Jls14u6p86/FJkGRI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744256427; c=relaxed/simple; bh=AH5fObUc+zqLV+I2Jr6qGKTDpLnptyB51QwBL//qg3Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=V0PSIiEkuU5I9HpFf3thQOOv+SGS48o8ucXzRfspVKx6xC2YA7aJvMUTFpC1JSc63N/JopPkx0Rl8MumQUMVkHtvPWahFsSjEhJ1NOv9Hj/VY0IBfbf1+4C8slfe+pZxWDGTCdukiVk+3KXzPr9q64bpoW0n/6drcUxqzbvm5Ys= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=chipsnmedia.com; spf=fail smtp.mailfrom=chipsnmedia.com; dkim=pass (1024-bit key) header.d=chipsnmedia.com header.i=@chipsnmedia.com header.b=XdRasTcQ; arc=fail smtp.client-ip=40.107.42.108 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=chipsnmedia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=chipsnmedia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chipsnmedia.com header.i=@chipsnmedia.com header.b="XdRasTcQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=p8fz1RHxJOUhlKNbG1DrKMQlTFt9pVzDUyWgRo3EgNhQuAmRxMeWrY2emy+gefKgh4xC/ZJ7yZZEieV6TiqMmkpNKU226fqVj/uqI9sG2SSNn1FMIXP9iBgsoECvaXqKa5zsuqnhnvmuME2KCklTjwoKQw2hPMC7+wSFn2leCKHAZiVHUfR5nsKfCzH4Ze0mps2wGxeXEL1YVDTM5jTlVdvFk4HsvsZ+xWntxso9K71vj83Fp8DXNKDsU1OD55jCARUAjYYpYhFy3KPYi6TIH3qYsQ7Bnltse4EBbJ9vBLM1bm5lu1eSL5FCWwG3gESDk7LCjXTHINP2HnEEHbEFPA== 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=ggZ2ztAzqLB1oq/qfR/EnIqKJxoc/27dmch8qEAQFJA=; b=xfwJjNzM3vi4ZEggpAfPELfFNUiyBQqxL+q4/DERW8rycO9slb7RFXfgHsOKnPtplNNeqFh8rTP8vDeH4843rLS0t6nPPPnDEMmYev0yxj8UgtTTnASOeyOFCe2QpmmSqorJxJVSwXIAxLHlU5xQ9CBrxmdQcFqlcxU5WeUMm52X3fQUL6SNddfuYaATWuSXnAhStxgLMEoAiB4Gk8vPu3u+gY5lgj3cmg7AwGGIOexeevT+englGrciCFWlmOrLS2kMGUt6l1koY93gyJDk8BfxvFe+CUtwUMZDkexWhTtKxT2Hc7ONurHzCKse3xUoS0GEcyhEjHn2aQcABwrtWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=chipsnmedia.com; dmarc=pass action=none header.from=chipsnmedia.com; dkim=pass header.d=chipsnmedia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chipsnmedia.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ggZ2ztAzqLB1oq/qfR/EnIqKJxoc/27dmch8qEAQFJA=; b=XdRasTcQKO8HTUz/CF9IkJAl1QPqyD5NyzdJoU/EPRZMxf5oT9voGna2u9/l83nWdGTGMq4RpP1shNWnjVYC7lTjvqMsHq/MaRmAFOiroKuQ+bmdkHZa/q8S1k5ST4Ily1hJS+wSaFsaSUqpweXgss8JPcL1/3svLxVkl7ftar4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=chipsnmedia.com; Received: from PS2P216MB1297.KORP216.PROD.OUTLOOK.COM (2603:1096:301:73::13) by PU4P216MB1439.KORP216.PROD.OUTLOOK.COM (2603:1096:301:ce::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.23; Thu, 10 Apr 2025 03:40:12 +0000 Received: from PS2P216MB1297.KORP216.PROD.OUTLOOK.COM ([fe80::d095:716:2d14:f386]) by PS2P216MB1297.KORP216.PROD.OUTLOOK.COM ([fe80::d095:716:2d14:f386%7]) with mapi id 15.20.8632.021; Thu, 10 Apr 2025 03:40:12 +0000 From: "Jackson.lee" To: mchehab@kernel.org, hverkuil-cisco@xs4all.nl, sebastian.fricke@collabora.com, nicolas.dufresne@collabora.com, bob.beckett@collabora.com, dafna.hirschfeld@collabora.com Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, jackson.lee@chipsnmedia.com, lafley.kim@chipsnmedia.com, b-brnich@ti.com, hverkuil@xs4all.nl, nas.chung@chipsnmedia.com Subject: [RESEND PATCH v1 5/7] media: chips-media: wave5: Fix not to free resources normally when instance was destroyed Date: Thu, 10 Apr 2025 12:40:00 +0900 Message-Id: <20250410034002.88-6-jackson.lee@chipsnmedia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250410034002.88-1-jackson.lee@chipsnmedia.com> References: <20250410034002.88-1-jackson.lee@chipsnmedia.com> X-ClientProxiedBy: SEWP216CA0051.KORP216.PROD.OUTLOOK.COM (2603:1096:101:2bd::12) To PS2P216MB1297.KORP216.PROD.OUTLOOK.COM (2603:1096:301:73::13) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PS2P216MB1297:EE_|PU4P216MB1439:EE_ X-MS-Office365-Filtering-Correlation-Id: e01d62a8-bd10-4052-8c78-08dd77e16674 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|1800799024|52116014|7416014|376014|38350700014; X-Microsoft-Antispam-Message-Info: 1fXxEcn2vvu5GinGrjzeRP4PfKYk6T3/CTf9vfoMLZQG4iiqZo2yXX5UGStrqJ0gLdjm4udMMPVfJuA5fROSu7uNWRZtSA+8YdmjTY9YS38rts3UEulB6WUPSc2diU/6pq92FBFx4DDYg02Di7bFQ6CvCISNgbHd2RxlmTXTF6+5V00m4+P6TGysvK97phnVThHisCoN/rH5m78+WVRUaAzpTYGG0c8CQaXn/zhYGyQd8b5e9u7kSJefSxvfiGN6Jo2tp1AKxHktts8uRY47pW2+jkvRjv+FVWktYIp8rb5Ebs1wwoE4TKss7xavQGdBYKlJp7La/cChmvdtJf59egBfWQRj0/dmg7X/sE8ARLgwOO6VcuH7fNjmQyz4CfKvGspM5s6jYGdZ3ETQAexhtOFeZFzy/Cfxq8jdUm7y5e5TFGcWfzOyM/ikfteFf4M2E5n1yuQCRh4/WHC22NnoKRIYoiFBWZLh7swyUSD3UuH9FgpcJ49ZUc36vEGuxSTcfyHUtRS402bwNX3Liqadf+xW9RLFMLfwD9/TNpZVU47P/Iew8t74t+G+K0ubPnKYIFBD0P9X8zDC5EXWc9yQlrRfGf2lGgN6Ycn3AqOqmWEjnFP+3chktJJjplJeHA8ihJ+Bz9SVHqXZoi36G4n/pjhChJvWwkmEOvvLKihf6iZFAHS5kJEA6yf+MJ4OLJ4EPluh5dDvKBUaYZhMDW2NwcKFDY9874bhLL9c569vRTYq+N4W8K/v73E2NU40+iZRBPSQuCNeGSFLSP/fXMzJD8XkiTNdbZSzQx0jnuz7Gp6At4nL6hgXxibVJ7DI1s/JkBw5TY0iUq24Zhmu7TOnlkXllADALF4yzqM4Js2aSIFl3ek14oDJtarqPm4GTe/1BbZP1EZTmkn3WGoj1cuU1QkDjkcN1miu8TK7FuHMBN3IxUip6it3LxyrQFCF5XTi3qXfwAZy5lyBQ5Qem/KcyFyLBA2JpLJeUv8rxhBHpeC2SAbiuw6yevh5lyvS85V7a8d8fqPJu2bST+HTt+++jvzN36CxnV50+TYTEVaMdyTX8eJt/u/toWGGMurkFw5PVaqpS9NPKwdyTodCMtaLGDh9Vszus30ZiEMzKGoUeBaYBNvvFSM574N3xitikkfHHQrxo3agPzn3wdPOtbDcxwFgOeoSEZd3bRPMtreVQ8TecnoRCY8sBUqnLsPb+RLVZAYDHhRoRLnYjuLh5u1xzjEv07j4YiQWAZmfegKLQ2E/Ou/c90ldwY6USlCzDwQUWh9E+EEQdHTo8BYBvooLfRCZKbN5G/+BRrvwU4xAea9OWolXdLYiJveMI0IuBXuHZxY9QaIv1eS16urMBIioeHhH1FDKCZ9x7sQfz9kvwe5BKTdXeVWb3lnonylmqnUyS/rLmUCFMf7tlb+5esW3hAQMfcQ1QmVoF3/+1tS/DCkFZZcHv4V1nsKA4Q/ElZ/g X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PS2P216MB1297.KORP216.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(52116014)(7416014)(376014)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: I6pu8RoXW2ux1Mzkq18XMc91d2IqWkbyTeiO0eoeerUxQ2n3kXDRT7MHDAAyYYgW6IuDGC8lLRYfUWyYvNv7HJi6gyP96UMq414YfiLXVIcVJ/kmeaHBoB4MvamDpSJbQK/OQu4bXRZ0hreEuauHI+iPtyzdxygd/GMmTF4YlA3+bJObwlKew3n/gadeX2EhcuQQ5gNSo/D2LEhKb0A7s23Pl/btccfYD8KMpxj2oIBsGs6Sv5Tfd81hFqqTDOrfwPopPla6xg2v9Bll7rJUR1hTfdd1zohUpf6FoEkBERdclhCoHKFVAqTZQxS3nOIYGLoK+3k7GoMiJEvwU79e7jIZaBft2z4EEVPs+ilNXBlT+9n/DW+Ankeyvjit7JPKv4HGraLfUSRiH7jVNxje0I5sthBfCrTxYHATyNQjJlB9C+05PHwsZL7dH4XwXCEqP0pHGhnqsCMM8uWXiD5tqSiEaoI5s1PLZgcTnODMbCK64qdHn3i/fYdvRKyx15+2SceAisrMXn5bf2lUiD0gL1jnZdhIx9cd1zbyl8hsFPiZkHbEIKwxp4EkJyDgcFLJw1s7NrWd/NTtnsY7CGqR4jawCNYkhHDVXfNT4bKpUVrjDp4nfYHeDOCjFOpGCPba6RMh9a2RoliNqosRqOlikbzwzssdZnbvi6O448rb8IWF1vJ2Wo85Vb3ax16WrvsgDIWwHTfE++jfjvJM6LBDa/2KawOLvh3TXR1le3apPKmrCh1vbjtW+k+4riAGotAiMAI3upTh+WKwQfS9kT9y28rUUiD/25eh/T/G71EBhGk+CvxAhh08YQ7rvfk8Xr08WcWp2VK9XWuQs+PN6HBf3ZXbN2d0/rof5o7eq1D8G2Yqh/1EpkZobztrIb2jAj8c5c2xHIe1QyaWe1E9bMBjJGuH/cAN0NGXR/xStL09e51ERjZlyPicsgzGuELXSWdfAXGPEba5W7gKMfBKimf4ppT2NSipH5RVInPqyXblYPkQJZwnrr6aSiz+u8pSF2gkH8bAFTzeaLdaExBGyB3XQkvU+nq6t/UoY2USfVhfKu/oaIrinF6wNP9BdafVmdDeAyYNyx+nt49Nf7Us0XjtRmAAsLDFg+JaaTBPUzWwdCi3RWLtPHE/+gBmVnVQzalhxNsaOLWiTgwP3AwUkM6TeAj6VTpcUT3P11ZX94FyGnj/jjyqWIGdmvP8KXa6PyXXCsUy8+lWoy6JsDuDsET6pbh5DQfpslSMVr3GyMKpWMnixS3rpBcUcracEmrG9aMnbAXhYDuBb1Tx8FtKXHHAnDSMOKo5m9xboukXPodPerzNTtEihn9Kh0aTJ/3aOvZJmSM80IW7mA0Z6wminqTGJAGGH2k0HQS/j56udQaek3rfKBStq35qhJi1Hy6mVEQ3TM9i0NlrW+GO41hoyH3aDVySG/tLgn1YuRHD6HWy8bYTNN0vDr8bwuDkvibAcSe1VtJe7iD9alXWdcRTZWBurOFl/MwN4t4DCqWSaUCVHttEeWuA8cT2n0LCWXOvco8+1mvV7x9lpMdcNdHD/MBSC2Nf+h03fX9lOrhVG+G6r66lhOkth9wii0e+Rvqiuf/kjBv3eWgtSIQQlJVq1xW2Yg== X-OriginatorOrg: chipsnmedia.com X-MS-Exchange-CrossTenant-Network-Message-Id: e01d62a8-bd10-4052-8c78-08dd77e16674 X-MS-Exchange-CrossTenant-AuthSource: PS2P216MB1297.KORP216.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 03:40:12.8269 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4d70c8e9-142b-4389-b7f2-fa8a3c68c467 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DRQOhDqnsPrPbd75IdukdwFztDGRBpUEeaoIYwcSQMslLDkhitMPSMmJPWTQT6o4qxhC7nbKLlJW5eSRUfwDbLY+InBq4Epd9gNfbauieN0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PU4P216MB1439 From: Jackson Lee Since applying performance patch, there was a problem not to free resources, the root cause was that timeout sometimes happened after calling the wave5_vpu_dec_finish_seq() when application was closed forcibly,so if failure reason is WAVE5_SYSERR_VPU_STILL_RUNNING, the wave5_vpu_dec_get_output_info() should be called to flush videos decoded before closed. Signed-off-by: Jackson Lee Signed-off-by: Nas Chung --- .../platform/chips-media/wave5/wave5-vpuapi.c | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpuapi.c b/drivers/media/platform/chips-media/wave5/wave5-vpuapi.c index 68d86625538f..d7318d596b73 100644 --- a/drivers/media/platform/chips-media/wave5/wave5-vpuapi.c +++ b/drivers/media/platform/chips-media/wave5/wave5-vpuapi.c @@ -209,6 +209,7 @@ int wave5_vpu_dec_close(struct vpu_instance *inst, u32 *fail_res) int i; int inst_count = 0; struct vpu_instance *inst_elm; + struct dec_output_info dec_info; *fail_res = 0; if (!inst->codec_info) @@ -229,11 +230,26 @@ int wave5_vpu_dec_close(struct vpu_instance *inst, u32 *fail_res) goto unlock_and_return; } - if (*fail_res == WAVE5_SYSERR_VPU_STILL_RUNNING && - retry++ >= MAX_FIRMWARE_CALL_RETRY) { + if (ret == 0) + break; + + if (*fail_res != WAVE5_SYSERR_VPU_STILL_RUNNING) { + dev_warn(inst->dev->dev, "dec_finish_seq timed out\n"); + goto unlock_and_return; + } + + if (retry++ >= MAX_FIRMWARE_CALL_RETRY) { ret = -ETIMEDOUT; goto unlock_and_return; } + + mutex_unlock(&vpu_dev->hw_lock); + wave5_vpu_dec_get_output_info(inst, &dec_info); + ret = mutex_lock_interruptible(&vpu_dev->hw_lock); + if (ret) { + pm_runtime_put_sync(inst->dev->dev); + return ret; + } } while (ret != 0); dev_dbg(inst->dev->dev, "%s: dec_finish_seq complete\n", __func__);