Re: [PATCH v2 0/2] Refactor MDP driver and add dummy component driver
From: Enric Balletbo i Serra
Date: Fri Jun 26 2020 - 05:37:39 EST
Hi Eizan and Hans,
On 24/6/20 16:05, Hans Verkuil wrote:
> On 06/05/2020 10:40, Eizan Miyamoto wrote:
>>
>> This series depends on all changes in the series:
>> https://patchwork.kernel.org/patch/11530275/
>
> I plan on merging the v3 of this series.
>
>>
>> We are adding a dummy MDP component driver so that all the components
>> are properly configured with IOMMUs and LARBs. This is required for
>> us to get hardware video decode working in 4.19, and possibly newer
>> kernels.
>
> What is the status of this series?
>
First of all, sorry, I should have had answer before but for some reason I
missed the track of this patchset.
> There was some discussion with Enric, but that didn't come to a conclusion,
> I think.
>
Yes, my main concern is how this driver is instantiated, it is using one of the
rdma nodes, see the rdma0 node vs rdma1, to instantiate the driver,
mdp_rdma0: rdma@14001000 {
compatible = "mediatek,mt8173-mdp-rdma";
"mediatek,mt8173-mdp";
reg = <0 0x14001000 0 0x1000>;
clocks = <&mmsys CLK_MM_MDP_RDMA0>,
<&mmsys CLK_MM_MUTEX_32K>;
power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
iommus = <&iommu M4U_PORT_MDP_RDMA0>;
mediatek,larb = <&larb0>;
mediatek,vpu = <&vpu>;
};
mdp_rdma1: rdma@14002000 {
compatible = "mediatek,mt8173-mdp-rdma";
reg = <0 0x14002000 0 0x1000>;
clocks = <&mmsys CLK_MM_MDP_RDMA1>,
<&mmsys CLK_MM_MUTEX_32K>;
power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
iommus = <&iommu M4U_PORT_MDP_RDMA1>;
mediatek,larb = <&larb4>;
};
My point is that DT is to describe hardware not a trick to instantiate drivers,
so the "mediatek,mt8173-mdp" is completely unnecessary. We had the same issue
with the MMSYS driver and the mediatek DRM driver, and we solved by having the
mmsys driver instantiating the drm driver. I think we should apply the same
solution here, see [1] for reference. If you want to continue the discussion
maybe would be better
Thanks,
Enric
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/soc/mediatek/mtk-mmsys.c?id=667c769246b01c53ad0925d603d2a2531abd3ef2
> Regards,
>
> Hans
>
>>
>> Changes in v2:
>> - remove empty mtk_mdp_comp_init
>> - update documentation for enum mtk_mdp_comp_type
>> - remove comma after last element of mtk_mdp_comp_driver_dt_match
>>
>> Eizan Miyamoto (2):
>> [media] mtk-mdp: add driver to probe mdp components
>> [media] mtk-mdp: use pm_runtime in MDP component driver
>>
>> drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 172 ++++++++++++++---
>> drivers/media/platform/mtk-mdp/mtk_mdp_comp.h | 32 +--
>> drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 182 ++++++++++++------
>> drivers/media/platform/mtk-mdp/mtk_mdp_core.h | 1 +
>> 4 files changed, 286 insertions(+), 101 deletions(-)
>>
>