lkml.org 
[lkml]   [2022]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v19, 09/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.

    Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.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 3294c8957ae5..23d997ac114d 100644
    --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c
    +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c
    @@ -357,6 +357,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,
    };

    /* This platform data is used for one lat and one core architecture. */
    @@ -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 ab2004242c43..17e7deee10b5 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,
    };

    +/*
    + * enum 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: 2022-01-13 05:13    [W:4.120 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site