Message ID | 20211129034201.5767-5-yunfei.dong@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Support multi hardware decode using of_platform_populate | expand |
Le 29/11/2021 à 04:41, Yunfei Dong a écrit : > Register each hardware as platform device, need to call pm functions > to open/close power and clock from module mtk-vcodec-dec, export these > functions. The commit message confuse me, maybe something like: "When mtk vcodec decoder is build as a module we need to export mtk-vcodec-dec pm functions to make them visible by the other components" With that: Reviewed-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> > > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> > --- > drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > index 20bd157a855c..221cf60e9fbf 100644 > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > @@ -77,12 +77,14 @@ int mtk_vcodec_init_dec_pm(struct platform_device *pdev, > put_device(pm->larbvdec); > return ret; > } > +EXPORT_SYMBOL_GPL(mtk_vcodec_init_dec_pm); > > void mtk_vcodec_release_dec_pm(struct mtk_vcodec_pm *pm) > { > pm_runtime_disable(pm->dev); > put_device(pm->larbvdec); > } > +EXPORT_SYMBOL_GPL(mtk_vcodec_release_dec_pm); > > int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) > { > @@ -94,6 +96,7 @@ int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) > > return ret; > } > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_pw_on); > > void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm) > { > @@ -103,6 +106,7 @@ void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm) > if (ret) > mtk_v4l2_err("pm_runtime_put_sync fail %d", ret); > } > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_pw_off); > > void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) > { > @@ -129,6 +133,7 @@ void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) > for (i -= 1; i >= 0; i--) > clk_disable_unprepare(dec_clk->clk_info[i].vcodec_clk); > } > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_clock_on); > > void mtk_vcodec_dec_clock_off(struct mtk_vcodec_pm *pm) > { > @@ -139,3 +144,4 @@ void mtk_vcodec_dec_clock_off(struct mtk_vcodec_pm *pm) > for (i = dec_clk->clk_num - 1; i >= 0; i--) > clk_disable_unprepare(dec_clk->clk_info[i].vcodec_clk); > } > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_clock_off);
Il 29/11/21 04:41, Yunfei Dong ha scritto: > Register each hardware as platform device, need to call pm functions > to open/close power and clock from module mtk-vcodec-dec, export these > functions. > > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> > Reviewed-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Steve Cho <stevecho@chromium.org> On Wed, Dec 1, 2021 at 4:09 AM AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> wrote: > > Il 29/11/21 04:41, Yunfei Dong ha scritto: > > Register each hardware as platform device, need to call pm functions > > to open/close power and clock from module mtk-vcodec-dec, export these > > functions. > > > > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> > > Reviewed-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> > > > Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Hi Benjamin, Thanks for your suggestion. On Tue, 2021-11-30 at 14:34 +0100, Benjamin Gaignard wrote: > Le 29/11/2021 à 04:41, Yunfei Dong a écrit : > > Register each hardware as platform device, need to call pm > > functions > > to open/close power and clock from module mtk-vcodec-dec, export > > these > > functions. > > The commit message confuse me, maybe something like: > "When mtk vcodec decoder is build as a module we need to export > mtk-vcodec-dec pm functions to make them visible by the other > components" > Fix in patch v12 > With that: > Reviewed-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> > Best Regards, Yunfei Dong > > > > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> > > --- > > drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > > b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > > index 20bd157a855c..221cf60e9fbf 100644 > > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c > > @@ -77,12 +77,14 @@ int mtk_vcodec_init_dec_pm(struct > > platform_device *pdev, > > put_device(pm->larbvdec); > > return ret; > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_init_dec_pm); > > > > void mtk_vcodec_release_dec_pm(struct mtk_vcodec_pm *pm) > > { > > pm_runtime_disable(pm->dev); > > put_device(pm->larbvdec); > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_release_dec_pm); > > > > int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) > > { > > @@ -94,6 +96,7 @@ int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm > > *pm) > > > > return ret; > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_pw_on); > > > > void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm) > > { > > @@ -103,6 +106,7 @@ void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm > > *pm) > > if (ret) > > mtk_v4l2_err("pm_runtime_put_sync fail %d", ret); > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_pw_off); > > > > void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) > > { > > @@ -129,6 +133,7 @@ void mtk_vcodec_dec_clock_on(struct > > mtk_vcodec_pm *pm) > > for (i -= 1; i >= 0; i--) > > clk_disable_unprepare(dec_clk->clk_info[i].vcodec_clk); > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_clock_on); > > > > void mtk_vcodec_dec_clock_off(struct mtk_vcodec_pm *pm) > > { > > @@ -139,3 +144,4 @@ void mtk_vcodec_dec_clock_off(struct > > mtk_vcodec_pm *pm) > > for (i = dec_clk->clk_num - 1; i >= 0; i--) > > clk_disable_unprepare(dec_clk->clk_info[i].vcodec_clk); > > } > > +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_clock_off);
diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c index 20bd157a855c..221cf60e9fbf 100644 --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c @@ -77,12 +77,14 @@ int mtk_vcodec_init_dec_pm(struct platform_device *pdev, put_device(pm->larbvdec); return ret; } +EXPORT_SYMBOL_GPL(mtk_vcodec_init_dec_pm); void mtk_vcodec_release_dec_pm(struct mtk_vcodec_pm *pm) { pm_runtime_disable(pm->dev); put_device(pm->larbvdec); } +EXPORT_SYMBOL_GPL(mtk_vcodec_release_dec_pm); int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) { @@ -94,6 +96,7 @@ int mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) return ret; } +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_pw_on); void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm) { @@ -103,6 +106,7 @@ void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm) if (ret) mtk_v4l2_err("pm_runtime_put_sync fail %d", ret); } +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_pw_off); void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) { @@ -129,6 +133,7 @@ void mtk_vcodec_dec_clock_on(struct mtk_vcodec_pm *pm) for (i -= 1; i >= 0; i--) clk_disable_unprepare(dec_clk->clk_info[i].vcodec_clk); } +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_clock_on); void mtk_vcodec_dec_clock_off(struct mtk_vcodec_pm *pm) { @@ -139,3 +144,4 @@ void mtk_vcodec_dec_clock_off(struct mtk_vcodec_pm *pm) for (i = dec_clk->clk_num - 1; i >= 0; i--) clk_disable_unprepare(dec_clk->clk_info[i].vcodec_clk); } +EXPORT_SYMBOL_GPL(mtk_vcodec_dec_clock_off);
Register each hardware as platform device, need to call pm functions to open/close power and clock from module mtk-vcodec-dec, export these functions. Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com> --- drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 6 ++++++ 1 file changed, 6 insertions(+)