lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6007b76a.6021.19497b090d4.Coremail.andyshrk@163.com>
Date: Fri, 24 Jan 2025 17:41:58 +0800 (CST)
From: "Andy Yan" <andyshrk@....com>
To: "Jani Nikula" <jani.nikula@...ux.intel.com>
Cc: "Damon Ding" <damon.ding@...k-chips.com>, heiko@...ech.de,
	robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
	rfoss@...nel.org, vkoul@...nel.org, sebastian.reichel@...labora.com,
	cristian.ciocaltea@...labora.com, l.stach@...gutronix.de,
	dmitry.baryshkov@...aro.org, andy.yan@...k-chips.com,
	hjc@...k-chips.com, algea.cao@...k-chips.com,
	kever.yang@...k-chips.com, dri-devel@...ts.freedesktop.org,
	devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
	linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org,
	linux-phy@...ts.infradead.org
Subject: Re:Re: [PATCH v5 05/20] drm/rockchip: analogix_dp: Replace
 DRM_...() functions with drm_...() or dev_...()

Hi,

At 2025-01-23 20:27:50, "Jani Nikula" <jani.nikula@...ux.intel.com> wrote:
>On Wed, 22 Jan 2025, Damon Ding <damon.ding@...k-chips.com> wrote:
>> Hi Andy,
>>
>> On 2025/1/9 14:28, Andy Yan wrote:
>>> 
>>> Hi Damon,
>>> 
>>> At 2025-01-09 11:27:10, "Damon Ding" <damon.ding@...k-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() after
>>>> rockchip_dp_bind() is called, and replace DRM_DEV_ERROR() with dev_err()
>>>> before calling it.
>>>>
>>>> Signed-off-by: Damon Ding <damon.ding@...k-chips.com>
>>>> ---
>>>> .../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 546d13f19f9b..8114c3238609 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->drm_dev, "failed to enable pclk %d\n", ret);
>>> 
>>>                 You just need to pass dp here:
>>>                  drm_err(dp, "failed to enable pclk %d\n", ret);
>>> 
>>
>> I see. It is really better to pass dp instead of dp->drm_dev. I will 
>> update all relevant logs in the next version.
>
>No, this was bad review feedback. You're absolutely expected to pass
>struct drm_device to drm_err() and friends.

No, I didn't see how the drm_err macro and friends restrict/expect the passing of only the drm_device pointer.
As for the platform device driver itself,  we hope that when an error occurs, the log clearly indicates
the specific device that the log corresponds to, rather than a generic drm_device.
The original code of this driver used the macro related to DRM_DEV_ERROR to do just that.
And similar patches have been merged before

Please also refer to the discussion here.[0]
[0]https://lore.kernel.org/linux-rockchip/20250109032725.1102465-1-damon.ding@rock-chips.com/T/#m54bd842be660031773834cedea6c73a5033ca973



>
>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->drm_dev, "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->drm_dev, "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->drm_dev, "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->drm_dev, "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->drm_dev, "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->drm_dev, "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");
>>>> +		dev_err(dev, "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");
>>>> +		dev_err(dev, "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");
>>>> +		dev_err(dev, "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");
>>>> +		dev_err(dev, "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(drm_dev, "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(drm_dev, "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(drm_dev, "failed to create drm encoder\n");
>>>> 		return ret;
>>>> 	}
>>>>
>>>> -- 
>>>> 2.34.1
>>>>
>>
>> Best regards,
>> Damon
>
>-- 
>Jani Nikula, Intel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ