drm/msm: msm_clk_get() all the things
Subsystems (5)
cover drm/msm: msm_clk_get() all the things
Use our msm_clk_get() helper in more places so "_clk" suffix in clock names is optional. This was added when upstreaming the GPU bindings in response to comments that clock names should not have the "_clk" suffix, and will fall back to looking up the clock with the suffix for backwards compat with existing dtb's.
Use this throughout the driver so that we don't have a mix of bindings that want "_clk" and those that don't. This way new dts files for new boards/devices don't require clock names to end in "_clk".
So far, just mdp4 is left unconverted, although I guess since it hasn't been used in new chips since approx snapdragon 600, the likelihood of adding a bunch of new dts for boards using mdp4 is less.
Rob Clark (4):
drm/msm/dsi: convert to msm_clk_get()
drm/msm/edp: convert to msm_clk_get()
drm/msm/hdmi: convert to msm_clk_get()
dt-bindings: display: msm: update clk names
.../devicetree/bindings/display/msm/dsi.txt | 36 +++++++++++----------- .../devicetree/bindings/display/msm/edp.txt | 20 ++++++------ .../devicetree/bindings/display/msm/hdmi.txt | 8 ++--- .../devicetree/bindings/display/msm/mdp5.txt | 32 +++++++++---------- drivers/gpu/drm/msm/dsi/dsi_cfg.c | 8 ++--- drivers/gpu/drm/msm/dsi/dsi_host.c | 30 +++++++++--------- drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 2 +- drivers/gpu/drm/msm/edp/edp_ctrl.c | 22 ++++++------- drivers/gpu/drm/msm/hdmi/hdmi.c | 10 +++--- drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c | 4 +-- drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c | 3 +- 13 files changed, 88 insertions(+), 91 deletions(-)
Signature · 6 lines
2.13.6 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
PATCH 1/4 drm/msm/dsi: convert to msm_clk_get()
We already have, as a result of upstreaming the gpu bindings, msm_clk_get() which will try to get the clock both without and with a "_clk" suffix. Use this in DSI code so we can drop the "_clk" suffix in bindings while maintaing backwards compatibility.
--- drivers/gpu/drm/msm/dsi/dsi_cfg.c | 8 ++++---- drivers/gpu/drm/msm/dsi/dsi_host.c | 30 +++++++++++++++--------------- drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-)
drivers/gpu/drm/msm/dsi/dsi_cfg.c +4 -4
@@ -14,7 +14,7 @@#include "dsi_cfg.h" static const char *const dsi_v2_bus_clk_names[] = { -"core_mmss_clk" ,"iface_clk" ,"bus_clk" , +"core_mmss" ,"iface" ,"bus" , };static const struct msm_dsi_config apq8064_dsi_cfg = {
@@ -34,7 +34,7 @@ static const struct msm_dsi_config apq8064_dsi_cfg = { };static const char *const dsi_6g_bus_clk_names[] = { -"mdp_core_clk" ,"iface_clk" ,"bus_clk" ,"core_mmss_clk" , +"mdp_core" ,"iface" ,"bus" ,"core_mmss" , };static const struct msm_dsi_config msm8974_apq8084_dsi_cfg = {
@@ -55,7 +55,7 @@ static const struct msm_dsi_config msm8974_apq8084_dsi_cfg = { };static const char *const dsi_8916_bus_clk_names[] = { -"mdp_core_clk" ,"iface_clk" ,"bus_clk" , +"mdp_core" ,"iface" ,"bus" , };static const struct msm_dsi_config msm8916_dsi_cfg = {
@@ -99,7 +99,7 @@ static const struct msm_dsi_config msm8994_dsi_cfg = {* without it too. Figure out why it doesn't enable and uncomment below */ static const char *const dsi_8996_bus_clk_names[] = { -"mdp_core_clk" ,"iface_clk" ,"bus_clk" ,/* "core_mmss_clk", */ +"mdp_core" ,"iface" ,"bus" ,/* "core_mmss", */ };static const struct msm_dsi_config msm8996_dsi_cfg = {
drivers/gpu/drm/msm/dsi/dsi_host.c +15 -15
@@ -334,46 +334,46 @@ static int dsi_regulator_init(struct msm_dsi_host *msm_host)static int dsi_clk_init (struct msm_dsi_host *msm_host) { -struct device *dev = &msm_host->pdev->dev; +struct platform_device *pdev = msm_host->pdev;const struct msm_dsi_cfg_handler *cfg_hnd = msm_host->cfg_hnd;const struct msm_dsi_config *cfg = cfg_hnd->cfg;int i, ret =0 ;/* get bus clocks */ for (i =0 ; i < cfg->num_bus_clks; i++) { - msm_host->bus_clks[i] =devm_clk_get (dev, + msm_host->bus_clks[i] =msm_clk_get (pdev, cfg->bus_clk_names[i]);if (IS_ERR (msm_host->bus_clks[i])) { ret =PTR_ERR (msm_host->bus_clks[i]); -pr_err ("%s: Unable to get %s, ret = %d\n" , +pr_err ("%s: Unable to get %s clock, ret = %d\n" , __func__, cfg->bus_clk_names[i], ret); goto exit; } }/* get link and source clocks */ - msm_host->byte_clk =devm_clk_get (dev,"byte_clk" ); + msm_host->byte_clk =msm_clk_get (pdev,"byte" );if (IS_ERR (msm_host->byte_clk)) { ret =PTR_ERR (msm_host->byte_clk); -pr_err ("%s: can't find dsi_byte_clk. ret=%d\n" , +pr_err ("%s: can't find dsi_byte clock. ret=%d\n" , __func__, ret); msm_host->byte_clk =NULL ; goto exit; } - msm_host->pixel_clk =devm_clk_get (dev,"pixel_clk" ); + msm_host->pixel_clk =msm_clk_get (pdev,"pixel" );if (IS_ERR (msm_host->pixel_clk)) { ret =PTR_ERR (msm_host->pixel_clk); -pr_err ("%s: can't find dsi_pixel_clk. ret=%d\n" , +pr_err ("%s: can't find dsi_pixel clock. ret=%d\n" , __func__, ret); msm_host->pixel_clk =NULL ; goto exit; } - msm_host->esc_clk =devm_clk_get (dev,"core_clk" ); + msm_host->esc_clk =msm_clk_get (pdev,"core" );if (IS_ERR (msm_host->esc_clk)) { ret =PTR_ERR (msm_host->esc_clk); -pr_err ("%s: can't find dsi_esc_clk. ret=%d\n" , +pr_err ("%s: can't find dsi_esc clock. ret=%d\n" , __func__, ret); msm_host->esc_clk =NULL ; goto exit;
@@ -382,22 +382,22 @@ static int dsi_clk_init(struct msm_dsi_host *msm_host) msm_host->byte_clk_src =clk_get_parent (msm_host->byte_clk);if (!msm_host->byte_clk_src) { ret = -ENODEV ; -pr_err ("%s: can't find byte_clk_src. ret=%d\n" , __func__, ret); +pr_err ("%s: can't find byte_clk clock. ret=%d\n" , __func__, ret); goto exit; } msm_host->pixel_clk_src =clk_get_parent (msm_host->pixel_clk);if (!msm_host->pixel_clk_src) { ret = -ENODEV ; -pr_err ("%s: can't find pixel_clk_src. ret=%d\n" , __func__, ret); +pr_err ("%s: can't find pixel_clk clock. ret=%d\n" , __func__, ret); goto exit; }if (cfg_hnd->major ==MSM_DSI_VER_MAJOR_V2 ) { - msm_host->src_clk =devm_clk_get (dev,"src_clk" ); + msm_host->src_clk =msm_clk_get (pdev,"src" );if (IS_ERR (msm_host->src_clk)) { ret =PTR_ERR (msm_host->src_clk); -pr_err ("%s: can't find dsi_src_clk. ret=%d\n" , +pr_err ("%s: can't find src clock. ret=%d\n" , __func__, ret); msm_host->src_clk =NULL ; goto exit;
@@ -406,7 +406,7 @@ static int dsi_clk_init(struct msm_dsi_host *msm_host) msm_host->esc_clk_src =clk_get_parent (msm_host->esc_clk);if (!msm_host->esc_clk_src) { ret = -ENODEV ; -pr_err ("%s: can't get esc_clk_src. ret=%d\n" , +pr_err ("%s: can't get esc clock parent. ret=%d\n" , __func__, ret); goto exit; }
@@ -414,7 +414,7 @@ static int dsi_clk_init(struct msm_dsi_host *msm_host) msm_host->dsi_clk_src =clk_get_parent (msm_host->src_clk);if (!msm_host->dsi_clk_src) { ret = -ENODEV ; -pr_err ("%s: can't get dsi_clk_src. ret=%d\n" , +pr_err ("%s: can't get src clock parent. ret=%d\n" , __func__, ret); } }
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c +1 -1
@@ -482,7 +482,7 @@ static int dsi_phy_driver_probe(struct platform_device *pdev) goto fail; } - phy->ahb_clk =devm_clk_get (dev,"iface_clk" ); + phy->ahb_clk =msm_clk_get (pdev,"iface" );if (IS_ERR (phy->ahb_clk)) {dev_err (dev,"%s: Unable to get ahb clk\n" , __func__); ret =PTR_ERR (phy->ahb_clk);
Signature · 6 lines
2.13.6 _______________________________________________ Freedreno mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/freedreno
Re: [PATCH 1/4] drm/msm/dsi: convert to msm_clk_get()
Quoted 6 lines · Rob Clark
We already have, as a result of upstreaming the gpu bindings,
msm_clk_get()which will try to get the clock both without and with a "_clk" suffix. Use this in DSI code so we can drop the "_clk" suffix in bindings while maintaing backwards compatibility.Signed-off-by Rob Clark <[email protected]>
Quoted 167 lines
--- drivers/gpu/drm/msm/dsi/dsi_cfg.c | 8 ++++---- drivers/gpu/drm/msm/dsi/dsi_host.c | 30 +++++++++++++++--------------- drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-)drivers/gpu/drm/msm/dsi/dsi_cfg.c +4
-4@@ -14,7 +14,7 @@#include "dsi_cfg.h" static const char *const dsi_v2_bus_clk_names[] = { -"core_mmss_clk" ,"iface_clk" ,"bus_clk" , +"core_mmss" ,"iface" ,"bus" , };static const struct msm_dsi_config apq8064_dsi_cfg = {@@ -34,7 +34,7 @@ static const struct msm_dsi_config apq8064_dsi_cfg = { };static const char *const dsi_6g_bus_clk_names[] = { -"mdp_core_clk" ,"iface_clk" ,"bus_clk" ,"core_mmss_clk" , +"mdp_core" ,"iface" ,"bus" ,"core_mmss" , };static const struct msm_dsi_config msm8974_apq8084_dsi_cfg = {@@ -55,7 +55,7 @@ static const struct msm_dsi_config msm8974_apq8084_dsi_cfg = { };static const char *const dsi_8916_bus_clk_names[] = { -"mdp_core_clk" ,"iface_clk" ,"bus_clk" , +"mdp_core" ,"iface" ,"bus" , };static const struct msm_dsi_config msm8916_dsi_cfg = {@@ -99,7 +99,7 @@ static const struct msm_dsi_config msm8994_dsi_cfg = {* without it too. Figure out why it doesn't enable and uncomment below */ static const char *const dsi_8996_bus_clk_names[] = { -"mdp_core_clk" ,"iface_clk" ,"bus_clk" ,/* "core_mmss_clk", */ +"mdp_core" ,"iface" ,"bus" ,/* "core_mmss", */ };static const struct msm_dsi_config msm8996_dsi_cfg = {drivers/gpu/drm/msm/dsi/dsi_host.c +15
-15@@ -334,46 +334,46 @@ static int dsi_regulator_init(struct msm_dsi_host *msm_host)static int dsi_clk_init (struct msm_dsi_host *msm_host) { -struct device *dev = &msm_host->pdev->dev; +struct platform_device *pdev = msm_host->pdev;const struct msm_dsi_cfg_handler *cfg_hnd = msm_host->cfg_hnd;const struct msm_dsi_config *cfg = cfg_hnd->cfg;int i, ret =0 ;/* get bus clocks */ for (i =0 ; i < cfg->num_bus_clks; i++) { - msm_host->bus_clks[i] =devm_clk_get (dev, + msm_host->bus_clks[i] =msm_clk_get (pdev, cfg->bus_clk_names[i]);if (IS_ERR (msm_host->bus_clks[i])) { ret =PTR_ERR (msm_host->bus_clks[i]); -pr_err ("%s: Unable to get %s, ret = %d\n" , +pr_err ("%s: Unable to get %s clock, ret = %d\n" , __func__, cfg->bus_clk_names[i], ret); goto exit; } }/* get link and source clocks */ - msm_host->byte_clk =devm_clk_get (dev,"byte_clk" ); + msm_host->byte_clk =msm_clk_get (pdev,"byte" );if (IS_ERR (msm_host->byte_clk)) { ret =PTR_ERR (msm_host->byte_clk); -pr_err ("%s: can't find dsi_byte_clk. ret=%d\n" , +pr_err ("%s: can't find dsi_byte clock. ret=%d\n" , __func__, ret); msm_host->byte_clk =NULL ; goto exit; } - msm_host->pixel_clk =devm_clk_get (dev,"pixel_clk" ); + msm_host->pixel_clk =msm_clk_get (pdev,"pixel" );if (IS_ERR (msm_host->pixel_clk)) { ret =PTR_ERR (msm_host->pixel_clk); -pr_err ("%s: can't find dsi_pixel_clk. ret=%d\n" , +pr_err ("%s: can't find dsi_pixel clock. ret=%d\n" , __func__, ret); msm_host->pixel_clk =NULL ; goto exit; } - msm_host->esc_clk =devm_clk_get (dev,"core_clk" ); + msm_host->esc_clk =msm_clk_get (pdev,"core" );if (IS_ERR (msm_host->esc_clk)) { ret =PTR_ERR (msm_host->esc_clk); -pr_err ("%s: can't find dsi_esc_clk. ret=%d\n" , +pr_err ("%s: can't find dsi_esc clock. ret=%d\n" , __func__, ret); msm_host->esc_clk =NULL ; goto exit;@@ -382,22 +382,22 @@ static int dsi_clk_init(struct msm_dsi_host *msm_host) msm_host->byte_clk_src =clk_get_parent (msm_host->byte_clk);if (!msm_host->byte_clk_src) { ret = -ENODEV ; -pr_err ("%s: can't find byte_clk_src. ret=%d\n" , __func__, ret); +pr_err ("%s: can't find byte_clk clock. ret=%d\n" , __func__, ret); goto exit; } msm_host->pixel_clk_src =clk_get_parent (msm_host->pixel_clk);if (!msm_host->pixel_clk_src) { ret = -ENODEV ; -pr_err ("%s: can't find pixel_clk_src. ret=%d\n" , __func__, ret); +pr_err ("%s: can't find pixel_clk clock. ret=%d\n" , __func__, ret); goto exit; }if (cfg_hnd->major ==MSM_DSI_VER_MAJOR_V2 ) { - msm_host->src_clk =devm_clk_get (dev,"src_clk" ); + msm_host->src_clk =msm_clk_get (pdev,"src" );if (IS_ERR (msm_host->src_clk)) { ret =PTR_ERR (msm_host->src_clk); -pr_err ("%s: can't find dsi_src_clk. ret=%d\n" , +pr_err ("%s: can't find src clock. ret=%d\n" , __func__, ret); msm_host->src_clk =NULL ; goto exit;@@ -406,7 +406,7 @@ static int dsi_clk_init(struct msm_dsi_host *msm_host) msm_host->esc_clk_src =clk_get_parent (msm_host->esc_clk);if (!msm_host->esc_clk_src) { ret = -ENODEV ; -pr_err ("%s: can't get esc_clk_src. ret=%d\n" , +pr_err ("%s: can't get esc clock parent. ret=%d\n" , __func__, ret); goto exit; }@@ -414,7 +414,7 @@ static int dsi_clk_init(struct msm_dsi_host *msm_host) msm_host->dsi_clk_src =clk_get_parent (msm_host->src_clk);if (!msm_host->dsi_clk_src) { ret = -ENODEV ; -pr_err ("%s: can't get dsi_clk_src. ret=%d\n" , +pr_err ("%s: can't get src clock parent. ret=%d\n" , __func__, ret); } }drivers/gpu/drm/msm/dsi/phy/dsi_phy.c +1
-1@@ -482,7 +482,7 @@ static int dsi_phy_driver_probe(struct platform_device *pdev) goto fail; } - phy->ahb_clk =devm_clk_get (dev,"iface_clk" ); + phy->ahb_clk =msm_clk_get (pdev,"iface" );if (IS_ERR (phy->ahb_clk)) {dev_err (dev,"%s: Unable to get ahb clk\n" , __func__); ret =PTR_ERR (phy->ahb_clk);Signature · 1 line
2.13.6
Signature · 5 lines
Sean Paul, Software Engineer, Google / Chromium OS _______________________________________________ Freedreno mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/freedreno
PATCH 2/4 drm/msm/edp: convert to msm_clk_get()
In reply to Rob ClarkWe already have, as a result of upstreaming the gpu bindings, msm_clk_get() which will try to get the clock both without and with a "_clk" suffix. Use this in eDP code so we can drop the "_clk" suffix in bindings while maintaing backwards compatibility.
--- drivers/gpu/drm/msm/edp/edp_ctrl.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-)
drivers/gpu/drm/msm/edp/edp_ctrl.c +11 -11
@@ -150,46 +150,46 @@ static const struct edp_pixel_clk_div clk_divs[2][EDP_PIXEL_CLK_NUM] = {static int edp_clk_init (struct edp_ctrl *ctrl) { -struct device *dev = &ctrl->pdev->dev; +struct platform_device *pdev = ctrl->pdev;int ret; - ctrl->aux_clk =devm_clk_get (dev,"core_clk" ); + ctrl->aux_clk =msm_clk_get (pdev,"core" );if (IS_ERR (ctrl->aux_clk)) { ret =PTR_ERR (ctrl->aux_clk); -pr_err ("%s: Can't find aux_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find core clock, %d\n" , __func__, ret); ctrl->aux_clk =NULL ;return ret; } - ctrl->pixel_clk =devm_clk_get (dev,"pixel_clk" ); + ctrl->pixel_clk =msm_clk_get (pdev,"pixel" );if (IS_ERR (ctrl->pixel_clk)) { ret =PTR_ERR (ctrl->pixel_clk); -pr_err ("%s: Can't find pixel_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find pixel clock, %d\n" , __func__, ret); ctrl->pixel_clk =NULL ;return ret; } - ctrl->ahb_clk =devm_clk_get (dev,"iface_clk" ); + ctrl->ahb_clk =msm_clk_get (pdev,"iface" );if (IS_ERR (ctrl->ahb_clk)) { ret =PTR_ERR (ctrl->ahb_clk); -pr_err ("%s: Can't find ahb_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find iface clock, %d\n" , __func__, ret); ctrl->ahb_clk =NULL ;return ret; } - ctrl->link_clk =devm_clk_get (dev,"link_clk" ); + ctrl->link_clk =msm_clk_get (pdev,"link" );if (IS_ERR (ctrl->link_clk)) { ret =PTR_ERR (ctrl->link_clk); -pr_err ("%s: Can't find link_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find link clock, %d\n" , __func__, ret); ctrl->link_clk =NULL ;return ret; }/* need mdp core clock to receive irq */ - ctrl->mdp_core_clk =devm_clk_get (dev,"mdp_core_clk" ); + ctrl->mdp_core_clk =msm_clk_get (pdev,"mdp_core" );if (IS_ERR (ctrl->mdp_core_clk)) { ret =PTR_ERR (ctrl->mdp_core_clk); -pr_err ("%s: Can't find mdp_core_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find mdp_core clock, %d\n" , __func__, ret); ctrl->mdp_core_clk =NULL ;return ret; }
Signature · 1 line
2.13.6
Re: [PATCH 2/4] drm/msm/edp: convert to msm_clk_get()
Quoted 6 lines · Rob Clark
We already have, as a result of upstreaming the gpu bindings,
msm_clk_get()which will try to get the clock both without and with a "_clk" suffix. Use this in eDP code so we can drop the "_clk" suffix in bindings while maintaing backwards compatibility.Signed-off-by Rob Clark <[email protected]>
Quoted 73 lines
--- drivers/gpu/drm/msm/edp/edp_ctrl.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-)drivers/gpu/drm/msm/edp/edp_ctrl.c +11
-11@@ -150,46 +150,46 @@ static const struct edp_pixel_clk_div clk_divs[2][EDP_PIXEL_CLK_NUM] = {static int edp_clk_init (struct edp_ctrl *ctrl) { -struct device *dev = &ctrl->pdev->dev; +struct platform_device *pdev = ctrl->pdev;int ret; - ctrl->aux_clk =devm_clk_get (dev,"core_clk" ); + ctrl->aux_clk =msm_clk_get (pdev,"core" );if (IS_ERR (ctrl->aux_clk)) { ret =PTR_ERR (ctrl->aux_clk); -pr_err ("%s: Can't find aux_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find core clock, %d\n" , __func__, ret); ctrl->aux_clk =NULL ;return ret; } - ctrl->pixel_clk =devm_clk_get (dev,"pixel_clk" ); + ctrl->pixel_clk =msm_clk_get (pdev,"pixel" );if (IS_ERR (ctrl->pixel_clk)) { ret =PTR_ERR (ctrl->pixel_clk); -pr_err ("%s: Can't find pixel_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find pixel clock, %d\n" , __func__, ret); ctrl->pixel_clk =NULL ;return ret; } - ctrl->ahb_clk =devm_clk_get (dev,"iface_clk" ); + ctrl->ahb_clk =msm_clk_get (pdev,"iface" );if (IS_ERR (ctrl->ahb_clk)) { ret =PTR_ERR (ctrl->ahb_clk); -pr_err ("%s: Can't find ahb_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find iface clock, %d\n" , __func__, ret); ctrl->ahb_clk =NULL ;return ret; } - ctrl->link_clk =devm_clk_get (dev,"link_clk" ); + ctrl->link_clk =msm_clk_get (pdev,"link" );if (IS_ERR (ctrl->link_clk)) { ret =PTR_ERR (ctrl->link_clk); -pr_err ("%s: Can't find link_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find link clock, %d\n" , __func__, ret); ctrl->link_clk =NULL ;return ret; }/* need mdp core clock to receive irq */ - ctrl->mdp_core_clk =devm_clk_get (dev,"mdp_core_clk" ); + ctrl->mdp_core_clk =msm_clk_get (pdev,"mdp_core" );if (IS_ERR (ctrl->mdp_core_clk)) { ret =PTR_ERR (ctrl->mdp_core_clk); -pr_err ("%s: Can't find mdp_core_clk, %d\n" , __func__, ret); +pr_err ("%s: Can't find mdp_core clock, %d\n" , __func__, ret); ctrl->mdp_core_clk =NULL ;return ret; }Signature · 6 lines
2.13.6 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Signature · 5 lines
Sean Paul, Software Engineer, Google / Chromium OS _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
PATCH 3/4 drm/msm/hdmi: convert to msm_clk_get()
In reply to Rob ClarkWe already have, as a result of upstreaming the gpu bindings, msm_clk_get() which will try to get the clock both without and with a "_clk" suffix. Use this in HDMI code so we can drop the "_clk" suffix in bindings while maintaing backwards compatibility.
--- drivers/gpu/drm/msm/hdmi/hdmi.c | 10 +++++----- drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c | 4 +--- drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c | 3 +-- 5 files changed, 9 insertions(+), 12 deletions(-)
drivers/gpu/drm/msm/hdmi/hdmi.c +5 -5
@@ -208,7 +208,7 @@ static struct hdmi *msm_hdmi_init(struct platform_device *pdev)for (i =0 ; i < config->hpd_clk_cnt; i++) {struct clk *clk; - clk =devm_clk_get (&pdev->dev, config->hpd_clk_names[i]); + clk =msm_clk_get (pdev, config->hpd_clk_names[i]);if (IS_ERR (clk)) { ret =PTR_ERR (clk); dev_err(&pdev->dev, "failed to get hpd clk: %s (%d)\n",
@@ -228,7 +228,7 @@ static struct hdmi *msm_hdmi_init(struct platform_device *pdev)for (i =0 ; i < config->pwr_clk_cnt; i++) {struct clk *clk; - clk =devm_clk_get (&pdev->dev, config->pwr_clk_names[i]); + clk =msm_clk_get (pdev, config->pwr_clk_names[i]);if (IS_ERR (clk)) { ret =PTR_ERR (clk); dev_err(&pdev->dev, "failed to get pwr clk: %s (%d)\n",
@@ -361,7 +361,7 @@ static const char *hpd_reg_names_none[] = {};static struct hdmi_platform_config hdmi_tx_8660_config;static const char *hpd_reg_names_8960[] = {"core-vdda" ,"hdmi-mux" }; -static const char *hpd_clk_names_8960[] = {"core_clk" ,"master_iface_clk" ,"slave_iface_clk" }; +static const char *hpd_clk_names_8960[] = {"core" ,"master_iface" ,"slave_iface" };static struct hdmi_platform_config hdmi_tx_8960_config = {HDMI_CFG (hpd_reg,8960 ),
@@ -370,8 +370,8 @@ static struct hdmi_platform_config hdmi_tx_8960_config = {static const char *pwr_reg_names_8x74[] = {"core-vdda" ,"core-vcc" };static const char *hpd_reg_names_8x74[] = {"hpd-gdsc" ,"hpd-5v" }; -static const char *pwr_clk_names_8x74[] = {"extp_clk" ,"alt_iface_clk" }; -static const char *hpd_clk_names_8x74[] = {"iface_clk" ,"core_clk" ,"mdp_core_clk" }; +static const char *pwr_clk_names_8x74[] = {"extp" ,"alt_iface" }; +static const char *hpd_clk_names_8x74[] = {"iface" ,"core" ,"mdp_core" };static unsigned long hpd_clk_freq_8x74[] = {0 ,19200000 ,0 };static struct hdmi_platform_config hdmi_tx_8974_config = {
drivers/gpu/drm/msm/hdmi/hdmi_phy.c +1 -1
@@ -48,7 +48,7 @@ static int msm_hdmi_phy_resource_init(struct hdmi_phy *phy)for (i =0 ; i < cfg->num_clks; i++) {struct clk *clk; - clk =devm_clk_get (dev, cfg->clk_names[i]); + clk =msm_clk_get (phy->pdev, cfg->clk_names[i]);if (IS_ERR (clk)) { ret =PTR_ERR (clk); dev_err(dev, "failed to get phy clock: %s (%d)\n",
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c +1 -1
@@ -48,7 +48,7 @@ static const char * const hdmi_phy_8960_reg_names[] = { };static const char *const hdmi_phy_8960_clk_names[] = { -"slave_iface_clk" , +"slave_iface" , };const struct hdmi_phy_cfg msm_hdmi_phy_8960_cfg = {
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c +1 -3
@@ -758,9 +758,7 @@ static const char * const hdmi_phy_8996_reg_names[] = { };static const char *const hdmi_phy_8996_clk_names[] = { -"mmagic_iface_clk" , -"iface_clk" , -"ref_clk" , +"mmagic_iface" ,"iface" ,"ref" , };const struct hdmi_phy_cfg msm_hdmi_phy_8996_cfg = {
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c +1 -2
@@ -41,8 +41,7 @@ static const char * const hdmi_phy_8x74_reg_names[] = { };static const char *const hdmi_phy_8x74_clk_names[] = { -"iface_clk" , -"alt_iface_clk" +"iface" ,"alt_iface" };const struct hdmi_phy_cfg msm_hdmi_phy_8x74_cfg = {
Signature · 6 lines
2.13.6 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 3/4] drm/msm/hdmi: convert to msm_clk_get()
Quoted 6 lines · Rob Clark
We already have, as a result of upstreaming the gpu bindings,
msm_clk_get()which will try to get the clock both without and with a "_clk" suffix. Use this in HDMI code so we can drop the "_clk" suffix in bindings while maintaing backwards compatibility.Signed-off-by Rob Clark <[email protected]>
Quoted 112 lines
--- drivers/gpu/drm/msm/hdmi/hdmi.c | 10 +++++----- drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c | 4 +--- drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c | 3 +-- 5 files changed, 9 insertions(+), 12 deletions(-)drivers/gpu/drm/msm/hdmi/hdmi.c +5
-5@@ -208,7 +208,7 @@ static struct hdmi *msm_hdmi_init(struct platform_device *pdev)for (i =0 ; i < config->hpd_clk_cnt; i++) {struct clk *clk; - clk =devm_clk_get (&pdev->dev, config->hpd_clk_names[i]); + clk =msm_clk_get (pdev, config->hpd_clk_names[i]);if (IS_ERR (clk)) { ret =PTR_ERR (clk); dev_err(&pdev->dev, "failed to get hpd clk: %s (%d)\n",@@ -228,7 +228,7 @@ static struct hdmi *msm_hdmi_init(struct platform_device *pdev)for (i =0 ; i < config->pwr_clk_cnt; i++) {struct clk *clk; - clk =devm_clk_get (&pdev->dev, config->pwr_clk_names[i]); + clk =msm_clk_get (pdev, config->pwr_clk_names[i]);if (IS_ERR (clk)) { ret =PTR_ERR (clk); dev_err(&pdev->dev, "failed to get pwr clk: %s (%d)\n",@@ -361,7 +361,7 @@ static const char *hpd_reg_names_none[] = {};static struct hdmi_platform_config hdmi_tx_8660_config;static const char *hpd_reg_names_8960[] = {"core-vdda" ,"hdmi-mux" }; -static const char *hpd_clk_names_8960[] = {"core_clk" ,"master_iface_clk" ,"slave_iface_clk" }; +static const char *hpd_clk_names_8960[] = {"core" ,"master_iface" ,"slave_iface" };static struct hdmi_platform_config hdmi_tx_8960_config = {HDMI_CFG (hpd_reg,8960 ),@@ -370,8 +370,8 @@ static struct hdmi_platform_config hdmi_tx_8960_config = {static const char *pwr_reg_names_8x74[] = {"core-vdda" ,"core-vcc" };static const char *hpd_reg_names_8x74[] = {"hpd-gdsc" ,"hpd-5v" }; -static const char *pwr_clk_names_8x74[] = {"extp_clk" ,"alt_iface_clk" }; -static const char *hpd_clk_names_8x74[] = {"iface_clk" ,"core_clk" ,"mdp_core_clk" }; +static const char *pwr_clk_names_8x74[] = {"extp" ,"alt_iface" }; +static const char *hpd_clk_names_8x74[] = {"iface" ,"core" ,"mdp_core" };static unsigned long hpd_clk_freq_8x74[] = {0 ,19200000 ,0 };static struct hdmi_platform_config hdmi_tx_8974_config = {drivers/gpu/drm/msm/hdmi/hdmi_phy.c +1
-1@@ -48,7 +48,7 @@ static int msm_hdmi_phy_resource_init(struct hdmi_phy *phy)for (i =0 ; i < cfg->num_clks; i++) {struct clk *clk; - clk =devm_clk_get (dev, cfg->clk_names[i]); + clk =msm_clk_get (phy->pdev, cfg->clk_names[i]);if (IS_ERR (clk)) { ret =PTR_ERR (clk); dev_err(dev, "failed to get phy clock: %s (%d)\n",drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c +1
-1@@ -48,7 +48,7 @@ static const char * const hdmi_phy_8960_reg_names[] = { };static const char *const hdmi_phy_8960_clk_names[] = { -"slave_iface_clk" , +"slave_iface" , };const struct hdmi_phy_cfg msm_hdmi_phy_8960_cfg = {drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c +1
-3@@ -758,9 +758,7 @@ static const char * const hdmi_phy_8996_reg_names[] = { };static const char *const hdmi_phy_8996_clk_names[] = { -"mmagic_iface_clk" , -"iface_clk" , -"ref_clk" , +"mmagic_iface" ,"iface" ,"ref" , };const struct hdmi_phy_cfg msm_hdmi_phy_8996_cfg = {drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c +1
-2@@ -41,8 +41,7 @@ static const char * const hdmi_phy_8x74_reg_names[] = { };static const char *const hdmi_phy_8x74_clk_names[] = { -"iface_clk" , -"alt_iface_clk" +"iface" ,"alt_iface" };const struct hdmi_phy_cfg msm_hdmi_phy_8x74_cfg = {Signature · 6 lines
2.13.6 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Signature · 1 line
Sean Paul, Software Engineer, Google / Chromium OS
PATCH 4/4 dt-bindings: display: msm: update clk names
In reply to Rob ClarkNow that drm/msm is converted over to use msm_get_clk() everywhere (that matters), which handles falling back to looking for a clock with the "_clk" suffix, we can remove "_clk" from the documentation so that new dts files added do not include "_clk" in the name.
Previously we were doing this for the more recently upstreamed bindings but not for (nearly) all.
--- .../devicetree/bindings/display/msm/dsi.txt | 36 +++++++++++----------- .../devicetree/bindings/display/msm/edp.txt | 20 ++++++------ .../devicetree/bindings/display/msm/hdmi.txt | 8 ++--- .../devicetree/bindings/display/msm/mdp5.txt | 32 +++++++++---------- 4 files changed, 48 insertions(+), 48 deletions(-)
Documentation/devicetree/bindings/display/msm/dsi.txt +18 -18
@@ -13,16 +13,16 @@ Required properties: - power-domains: Should be <&mmcc MDSS_GDSC>. - clocks: Phandles to device clocks. - clock-names: the following clocks are required: - * "mdp_core_clk" - * "iface_clk" - * "bus_clk" - * "core_mmss_clk" - * "byte_clk" - * "pixel_clk" - * "core_clk" + * "mdp_core" + * "iface" + * "bus" + * "core_mmss" + * "byte" + * "pixel" + * "core" For DSIv2, we need an additional clock: - * "src_clk" -- assigned-clocks: Parents of "byte_clk" and "pixel_clk" for the given platform. + * "src" +- assigned-clocks: Parents of "byte" and "pixel" for the given platform. - assigned-clock-parents: The Byte clock and Pixel clock PLL outputs provided by a DSI PHY block. See [1] for details on clock bindings. - vdd-supply: phandle to vdd regulator device node
@@ -101,7 +101,7 @@ Required properties: - power-domains: Should be <&mmcc MDSS_GDSC>. - clocks: Phandles to device clocks. See [1] for details on clock bindings. - clock-names: the following clocks are required: - * "iface_clk" + * "iface" - vddio-supply: phandle to vdd-io regulator device node Optional properties:
@@ -123,13 +123,13 @@ Example: reg = <0xfd922800 0x200>; power-domains = <&mmcc MDSS_GDSC>; clock-names = - "bus_clk", - "byte_clk", - "core_clk", - "core_mmss_clk", - "iface_clk", - "mdp_core_clk", - "pixel_clk"; + "bus", + "byte", + "core", + "core_mmss", + "iface", + "mdp_core", + "pixel"; clocks = <&mmcc MDSS_AXI_CLK>, <&mmcc MDSS_BYTE0_CLK>,
@@ -207,7 +207,7 @@ Example: reg = <0xfd922a00 0xd4>, <0xfd922b00 0x2b0>, <0xfd922d80 0x7b>; - clock-names = "iface_clk"; + clock-names = "iface"; clocks = <&mmcc MDSS_AHB_CLK>; #clock-cells = <1>; vddio-supply = <&pma8084_l12>;
Documentation/devicetree/bindings/display/msm/edp.txt +10 -10
@@ -12,11 +12,11 @@ Required properties: - clocks: device clocks See Documentation/devicetree/bindings/clock/clock-bindings.txt for details. - clock-names: the following clocks are required: - * "core_clk" - * "iface_clk" - * "mdp_core_clk" - * "pixel_clk" - * "link_clk" + * "core" + * "iface" + * "mdp_core" + * "pixel" + * "link" - #clock-cells: The value should be 1. - vdda-supply: phandle to vdda regulator device node - lvl-vdd-supply: phandle to regulator device node which is used to supply power
@@ -41,11 +41,11 @@ Example: interrupts = <12 0>; power-domains = <&mmcc MDSS_GDSC>; clock-names = - "core_clk", - "pixel_clk", - "iface_clk", - "link_clk", - "mdp_core_clk"; + "core", + "pixel", + "iface", + "link", + "mdp_core"; clocks = <&mmcc MDSS_EDPAUX_CLK>, <&mmcc MDSS_EDPPIXEL_CLK>,
Documentation/devicetree/bindings/display/msm/hdmi.txt +4 -4
@@ -64,9 +64,9 @@ Example: interrupts = <GIC_SPI 79 0>; power-domains = <&mmcc MDSS_GDSC>; clock-names = - "core_clk", - "master_iface_clk", - "slave_iface_clk"; + "core", + "master_iface", + "slave_iface"; clocks = <&mmcc HDMI_APP_CLK>, <&mmcc HDMI_M_AHB_CLK>,
@@ -92,7 +92,7 @@ Example: <0x4a00500 0x100>; #phy-cells = <0>; power-domains = <&mmcc MDSS_GDSC>; - clock-names = "slave_iface_clk"; + clock-names = "slave_iface"; clocks = <&mmcc HDMI_S_AHB_CLK>; core-vdda-supply = <&pm8921_hdmi_mvs>; };
Documentation/devicetree/bindings/display/msm/mdp5.txt +16 -16
@@ -22,16 +22,16 @@ Required properties: Documentation/devicetree/bindings/power/power_domain.txt - clocks: device clocks. See ../clocks/clock-bindings.txt for details. - clock-names: the following clocks are required. - * "iface_clk" - * "bus_clk" - * "vsync_clk" + * "iface" + * "bus" + * "vsync" - #address-cells: number of address cells for the MDSS children. Should be 1. - #size-cells: Should be 1. - ranges: parent bus address space is the same as the child bus address space. Optional properties: - clock-names: the following clocks are optional: - * "lut_clk" + * "lut" MDP5: Required properties:
@@ -45,10 +45,10 @@ Required properties: through MDP block - clocks: device clocks. See ../clocks/clock-bindings.txt for details. - clock-names: the following clocks are required. -- * "bus_clk" -- * "iface_clk" -- * "core_clk" -- * "vsync_clk" +- * "bus" +- * "iface" +- * "core" +- * "vsync" - ports: contains the list of output ports from MDP. These connect to interfaces that are external to the MDP hardware, such as HDMI, DSI, EDP etc (LVDS is a special case since it is a part of the MDP block itself).
@@ -77,7 +77,7 @@ Required properties: Optional properties: - clock-names: the following clocks are optional: - * "lut_clk" + * "lut" Example:
@@ -95,9 +95,9 @@ Example: clocks = <&gcc GCC_MDSS_AHB_CLK>, <&gcc GCC_MDSS_AXI_CLK>, <&gcc GCC_MDSS_VSYNC_CLK>; - clock-names = "iface_clk", - "bus_clk", - "vsync_clk" + clock-names = "iface", + "bus", + "vsync" interrupts = <0 72 0>;
@@ -120,10 +120,10 @@ Example: <&gcc GCC_MDSS_AXI_CLK>, <&gcc GCC_MDSS_MDP_CLK>, <&gcc GCC_MDSS_VSYNC_CLK>; - clock-names = "iface_clk", - "bus_clk", - "core_clk", - "vsync_clk"; + clock-names = "iface", + "bus", + "core", + "vsync"; ports { #address-cells = <1>;
Signature · 6 lines
2.13.6 _______________________________________________ Freedreno mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/freedreno
Re: [PATCH 4/4] dt-bindings: display: msm: update clk names
Quoted 8 lines · Rob Clark
Now that drm/msm is converted over to use
msm_get_clk()everywhere (that matters), which handles falling back to looking for a clock with the "_clk" suffix, we can remove "_clk" from the documentation so that new dts files added do not include "_clk" in the name.Previously we were doing this for the more recently upstreamed bindings but not for (nearly) all.
Quoted 7 lines
Signed-off-by Rob Clark <[email protected]>--- .../devicetree/bindings/display/msm/dsi.txt | 36 +++++++++++----------- .../devicetree/bindings/display/msm/edp.txt | 20 ++++++------ .../devicetree/bindings/display/msm/hdmi.txt | 8 ++--- .../devicetree/bindings/display/msm/mdp5.txt | 32 +++++++++---------- 4 files changed, 48 insertions(+), 48 deletions(-)
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel