Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp8471rdb; Thu, 21 Dec 2023 00:48:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IHvi2T33483NV056kqHsfC0vKv82LlomzR9bmzSiXSHJLsbvxC/u599VKceRhfSLb5eqXHU X-Received: by 2002:a50:ab1b:0:b0:553:b1aa:9a6a with SMTP id s27-20020a50ab1b000000b00553b1aa9a6amr843370edc.17.1703148539745; Thu, 21 Dec 2023 00:48:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703148539; cv=none; d=google.com; s=arc-20160816; b=CB9coBU7kRq01smm6OtM3iGeFrDzC1KAJCkf4LC61Yp5GZbb+fUBeV8Ld3r1tkCpsw 1XxG4izkfMejaYN2pMX9E7Tj9fifAfV2VJ/axqFdFiyOMI7uWmWXDy3VKHK4i561eMFj a2FuspUEZVg7GjqSYJQTYRlrl29WFiTcUBibDvlhrNejUP03z92TDkmlGtU8vbxRJ5Nh YvHcmKt4TKhNIo0BVDtEFueCrouoS/fW8B5p1ktSlCDt6LiK069IEy4zVpQIGvTAvkZy 6otGnCxwKk6pVc4Su5ipIxe+khK4C3zOiHyuPxtikSsEnMNNfkrlzvSYd1wJub5xxpQL VtZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=jeRT+eK7Vhl0LiS2NYUaPuSsz9Ja8QWgixI33nTKj3w=; fh=ErwLDw9+98Mb4Q3i5RoHr7UOS7Ns3CK5YbB+qheGbUs=; b=NN/GqZJj9E0Ls3kcJKClBFWiN+gJzPqj0vwgJmEdfjem9LJjUqAdO/0DtXzpSQzlCC nKTituCp3jZmDjDFR1Bq/vgCSjpMGYf08MjGI4ATN4f05pAePWWuk4O+a7oLUKW6sk6j Zho7y2Nd+KWv8testXMv5myJ2TfG7HCrr8PLUznKQYYoXhQXUqQcoxDaYVhM70i0gJ6Z DE4G1kGigtF6LjRR830oVMGOeAossTvBzAdoQTH6oPm9ji1dzLsQ1VabJDUXdgebcyiq fPdrZrlHiFkxl106dsf9G8t0jhRaG7PP98yKq0rAmC20vJhUKisOvVNVApUjoZLVI1cq ll3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=cxN0BXhC; spf=pass (google.com: domain of linux-kernel+bounces-8015-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8015-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id v19-20020a056402349300b005537d77c76bsi662795edc.350.2023.12.21.00.48.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 00:48:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-8015-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=cxN0BXhC; spf=pass (google.com: domain of linux-kernel+bounces-8015-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8015-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 7E6951F23ADB for ; Thu, 21 Dec 2023 08:48:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5B003225D3; Thu, 21 Dec 2023 08:48:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="cxN0BXhC" X-Original-To: linux-kernel@vger.kernel.org Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (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 F23A01A70A; Thu, 21 Dec 2023 08:48:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 3BL24G1s012155; Thu, 21 Dec 2023 09:47:28 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding:content-type; s=selector1; bh=jeRT+eK 7Vhl0LiS2NYUaPuSsz9Ja8QWgixI33nTKj3w=; b=cxN0BXhC6kFkwbBZlqXoMQG AMpG8S781Rpd6LlI084zqO6s9DQLxjy3ttzt/j9GgY48m8+ATwmJZIPSOj+vcwyw FhCuS3s+J3FK8DAvXPraZdQdY7aY/0sWMagGXXWK0fjmezQiakF7ha+iUIK5DRrT J9TJQlaEoQauvcUA5d8pybCEFfxBWdq17iCI/YrZ4IOauHi7G5ofHQ/y+AN6LwAu AHs3pDHp1WcX2QRe6Y9KLQ2M1bh559xNIIvg4+J4B77nPAk/DPn57JCBa1nxPy/V 4LbeRIgnTxqT47Uw6jTfdPD+8I4qIyLaH1DMoAkTZAJzLXZFJzkwuv/ogPmIKJQ= = Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3v13nhnxu6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 21 Dec 2023 09:47:28 +0100 (CET) Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 82424100066; Thu, 21 Dec 2023 09:47:25 +0100 (CET) Received: from Webmail-eu.st.com (shfdag1node1.st.com [10.75.129.69]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 72D1B22A6D2; Thu, 21 Dec 2023 09:47:25 +0100 (CET) Received: from localhost (10.201.20.120) by SHFDAG1NODE1.st.com (10.75.129.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 21 Dec 2023 09:47:25 +0100 From: Hugues Fruchet To: Ezequiel Garcia , Philipp Zabel , Andrzej Pietrasiewicz , Nicolas Dufresne , Sakari Ailus , Benjamin Gaignard , Laurent Pinchart , Daniel Almeida , Benjamin Mugnier , Heiko Stuebner , Mauro Carvalho Chehab , Hans Verkuil , , Maxime Coquelin , Alexandre Torgue , , Rob Herring , Krzysztof Kozlowski , Conor Dooley , , , , CC: Hugues Fruchet , Marco Felsch , Adam Ford Subject: [PATCH v5 0/5] Add support for video hardware codec of STMicroelectronics STM32 SoC series Date: Thu, 21 Dec 2023 09:47:18 +0100 Message-ID: <20231221084723.2152034-1-hugues.fruchet@foss.st.com> X-Mailer: git-send-email 2.25.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: EQNCAS1NODE3.st.com (10.75.129.80) To SHFDAG1NODE1.st.com (10.75.129.69) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-21_04,2023-12-20_01,2023-05-22_02 This patchset introduces support for VDEC video hardware decoder and VENC video hardware encoder of STMicroelectronics STM32MP25 SoC series. This initial support implements H264 decoding, VP8 decoding and JPEG encoding. This has been tested on STM32MP257F-EV1 evaluation board. =========== = history = =========== version 5: - Precise that video decoding as been successfully tested up to full HD - Add Nicolas Dufresne reviewed-by version 4: - Fix comments from Nicolas about dropping encoder raw steps version 3: - Fix remarks from Krzysztof Kozlowski: - drop "items", we keep simple enum in such case - drop second example - it is the same as the first - Drop unused node labels as suggested by Conor Dooley - Revisit min/max resolutions as suggested by Nicolas Dufresne version 2: - Fix remarks from Krzysztof Kozlowski on v1: - single video-codec binding for both VDEC/VENC - get rid of "-names" - use of generic node name "video-codec" version 1: - Initial submission Hugues Fruchet (5): dt-bindings: media: Document STM32MP25 VDEC & VENC video codecs media: hantro: add support for STM32MP25 VDEC media: hantro: add support for STM32MP25 VENC arm64: dts: st: add video decoder support to stm32mp255 arm64: dts: st: add video encoder support to stm32mp255 .../media/st,stm32mp25-video-codec.yaml | 50 ++++++++ arch/arm64/boot/dts/st/stm32mp251.dtsi | 12 ++ arch/arm64/boot/dts/st/stm32mp255.dtsi | 17 +++ drivers/media/platform/verisilicon/Kconfig | 14 ++- drivers/media/platform/verisilicon/Makefile | 4 + .../media/platform/verisilicon/hantro_drv.c | 4 + .../media/platform/verisilicon/hantro_hw.h | 2 + .../platform/verisilicon/stm32mp25_vdec_hw.c | 92 ++++++++++++++ .../platform/verisilicon/stm32mp25_venc_hw.c | 115 ++++++++++++++++++ 9 files changed, 307 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/st,stm32mp25-video-codec.yaml create mode 100644 drivers/media/platform/verisilicon/stm32mp25_vdec_hw.c create mode 100644 drivers/media/platform/verisilicon/stm32mp25_venc_hw.c -- 2.25.1