From: "Kannan, Vandana" <vandana.kannan@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: Deepak M <m.deepak@intel.com>, Jani Nikula <jani.nikula@intel.com>
Subject: Re: [PATCH] drm/i915: Parsing LFP brightness control from VBT
Date: Fri, 24 Jul 2015 14:31:20 +0530 [thread overview]
Message-ID: <55B1FEE0.1050405@intel.com> (raw)
In-Reply-To: <1436180709-18905-1-git-send-email-vandana.kannan@intel.com>
Any inputs on this patch ?
- Vandana
On 7/6/2015 4:35 PM, Vandana Kannan wrote:
> From: Deepak M <m.deepak@intel.com>
>
> LFP brighness control from the VBT block 43 indicates which
> controller is used for brightness.
> LFP1 brightness control method:
> Bit 7-4 = This field controller number of the brightnes controller.
> 0 = Controller 0
> 1 = Controller 1
> 2 = Controller 2
> 3 = Controller 3
> Others = Reserved
>
> Bits 3-0 are for Control pin
> 0 = PMIC pin is used for brightness control
> 1 = LPSS PWM is used for brightness control
> 2 = Display DDI is used for brightness control
> 3 = CABC method to control brightness
> Others = Reserved
>
> History:
> This patch was submitted earlier including a check for control pin.
> http://lists.freedesktop.org/archives/intel-gfx/2014-December/057530.html
> Since it caused the issue, https://bugs.freedesktop.org/show_bug.cgi?id=87671,
> it was reverted in
> http://lists.freedesktop.org/archives/intel-gfx/2015-January/058110.html
>
> The current patch reads controller and control pin from VBT (version >= 191)
>
> From VBT version >= 197, default value of control pin is set to DDI, so the
> corresponding check during backlight setup will be made in a future patch
>
> Signed-off-by: Deepak M <m.deepak@intel.com>
> Signed-off-by: Vandana Kannan <vandana.kannan@intel.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 2 ++
> drivers/gpu/drm/i915/intel_bios.c | 9 +++++++++
> drivers/gpu/drm/i915/intel_bios.h | 11 +++++++++++
> 3 files changed, 22 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 950a981..a89e9a9 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1461,6 +1461,8 @@ struct intel_vbt_data {
> bool present;
> bool active_low_pwm;
> u8 min_brightness; /* min_brightness/255 of max */
> + u8 controller; /* brightness controller number */
> + u8 control_pin; /* brightness control pin */
> } backlight;
>
> /* MIPI DSI */
> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> index 2ff9eb0..32c1ef2 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -256,6 +256,7 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
> {
> const struct bdb_lfp_backlight_data *backlight_data;
> const struct bdb_lfp_backlight_data_entry *entry;
> + const struct bdb_lfp_backlight_control_data *bl_ctrl_data;
>
> backlight_data = find_section(bdb, BDB_LVDS_BACKLIGHT);
> if (!backlight_data)
> @@ -268,6 +269,7 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
> }
>
> entry = &backlight_data->data[panel_type];
> + bl_ctrl_data = &backlight_data->blc_ctl[panel_type];
>
> dev_priv->vbt.backlight.present = entry->type == BDB_BACKLIGHT_TYPE_PWM;
> if (!dev_priv->vbt.backlight.present) {
> @@ -279,12 +281,19 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
> dev_priv->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
> dev_priv->vbt.backlight.active_low_pwm = entry->active_low_pwm;
> dev_priv->vbt.backlight.min_brightness = entry->min_brightness;
> + dev_priv->vbt.backlight.controller = bl_ctrl_data->controller;
> + dev_priv->vbt.backlight.control_pin = bl_ctrl_data->pin;
> +
> DRM_DEBUG_KMS("VBT backlight PWM modulation frequency %u Hz, "
> "active %s, min brightness %u, level %u\n",
> dev_priv->vbt.backlight.pwm_freq_hz,
> dev_priv->vbt.backlight.active_low_pwm ? "low" : "high",
> dev_priv->vbt.backlight.min_brightness,
> backlight_data->level[panel_type]);
> +
> + DRM_DEBUG_KMS("VBT BL controller %u, BL control pin %u\n",
> + dev_priv->vbt.backlight.controller,
> + dev_priv->vbt.backlight.control_pin);
> }
>
> /* Try to find sdvo panel data */
> diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h
> index af0b476..e97c1c0 100644
> --- a/drivers/gpu/drm/i915/intel_bios.h
> +++ b/drivers/gpu/drm/i915/intel_bios.h
> @@ -402,10 +402,21 @@ struct bdb_lfp_backlight_data_entry {
> u8 obsolete3;
> } __packed;
>
> +#define BLC_CONTROL_PIN_PMIC 0
> +#define BLC_CONTROL_PIN_LPSS_PWM 1
> +#define BLC_CONTROL_PIN_DDI 2
> +#define BLC_CONTROL_PIN_CABC 3
> +
> +struct bdb_lfp_backlight_control_data {
> + u8 controller:4;
> + u8 pin:4;
> +} __packed;
> +
> struct bdb_lfp_backlight_data {
> u8 entry_size;
> struct bdb_lfp_backlight_data_entry data[16];
> u8 level[16];
> + struct bdb_lfp_backlight_control_data blc_ctl[16];
> } __packed;
>
> struct aimdb_header {
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-07-24 9:01 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-06 11:05 [PATCH] drm/i915: Parsing LFP brightness control from VBT Vandana Kannan
2015-07-07 8:55 ` shuang.he
2015-07-24 9:01 ` Kannan, Vandana [this message]
2015-07-27 4:38 ` Sivakumar Thulasimani
-- strict thread matches above, loose matches on Subject: below --
2014-12-15 10:28 Vandana Kannan
2014-12-15 10:20 ` Daniel Vetter
2014-12-15 15:13 ` shuang.he
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=55B1FEE0.1050405@intel.com \
--to=vandana.kannan@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=m.deepak@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox