drm/msm: Set CLK_IGNORE_UNUSED flag for PLL clocks
authorArchit Taneja <architt@codeaurora.org>
Thu, 27 Oct 2016 06:27:15 +0000 (11:57 +0530)
committerRob Clark <robdclark@gmail.com>
Wed, 2 Nov 2016 14:48:09 +0000 (10:48 -0400)
commit73b65b197024f3f9ef16a28cc9533c011e0a3f6d
tree19b7afd83a1b943369a6d2a396b51260aa177833
parent8d23ea403044efe97553dd64228b172c8ffca047
drm/msm: Set CLK_IGNORE_UNUSED flag for PLL clocks

The DSI/HDMI PLLs in MSM require resources like interface clocks, power
domains to be enabled before we can access their registers.

The clock framework doesn't have a mechanism at the moment where we can
tie such resources to a clock, so we make sure that the KMS driver enables
these resources whenever a PLL is expected to be in use.

One place where we can't ensure the resource dependencies are met is when
the clock framework tries to disable unused clocks. The KMS driver doesn't
know when the clock framework calls the is_enabled clk_op, and hence can't
enable interface clocks/power domains beforehand.

We set the CLK_IGNORE_UNUSED flag for PLL clocks for now. This needs to be
revisited, since bootloaders can enable display, and we would want to
disable the PLL clocks if there isn't a display driver using them.

Cc: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/dsi/pll/dsi_pll_28nm.c
drivers/gpu/drm/msm/dsi/pll/dsi_pll_28nm_8960.c
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c