From: Tzung-Bi Shih <tzungbi@google.com>
To: Irui Wang <irui.wang@mediatek.com>
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Tzung-Bi Shih <tzungbi@chromium.org>,
Alexandre Courbot <acourbot@chromium.org>,
Tiffany Lin <tiffany.lin@mediatek.com>,
Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Tomasz Figa <tfiga@google.com>, Yong Wu <yong.wu@mediatek.com>,
Hsin-Yi Wang <hsinyi@chromium.org>,
Maoguang Meng <maoguang.meng@mediatek.com>,
Longfei Wang <longfei.wang@mediatek.com>,
Yunfei Dong <yunfei.dong@mediatek.com>,
Fritz Koenig <frkoenig@chromium.org>,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
srv_heupstream@mediatek.com, linux-mediatek@lists.infradead.org,
Project_Global_Chrome_Upstream_Group@mediatek.com
Subject: Re: [PATCH 4/9] media: mtk-vcodec: Add venc power on/off interface
Date: Tue, 24 Aug 2021 17:53:21 +0800 [thread overview]
Message-ID: <YSTBkZg0LBJGJsrE@google.com> (raw)
In-Reply-To: <20210816105934.28265-5-irui.wang@mediatek.com>
On Mon, Aug 16, 2021 at 06:59:29PM +0800, Irui Wang wrote:
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> @@ -16,6 +16,7 @@
> #include "mtk_vcodec_intr.h"
> #include "mtk_vcodec_util.h"
> #include "venc_drv_if.h"
> +#include "mtk_vcodec_enc_pm.h"
Please try to maintain the order.
> @@ -285,11 +291,12 @@ static int fops_vcodec_release(struct file *file)
> mtk_v4l2_debug(1, "[%d] encoder", ctx->id);
> mutex_lock(&dev->dev_mutex);
>
> + v4l2_m2m_ctx_release(ctx->m2m_ctx);
> mtk_vcodec_enc_release(ctx);
> v4l2_fh_del(&ctx->fh);
> v4l2_fh_exit(&ctx->fh);
> v4l2_ctrl_handler_free(&ctx->ctrl_hdl);
> - v4l2_m2m_ctx_release(ctx->m2m_ctx);
> + mtk_vcodec_enc_power_off(ctx);
Any reason to move the v4l2_m2m_ctx_release()?
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c
> @@ -12,6 +12,7 @@
>
> #include "mtk_vcodec_enc_pm.h"
> #include "mtk_vcodec_util.h"
> +#include "mtk_vcodec_enc_hw.h"
Please try to maintain the order.
> +int mtk_venc_enable_comp_hw(struct mtk_vcodec_dev *dev)
> +{
> + int i, ret;
> + struct mtk_venc_comp_dev *venc_comp;
> +
> + /*
> + * frame_racing mode needs power on all available component devices.
> + */
> + for (i = 0; i < MTK_VENC_HW_MAX; i++) {
> + venc_comp = (struct mtk_venc_comp_dev *)dev->enc_comp_dev[i];
> + if (!venc_comp)
> + return 0;
> +
> + ret = mtk_smi_larb_get(venc_comp->pm.larbvenc);
> + if (ret < 0) {
> + mtk_v4l2_err("power on core[%d] fail %d", i, ret);
> + goto pw_err;
The goto statement has extra indent layer.
> +int mtk_venc_disable_comp_hw(struct mtk_vcodec_dev *dev)
> +{
> + int i;
> + struct mtk_venc_comp_dev *venc_comp;
> +
> + /*power off all available component device*/
Need extra space between /* */.
> +int mtk_vcodec_enc_power_on(struct mtk_vcodec_ctx *ctx)
> +{
> + int ret;
> + struct mtk_vcodec_dev *dev = ctx->dev;
> +
> + if (dev->venc_pdata->hw_mode == VENC_FRAME_RACING_MODE) {
> + ret = mtk_venc_enable_comp_hw(dev);
> + if (ret < 0) {
> + mtk_v4l2_err("enable venc comp hw fail :%d", ret);
> + return ret;
> + }
> + } else {
> + ret = mtk_smi_larb_get(dev->pm.larbvenc);
> + if (ret < 0) {
> + mtk_v4l2_err("pm_runtime_resume_and_get fail %d", ret);
> + return ret;
> + }
> + }
> + return 0;
> +}
It seems the function doesn't need struct mtk_vcodec_ctx.
Does mtk_vcodec_enc_power_on(struct mtk_vcodec_dev* ) make more sense?
> +int mtk_vcodec_enc_power_off(struct mtk_vcodec_ctx *ctx)
> +{
> + struct mtk_vcodec_dev *dev = ctx->dev;
> +
> + if (dev->venc_pdata->hw_mode == VENC_FRAME_RACING_MODE)
> + mtk_venc_disable_comp_hw(dev);
> + else
> + mtk_smi_larb_put(dev->pm.larbvenc);
> +
> + return 0;
> +}
It seems the function doesn't need struct mtk_vcodec_ctx.
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Tzung-Bi Shih <tzungbi@google.com>
To: Irui Wang <irui.wang@mediatek.com>
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Tzung-Bi Shih <tzungbi@chromium.org>,
Alexandre Courbot <acourbot@chromium.org>,
Tiffany Lin <tiffany.lin@mediatek.com>,
Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Tomasz Figa <tfiga@google.com>, Yong Wu <yong.wu@mediatek.com>,
Hsin-Yi Wang <hsinyi@chromium.org>,
Maoguang Meng <maoguang.meng@mediatek.com>,
Longfei Wang <longfei.wang@mediatek.com>,
Yunfei Dong <yunfei.dong@mediatek.com>,
Fritz Koenig <frkoenig@chromium.org>,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
srv_heupstream@mediatek.com, linux-mediatek@lists.infradead.org,
Project_Global_Chrome_Upstream_Group@mediatek.com
Subject: Re: [PATCH 4/9] media: mtk-vcodec: Add venc power on/off interface
Date: Tue, 24 Aug 2021 17:53:21 +0800 [thread overview]
Message-ID: <YSTBkZg0LBJGJsrE@google.com> (raw)
In-Reply-To: <20210816105934.28265-5-irui.wang@mediatek.com>
On Mon, Aug 16, 2021 at 06:59:29PM +0800, Irui Wang wrote:
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> @@ -16,6 +16,7 @@
> #include "mtk_vcodec_intr.h"
> #include "mtk_vcodec_util.h"
> #include "venc_drv_if.h"
> +#include "mtk_vcodec_enc_pm.h"
Please try to maintain the order.
> @@ -285,11 +291,12 @@ static int fops_vcodec_release(struct file *file)
> mtk_v4l2_debug(1, "[%d] encoder", ctx->id);
> mutex_lock(&dev->dev_mutex);
>
> + v4l2_m2m_ctx_release(ctx->m2m_ctx);
> mtk_vcodec_enc_release(ctx);
> v4l2_fh_del(&ctx->fh);
> v4l2_fh_exit(&ctx->fh);
> v4l2_ctrl_handler_free(&ctx->ctrl_hdl);
> - v4l2_m2m_ctx_release(ctx->m2m_ctx);
> + mtk_vcodec_enc_power_off(ctx);
Any reason to move the v4l2_m2m_ctx_release()?
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c
> @@ -12,6 +12,7 @@
>
> #include "mtk_vcodec_enc_pm.h"
> #include "mtk_vcodec_util.h"
> +#include "mtk_vcodec_enc_hw.h"
Please try to maintain the order.
> +int mtk_venc_enable_comp_hw(struct mtk_vcodec_dev *dev)
> +{
> + int i, ret;
> + struct mtk_venc_comp_dev *venc_comp;
> +
> + /*
> + * frame_racing mode needs power on all available component devices.
> + */
> + for (i = 0; i < MTK_VENC_HW_MAX; i++) {
> + venc_comp = (struct mtk_venc_comp_dev *)dev->enc_comp_dev[i];
> + if (!venc_comp)
> + return 0;
> +
> + ret = mtk_smi_larb_get(venc_comp->pm.larbvenc);
> + if (ret < 0) {
> + mtk_v4l2_err("power on core[%d] fail %d", i, ret);
> + goto pw_err;
The goto statement has extra indent layer.
> +int mtk_venc_disable_comp_hw(struct mtk_vcodec_dev *dev)
> +{
> + int i;
> + struct mtk_venc_comp_dev *venc_comp;
> +
> + /*power off all available component device*/
Need extra space between /* */.
> +int mtk_vcodec_enc_power_on(struct mtk_vcodec_ctx *ctx)
> +{
> + int ret;
> + struct mtk_vcodec_dev *dev = ctx->dev;
> +
> + if (dev->venc_pdata->hw_mode == VENC_FRAME_RACING_MODE) {
> + ret = mtk_venc_enable_comp_hw(dev);
> + if (ret < 0) {
> + mtk_v4l2_err("enable venc comp hw fail :%d", ret);
> + return ret;
> + }
> + } else {
> + ret = mtk_smi_larb_get(dev->pm.larbvenc);
> + if (ret < 0) {
> + mtk_v4l2_err("pm_runtime_resume_and_get fail %d", ret);
> + return ret;
> + }
> + }
> + return 0;
> +}
It seems the function doesn't need struct mtk_vcodec_ctx.
Does mtk_vcodec_enc_power_on(struct mtk_vcodec_dev* ) make more sense?
> +int mtk_vcodec_enc_power_off(struct mtk_vcodec_ctx *ctx)
> +{
> + struct mtk_vcodec_dev *dev = ctx->dev;
> +
> + if (dev->venc_pdata->hw_mode == VENC_FRAME_RACING_MODE)
> + mtk_venc_disable_comp_hw(dev);
> + else
> + mtk_smi_larb_put(dev->pm.larbvenc);
> +
> + return 0;
> +}
It seems the function doesn't need struct mtk_vcodec_ctx.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Tzung-Bi Shih <tzungbi@google.com>
To: Irui Wang <irui.wang@mediatek.com>
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Tzung-Bi Shih <tzungbi@chromium.org>,
Alexandre Courbot <acourbot@chromium.org>,
Tiffany Lin <tiffany.lin@mediatek.com>,
Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Tomasz Figa <tfiga@google.com>, Yong Wu <yong.wu@mediatek.com>,
Hsin-Yi Wang <hsinyi@chromium.org>,
Maoguang Meng <maoguang.meng@mediatek.com>,
Longfei Wang <longfei.wang@mediatek.com>,
Yunfei Dong <yunfei.dong@mediatek.com>,
Fritz Koenig <frkoenig@chromium.org>,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
srv_heupstream@mediatek.com, linux-mediatek@lists.infradead.org,
Project_Global_Chrome_Upstream_Group@mediatek.com
Subject: Re: [PATCH 4/9] media: mtk-vcodec: Add venc power on/off interface
Date: Tue, 24 Aug 2021 17:53:21 +0800 [thread overview]
Message-ID: <YSTBkZg0LBJGJsrE@google.com> (raw)
In-Reply-To: <20210816105934.28265-5-irui.wang@mediatek.com>
On Mon, Aug 16, 2021 at 06:59:29PM +0800, Irui Wang wrote:
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
> @@ -16,6 +16,7 @@
> #include "mtk_vcodec_intr.h"
> #include "mtk_vcodec_util.h"
> #include "venc_drv_if.h"
> +#include "mtk_vcodec_enc_pm.h"
Please try to maintain the order.
> @@ -285,11 +291,12 @@ static int fops_vcodec_release(struct file *file)
> mtk_v4l2_debug(1, "[%d] encoder", ctx->id);
> mutex_lock(&dev->dev_mutex);
>
> + v4l2_m2m_ctx_release(ctx->m2m_ctx);
> mtk_vcodec_enc_release(ctx);
> v4l2_fh_del(&ctx->fh);
> v4l2_fh_exit(&ctx->fh);
> v4l2_ctrl_handler_free(&ctx->ctrl_hdl);
> - v4l2_m2m_ctx_release(ctx->m2m_ctx);
> + mtk_vcodec_enc_power_off(ctx);
Any reason to move the v4l2_m2m_ctx_release()?
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c
> @@ -12,6 +12,7 @@
>
> #include "mtk_vcodec_enc_pm.h"
> #include "mtk_vcodec_util.h"
> +#include "mtk_vcodec_enc_hw.h"
Please try to maintain the order.
> +int mtk_venc_enable_comp_hw(struct mtk_vcodec_dev *dev)
> +{
> + int i, ret;
> + struct mtk_venc_comp_dev *venc_comp;
> +
> + /*
> + * frame_racing mode needs power on all available component devices.
> + */
> + for (i = 0; i < MTK_VENC_HW_MAX; i++) {
> + venc_comp = (struct mtk_venc_comp_dev *)dev->enc_comp_dev[i];
> + if (!venc_comp)
> + return 0;
> +
> + ret = mtk_smi_larb_get(venc_comp->pm.larbvenc);
> + if (ret < 0) {
> + mtk_v4l2_err("power on core[%d] fail %d", i, ret);
> + goto pw_err;
The goto statement has extra indent layer.
> +int mtk_venc_disable_comp_hw(struct mtk_vcodec_dev *dev)
> +{
> + int i;
> + struct mtk_venc_comp_dev *venc_comp;
> +
> + /*power off all available component device*/
Need extra space between /* */.
> +int mtk_vcodec_enc_power_on(struct mtk_vcodec_ctx *ctx)
> +{
> + int ret;
> + struct mtk_vcodec_dev *dev = ctx->dev;
> +
> + if (dev->venc_pdata->hw_mode == VENC_FRAME_RACING_MODE) {
> + ret = mtk_venc_enable_comp_hw(dev);
> + if (ret < 0) {
> + mtk_v4l2_err("enable venc comp hw fail :%d", ret);
> + return ret;
> + }
> + } else {
> + ret = mtk_smi_larb_get(dev->pm.larbvenc);
> + if (ret < 0) {
> + mtk_v4l2_err("pm_runtime_resume_and_get fail %d", ret);
> + return ret;
> + }
> + }
> + return 0;
> +}
It seems the function doesn't need struct mtk_vcodec_ctx.
Does mtk_vcodec_enc_power_on(struct mtk_vcodec_dev* ) make more sense?
> +int mtk_vcodec_enc_power_off(struct mtk_vcodec_ctx *ctx)
> +{
> + struct mtk_vcodec_dev *dev = ctx->dev;
> +
> + if (dev->venc_pdata->hw_mode == VENC_FRAME_RACING_MODE)
> + mtk_venc_disable_comp_hw(dev);
> + else
> + mtk_smi_larb_put(dev->pm.larbvenc);
> +
> + return 0;
> +}
It seems the function doesn't need struct mtk_vcodec_ctx.
next prev parent reply other threads:[~2021-08-24 9:53 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-16 10:59 [PATCH 0/9] Enable two H264 encoder cores on MT8195 Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` [PATCH 1/9] dt-bindings: media: mtk-vcodec: Add binding for MT8195 two venc cores Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-18 0:09 ` Rob Herring
2021-08-18 0:09 ` Rob Herring
2021-08-18 0:09 ` Rob Herring
2021-08-24 11:02 ` Ezequiel Garcia
2021-08-24 11:02 ` Ezequiel Garcia
2021-08-24 11:02 ` Ezequiel Garcia
2021-08-25 2:02 ` Irui Wang (王瑞)
2021-08-25 3:49 ` Ezequiel Garcia
2021-08-25 3:49 ` Ezequiel Garcia
2021-08-25 3:49 ` Ezequiel Garcia
2021-08-25 7:16 ` Irui Wang (王瑞)
2021-08-16 10:59 ` [PATCH 2/9] media: mtk-vcodec: Use component framework to manage encoder hardware Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-23 10:01 ` Tzung-Bi Shih
2021-08-23 10:01 ` Tzung-Bi Shih
2021-08-23 10:01 ` Tzung-Bi Shih
2021-08-16 10:59 ` [PATCH 3/9] media: mtk-vcodec: Rewrite venc power manage interface Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-23 10:16 ` Tzung-Bi Shih
2021-08-23 10:16 ` Tzung-Bi Shih
2021-08-23 10:16 ` Tzung-Bi Shih
2021-08-16 10:59 ` [PATCH 4/9] media: mtk-vcodec: Add venc power on/off interface Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-24 9:53 ` Tzung-Bi Shih [this message]
2021-08-24 9:53 ` Tzung-Bi Shih
2021-08-24 9:53 ` Tzung-Bi Shih
2021-08-16 10:59 ` [PATCH 5/9] media: mtk-vcodec: Rewrite venc clock interface Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-24 10:24 ` Tzung-Bi Shih
2021-08-24 10:24 ` Tzung-Bi Shih
2021-08-24 10:24 ` Tzung-Bi Shih
2021-08-16 10:59 ` [PATCH 6/9] media: mtk-vcodec: Add new venc drv interface for frame_racing mode Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-24 18:54 ` Tzung-Bi Shih
2021-08-24 18:54 ` Tzung-Bi Shih
2021-08-24 18:54 ` Tzung-Bi Shih
2021-08-16 10:59 ` [PATCH 7/9] media: mtk-vcodec: Add frame racing mode encode process Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-24 19:20 ` Tzung-Bi Shih
2021-08-24 19:20 ` Tzung-Bi Shih
2021-08-24 19:20 ` Tzung-Bi Shih
2021-08-16 10:59 ` [PATCH 8/9] media: mtk-vcodec: Return encode result to client Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` [PATCH 9/9] media: mtk-vcodec: Add delayed worker for encode timeout Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-08-16 10:59 ` Irui Wang
2021-11-25 10:17 ` [PATCH 0/9] Enable two H264 encoder cores on MT8195 AngeloGioacchino Del Regno
2021-11-25 10:17 ` AngeloGioacchino Del Regno
2021-11-25 10:17 ` AngeloGioacchino Del Regno
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YSTBkZg0LBJGJsrE@google.com \
--to=tzungbi@google.com \
--cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
--cc=acourbot@chromium.org \
--cc=andrew-ct.chen@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=frkoenig@chromium.org \
--cc=hsinyi@chromium.org \
--cc=hverkuil-cisco@xs4all.nl \
--cc=irui.wang@mediatek.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=longfei.wang@mediatek.com \
--cc=maoguang.meng@mediatek.com \
--cc=matthias.bgg@gmail.com \
--cc=mchehab@kernel.org \
--cc=robh+dt@kernel.org \
--cc=srv_heupstream@mediatek.com \
--cc=tfiga@google.com \
--cc=tiffany.lin@mediatek.com \
--cc=tzungbi@chromium.org \
--cc=yong.wu@mediatek.com \
--cc=yunfei.dong@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.