[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <31577e05-34b8-2e5e-14f0-db9949ffdd3d@collabora.com>
Date: Mon, 18 Oct 2021 15:50:58 +0200
From: AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>
To: Moudy Ho <moudy.ho@...iatek.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
Hans Verkuil <hverkuil-cisco@...all.nl>,
Jernej Skrabec <jernej.skrabec@...l.net>
Cc: Maoguang Meng <maoguang.meng@...iatek.com>,
daoyuan huang <daoyuan.huang@...iatek.com>,
Ping-Hsun Wu <ping-hsun.wu@...iatek.com>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Rob Landley <rob@...dley.net>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
linux-media@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org, linux-kernel@...r.kernel.org,
tfiga@...omium.org, drinkcat@...omium.org, acourbot@...omium.org,
pihsun@...omium.org, menghui.lin@...iatek.com,
sj.huang@...iatek.com, allen-kh.cheng@...iatek.com,
randy.wu@...iatek.com, srv_heupstream@...iatek.com,
hsinyi@...gle.com
Subject: Re: [PATCH v8 1/7] soc: mediatek: mmsys: add support for MDP
Il 15/10/21 14:38, Moudy Ho ha scritto:
> For the purpose of module independence, related settings should be moved
> from MDP to the corresponding driver.
> This patch adds more 8183 MDP settings and interface. and MDP
> related settings must be set via CMDQ to avoid frame unsynchronized.
>
> Signed-off-by: Moudy Ho <moudy.ho@...iatek.com>
> ---
> drivers/soc/mediatek/Kconfig | 1 +
> drivers/soc/mediatek/mt8183-mmsys.h | 219 +++++++++++++++++++++++++
> drivers/soc/mediatek/mtk-mmsys.c | 52 ++++++
> drivers/soc/mediatek/mtk-mmsys.h | 2 +
> include/linux/soc/mediatek/mtk-mmsys.h | 56 +++++++
> 5 files changed, 330 insertions(+)
>
snip...
> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
> index a78e88f27b62..31fec490617e 100644
> --- a/drivers/soc/mediatek/mtk-mmsys.c
> +++ b/drivers/soc/mediatek/mtk-mmsys.c
> @@ -7,8 +7,10 @@
> #include <linux/device.h>
> #include <linux/io.h>
> #include <linux/of_device.h>
> +#include <linux/of_address.h>
> #include <linux/platform_device.h>
> #include <linux/soc/mediatek/mtk-mmsys.h>
> +#include <linux/soc/mediatek/mtk-cmdq.h>
>
> #include "mtk-mmsys.h"
> #include "mt8167-mmsys.h"
> @@ -51,6 +53,8 @@ static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
> .clk_driver = "clk-mt8183-mm",
> .routes = mmsys_mt8183_routing_table,
> .num_routes = ARRAY_SIZE(mmsys_mt8183_routing_table),
> + .mdp_routes = mmsys_mt8183_mdp_routing_table,
> + .mdp_num_routes = ARRAY_SIZE(mmsys_mt8183_mdp_routing_table),
> };
>
> static const struct mtk_mmsys_driver_data mt8365_mmsys_driver_data = {
> @@ -62,6 +66,8 @@ static const struct mtk_mmsys_driver_data mt8365_mmsys_driver_data = {
> struct mtk_mmsys {
> void __iomem *regs;
> const struct mtk_mmsys_driver_data *data;
> + phys_addr_t addr;
> + u8 subsys_id;
> };
>
> void mtk_mmsys_ddp_connect(struct device *dev,
> @@ -101,12 +107,49 @@ void mtk_mmsys_ddp_disconnect(struct device *dev,
> }
> EXPORT_SYMBOL_GPL(mtk_mmsys_ddp_disconnect);
>
> +void mtk_mmsys_mdp_connect(struct device *dev, struct mmsys_cmdq_cmd *cmd,
> + enum mtk_mdp_comp_id cur,
> + enum mtk_mdp_comp_id next)
> +{
> + struct mtk_mmsys *mmsys = dev_get_drvdata(dev);
> + const struct mtk_mmsys_routes *routes = mmsys->data->mdp_routes;
> + int i;
> +
> + WARN_ON(!routes);
Sorry, I didn't notice this one in the previous version review.
> + WARN_ON(mmsys->subsys_id == 0);
> + for (i = 0; i < mmsys->data->mdp_num_routes; i++)
> + if (cur == routes[i].from_comp && next == routes[i].to_comp)
If routes is NULL, you'll get a NULL pointer kernel panic here, so you should
avoid reaching this point if that happens.
After fixing that,
Acked-By: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Powered by blists - more mailing lists