On Fri, 2025-02-14 at 09:51 +0800, CK Hu wrote: > On Tue, 2025-02-11 at 12:33 +0100, AngeloGioacchino Del Regno wrote: > > External email : Please do not click links or open attachments until you have verified the sender or the content. > > > > > > In preparation for adding support for MT8195's HDMI reserved > > DPI, add calls to clk_prepare_enable() / clk_disable_unprepare() > > for the TVD clock: in this particular case, the aforementioned > > clock is not (and cannot be) parented to neither pixel or engine > > clocks hence it won't get enabled automatically by the clock > > framework. > > > > Please note that on all of the currently supported MediaTek > > platforms, the TVD clock is always a parent of either pixel or > > engine clocks, and this means that the common clock framework > > is already enabling this clock before the children. > > On such platforms, this commit will only increase the refcount > > of the TVD clock without any functional change. > > Reviewed-by: CK Hu <ck.hu@xxxxxxxxxxxx> One question: MT8195 DPI clock is from HDMI, why need to contol TVD clock? It seems this patch is redundant. Regards, CK > > > > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/mediatek/mtk_dpi.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c > > index 5c15c8935916..67504eb874d2 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > > @@ -501,6 +501,7 @@ static void mtk_dpi_power_off(struct mtk_dpi *dpi) > > > > mtk_dpi_disable(dpi); > > clk_disable_unprepare(dpi->pixel_clk); > > + clk_disable_unprepare(dpi->tvd_clk); > > clk_disable_unprepare(dpi->engine_clk); > > } > > > > @@ -517,6 +518,12 @@ static int mtk_dpi_power_on(struct mtk_dpi *dpi) > > goto err_refcount; > > } > > > > + ret = clk_prepare_enable(dpi->tvd_clk); > > + if (ret) { > > + dev_err(dpi->dev, "Failed to enable tvd pll: %d\n", ret); > > + goto err_engine; > > + } > > + > > ret = clk_prepare_enable(dpi->pixel_clk); > > if (ret) { > > dev_err(dpi->dev, "Failed to enable pixel clock: %d\n", ret); > > @@ -526,6 +533,8 @@ static int mtk_dpi_power_on(struct mtk_dpi *dpi) > > return 0; > > > > err_pixel: > > + clk_disable_unprepare(dpi->tvd_clk); > > +err_engine: > > clk_disable_unprepare(dpi->engine_clk); > > err_refcount: > > dpi->refcount--; > > -- > > 2.48.1 > > >