On Tue, 04 Oct 2022 12:49, Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: >On 03/10/2022 17:29, Guillaume Ranquet wrote: >> On Tue, 27 Sep 2022 16:28, Krzysztof Kozlowski >> <krzysztof.kozlowski@xxxxxxxxxx> wrote: >>> On 27/09/2022 15:04, Guillaume Ranquet wrote: >>>> On Thu, 22 Sep 2022 09:20, Krzysztof Kozlowski >>>> <krzysztof.kozlowski@xxxxxxxxxx> wrote: >>>>> On 19/09/2022 18:56, Guillaume Ranquet wrote: >>>>>> Add dpi support to enable the HDMI path. >>>>>> >>>>>> Signed-off-by: Guillaume Ranquet <granquet@xxxxxxxxxxxx> >>>>>> >>>>>> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c >>>>>> index 72049a530ae1..27f029ca760b 100644 >>>>>> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c >>>>>> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c >>>>>> @@ -820,6 +820,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = { >>>>>> .data = (void *)MTK_DPI }, >>>>>> { .compatible = "mediatek,mt8192-dpi", >>>>>> .data = (void *)MTK_DPI }, >>>>>> + { .compatible = "mediatek,mt8195-dpi", >>>>>> + .data = (void *)MTK_DPI }, >>>>> >>>>> It's compatible with the others. You don't need more compatibles. >>>> >>>> Hi Krzysztof, >>>> >>>> It's a bit confusing, because this compatible is used in both >>>> mtk_drm_drv.c and in mtk_dpi.c >>>> >>>> Albeit it's entirely the same thing regarding the mtk_drm_drv module, >>>> it's pretty different >>>> regarding the mtk_dpi module. >>> >>> Sure, but this does not explain why do you need these entries here in >>> mtk_drm_drv. >>> >>> Best regards, >>> Krzysztof >>> >> >> Hi Krzysztof, >> >> Sorry for the late answer. >> The mtk_drm_drv is the component master of the full mediatek drm stack. >> >> it "binds" all of the crtc/dpi/ovl/mutex/merge... components of the stack. >> >> That mtk_ddp_comp_dt_ids array is iterated over to find all of the components >> from the device tree. > >No. You said what the code is doing. I think I understand this. You >still do not need more compatibles. Your sentence did not clarify it >because it did not answer at all to question "why". Why do you need it? > >Sorry, the change looks not correct. > >Best regards, >Krzysztof > I need a new compatible to adress the specifics of mt8195 in the mtk_dpi driver, the change is in this series with: [PATCH v1 16/17] drm/mediatek: dpi: Add mt8195 hdmi to DPI driver [1] I then need to add that compatible to the "list" here in mtk_drm_drv. I don't see a way around this unless I rewrite the way mtk_drm_drv works? Maybe if I declare a new compatible that is generic to all mediatek dpi variants? and have all the dts specify the node with both the generic dpi and the specific compatible? dpi@xxx { compatible = "mediatek,dpi", "mediatek,mt8195-dpi"; ... } Then I can "collapse" all the dpi related nodes in mtk_drm_drv under "mediatek,dpi" ? I guess would have to do the change for all other components that are needed in mtk_drm_drv (mmsys, aal, ccor, color, dither, dsc, gamma, mutex...). That's the only trivial way I can think of implementing this with the current status of the mtk_drm stack. Do you have any other ideas in mind? Thx, Guillaume. [1] : https://lore.kernel.org/all/20220919-v1-16-4844816c9808@xxxxxxxxxxxx/