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 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.