Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp3240211pxb; Tue, 12 Jan 2021 09:36:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJwPBru9IMUpSq2GyQHVC8KRm9Vq6VEm1nxjoImYpQa77A5Taevj/XkeiZlkMgsII13NZBPD X-Received: by 2002:a17:906:a8f:: with SMTP id y15mr3982023ejf.552.1610472993822; Tue, 12 Jan 2021 09:36:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610472993; cv=none; d=google.com; s=arc-20160816; b=sTM/N/c3ltOSKfm7htgYAy0T3zVnGWz2BzQVePKr8vcxogrIVkp51gD94+AorMwh6X plOQpntfeQW3l7i+NpcnQtz6dLef36b4POpxjs0/SN57xmXad9ZeCIPesoclf7teZsQV UNNM6z2Y4LUK+xJ9ymtPEZhCidJryaNVzXAi1ggLbCQp+Zk6NVc8qv9dkAZ35Q00vViy 0B6h8wRrZ3kLDbW/oiP+5R+DJAn9TkdPAUjekPftzmKEGYzirVnb2a+PM4lJx3MIcQ6u n7QEYLdCzidqNDsbmHPY7XNLJPo+HPJBviB5No6fqi51ownPsMvUWZMG+nI3oqrSLboJ mYQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=0jjRjcy5y5g0bN5WHaiBZUIDIdTZTHlmLz4qx2gqPo8=; b=LfPq/4SY/uB321gx5UuIYjbVkgKGj/SbsOpJy2nxcUEVIsuWwQ5I1dzL9N5012Ff93 IlNv2yTceyxvrt6SeHebPXrgboYeIsgnci1+nxEG19ubfr1D3Qn4Zib0a903SRlMlh4q Jz9pFdOAAeBtMEzplKyjY0X3ebf3VZ0KWLUajnhB3kvPF+FFuQc6LNVi8sG9EtKE8WV1 MrE2ROgL0IdDvOrs+LICrwflo9faUUUR7dyM79NKY0qdRlcp4zRnB5/c6oeW6g1jQiwh beTm/r69/GmfmjCtdz0SsxvNIwjikQU2OQkCu1DxZSvJ6P2o+MNxfkMyXZTAJSoVu4ea eVnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=V606eUVn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j26si1578866eds.457.2021.01.12.09.36.09; Tue, 12 Jan 2021 09:36:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=V606eUVn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391460AbhALRer (ORCPT + 99 others); Tue, 12 Jan 2021 12:34:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48704 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391323AbhALRer (ORCPT ); Tue, 12 Jan 2021 12:34:47 -0500 Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com [IPv6:2607:f8b0:4864:20::f32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 088FEC061575 for ; Tue, 12 Jan 2021 09:34:07 -0800 (PST) Received: by mail-qv1-xf32.google.com with SMTP id l14so1267400qvh.2 for ; Tue, 12 Jan 2021 09:34:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=0jjRjcy5y5g0bN5WHaiBZUIDIdTZTHlmLz4qx2gqPo8=; b=V606eUVnhzjsDRWQQe/O3xvnm+xCWx24X1otDy3i8V5CB38noAZO3WLITvvGP3K7RK /j6CCCO/7J2+g5KEGIMzQdQYFA5vBNSAHElcQ3wm5y7Up8QmC+p9sklh7a8dZHetIM5p kSi7Z8MzBjTgEQ7qHrulGkfDzIXo3bW8L5E9I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0jjRjcy5y5g0bN5WHaiBZUIDIdTZTHlmLz4qx2gqPo8=; b=KUaNTOgjbEmKtgffHIiYeW8cKJc3LAnF7K8TFuPiOpj2RkxLMkzM9ZP48PKH5CZP0l PXXxQB1MTsB2pZBg2As9cb8oDgCbHVfXVAA5a+zbXzwt+IemI7ItwLA0CXX7WpU7yjof BWsk6nW/j+XlNog18Ng2dgHCRNnISojiNQeBJPlNEe9gjhuhHYToDJG5fQlbjOt/y3F3 TCej9PG+EZXPjixLAVI2SJu9cVg0Ya7rdQZiLKVV+MO5EWhtaWGIPh3xlF8BWsyDdMF1 yUSf+VWkMh1sjR1qq3NP6yHJsz98dQk/+CdVs9uQK25otVgaOEL4W2cNHYlh3hT+MHo/ VVqQ== X-Gm-Message-State: AOAM533ciINl6tsflV6d4Xn3yVdGO6p6L/1X3jEUPIKN8U+cUEdEB/Zy kjJMN+JhuQE7jk3jQV5W7vpUQrnLx91G/A== X-Received: by 2002:a05:6214:14ef:: with SMTP id k15mr450406qvw.45.1610472845934; Tue, 12 Jan 2021 09:34:05 -0800 (PST) Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com. [209.85.219.177]) by smtp.gmail.com with ESMTPSA id p58sm1481132qte.38.2021.01.12.09.34.04 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 12 Jan 2021 09:34:05 -0800 (PST) Received: by mail-yb1-f177.google.com with SMTP id y4so2903059ybn.3 for ; Tue, 12 Jan 2021 09:34:04 -0800 (PST) X-Received: by 2002:a25:f54:: with SMTP id 81mr758087ybp.76.1610472844077; Tue, 12 Jan 2021 09:34:04 -0800 (PST) MIME-Version: 1.0 References: <1610090618-30070-1-git-send-email-dikshita@codeaurora.org> In-Reply-To: <1610090618-30070-1-git-send-email-dikshita@codeaurora.org> From: Fritz Koenig Date: Tue, 12 Jan 2021 09:33:52 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH RESEND v3] venus: venc: set inband mode property to FW. To: Dikshita Agarwal Cc: Linux Media Mailing List , Stanimir Varbanov , LKML , linux-arm-msm@vger.kernel.org, Vikash Garodia Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 7, 2021 at 11:26 PM Dikshita Agarwal wrote: > > set HFI_PROPERTY_CONFIG_VENC_SYNC_FRAME_SEQUENCE_HEADER to FW > to support inband sequence header mode. > > Signed-off-by: Dikshita Agarwal > > Changes since v2: > - fixed Null pointer dereference (Stanimir, Fritz) > - added set property call at correct place. > --- > drivers/media/platform/qcom/venus/venc.c | 14 ++++++++++++++ > drivers/media/platform/qcom/venus/venc_ctrls.c | 17 ++++++++++++++++- > 2 files changed, 30 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platform/qcom/venus/venc.c > index 3a2e449..ae21a7c 100644 > --- a/drivers/media/platform/qcom/venus/venc.c > +++ b/drivers/media/platform/qcom/venus/venc.c > @@ -536,6 +536,7 @@ static int venc_set_properties(struct venus_inst *inst) > struct hfi_idr_period idrp; > struct hfi_quantization quant; > struct hfi_quantization_range quant_range; > + struct hfi_enable en; > u32 ptype, rate_control, bitrate; > u32 profile, level; > int ret; > @@ -655,6 +656,19 @@ static int venc_set_properties(struct venus_inst *inst) > if (ret) > return ret; > > + if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 || > + inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) { nit: declare |struct hfi_enable en| in this scope Reviewed-by: Fritz Koenig > + ptype = HFI_PROPERTY_CONFIG_VENC_SYNC_FRAME_SEQUENCE_HEADER; > + if (ctr->header_mode == V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE) > + en.enable = 0; > + else > + en.enable = 1; > + > + ret = hfi_session_set_property(inst, ptype, &en); > + if (ret) > + return ret; > + } > + > if (!ctr->bitrate_peak) > bitrate *= 2; > else > diff --git a/drivers/media/platform/qcom/venus/venc_ctrls.c b/drivers/media/platform/qcom/venus/venc_ctrls.c > index cf860e6..3ce02ad 100644 > --- a/drivers/media/platform/qcom/venus/venc_ctrls.c > +++ b/drivers/media/platform/qcom/venus/venc_ctrls.c > @@ -158,6 +158,20 @@ static int venc_op_s_ctrl(struct v4l2_ctrl *ctrl) > break; > case V4L2_CID_MPEG_VIDEO_HEADER_MODE: > ctr->header_mode = ctrl->val; > + mutex_lock(&inst->lock); > + if (inst->streamon_out && inst->streamon_cap) { > + if (ctrl->val == V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE) > + en.enable = 0; > + else > + en.enable = 1; > + ptype = HFI_PROPERTY_CONFIG_VENC_SYNC_FRAME_SEQUENCE_HEADER; > + ret = hfi_session_set_property(inst, ptype, &en); > + if (ret) { > + mutex_unlock(&inst->lock); > + return ret; > + } > + } > + mutex_unlock(&inst->lock); > break; > case V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB: > break; > @@ -289,7 +303,8 @@ int venc_ctrl_init(struct venus_inst *inst) > v4l2_ctrl_new_std_menu(&inst->ctrl_handler, &venc_ctrl_ops, > V4L2_CID_MPEG_VIDEO_HEADER_MODE, > V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME, > - 1 << V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME, > + ~((1 << V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE) | > + (1 << V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME)), > V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE); > > v4l2_ctrl_new_std_menu(&inst->ctrl_handler, &venc_ctrl_ops, > -- > 2.7.4 >