From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752030AbeERORV (ORCPT ); Fri, 18 May 2018 10:17:21 -0400 Received: from mail-vk0-f65.google.com ([209.85.213.65]:40853 "EHLO mail-vk0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751280AbeERORL (ORCPT ); Fri, 18 May 2018 10:17:11 -0400 X-Google-Smtp-Source: AB8JxZrS0RlP2AL1T7tpjtn1cwFA29oNVIB1yPTys63eNKSvrIVtSS+PlBlMHwhRUeE2Yq9cvYLjcg== MIME-Version: 1.0 References: <20180515075859.17217-1-stanimir.varbanov@linaro.org> <20180515075859.17217-5-stanimir.varbanov@linaro.org> In-Reply-To: <20180515075859.17217-5-stanimir.varbanov@linaro.org> From: Tomasz Figa Date: Fri, 18 May 2018 23:16:56 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 04/29] venus: hfi_cmds: add set_properties for 4xx version To: Stanimir Varbanov Cc: Mauro Carvalho Chehab , Hans Verkuil , Linux Media Mailing List , Linux Kernel Mailing List , linux-arm-msm , vgarodia@codeaurora.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 15, 2018 at 5:13 PM Stanimir Varbanov < stanimir.varbanov@linaro.org> wrote: > Adds set_properties method to handle newer 4xx properties and > fall-back to 3xx for the rest. > Signed-off-by: Stanimir Varbanov > --- > drivers/media/platform/qcom/venus/hfi_cmds.c | 64 +++++++++++++++++++++++++++- > 1 file changed, 63 insertions(+), 1 deletion(-) > diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c > index 1cfeb7743041..6bd287154796 100644 > --- a/drivers/media/platform/qcom/venus/hfi_cmds.c > +++ b/drivers/media/platform/qcom/venus/hfi_cmds.c [snip] > + case HFI_PROPERTY_CONFIG_VENC_MAX_BITRATE: > + /* not implemented on Venus 4xx */ Shouldn't return -EINVAL here, similar to what pkt_session_set_property_1x() does for unknown property? > + break; > + default: > + ret = pkt_session_set_property_3xx(pkt, cookie, ptype, pdata); > + break; nit: How about simply return pkt_session_set_property_3xx(pkt, cookie, ptype, pdata); and removing the |ret| variable completely, since the return below the switch can just return 0 all the time? > + } > + > + return ret; > +} > + > int pkt_session_get_property(struct hfi_session_get_property_pkt *pkt, > void *cookie, u32 ptype) > { > @@ -1181,7 +1240,10 @@ int pkt_session_set_property(struct hfi_session_set_property_pkt *pkt, > if (hfi_ver == HFI_VERSION_1XX) > return pkt_session_set_property_1x(pkt, cookie, ptype, pdata); > - return pkt_session_set_property_3xx(pkt, cookie, ptype, pdata); > + if (hfi_ver == HFI_VERSION_3XX) > + return pkt_session_set_property_3xx(pkt, cookie, ptype, pdata); > + > + return pkt_session_set_property_4xx(pkt, cookie, ptype, pdata); nit: Since we're adding third variant, I'd consider using function pointers here, but no strong opinion. Best regards, Tomasz