[PATCH 06/13] drm/dp: Modify drm_edp_probe_state
Murthy, Arun R
arun.r.murthy at intel.com
Fri Jun 20 04:34:52 UTC 2025
> -----Original Message-----
> From: Kandpal, Suraj <suraj.kandpal at intel.com>
> Sent: Monday, April 14, 2025 9:47 AM
> To: nouveau at lists.freedesktop.org; dri-devel at lists.freedesktop.org; intel-
> xe at lists.freedesktop.org; intel-gfx at lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal at intel.com>; Murthy, Arun R
> <arun.r.murthy at intel.com>; Kandpal, Suraj <suraj.kandpal at intel.com>
> Subject: [PATCH 06/13] drm/dp: Modify drm_edp_probe_state
>
> Modify drm_edp_probe_state to read current level from
> DP_EDP_PANEL_TARGET_LUMINANCE_VALUE. We divide it by
> 1000 since the value in this register is in millinits.
>
> Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> ---
> drivers/gpu/drm/display/drm_dp_helper.c | 35 ++++++++++++++++++-------
> 1 file changed, 25 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/display/drm_dp_helper.c
> b/drivers/gpu/drm/display/drm_dp_helper.c
> index c58973d8c5f0..bb1242a1bf6b 100644
> --- a/drivers/gpu/drm/display/drm_dp_helper.c
> +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> @@ -4185,7 +4185,7 @@ drm_edp_backlight_probe_state(struct drm_dp_aux
> *aux, struct drm_edp_backlight_i
> u8 *current_mode)
> {
> int ret;
> - u8 buf[2];
> + u8 buf[3];
> u8 mode_reg;
>
> ret = drm_dp_dpcd_read_byte(aux,
> DP_EDP_BACKLIGHT_MODE_SET_REGISTER, &mode_reg); @@ -4202,17
> +4202,32 @@ drm_edp_backlight_probe_state(struct drm_dp_aux *aux, struct
> drm_edp_backlight_i
> if (*current_mode == DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD) {
> int size = 1 + bl->lsb_reg_used;
>
> - ret = drm_dp_dpcd_read_data(aux,
> DP_EDP_BACKLIGHT_BRIGHTNESS_MSB, buf, size);
> - if (ret < 0) {
> - drm_dbg_kms(aux->drm_dev, "%s: Failed to read
> backlight level: %d\n",
> - aux->name, ret);
> - return ret;
> + if (bl->luminance_set) {
> + ret = drm_dp_dpcd_read_data(aux,
> DP_EDP_PANEL_TARGET_LUMINANCE_VALUE,
> + buf, sizeof(buf));
> + if (ret < 0) {
> + drm_dbg_kms(aux->drm_dev,
> + "%s: Failed to read backlight level:
> %d\n",
> + aux->name, ret);
> + return ret;
> }
>
> - if (bl->lsb_reg_used)
> - return (buf[0] << 8) | buf[1];
> - else
> - return buf[0];
> + return (buf[0] | buf[1] << 8 | buf[2] << 16) / 1000;
Can a comment be added here on the unit?
Upon adding the above comment
Reviewed-by: Arun R Murthy <arun.r.murthy at intel.com>
Thanks and Regards,
Arun R Murthy
--------------------
> + } else {
> + ret = drm_dp_dpcd_read_data(aux,
> DP_EDP_BACKLIGHT_BRIGHTNESS_MSB,
> + buf, size);
> + if (ret < 0) {
> + drm_dbg_kms(aux->drm_dev,
> + "%s: Failed to read backlight level:
> %d\n",
> + aux->name, ret);
> + return ret;
> + }
> +
> + if (bl->lsb_reg_used)
> + return (buf[0] << 8) | buf[1];
> + else
> + return buf[0];
> + }
> }
>
> /*
> --
> 2.34.1
More information about the Nouveau
mailing list