drm/msm/hdmi: fix build without CONFIG_COMMON_CLK
Subsystems (2)
PATCH 1/3 drm/msm/hdmi: fix build without CONFIG_COMMON_CLK
From: Jackie Liu <[email protected]>
HDMI 8996 PHY/PLL support need common clk. avoid like:
[...]
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/hdmi/hdmi_phy.o:(.rodata+0x3e0): undefined reference to `msm_hdmi_phy_8996_cfg'
--- drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c +2 -0
@@ -192,8 +192,10 @@ static const struct of_device_id msm_hdmi_phy_dt_match[] = { .data = &msm_hdmi_phy_8x74_cfg }, { .compatible = "qcom,hdmi-phy-8084", .data = &msm_hdmi_phy_8x74_cfg }, +#ifdef CONFIG_COMMON_CLK { .compatible = "qcom,hdmi-phy-8996", .data = &msm_hdmi_phy_8996_cfg }, +#endif {} };
Signature · 1 line
2.25.1
PATCH 2/3 drm/msm/dp: displayPort driver need algorithm rational
From: Jackie Liu <[email protected]>
Let's select RATIONAL with dp driver. avoid like:
[...]
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/dp/dp_catalog.o: in function `dp_catalog_ctrl_config_msa':
dp_catalog.c:(.text+0x57e): undefined reference to `rational_best_approximation'
--- drivers/gpu/drm/msm/Kconfig | 1 + 1 file changed, 1 insertion(+)
drivers/gpu/drm/msm/Kconfig +1 -0
@@ -65,6 +65,7 @@ config DRM_MSM_HDMI_HDCP config DRM_MSM_DP bool "Enable DisplayPort support in MSM DRM driver" depends on DRM_MSM + select RATIONAL default y help Compile in support for DP driver in MSM DRM driver. DP external
Signature · 1 line
2.25.1
PATCH 3/3 drm/msm: some features need to be forced to rely on COMMON_CLK
In reply to Jackie LiuFrom: Jackie Liu <[email protected]>
In fact, this will not cause any problems, but when COMPILE_TEST is enabled, COMMON_CLK may not be selected, The CI system will report some compilation errors. even if that is not issue, but we better fix him.
[...]
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.o: in function `pll_28nm_register':
dsi_phy_28nm.c:(.text+0x868): undefined reference to `devm_clk_hw_register'
x86_64-linux-gnu-ld: dsi_phy_28nm.c:(.text+0x90c): undefined reference to `__devm_clk_hw_register_divider'
x86_64-linux-gnu-ld: dsi_phy_28nm.c:(.text+0x979): undefined reference to `devm_clk_hw_register_fixed_factor'
x86_64-linux-gnu-ld: dsi_phy_28nm.c:(.text+0x9f8): undefined reference to `__devm_clk_hw_register_divider'
x86_64-linux-gnu-ld: dsi_phy_28nm.c:(.text+0xab5): undefined reference to `__devm_clk_hw_register_mux'
x86_64-linux-gnu-ld: dsi_phy_28nm.c:(.text+0xb1e): undefined reference to `devm_clk_hw_register_fixed_factor'
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.o: in function `dsi_28nm_pll_save_state':
dsi_phy_28nm.c:(.text+0x1234): undefined reference to `clk_hw_get_rate'
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.o: in function `dsi_28nm_pll_save_state':
dsi_phy_28nm_8960.c:(.text+0x408): undefined reference to `clk_hw_get_rate'
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.o: in function `clk_bytediv_round_rate':
dsi_phy_28nm_8960.c:(.text+0x483): undefined reference to `clk_hw_get_parent'
x86_64-linux-gnu-ld: dsi_phy_28nm_8960.c:(.text+0x48e): undefined reference to `clk_hw_round_rate'
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.o: in function `pll_28nm_register':
dsi_phy_28nm_8960.c:(.text+0x681): undefined reference to `devm_clk_hw_register'
x86_64-linux-gnu-ld: dsi_phy_28nm_8960.c:(.text+0x735): undefined reference to `devm_clk_hw_register'
x86_64-linux-gnu-ld: dsi_phy_28nm_8960.c:(.text+0x796): undefined reference to `__devm_clk_hw_register_divider'
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.o: in function `pll_10nm_register':
dsi_phy_10nm.c:(.text+0x705): undefined reference to `devm_clk_hw_register'
x86_64-linux-gnu-ld: dsi_phy_10nm.c:(.text+0x7b0): undefined reference to `__devm_clk_hw_register_divider'
x86_64-linux-gnu-ld: dsi_phy_10nm.c:(.text+0x83a): undefined reference to `__devm_clk_hw_register_divider'
x86_64-linux-gnu-ld: dsi_phy_10nm.c:(.text+0x8ad): undefined reference to `devm_clk_hw_register_fixed_factor'
x86_64-linux-gnu-ld: dsi_phy_10nm.c:(.text+0x91d): undefined reference to `devm_clk_hw_register_fixed_factor'
x86_64-linux-gnu-ld: dsi_phy_10nm.c:(.text+0x989): undefined reference to `devm_clk_hw_register_fixed_factor'
x86_64-linux-gnu-ld: dsi_phy_10nm.c:(.text+0xaa4): undefined reference to `__devm_clk_hw_register_mux'
x86_64-linux-gnu-ld: dsi_phy_10nm.c:(.text+0xb2a): undefined reference to `__devm_clk_hw_register_divider'
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.o: in function `pll_7nm_register':
dsi_phy_7nm.c:(.text+0xa45): undefined reference to `devm_clk_hw_register'
x86_64-linux-gnu-ld: dsi_phy_7nm.c:(.text+0xaf0): undefined reference to `__devm_clk_hw_register_divider'
x86_64-linux-gnu-ld: dsi_phy_7nm.c:(.text+0xb7a): undefined reference to `__devm_clk_hw_register_divider'
x86_64-linux-gnu-ld: dsi_phy_7nm.c:(.text+0xbfd): undefined reference to `devm_clk_hw_register_fixed_factor'
x86_64-linux-gnu-ld: dsi_phy_7nm.c:(.text+0xc6d): undefined reference to `devm_clk_hw_register_fixed_factor'
x86_64-linux-gnu-ld: dsi_phy_7nm.c:(.text+0xcea): undefined reference to `devm_clk_hw_register_fixed_factor'
x86_64-linux-gnu-ld: dsi_phy_7nm.c:(.text+0xda0): undefined reference to `__devm_clk_hw_register_divider'
x86_64-linux-gnu-ld: dsi_phy_7nm.c:(.text+0xed9): undefined reference to `__devm_clk_hw_register_mux' [...]
--- drivers/gpu/drm/msm/Kconfig | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/gpu/drm/msm/Kconfig +6 -0
@@ -85,6 +85,7 @@ config DRM_MSM_DSI config DRM_MSM_DSI_28NM_PHY bool "Enable DSI 28nm PHY driver in MSM DRM" depends on DRM_MSM_DSI + depends on COMMON_CLK default y help Choose this option if the 28nm DSI PHY is used on the platform.
@@ -92,6 +93,7 @@ config DRM_MSM_DSI_28NM_PHY config DRM_MSM_DSI_20NM_PHY bool "Enable DSI 20nm PHY driver in MSM DRM" depends on DRM_MSM_DSI + depends on COMMON_CLK default y help Choose this option if the 20nm DSI PHY is used on the platform.
@@ -99,6 +101,7 @@ config DRM_MSM_DSI_20NM_PHY config DRM_MSM_DSI_28NM_8960_PHY bool "Enable DSI 28nm 8960 PHY driver in MSM DRM" depends on DRM_MSM_DSI + depends on COMMON_CLK default y help Choose this option if the 28nm DSI PHY 8960 variant is used on the
@@ -107,6 +110,7 @@ config DRM_MSM_DSI_28NM_8960_PHY config DRM_MSM_DSI_14NM_PHY bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)" depends on DRM_MSM_DSI + depends on COMMON_CLK default y help Choose this option if DSI PHY on 8996 is used on the platform.
@@ -114,6 +118,7 @@ config DRM_MSM_DSI_14NM_PHY config DRM_MSM_DSI_10NM_PHY bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)" depends on DRM_MSM_DSI + depends on COMMON_CLK default y help Choose this option if DSI PHY on SDM845 is used on the platform.
@@ -121,6 +126,7 @@ config DRM_MSM_DSI_10NM_PHY config DRM_MSM_DSI_7NM_PHY bool "Enable DSI 7nm PHY driver in MSM DRM" depends on DRM_MSM_DSI + depends on COMMON_CLK default y help Choose this option if DSI PHY on SM8150/SM8250/SC7280 is used on
Signature · 1 line
2.25.1
Am 10.11.21 um 08:09 schrieb Jackie Liu:
Quoted 10 lines
From: Jackie Liu <[email protected]>
HDMI 8996 PHY/PLL support need common clk. avoid like:
[...]
x86_64-linux-gnu-ld: drivers/gpu/drm/msm/hdmi/hdmi_phy.o:(.rodata+0x3e0): undefined reference to `msm_hdmi_phy_8996_cfg'Fixes e17afdceb4f2 ("drm/msm/hdmi: HDMI 8996 PHY/PLL support")Reported-by kernelbot <[email protected]>Signed-off-by Jackie Liu <[email protected]>
Since it is probably my fault that you stumbled over all that stuff here is an "Acked-by: Christian König <[email protected]>" for the full series.
But you certainly also need to maintainers or Dave/Daniel take a look.
Regards,
Christian.
Quoted 19 lines
--- drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 2 ++ 1 file changed, 2 insertions(+)drivers/gpu/drm/msm/hdmi/hdmi_phy.c +2
-0@@ -192,8 +192,10 @@ static const struct of_device_id msm_hdmi_phy_dt_match[] = { .data = &msm_hdmi_phy_8x74_cfg }, { .compatible = "qcom,hdmi-phy-8084", .data = &msm_hdmi_phy_8x74_cfg }, +#ifdef CONFIG_COMMON_CLK { .compatible = "qcom,hdmi-phy-8996", .data = &msm_hdmi_phy_8996_cfg }, +#endif {} };