Received: by 2002:a05:6358:4e97:b0:b3:742d:4702 with SMTP id ce23csp3083219rwb; Mon, 15 Aug 2022 17:43:01 -0700 (PDT) X-Google-Smtp-Source: AA6agR7ys+beFD/ZlE5kNwSgnFW1vDRWaLdBjbywx8SxOcFUPPtKN8NsUPGWUrORhXaMw7DXxQL6 X-Received: by 2002:a17:90a:ce92:b0:1fa:7b28:a092 with SMTP id g18-20020a17090ace9200b001fa7b28a092mr8125179pju.113.1660610581431; Mon, 15 Aug 2022 17:43:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1660610581; cv=none; d=google.com; s=arc-20160816; b=AvpyUpgcosYvQJAm+mp/9jruZV+3mOK2MghLc+Bbcbtpo8ExUjo1fO915+kq+5nXwE 4f2P9BQeGN6KzryVkAWi5yGRPVZ2gWSDPXpzGhgDCzNrDCEPcOztIbsYCSn4UeFWXiPK sGP6Hgsx0gScfX8ceJFWOpgVaMnYGgf7xahn3lCgwG5ojjLbEl53hQwXeat29z2SLZR7 tEdT4PZPKZI5bTom8n9fJGADfuMUZ1NArA8tDmp7Enzi97xzHSxknuChmwwZdh/+J1+V A8si5UW5uda/Aa0lOfkNJjG3OC8F34+RyHvgSBapd04Zx8bC2axdnPl7Ni3zS88cDia+ /1RQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=lOjdK+aumIgA0FzbNHeXLlVaDWze4oM+29/SEcszkxg=; b=l0QWI/6TZKf7VgmIBfYuUMR2M3R2p/avDSH9HhhD+kU+vIkq/tN/CSwZ/fx8ZO6vl8 1VDvU3/kAyNMcV6Rxyysu6K4I7CwLHK+F6BxQdSh5poBSo91vH5NUQ3dVMGlvA0evFnj KNhHuLZAYwC54ii0idP9AH1TyLla8ddpP3AmQg/BK2dgxg+euLNL4YusSQIvr9WoqelC uckEaOiCMUffN06re46QVAECaunyLDTJeYOgymQk+EhhEmuofBZk8j7mmqomeKdmYqTk GU7/l8MoL9YOR8LtrvaTIj8BVKbaceHm5m4OyAB3ZVLbhD7TNqR6kIySIDATIBSet4J9 RSxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=lKdpkdMB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h19-20020a056a00219300b00525b292ccf0si12923437pfi.124.2022.08.15.17.42.50; Mon, 15 Aug 2022 17:43:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=lKdpkdMB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356335AbiHPACR (ORCPT + 99 others); Mon, 15 Aug 2022 20:02:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60178 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356445AbiHOXy3 (ORCPT ); Mon, 15 Aug 2022 19:54:29 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 047761607A1; Mon, 15 Aug 2022 13:19:10 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C998A60F86; Mon, 15 Aug 2022 20:19:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD9F1C433C1; Mon, 15 Aug 2022 20:19:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1660594749; bh=4Da9VfCATmK0UuUvULHDYgqa7YJ9Qcv9Lzqi2nk+pWU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lKdpkdMBnkt45nY4JX6u3YwZKS31CRgCVXaHybVz+SOdD5kQ/uXncUS/OvjwMUONZ TVfFHFvu2kRLhwtRlpKBXlX61JvZfuaza3B4I0Ysq4KWctNgxfppgDCbsIPGOKvQ8X 9uu2uN2vTs0861z2huUXWsG2d9z4jaTCFB8DJv/Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ezequiel Garcia , Hans Verkuil , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 5.19 0545/1157] hantro: Remove incorrect HEVC SPS validation Date: Mon, 15 Aug 2022 19:58:21 +0200 Message-Id: <20220815180501.466187835@linuxfoundation.org> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220815180439.416659447@linuxfoundation.org> References: <20220815180439.416659447@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 From: Ezequiel Garcia [ Upstream commit df9ec2fc8e70e01532fd9161cd98711969561ff6 ] Currently, the driver tries to validat the HEVC SPS against the CAPTURE queue format (i.e. the decoded format). This is not correct, because typically the SPS control is set before the CAPTURE queue is negotiated. Fixes: 135ad96cb4d6b ("media: hantro: Be more accurate on pixel formats step_width constraints") Signed-off-by: Ezequiel Garcia Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/staging/media/hantro/hantro_drv.c | 12 ++++++------ drivers/staging/media/hantro/hantro_hevc.c | 9 +-------- drivers/staging/media/hantro/hantro_hw.h | 1 - 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c index 01d33dcb0467..ac232b5f7825 100644 --- a/drivers/staging/media/hantro/hantro_drv.c +++ b/drivers/staging/media/hantro/hantro_drv.c @@ -253,11 +253,6 @@ queue_init(void *priv, struct vb2_queue *src_vq, struct vb2_queue *dst_vq) static int hantro_try_ctrl(struct v4l2_ctrl *ctrl) { - struct hantro_ctx *ctx; - - ctx = container_of(ctrl->handler, - struct hantro_ctx, ctrl_handler); - if (ctrl->id == V4L2_CID_STATELESS_H264_SPS) { const struct v4l2_ctrl_h264_sps *sps = ctrl->p_new.p_h264_sps; @@ -273,7 +268,12 @@ static int hantro_try_ctrl(struct v4l2_ctrl *ctrl) } else if (ctrl->id == V4L2_CID_MPEG_VIDEO_HEVC_SPS) { const struct v4l2_ctrl_hevc_sps *sps = ctrl->p_new.p_hevc_sps; - return hantro_hevc_validate_sps(ctx, sps); + if (sps->bit_depth_luma_minus8 != sps->bit_depth_chroma_minus8) + /* Luma and chroma bit depth mismatch */ + return -EINVAL; + if (sps->bit_depth_luma_minus8 != 0) + /* Only 8-bit is supported */ + return -EINVAL; } else if (ctrl->id == V4L2_CID_STATELESS_VP9_FRAME) { const struct v4l2_ctrl_vp9_frame *dec_params = ctrl->p_new.p_vp9_frame; diff --git a/drivers/staging/media/hantro/hantro_hevc.c b/drivers/staging/media/hantro/hantro_hevc.c index 4f7e2acb46ec..df1f81952bba 100644 --- a/drivers/staging/media/hantro/hantro_hevc.c +++ b/drivers/staging/media/hantro/hantro_hevc.c @@ -154,15 +154,8 @@ static int tile_buffer_reallocate(struct hantro_ctx *ctx) return -ENOMEM; } -int hantro_hevc_validate_sps(struct hantro_ctx *ctx, const struct v4l2_ctrl_hevc_sps *sps) +static int hantro_hevc_validate_sps(struct hantro_ctx *ctx, const struct v4l2_ctrl_hevc_sps *sps) { - if (sps->bit_depth_luma_minus8 != sps->bit_depth_chroma_minus8) - /* Luma and chroma bit depth mismatch */ - return -EINVAL; - if (sps->bit_depth_luma_minus8 != 0) - /* Only 8-bit is supported */ - return -EINVAL; - /* * for tile pixel format check if the width and height match * hardware constraints diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h index 33d156ccbfeb..77769d2bb38e 100644 --- a/drivers/staging/media/hantro/hantro_hw.h +++ b/drivers/staging/media/hantro/hantro_hw.h @@ -359,7 +359,6 @@ int hantro_hevc_dec_prepare_run(struct hantro_ctx *ctx); void hantro_hevc_ref_init(struct hantro_ctx *ctx); dma_addr_t hantro_hevc_get_ref_buf(struct hantro_ctx *ctx, s32 poc); int hantro_hevc_add_ref_buf(struct hantro_ctx *ctx, int poc, dma_addr_t addr); -int hantro_hevc_validate_sps(struct hantro_ctx *ctx, const struct v4l2_ctrl_hevc_sps *sps); static inline unsigned short hantro_vp9_num_sbs(unsigned short dimension) -- 2.35.1