Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp3789680imm; Mon, 2 Jul 2018 05:44:26 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfkuvbQNmn0PG8PX5iU5p0ofK1m8/hO9H9hiviJD60dfRoPqa1u8ZGGAa0dnaTiQAL67s8F X-Received: by 2002:a62:4bc6:: with SMTP id d67-v6mr18806523pfj.175.1530535466578; Mon, 02 Jul 2018 05:44:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530535466; cv=none; d=google.com; s=arc-20160816; b=qFScHrTSExWN2mpgW6RIMERxKQVBSjlFzbUHLJDOiseRKiCWQC8dEA2w/ifBj1yEdU T2lZ3x8gBRx/sFdjSebLzB9G9qV1G/kKzXg5i3AXDJY5T5h2I2A/9GePxdpzJgVTV2DL ddWAptMkoctm1VI3f+snGkjIJG7MFbHnfatoiv29VoPzv3X9ShxLHNs6iN3p9D3QlEPV i1KvIPyoljW8AWOSm9Yc6swyWdYod6U+OQlvaNkYbsRfwPU8P13DUAuNjaGnxDgywUMX UlQW+aVj2bjSHh5BjsZBqwR0dcjQ593FUllfY+13O8hVnM6LvnvrdgkDzp2Hn3Mm5ifO P8bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=ejgh4ioPq8Euuzk5jlyKETMDlRbqgvef3cjxM2SZy1o=; b=xm59q9rP14aB+/4ZhjLrag5GRBQz+XCZ3lsQrtuIEpn5QAGHCze8KNeD1GRrSQXmog /RUbGil1JOBTexFehxHhMfxwqk2oRW7TNPeRiIyOv6Nl3+ed2enJHvtWucNjaD94fs3G 0UzOOzmVoQrhXE0y9wp05bKlIb71WmxSlyoL/liS+oJdXngwkVOWrifcQxDtYMitoDk6 DrthpIs+jVJ5V1Qfl3ifyZIFvXMGNyIqwo08QKP9RWkIjS1t7x5WHrEulV3kGL1CprqS THA+4zVVPjaNPGlLuL1E+XKgIZvD+41kCcOdXEYygnpBr8tM/jqhBlIlNgnX0dAyk4QF AigA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k11-v6si4018018pgm.154.2018.07.02.05.44.12; Mon, 02 Jul 2018 05:44:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030430AbeGBLou (ORCPT + 99 others); Mon, 2 Jul 2018 07:44:50 -0400 Received: from lb2-smtp-cloud8.xs4all.net ([194.109.24.25]:33869 "EHLO lb2-smtp-cloud8.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965717AbeGBLop (ORCPT ); Mon, 2 Jul 2018 07:44:45 -0400 Received: from [IPv6:2001:983:e9a7:1:64b7:68bc:9d17:fa06] ([IPv6:2001:983:e9a7:1:64b7:68bc:9d17:fa06]) by smtp-cloud8.xs4all.net with ESMTPA id ZxG6frQufoj71ZxG7fDAV2; Mon, 02 Jul 2018 13:44:44 +0200 Subject: Re: [PATCH] venus: venc: add support for ext controls To: Vikash Garodia , stanimir.varbanov@linaro.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, acourbot@chromium.org References: <1530530783-9480-1-git-send-email-vgarodia@codeaurora.org> From: Hans Verkuil Message-ID: Date: Mon, 2 Jul 2018 13:44:42 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <1530530783-9480-1-git-send-email-vgarodia@codeaurora.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfO6vX9tKlctuCMP7juKX6sRv4cqaAy51IhO1ORJ0YVwGjdMkeOTbQrIiy21T+lwdq2Ed4vFON7inDxY9pSheXM63NyjLJ/NZkscY3LgLKnfhQ2NOfIyK ndQlrLiXsFfOIBnYCcUpnGIK0q1jycHtO/XFWHPGeUsiQfdMb0m3+waxedql/Ob/sY3gbgupWRhM9R/dhsn7Qa4BDqZfVslCk5ykSex6Mkt/vQzpD5rDrPR/ T8PdE/eYkLHOtZkXkhrlwuCZJkK7nsTwKd9pvTnY1gtu//yZlUZ+KfB7XgsGJFYd6g9jBOXw6WzrM5YQ1nJw3gfWVlZC0Co+86ytuM4ln++7XnrsQPRpvzFb NGybQedpsx133iabBMP0+dHly5JpmAm6poYMdwXthPCDA6I3kHKslPv/whXki/+uW9CuNV+5mH3IkxrZsj923k4fzFxZPl6sBm1Af2ddo7IHsbOcza8= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/07/18 13:26, Vikash Garodia wrote: > There is a requirement to add frame level rate control. > > Signed-off-by: Vikash Garodia > --- > drivers/media/platform/qcom/venus/venc.c | 28 ++++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platform/qcom/venus/venc.c > index a2c6a4b..eaf2fa8 100644 > --- a/drivers/media/platform/qcom/venus/venc.c > +++ b/drivers/media/platform/qcom/venus/venc.c > @@ -546,6 +546,33 @@ static int venc_g_parm(struct file *file, void *fh, struct v4l2_streamparm *a) > return 0; > } > > +static int venc_s_ext_ctrls(struct file *file, void *fh, > + struct v4l2_ext_controls *ctrl) > +{ > + struct venus_inst *inst = to_inst(file); > + struct v4l2_ext_control *control; > + u32 ptype, i, ret; > + struct hfi_enable en = { .enable = 1 }; > + void *pdata = NULL; > + > + control = ctrl->controls; > + for (i = 0; i < ctrl->count; i++) { > + switch (control[i].id) { > + case V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE: > + ptype = HFI_PROPERTY_PARAM_VENC_DISABLE_RC_TIMESTAMP; > + en.enable = control[i].value; > + pdata = &en; > + break; > + default: > + return -EINVAL; > + } > + } > + ret = hfi_session_set_property(inst, ptype, pdata); > + if (ret) > + return ret; > + return 0; > +} > + > static int venc_enum_framesizes(struct file *file, void *fh, > struct v4l2_frmsizeenum *fsize) > { > @@ -638,6 +665,7 @@ static int venc_enum_frameintervals(struct file *file, void *fh, > .vidioc_streamoff = v4l2_m2m_ioctl_streamoff, > .vidioc_s_parm = venc_s_parm, > .vidioc_g_parm = venc_g_parm, > + .vidioc_s_ext_ctrl = venc_s_ext_ctrls, No, that's not how you do this. See venc_ctrls.c on how to handle controls. Nacked-by: Hans Verkuil Regards, Hans > .vidioc_enum_framesizes = venc_enum_framesizes, > .vidioc_enum_frameintervals = venc_enum_frameintervals, > .vidioc_subscribe_event = v4l2_ctrl_subscribe_event, >