Message ID | 20240522-fd-hdmi-hpd-v2-10-c30bdb7c5c7e@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/msm/hdmi: rework and fix the HPD even generation | expand |
On 5/22/2024 3:51 AM, Dmitry Baryshkov wrote: > As these clocks are now used in the runtime PM callbacks, they have no > connection to 'HPD'. Rename corresponding fields to follow clocks > purpose, to power up the HDMI controller. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com> > --- > drivers/gpu/drm/msm/hdmi/hdmi.c | 26 +++++++++++++------------- > drivers/gpu/drm/msm/hdmi/hdmi.h | 6 +++--- > 2 files changed, 16 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdmi.c > index cc671baad87b..c39a1f3a7505 100644 > --- a/drivers/gpu/drm/msm/hdmi/hdmi.c > +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c > @@ -228,19 +228,19 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi, > .item ## _cnt = ARRAY_SIZE(item ## _names_ ## entry) > > static const char *pwr_reg_names_8960[] = {"core-vdda"}; > -static const char *hpd_clk_names_8960[] = {"core", "master_iface", "slave_iface"}; > +static const char *pwr_clk_names_8960[] = {"core", "master_iface", "slave_iface"}; > > static const struct hdmi_platform_config hdmi_tx_8960_config = { > HDMI_CFG(pwr_reg, 8960), > - HDMI_CFG(hpd_clk, 8960), > + HDMI_CFG(pwr_clk, 8960), > }; > > static const char *pwr_reg_names_8x74[] = {"core-vdda", "core-vcc"}; > -static const char *hpd_clk_names_8x74[] = {"iface", "core", "mdp_core", "alt_iface"}; > +static const char *pwr_clk_names_8x74[] = {"iface", "core", "mdp_core", "alt_iface"}; > > static const struct hdmi_platform_config hdmi_tx_8974_config = { > HDMI_CFG(pwr_reg, 8x74), > - HDMI_CFG(hpd_clk, 8x74), > + HDMI_CFG(pwr_clk, 8x74), > }; > > /* > @@ -449,17 +449,17 @@ static int msm_hdmi_dev_probe(struct platform_device *pdev) > if (ret) > return dev_err_probe(dev, ret, "failed to get pwr regulators\n"); > > - hdmi->hpd_clks = devm_kcalloc(&pdev->dev, > - config->hpd_clk_cnt, > - sizeof(hdmi->hpd_clks[0]), > + hdmi->pwr_clks = devm_kcalloc(&pdev->dev, > + config->pwr_clk_cnt, > + sizeof(hdmi->pwr_clks[0]), > GFP_KERNEL); > - if (!hdmi->hpd_clks) > + if (!hdmi->pwr_clks) > return -ENOMEM; > > - for (i = 0; i < config->hpd_clk_cnt; i++) > - hdmi->hpd_clks[i].id = config->hpd_clk_names[i]; > + for (i = 0; i < config->pwr_clk_cnt; i++) > + hdmi->pwr_clks[i].id = config->pwr_clk_names[i]; > > - ret = devm_clk_bulk_get(&pdev->dev, config->hpd_clk_cnt, hdmi->hpd_clks); > + ret = devm_clk_bulk_get(&pdev->dev, config->pwr_clk_cnt, hdmi->pwr_clks); > if (ret) > return ret; > > @@ -517,7 +517,7 @@ static int msm_hdmi_runtime_suspend(struct device *dev) > struct hdmi *hdmi = dev_get_drvdata(dev); > const struct hdmi_platform_config *config = hdmi->config; > > - clk_bulk_disable_unprepare(config->hpd_clk_cnt, hdmi->hpd_clks); > + clk_bulk_disable_unprepare(config->pwr_clk_cnt, hdmi->pwr_clks); > > pinctrl_pm_select_sleep_state(dev); > > @@ -540,7 +540,7 @@ static int msm_hdmi_runtime_resume(struct device *dev) > if (ret) > goto fail; > > - ret = clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); > + ret = clk_bulk_prepare_enable(config->pwr_clk_cnt, hdmi->pwr_clks); > if (ret) > goto fail; > > diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdmi.h > index ee5463eb41b6..1e346e697f8e 100644 > --- a/drivers/gpu/drm/msm/hdmi/hdmi.h > +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h > @@ -49,7 +49,7 @@ struct hdmi { > phys_addr_t mmio_phy_addr; > > struct regulator_bulk_data *pwr_regs; > - struct clk_bulk_data *hpd_clks; > + struct clk_bulk_data *pwr_clks; > struct clk *extp_clk; > > struct gpio_desc *hpd_gpiod; > @@ -90,8 +90,8 @@ struct hdmi_platform_config { > int pwr_reg_cnt; > > /* clks that need to be on for hpd: */ > - const char **hpd_clk_names; > - int hpd_clk_cnt; > + const char **pwr_clk_names; > + int pwr_clk_cnt; > }; > > struct hdmi_bridge { > > -- > 2.39.2 >
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdmi.c index cc671baad87b..c39a1f3a7505 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -228,19 +228,19 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi, .item ## _cnt = ARRAY_SIZE(item ## _names_ ## entry) static const char *pwr_reg_names_8960[] = {"core-vdda"}; -static const char *hpd_clk_names_8960[] = {"core", "master_iface", "slave_iface"}; +static const char *pwr_clk_names_8960[] = {"core", "master_iface", "slave_iface"}; static const struct hdmi_platform_config hdmi_tx_8960_config = { HDMI_CFG(pwr_reg, 8960), - HDMI_CFG(hpd_clk, 8960), + HDMI_CFG(pwr_clk, 8960), }; static const char *pwr_reg_names_8x74[] = {"core-vdda", "core-vcc"}; -static const char *hpd_clk_names_8x74[] = {"iface", "core", "mdp_core", "alt_iface"}; +static const char *pwr_clk_names_8x74[] = {"iface", "core", "mdp_core", "alt_iface"}; static const struct hdmi_platform_config hdmi_tx_8974_config = { HDMI_CFG(pwr_reg, 8x74), - HDMI_CFG(hpd_clk, 8x74), + HDMI_CFG(pwr_clk, 8x74), }; /* @@ -449,17 +449,17 @@ static int msm_hdmi_dev_probe(struct platform_device *pdev) if (ret) return dev_err_probe(dev, ret, "failed to get pwr regulators\n"); - hdmi->hpd_clks = devm_kcalloc(&pdev->dev, - config->hpd_clk_cnt, - sizeof(hdmi->hpd_clks[0]), + hdmi->pwr_clks = devm_kcalloc(&pdev->dev, + config->pwr_clk_cnt, + sizeof(hdmi->pwr_clks[0]), GFP_KERNEL); - if (!hdmi->hpd_clks) + if (!hdmi->pwr_clks) return -ENOMEM; - for (i = 0; i < config->hpd_clk_cnt; i++) - hdmi->hpd_clks[i].id = config->hpd_clk_names[i]; + for (i = 0; i < config->pwr_clk_cnt; i++) + hdmi->pwr_clks[i].id = config->pwr_clk_names[i]; - ret = devm_clk_bulk_get(&pdev->dev, config->hpd_clk_cnt, hdmi->hpd_clks); + ret = devm_clk_bulk_get(&pdev->dev, config->pwr_clk_cnt, hdmi->pwr_clks); if (ret) return ret; @@ -517,7 +517,7 @@ static int msm_hdmi_runtime_suspend(struct device *dev) struct hdmi *hdmi = dev_get_drvdata(dev); const struct hdmi_platform_config *config = hdmi->config; - clk_bulk_disable_unprepare(config->hpd_clk_cnt, hdmi->hpd_clks); + clk_bulk_disable_unprepare(config->pwr_clk_cnt, hdmi->pwr_clks); pinctrl_pm_select_sleep_state(dev); @@ -540,7 +540,7 @@ static int msm_hdmi_runtime_resume(struct device *dev) if (ret) goto fail; - ret = clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); + ret = clk_bulk_prepare_enable(config->pwr_clk_cnt, hdmi->pwr_clks); if (ret) goto fail; diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdmi.h index ee5463eb41b6..1e346e697f8e 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -49,7 +49,7 @@ struct hdmi { phys_addr_t mmio_phy_addr; struct regulator_bulk_data *pwr_regs; - struct clk_bulk_data *hpd_clks; + struct clk_bulk_data *pwr_clks; struct clk *extp_clk; struct gpio_desc *hpd_gpiod; @@ -90,8 +90,8 @@ struct hdmi_platform_config { int pwr_reg_cnt; /* clks that need to be on for hpd: */ - const char **hpd_clk_names; - int hpd_clk_cnt; + const char **pwr_clk_names; + int pwr_clk_cnt; }; struct hdmi_bridge {
As these clocks are now used in the runtime PM callbacks, they have no connection to 'HPD'. Rename corresponding fields to follow clocks purpose, to power up the HDMI controller. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- drivers/gpu/drm/msm/hdmi/hdmi.c | 26 +++++++++++++------------- drivers/gpu/drm/msm/hdmi/hdmi.h | 6 +++--- 2 files changed, 16 insertions(+), 16 deletions(-)