[Intel-gfx] [PATCH] Revert "drm/i915: Parsing LFP brightness control from VBT"
Jani Nikula
jani.nikula at linux.intel.com
Wed Jan 7 00:30:46 PST 2015
On Wed, 07 Jan 2015, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Tue, Jan 06, 2015 at 02:48:15PM -0500, Rodrigo Vivi wrote:
>> This reverts commit 371abae844ede392066bfc21202b2e40f4a654d1.
>>
>> This data seems unreliable and causing many issues and blocking other
>> teams and feature implementation. Safest way is to revert that for now.
>>
>> Reference: https://bugs.freedesktop.org/show_bug.cgi?id=88081
>> Reference: https://bugs.freedesktop.org/show_bug.cgi?id=88039
IMO s/Reference/Bugzilla/
Also
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87671
>> Cc: Ben Widawsky <ben at bwidawsk.net>
>> Cc: Kristian Høgsberg <hoegsberg at gmail.com>
>> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
>
> Cc: Vandana Kannan <vandana.kannan at intel.com>
> Cc: Deepak M <m.deepak at intel.com>
> Cc: Jani Nikula <jani.nikula at intel.com>
>
> When submitting a revert please include the cc/submitter/reviewers from
> the original patch too. I've done that now.
The code agrees with the spec, but the VBT on these machines quite
obviously does not agree with the spec.
Vandana, I think you're in a better position than us to figure out
what's going on with VBT vs. the spec.
Daniel, please just pick this up now.
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> -Daniel
>
>> ---
>> drivers/gpu/drm/i915/i915_drv.h | 1 -
>> drivers/gpu/drm/i915/intel_bios.c | 20 --------------------
>> drivers/gpu/drm/i915/intel_bios.h | 11 -----------
>> 3 files changed, 32 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index 701a694..99ed307 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -1411,7 +1411,6 @@ struct intel_vbt_data {
>> bool present;
>> bool active_low_pwm;
>> u8 min_brightness; /* min_brightness/255 of max */
>> - u8 controller; /* brightness controller number */
>> } backlight;
>>
>> /* MIPI DSI */
>> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
>> index 65b1fbc..3f17825 100644
>> --- a/drivers/gpu/drm/i915/intel_bios.c
>> +++ b/drivers/gpu/drm/i915/intel_bios.c
>> @@ -314,7 +314,6 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv, struct bdb_header *bdb)
>> {
>> 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)
>> @@ -327,7 +326,6 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv, struct bdb_header *bdb)
>> }
>>
>> 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) {
>> @@ -339,30 +337,12 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv, struct bdb_header *bdb)
>> 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 = 0;
>> - if (bdb->version >= 191) {
>> - dev_priv->vbt.backlight.present =
>> - bl_ctrl_data->pin == BLC_CONTROL_PIN_DDI;
>> - if (!dev_priv->vbt.backlight.present) {
>> - DRM_DEBUG_KMS("BL control pin is not DDI (pin %u)\n",
>> - bl_ctrl_data->pin);
>> - return;
>> - }
>> - if (bl_ctrl_data->controller == 1)
>> - dev_priv->vbt.backlight.controller =
>> - bl_ctrl_data->controller;
>> - }
>> -
>> 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\n",
>> - dev_priv->vbt.backlight.controller);
>> }
>>
>> /* 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 9a7202e..a6a8710 100644
>> --- a/drivers/gpu/drm/i915/intel_bios.h
>> +++ b/drivers/gpu/drm/i915/intel_bios.h
>> @@ -402,21 +402,10 @@ 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 {
>> --
>> 1.9.3
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list