lkml.org 
[lkml]   [2021]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v12, 08/19] media: mtk-vcodec: Use pure single core for MT8183
    Date
    Separates different architecture for hardware: pure_sin_core
    and lat_sin_core. MT8183 is pure single core. Uses .hw_arch to
    distinguish.

    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
    ---
    .../platform/mtk-vcodec/mtk_vcodec_dec_stateful.c | 1 +
    .../platform/mtk-vcodec/mtk_vcodec_dec_stateless.c | 2 ++
    drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h | 10 ++++++++++
    3 files changed, 13 insertions(+)

    diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateful.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateful.c
    index c7f9259ad094..04ca43c77e5f 100644
    --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateful.c
    +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateful.c
    @@ -626,4 +626,5 @@ const struct mtk_vcodec_dec_pdata mtk_vdec_8173_pdata = {
    .worker = mtk_vdec_worker,
    .flush_decoder = mtk_vdec_flush_decoder,
    .is_subdev_supported = false,
    + .hw_arch = MTK_VDEC_PURE_SINGLE_CORE,
    };
    diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c
    index 2d285515b625..d98f49fbbc3b 100644
    --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c
    +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c
    @@ -358,6 +358,7 @@ const struct mtk_vcodec_dec_pdata mtk_vdec_8183_pdata = {
    .worker = mtk_vdec_worker,
    .flush_decoder = mtk_vdec_flush_decoder,
    .is_subdev_supported = false,
    + .hw_arch = MTK_VDEC_PURE_SINGLE_CORE,
    };

    const struct mtk_vcodec_dec_pdata mtk_lat_sig_core_pdata = {
    @@ -375,4 +376,5 @@ const struct mtk_vcodec_dec_pdata mtk_lat_sig_core_pdata = {
    .worker = mtk_vdec_worker,
    .flush_decoder = mtk_vdec_flush_decoder,
    .is_subdev_supported = true,
    + .hw_arch = MTK_VDEC_LAT_SINGLE_CORE,
    };
    diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
    index 2160f26263ef..79957222c979 100644
    --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
    +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
    @@ -324,6 +324,14 @@ enum mtk_chip {
    MTK_MT8195,
    };

    +/**
    + * struct mtk_vdec_hw_arch - Used to separate different hardware architecture
    + */
    +enum mtk_vdec_hw_arch {
    + MTK_VDEC_PURE_SINGLE_CORE,
    + MTK_VDEC_LAT_SINGLE_CORE,
    +};
    +
    /**
    * struct mtk_vcodec_dec_pdata - compatible data for each IC
    * @init_vdec_params: init vdec params
    @@ -342,6 +350,7 @@ enum mtk_chip {
    * @num_framesizes: count of video decoder frame sizes
    *
    * @chip: chip this decoder is compatible with
    + * @hw_arch: hardware arch is used to separate pure_sin_core and lat_sin_core
    *
    * @is_subdev_supported: whether support parent-node architecture(subdev)
    * @uses_stateless_api: whether the decoder uses the stateless API with requests
    @@ -364,6 +373,7 @@ struct mtk_vcodec_dec_pdata {
    const int num_framesizes;

    enum mtk_chip chip;
    + enum mtk_vdec_hw_arch hw_arch;

    bool is_subdev_supported;
    bool uses_stateless_api;
    --
    2.25.1
    \
     
     \ /
      Last update: 2021-12-02 04:47    [W:3.916 / U:0.272 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site