Message ID | 20250123100747.1841357-2-damon.ding@rock-chips.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add eDP support for RK3588 | expand |
On Thu, 23 Jan 2025, Damon Ding <damon.ding@rock-chips.com> wrote: > According to the comments in include/drm/drm_print.h, the DRM_...() > functions are deprecated in favor of drm_...() or dev_...() functions. > > Use drm_err()/drm_dbg_core()/drm_dbg_kms() instead of > DRM_DEV_ERROR()/DRM_ERROR()/DRM_DEV_DEBUG()/DRM_DEBUG_KMS(). > > Signed-off-by: Damon Ding <damon.ding@rock-chips.com> > > --- > > Changes in v6: > - Use drm_...() uniformly rather than mixing drm_...() and dev_..() > - Pass 'dp' in drm_...() rather than 'dp->drm_dev' > --- > .../gpu/drm/rockchip/analogix_dp-rockchip.c | 29 ++++++++++--------- > 1 file changed, 15 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > index 0844175c37c5..dd33d7540e4b 100644 > --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > @@ -100,13 +100,13 @@ static int rockchip_dp_poweron(struct analogix_dp_plat_data *plat_data) > > ret = clk_prepare_enable(dp->pclk); > if (ret < 0) { > - DRM_DEV_ERROR(dp->dev, "failed to enable pclk %d\n", ret); > + drm_err(dp, "failed to enable pclk %d\n", ret); Please don't do this. You're supposed to pass struct drm_device to drm_err() and friends. Not some random struct pointer that just happens to have a ->dev member. The drm_* macros may change at any time to actually expect the correct type. BR, Jani. > return ret; > } > > ret = rockchip_dp_pre_init(dp); > if (ret < 0) { > - DRM_DEV_ERROR(dp->dev, "failed to dp pre init %d\n", ret); > + drm_err(dp, "failed to dp pre init %d\n", ret); > clk_disable_unprepare(dp->pclk); > return ret; > } > @@ -126,12 +126,13 @@ static int rockchip_dp_powerdown(struct analogix_dp_plat_data *plat_data) > static int rockchip_dp_get_modes(struct analogix_dp_plat_data *plat_data, > struct drm_connector *connector) > { > + struct rockchip_dp_device *dp = pdata_encoder_to_dp(plat_data); > struct drm_display_info *di = &connector->display_info; > /* VOP couldn't output YUV video format for eDP rightly */ > u32 mask = DRM_COLOR_FORMAT_YCBCR444 | DRM_COLOR_FORMAT_YCBCR422; > > if ((di->color_formats & mask)) { > - DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n"); > + drm_dbg_kms(dp, "Swapping display color format from YUV to RGB\n"); > di->color_formats &= ~mask; > di->color_formats |= DRM_COLOR_FORMAT_RGB444; > di->bpc = 8; > @@ -201,17 +202,17 @@ static void rockchip_dp_drm_encoder_enable(struct drm_encoder *encoder, > else > val = dp->data->lcdsel_big; > > - DRM_DEV_DEBUG(dp->dev, "vop %s output to dp\n", (ret) ? "LIT" : "BIG"); > + drm_dbg_core(dp, "vop %s output to dp\n", (ret) ? "LIT" : "BIG"); > > ret = clk_prepare_enable(dp->grfclk); > if (ret < 0) { > - DRM_DEV_ERROR(dp->dev, "failed to enable grfclk %d\n", ret); > + drm_err(dp, "failed to enable grfclk %d\n", ret); > return; > } > > ret = regmap_write(dp->grf, dp->data->lcdsel_grf_reg, val); > if (ret != 0) > - DRM_DEV_ERROR(dp->dev, "Could not write to GRF: %d\n", ret); > + drm_err(dp, "Could not write to GRF: %d\n", ret); > > clk_disable_unprepare(dp->grfclk); > } > @@ -236,7 +237,7 @@ static void rockchip_dp_drm_encoder_disable(struct drm_encoder *encoder, > > ret = rockchip_drm_wait_vact_end(crtc, PSR_WAIT_LINE_FLAG_TIMEOUT_MS); > if (ret) > - DRM_DEV_ERROR(dp->dev, "line flag irq timed out\n"); > + drm_err(dp, "line flag irq timed out\n"); > } > > static int > @@ -277,7 +278,7 @@ static int rockchip_dp_of_probe(struct rockchip_dp_device *dp) > > dp->grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf"); > if (IS_ERR(dp->grf)) { > - DRM_DEV_ERROR(dev, "failed to get rockchip,grf property\n"); > + drm_err(dp, "failed to get rockchip,grf property\n"); > return PTR_ERR(dp->grf); > } > > @@ -287,19 +288,19 @@ static int rockchip_dp_of_probe(struct rockchip_dp_device *dp) > } else if (PTR_ERR(dp->grfclk) == -EPROBE_DEFER) { > return -EPROBE_DEFER; > } else if (IS_ERR(dp->grfclk)) { > - DRM_DEV_ERROR(dev, "failed to get grf clock\n"); > + drm_err(dp, "failed to get grf clock\n"); > return PTR_ERR(dp->grfclk); > } > > dp->pclk = devm_clk_get(dev, "pclk"); > if (IS_ERR(dp->pclk)) { > - DRM_DEV_ERROR(dev, "failed to get pclk property\n"); > + drm_err(dp, "failed to get pclk property\n"); > return PTR_ERR(dp->pclk); > } > > dp->rst = devm_reset_control_get(dev, "dp"); > if (IS_ERR(dp->rst)) { > - DRM_DEV_ERROR(dev, "failed to get dp reset control\n"); > + drm_err(dp, "failed to get dp reset control\n"); > return PTR_ERR(dp->rst); > } > > @@ -315,12 +316,12 @@ static int rockchip_dp_drm_create_encoder(struct rockchip_dp_device *dp) > > encoder->possible_crtcs = drm_of_find_possible_crtcs(drm_dev, > dev->of_node); > - DRM_DEBUG_KMS("possible_crtcs = 0x%x\n", encoder->possible_crtcs); > + drm_dbg_kms(dp, "possible_crtcs = 0x%x\n", encoder->possible_crtcs); > > ret = drm_simple_encoder_init(drm_dev, encoder, > DRM_MODE_ENCODER_TMDS); > if (ret) { > - DRM_ERROR("failed to initialize encoder with drm\n"); > + drm_err(dp, "failed to initialize encoder with drm\n"); > return ret; > } > > @@ -340,7 +341,7 @@ static int rockchip_dp_bind(struct device *dev, struct device *master, > > ret = rockchip_dp_drm_create_encoder(dp); > if (ret) { > - DRM_ERROR("failed to create drm encoder\n"); > + drm_err(dp, "failed to create drm encoder\n"); > return ret; > }
On Thu, 23 Jan 2025, Jani Nikula <jani.nikula@linux.intel.com> wrote: > On Thu, 23 Jan 2025, Damon Ding <damon.ding@rock-chips.com> wrote: >> According to the comments in include/drm/drm_print.h, the DRM_...() >> functions are deprecated in favor of drm_...() or dev_...() functions. >> >> Use drm_err()/drm_dbg_core()/drm_dbg_kms() instead of >> DRM_DEV_ERROR()/DRM_ERROR()/DRM_DEV_DEBUG()/DRM_DEBUG_KMS(). >> >> Signed-off-by: Damon Ding <damon.ding@rock-chips.com> >> >> --- >> >> Changes in v6: >> - Use drm_...() uniformly rather than mixing drm_...() and dev_..() >> - Pass 'dp' in drm_...() rather than 'dp->drm_dev' >> --- >> .../gpu/drm/rockchip/analogix_dp-rockchip.c | 29 ++++++++++--------- >> 1 file changed, 15 insertions(+), 14 deletions(-) >> >> diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c >> index 0844175c37c5..dd33d7540e4b 100644 >> --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c >> +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c >> @@ -100,13 +100,13 @@ static int rockchip_dp_poweron(struct analogix_dp_plat_data *plat_data) >> >> ret = clk_prepare_enable(dp->pclk); >> if (ret < 0) { >> - DRM_DEV_ERROR(dp->dev, "failed to enable pclk %d\n", ret); >> + drm_err(dp, "failed to enable pclk %d\n", ret); > > Please don't do this. > > You're supposed to pass struct drm_device to drm_err() and friends. Not > some random struct pointer that just happens to have a ->dev member. > > The drm_* macros may change at any time to actually expect the correct > type. And with [1] I'm hoping "at any time" becomes "real soon now". BR, Jani. [1] https://lore.kernel.org/all/cover.1737644530.git.jani.nikula@intel.com
diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c index 0844175c37c5..dd33d7540e4b 100644 --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c @@ -100,13 +100,13 @@ static int rockchip_dp_poweron(struct analogix_dp_plat_data *plat_data) ret = clk_prepare_enable(dp->pclk); if (ret < 0) { - DRM_DEV_ERROR(dp->dev, "failed to enable pclk %d\n", ret); + drm_err(dp, "failed to enable pclk %d\n", ret); return ret; } ret = rockchip_dp_pre_init(dp); if (ret < 0) { - DRM_DEV_ERROR(dp->dev, "failed to dp pre init %d\n", ret); + drm_err(dp, "failed to dp pre init %d\n", ret); clk_disable_unprepare(dp->pclk); return ret; } @@ -126,12 +126,13 @@ static int rockchip_dp_powerdown(struct analogix_dp_plat_data *plat_data) static int rockchip_dp_get_modes(struct analogix_dp_plat_data *plat_data, struct drm_connector *connector) { + struct rockchip_dp_device *dp = pdata_encoder_to_dp(plat_data); struct drm_display_info *di = &connector->display_info; /* VOP couldn't output YUV video format for eDP rightly */ u32 mask = DRM_COLOR_FORMAT_YCBCR444 | DRM_COLOR_FORMAT_YCBCR422; if ((di->color_formats & mask)) { - DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n"); + drm_dbg_kms(dp, "Swapping display color format from YUV to RGB\n"); di->color_formats &= ~mask; di->color_formats |= DRM_COLOR_FORMAT_RGB444; di->bpc = 8; @@ -201,17 +202,17 @@ static void rockchip_dp_drm_encoder_enable(struct drm_encoder *encoder, else val = dp->data->lcdsel_big; - DRM_DEV_DEBUG(dp->dev, "vop %s output to dp\n", (ret) ? "LIT" : "BIG"); + drm_dbg_core(dp, "vop %s output to dp\n", (ret) ? "LIT" : "BIG"); ret = clk_prepare_enable(dp->grfclk); if (ret < 0) { - DRM_DEV_ERROR(dp->dev, "failed to enable grfclk %d\n", ret); + drm_err(dp, "failed to enable grfclk %d\n", ret); return; } ret = regmap_write(dp->grf, dp->data->lcdsel_grf_reg, val); if (ret != 0) - DRM_DEV_ERROR(dp->dev, "Could not write to GRF: %d\n", ret); + drm_err(dp, "Could not write to GRF: %d\n", ret); clk_disable_unprepare(dp->grfclk); } @@ -236,7 +237,7 @@ static void rockchip_dp_drm_encoder_disable(struct drm_encoder *encoder, ret = rockchip_drm_wait_vact_end(crtc, PSR_WAIT_LINE_FLAG_TIMEOUT_MS); if (ret) - DRM_DEV_ERROR(dp->dev, "line flag irq timed out\n"); + drm_err(dp, "line flag irq timed out\n"); } static int @@ -277,7 +278,7 @@ static int rockchip_dp_of_probe(struct rockchip_dp_device *dp) dp->grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf"); if (IS_ERR(dp->grf)) { - DRM_DEV_ERROR(dev, "failed to get rockchip,grf property\n"); + drm_err(dp, "failed to get rockchip,grf property\n"); return PTR_ERR(dp->grf); } @@ -287,19 +288,19 @@ static int rockchip_dp_of_probe(struct rockchip_dp_device *dp) } else if (PTR_ERR(dp->grfclk) == -EPROBE_DEFER) { return -EPROBE_DEFER; } else if (IS_ERR(dp->grfclk)) { - DRM_DEV_ERROR(dev, "failed to get grf clock\n"); + drm_err(dp, "failed to get grf clock\n"); return PTR_ERR(dp->grfclk); } dp->pclk = devm_clk_get(dev, "pclk"); if (IS_ERR(dp->pclk)) { - DRM_DEV_ERROR(dev, "failed to get pclk property\n"); + drm_err(dp, "failed to get pclk property\n"); return PTR_ERR(dp->pclk); } dp->rst = devm_reset_control_get(dev, "dp"); if (IS_ERR(dp->rst)) { - DRM_DEV_ERROR(dev, "failed to get dp reset control\n"); + drm_err(dp, "failed to get dp reset control\n"); return PTR_ERR(dp->rst); } @@ -315,12 +316,12 @@ static int rockchip_dp_drm_create_encoder(struct rockchip_dp_device *dp) encoder->possible_crtcs = drm_of_find_possible_crtcs(drm_dev, dev->of_node); - DRM_DEBUG_KMS("possible_crtcs = 0x%x\n", encoder->possible_crtcs); + drm_dbg_kms(dp, "possible_crtcs = 0x%x\n", encoder->possible_crtcs); ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_TMDS); if (ret) { - DRM_ERROR("failed to initialize encoder with drm\n"); + drm_err(dp, "failed to initialize encoder with drm\n"); return ret; } @@ -340,7 +341,7 @@ static int rockchip_dp_bind(struct device *dev, struct device *master, ret = rockchip_dp_drm_create_encoder(dp); if (ret) { - DRM_ERROR("failed to create drm encoder\n"); + drm_err(dp, "failed to create drm encoder\n"); return ret; }
According to the comments in include/drm/drm_print.h, the DRM_...() functions are deprecated in favor of drm_...() or dev_...() functions. Use drm_err()/drm_dbg_core()/drm_dbg_kms() instead of DRM_DEV_ERROR()/DRM_ERROR()/DRM_DEV_DEBUG()/DRM_DEBUG_KMS(). Signed-off-by: Damon Ding <damon.ding@rock-chips.com> --- Changes in v6: - Use drm_...() uniformly rather than mixing drm_...() and dev_..() - Pass 'dp' in drm_...() rather than 'dp->drm_dev' --- .../gpu/drm/rockchip/analogix_dp-rockchip.c | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-)