From: Jani Nikula <jani.nikula@linux.intel.com>
To: Lee Shawn C <shawn.c.lee@intel.com>, intel-gfx@lists.freedesktop.org
Cc: Lee Shawn C <shawn.c.lee@intel.com>,
Ville Syrjala <ville.syrjala@linux.intel.com>,
Vandita Kulkarni <vandita.kulkarni@intel.com>,
Cooper Chiou <cooper.chiou@intel.com>,
William Tseng <william.tseng@intel.com>
Subject: Re: [Intel-gfx] [PATCH] drm/i915/dsi: Retrieve max brightness level from VBT
Date: Tue, 24 Aug 2021 17:33:48 +0300 [thread overview]
Message-ID: <87o89mgbeb.fsf@intel.com> (raw)
In-Reply-To: <20210824140042.3083-1-shawn.c.lee@intel.com>
On Tue, 24 Aug 2021, Lee Shawn C <shawn.c.lee@intel.com> wrote:
> So far, DCS backlight driver hardcode (0xFF) for max brightness level.
> MIPI DCS spec allow max 0xFFFF for set_display_brightness (51h) command.
> And VBT brightness precision bits can support 8 ~ 16 bits.
>
> We should set correct precision bits in VBT that meet panel's request.
> Driver can refer to this setting then configure max brightness level
> in DCS backlight driver properly.
>
> v2: modify variable name brightness_precision_bits instead of
> max_brightness_level.
>
> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
> Cc: Cooper Chiou <cooper.chiou@intel.com>
> Cc: William Tseng <william.tseng@intel.com>
> Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_bios.c | 3 +++
> drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c | 8 ++++++--
> drivers/gpu/drm/i915/i915_drv.h | 1 +
> 3 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index e86e6ed2d3bf..ccaf0a3100f7 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -483,6 +483,9 @@ parse_lfp_backlight(struct drm_i915_private *i915,
> level = 255;
> }
> i915->vbt.backlight.min_brightness = min_level;
> +
> + i915->vbt.backlight.brightness_precision_bits =
> + backlight_data->brightness_precision_bits[panel_type];
> } else {
> level = backlight_data->level[panel_type];
> i915->vbt.backlight.min_brightness = entry->min_brightness;
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> index 584c14c4cbd0..21ab9e1acb57 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> @@ -147,10 +147,14 @@ static void dcs_enable_backlight(const struct intel_crtc_state *crtc_state,
> static int dcs_setup_backlight(struct intel_connector *connector,
> enum pipe unused)
> {
> + struct drm_device *dev = connector->base.dev;
> + struct drm_i915_private *dev_priv = to_i915(dev);
> struct intel_panel *panel = &connector->panel;
>
> - panel->backlight.max = PANEL_PWM_MAX_VALUE;
> - panel->backlight.level = PANEL_PWM_MAX_VALUE;
> + panel->backlight.max = (dev_priv->vbt.backlight.brightness_precision_bits > 8) \
> + ? (1 << dev_priv->vbt.backlight.brightness_precision_bits) - 1 \
> + : PANEL_PWM_MAX_VALUE;
> + panel->backlight.level = panel->backlight.max;
If the precision is < 8, why would max be 0xff? Use GENMASK() perhaps?
BR,
Jani.
>
> return 0;
> }
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 005b1cec7007..1b42e39a7cd4 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -706,6 +706,7 @@ struct intel_vbt_data {
>
> struct {
> u16 pwm_freq_hz;
> + u16 brightness_precision_bits;
> bool present;
> bool active_low_pwm;
> u8 min_brightness; /* min_brightness/255 of max */
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2021-08-24 14:34 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-12 15:42 [Intel-gfx] [v4 0/7] MIPI DSI driver enhancements Lee Shawn C
2021-08-12 15:42 ` [Intel-gfx] [v4 1/7] drm/i915/dsi: send correct gpio_number on gen11 platform Lee Shawn C
2021-08-12 15:42 ` [Intel-gfx] [v4 2/7] drm/i915/jsl: program DSI panel GPIOs Lee Shawn C
2021-08-23 12:06 ` Jani Nikula
2021-08-12 15:42 ` [Intel-gfx] [v4 3/7] drm/i915/dsi: wait for header and payload credit available Lee Shawn C
2021-08-26 5:54 ` Kulkarni, Vandita
2021-08-12 15:42 ` [Intel-gfx] [v4 4/7] drm/i915/dsi: refine send MIPI DCS command sequence Lee Shawn C
2021-08-23 9:45 ` Kulkarni, Vandita
2021-08-12 15:42 ` [Intel-gfx] [v4 5/7] drm/i915: Get proper min cdclk if vDSC enabled Lee Shawn C
2021-08-23 12:19 ` Kulkarni, Vandita
2021-08-12 15:42 ` [Intel-gfx] [v4 6/7] drm/i915/dsi: Retrieve max brightness level from VBT Lee Shawn C
2021-08-23 8:46 ` Kulkarni, Vandita
2021-08-23 9:03 ` Lee, Shawn C
2021-08-23 12:10 ` Kulkarni, Vandita
2021-08-24 14:00 ` [Intel-gfx] [PATCH] " Lee Shawn C
2021-08-24 14:33 ` Jani Nikula [this message]
2021-08-24 15:53 ` Lee, Shawn C
2021-08-12 15:42 ` [Intel-gfx] [v4 7/7] drm/i915/dsi: Send proper brightness value via MIPI DCS command Lee Shawn C
2021-08-12 23:22 ` kernel test robot
2021-08-12 23:22 ` kernel test robot
2021-08-13 2:46 ` [Intel-gfx] [v4] " Lee Shawn C
2021-08-18 11:10 ` Jani Nikula
2021-08-18 14:58 ` Lee, Shawn C
2021-08-19 11:16 ` [Intel-gfx] [v4] drm/i915/dsi: Read/write " Lee Shawn C
2021-08-12 20:56 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for MIPI DSI driver enhancements (rev5) Patchwork
2021-08-12 20:57 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-08-12 21:26 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-08-13 2:29 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-08-13 2:56 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for MIPI DSI driver enhancements (rev6) Patchwork
2021-08-13 2:58 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-08-13 3:24 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-08-13 7:56 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-08-19 11:45 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for MIPI DSI driver enhancements (rev7) Patchwork
2021-08-19 11:46 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-08-19 12:09 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-08-19 13:41 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-08-24 19:11 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for MIPI DSI driver enhancements (rev8) Patchwork
2021-08-24 19:12 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-08-24 19:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-08-25 1:22 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o89mgbeb.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=cooper.chiou@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=shawn.c.lee@intel.com \
--cc=vandita.kulkarni@intel.com \
--cc=ville.syrjala@linux.intel.com \
--cc=william.tseng@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.