Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp698138pxm; Fri, 25 Feb 2022 17:35:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJx1d5YTcPgDPxAK+/qKxkJVcDTPNYRnyEs1IqsqJoejWdrCDkSja64OERrBkxDuMpdZw2To X-Received: by 2002:a17:90a:280e:b0:1bc:3bb7:aa0a with SMTP id e14-20020a17090a280e00b001bc3bb7aa0amr5861835pjd.6.1645839345090; Fri, 25 Feb 2022 17:35:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645839345; cv=none; d=google.com; s=arc-20160816; b=YBw0u9f3803v4Kcf6nzkx4W7Z/1kPnkMPj2uiuiJurfs1R9xtB7oE1Mz9TdxgJK28N 0ChDoSn02AHtPpQSmNJUyy9vQjRqXtNj0MgfdeLvwuDWum8ijdmhIpVby7M9BnUbYnUC Iy+2Jjkl9ke1/ZewdiWjTxaFfTSd70FxGDn7T7oHf8GNu+bmSZUSv/6GwQo7snL+kd3B BbT5y29XtGO6BH/OAkH3/UO/OUgVleW+7qCy/11b6GMTz2lWC5qYbQiaKZKEBXXsT1Ud qHDpzetHBG96CJFg35g4E+9t4GzhIoGWgNrCcMpmCOfkT8YjeIqr+7bHpPPsJRyIJ1ld 2l9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=KxQra4fgV+0d05m8acphdMquyd2+z34B2eALsbSjzww=; b=hcGPBgio9i3MqqJK+l8p+gNxfkab35kbFfPasf0ILU0Iv7wUK+uo34Ed75tvm1oBru OsPT04Qm9FS2213ROP8lTxy6Xc3wDKtJ/R3tbdN9u1Nvqq+fUkTWgQLLBL38SifNMtWO J4vPTnCuSn1frkoaGuTn0pIXPNxb84dip6w0AF/odN/jASpKJobmQTkQx58m36/lSO22 DRpmSaX0Z9apriRi43KubW2dZJg+18cI+zxe1qI/IC3LCugszZC3WpG8J6ZoS9Wju8W9 BYFEupwXVB0AOWwSmH5cC8n1F8dwk17R1V9M5fowBZTbUa0G4P1Yry3OybtbnsvJR9mG u2PA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=LULVDE0C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id d5-20020a633605000000b00374955a77c0si3154641pga.198.2022.02.25.17.35.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Feb 2022 17:35:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=LULVDE0C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AB1AC204FE2; Fri, 25 Feb 2022 17:30:24 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243408AbiBYQrl (ORCPT + 99 others); Fri, 25 Feb 2022 11:47:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50702 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243217AbiBYQqv (ORCPT ); Fri, 25 Feb 2022 11:46:51 -0500 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23F9722D646; Fri, 25 Feb 2022 08:46:19 -0800 (PST) Received: from benjamin-XPS-13-9310.. (unknown [IPv6:2a01:e0a:120:3210:947c:7c9e:f96:1bc]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 7A4871F462DD; Fri, 25 Feb 2022 16:46:17 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1645807578; bh=ZKLccwCI9e2jto29+P03GlKR+XxsqNInVtVq+uWxfHg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LULVDE0C7aEvjvxnL1X7ZHcPQ2WANd5bc1/sqOwzfGUv2qJAo0v0JmlCX788ILKSx fwtEc7bBNlg/p63mAvF8DH3MnM45dxAuAddG7EVM+xt3a7J8oFA+vZs3TcQQB55V1U T5IWxuu8An6d4rordaElKHBuDU/gmGebx2xeaFHaSSpI+MnEqjI+fq+lsIgmcPPBl1 04qae8WxnaDaniQ06sImJG4vqEf1VcMGqLjMuOSuM2QP7tYflcwriLqYH8pN3oEIS8 H0yLGj7pLuA4ooPxSEpYVR2On/iWRjgf1r4Ag5xvvbr9LerWiNdBCC36+XBUCHVhef vysOb5oITixGA== From: Benjamin Gaignard To: mchehab@kernel.org, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@gmail.com, jonas@kwiboo.se, nicolas@ndufresne.ca Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, kernel@collabora.com, knaerzche@gmail.com, jc@kynesim.co.uk, Benjamin Gaignard Subject: [PATCH v3 12/14] media: uapi: Create a dedicated header for Hantro control Date: Fri, 25 Feb 2022 17:45:58 +0100 Message-Id: <20220225164600.1044663-13-benjamin.gaignard@collabora.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220225164600.1044663-1-benjamin.gaignard@collabora.com> References: <20220225164600.1044663-1-benjamin.gaignard@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hantro hardware needs a dedicated v4l2 control to perform HEVC decoding. Move it to a dedicated header file to prepare HEVC uAPI un-staging. Signed-off-by: Benjamin Gaignard --- .../userspace-api/media/drivers/hantro.rst | 5 ----- drivers/staging/media/hantro/hantro_drv.c | 1 + include/media/hevc-ctrls.h | 13 ------------- include/uapi/linux/hantro-media.h | 19 +++++++++++++++++++ include/uapi/linux/v4l2-controls.h | 5 +++++ 5 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 include/uapi/linux/hantro-media.h diff --git a/Documentation/userspace-api/media/drivers/hantro.rst b/Documentation/userspace-api/media/drivers/hantro.rst index cd9754b4e005..78dcd2a44a03 100644 --- a/Documentation/userspace-api/media/drivers/hantro.rst +++ b/Documentation/userspace-api/media/drivers/hantro.rst @@ -12,8 +12,3 @@ The Hantro video decoder driver implements the following driver-specific control to before syntax element "slice_temporal_mvp_enabled_flag". If IDR, the skipped bits are just "pic_output_flag" (separate_colour_plane_flag is not supported). - -.. note:: - - This control is not yet part of the public kernel API and - it is expected to change. diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c index 6f58c259d8fc..783a92a38c8e 100644 --- a/drivers/staging/media/hantro/hantro_drv.c +++ b/drivers/staging/media/hantro/hantro_drv.c @@ -11,6 +11,7 @@ */ #include +#include #include #include #include diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h index cbf41d180fe9..f29298c8c2f8 100644 --- a/include/media/hevc-ctrls.h +++ b/include/media/hevc-ctrls.h @@ -443,17 +443,4 @@ struct v4l2_ctrl_hevc_scaling_matrix { __u8 scaling_list_dc_coef_32x32[2]; }; -/* MPEG-class control IDs specific to the Hantro driver as defined by V4L2 */ -#define V4L2_CID_CODEC_HANTRO_BASE (V4L2_CTRL_CLASS_CODEC | 0x1200) -/* - * V4L2_CID_HANTRO_HEVC_SLICE_HEADER_SKIP - - * the number of data (in bits) to skip in the - * slice segment header. - * If non-IDR, the bits to be skipped go from syntax element "pic_output_flag" - * to before syntax element "slice_temporal_mvp_enabled_flag". - * If IDR, the skipped bits are just "pic_output_flag" - * (separate_colour_plane_flag is not supported). - */ -#define V4L2_CID_HANTRO_HEVC_SLICE_HEADER_SKIP (V4L2_CID_CODEC_HANTRO_BASE + 0) - #endif diff --git a/include/uapi/linux/hantro-media.h b/include/uapi/linux/hantro-media.h new file mode 100644 index 000000000000..b4e7ab7e6452 --- /dev/null +++ b/include/uapi/linux/hantro-media.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#ifndef __UAPI_HANTRO_MEDIA_H__ +#define __UAPI_HANTRO_MEDIA_H__ + +#include + +/* + * V4L2_CID_HANTRO_HEVC_SLICE_HEADER_SKIP - + * the number of data (in bits) to skip in the + * slice segment header. + * If non-IDR, the bits to be skipped go from syntax element "pic_output_flag" + * to before syntax element "slice_temporal_mvp_enabled_flag". + * If IDR, the skipped bits are just "pic_output_flag" + * (separate_colour_plane_flag is not supported). + */ +#define V4L2_CID_HANTRO_HEVC_SLICE_HEADER_SKIP (V4L2_CID_USER_HANTRO_BASE + 0) + +#endif /* __UAPI_HANTRO_MEDIA_H__ */ diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index c8e0f84d204d..d56a1c7fb91d 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h @@ -218,6 +218,11 @@ enum v4l2_colorfx { * We reserve 16 controls for this driver. */ #define V4L2_CID_USER_ALLEGRO_BASE (V4L2_CID_USER_BASE + 0x1170) +/* + * The base for Hantro driver controls. + * We reserve 128 controls for this driver. + */ +#define V4L2_CID_USER_HANTRO_BASE (V4L2_CID_USER_BASE + 0x1180) /* MPEG-class control IDs */ /* The MPEG controls are applicable to all codec controls -- 2.32.0