* [PATCH] FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT
@ 2016-12-07 14:09 Vidya Srinivas
2016-12-07 14:58 ` Vidya Srinivas
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Vidya Srinivas @ 2016-12-07 14:09 UTC (permalink / raw)
To: intel-gfx; +Cc: Vidya Srinivas
Currently the backlight controller is taken as 0. It needs to derive
value from the VBT. Adding the necessary changes.
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_bios.c | 5 +++++
drivers/gpu/drm/i915/intel_panel.c | 2 +-
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 8daa4fb..6a85fdf 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1633,6 +1633,7 @@ struct intel_vbt_data {
bool present;
bool active_low_pwm;
u8 min_brightness; /* min_brightness/255 of max */
+ u8 controller; /* brightness controller number */
enum intel_backlight_type type;
} backlight;
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index eaade27..130db0f 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -330,6 +330,8 @@ static u32 get_blocksize(const void *block_data)
method = &backlight_data->backlight_control[panel_type];
dev_priv->vbt.backlight.type = method->type;
+ dev_priv->vbt.backlight.controller = 0;
+ dev_priv->vbt.backlight.controller = method->controller;
}
dev_priv->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
@@ -341,6 +343,9 @@ static u32 get_blocksize(const void *block_data)
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_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 3578b40..6a7d4c3 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1612,7 +1612,7 @@ static int vlv_setup_backlight(struct intel_connector *connector, enum pipe pipe
* For BXT hard coding the Backlight controller to 0.
* TODO : Read the controller value from VBT and generalize
*/
- panel->backlight.controller = 0;
+ panel->backlight.controller = dev_priv->vbt.backlight.controller;
pwm_ctl = I915_READ(BXT_BLC_PWM_CTL(panel->backlight.controller));
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH] FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT
2016-12-07 14:09 [PATCH] FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT Vidya Srinivas
@ 2016-12-07 14:58 ` Vidya Srinivas
2016-12-07 15:02 ` [PATCH] " Vidya Srinivas
` (3 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Vidya Srinivas @ 2016-12-07 14:58 UTC (permalink / raw)
To: intel-gfx; +Cc: Vidya Srinivas
Currently the backlight controller is taken as 0. It needs to derive
value from the VBT. Adding the necessary changes.
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_bios.c | 5 +++++
drivers/gpu/drm/i915/intel_panel.c | 2 +-
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 8daa4fb..6a85fdf 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1633,6 +1633,7 @@ struct intel_vbt_data {
bool present;
bool active_low_pwm;
u8 min_brightness; /* min_brightness/255 of max */
+ u8 controller; /* brightness controller number */
enum intel_backlight_type type;
} backlight;
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index eaade27..130db0f 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -330,6 +330,8 @@ static u32 get_blocksize(const void *block_data)
method = &backlight_data->backlight_control[panel_type];
dev_priv->vbt.backlight.type = method->type;
+ dev_priv->vbt.backlight.controller = 0;
+ dev_priv->vbt.backlight.controller = method->controller;
}
dev_priv->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
@@ -341,6 +343,9 @@ static u32 get_blocksize(const void *block_data)
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_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 3578b40..6a7d4c3 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1612,7 +1612,7 @@ static int vlv_setup_backlight(struct intel_connector *connector, enum pipe pipe
* For BXT hard coding the Backlight controller to 0.
* TODO : Read the controller value from VBT and generalize
*/
- panel->backlight.controller = 0;
+ panel->backlight.controller = dev_priv->vbt.backlight.controller;
pwm_ctl = I915_READ(BXT_BLC_PWM_CTL(panel->backlight.controller));
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH] drm/i915: Parse panel BL controller from VBT
2016-12-07 14:09 [PATCH] FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT Vidya Srinivas
2016-12-07 14:58 ` Vidya Srinivas
@ 2016-12-07 15:02 ` Vidya Srinivas
2016-12-07 17:44 ` Bob Paauwe
2016-12-08 6:14 ` Mika Kahola
2016-12-07 19:19 ` ✓ Fi.CI.BAT: success for FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev3) Patchwork
` (2 subsequent siblings)
4 siblings, 2 replies; 9+ messages in thread
From: Vidya Srinivas @ 2016-12-07 15:02 UTC (permalink / raw)
To: intel-gfx; +Cc: Vidya Srinivas
Currently the backlight controller is taken as 0. It needs to derive
value from the VBT. Adding the necessary changes.
v2: Updated the commit header
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_bios.c | 5 +++++
drivers/gpu/drm/i915/intel_panel.c | 2 +-
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 8daa4fb..6a85fdf 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1633,6 +1633,7 @@ struct intel_vbt_data {
bool present;
bool active_low_pwm;
u8 min_brightness; /* min_brightness/255 of max */
+ u8 controller; /* brightness controller number */
enum intel_backlight_type type;
} backlight;
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index eaade27..130db0f 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -330,6 +330,8 @@ static u32 get_blocksize(const void *block_data)
method = &backlight_data->backlight_control[panel_type];
dev_priv->vbt.backlight.type = method->type;
+ dev_priv->vbt.backlight.controller = 0;
+ dev_priv->vbt.backlight.controller = method->controller;
}
dev_priv->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
@@ -341,6 +343,9 @@ static u32 get_blocksize(const void *block_data)
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_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 3578b40..6a7d4c3 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1612,7 +1612,7 @@ static int vlv_setup_backlight(struct intel_connector *connector, enum pipe pipe
* For BXT hard coding the Backlight controller to 0.
* TODO : Read the controller value from VBT and generalize
*/
- panel->backlight.controller = 0;
+ panel->backlight.controller = dev_priv->vbt.backlight.controller;
pwm_ctl = I915_READ(BXT_BLC_PWM_CTL(panel->backlight.controller));
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] drm/i915: Parse panel BL controller from VBT
2016-12-07 15:02 ` [PATCH] " Vidya Srinivas
@ 2016-12-07 17:44 ` Bob Paauwe
2016-12-08 6:14 ` Mika Kahola
1 sibling, 0 replies; 9+ messages in thread
From: Bob Paauwe @ 2016-12-07 17:44 UTC (permalink / raw)
To: Vidya Srinivas; +Cc: intel-gfx
I currently have this same patch in my tree (well with the two changes
below) and have been testing it so with the changes.
Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>
Tested-by: Bob Paauwe <bob.j.paauwe@intel.com>
On Wed, 7 Dec 2016 20:32:18 +0530 Vidya Srinivas
<vidya.srinivas@intel.com> wrote:
> Currently the backlight controller is taken as 0. It needs to derive
> value from the VBT. Adding the necessary changes.
>
> v2: Updated the commit header
>
> Signed-off-by: Uma Shankar <uma.shankar@intel.com>
> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 1 +
> drivers/gpu/drm/i915/intel_bios.c | 5 +++++
> drivers/gpu/drm/i915/intel_panel.c | 2 +-
> 3 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 8daa4fb..6a85fdf 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1633,6 +1633,7 @@ struct intel_vbt_data {
> bool present;
> bool active_low_pwm;
> u8 min_brightness; /* min_brightness/255 of max */
> + u8 controller; /* brightness controller number */
> enum intel_backlight_type type;
> } backlight;
>
> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> index eaade27..130db0f 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -330,6 +330,8 @@ static u32 get_blocksize(const void *block_data)
>
> method = &backlight_data->backlight_control[panel_type];
> dev_priv->vbt.backlight.type = method->type;
> + dev_priv->vbt.backlight.controller = 0;
Setting it to zero first seems redundant. Is there a reason you do
this?
> + dev_priv->vbt.backlight.controller = method->controller;
> }
>
> dev_priv->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
> @@ -341,6 +343,9 @@ static u32 get_blocksize(const void *block_data)
> 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_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 3578b40..6a7d4c3 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -1612,7 +1612,7 @@ static int vlv_setup_backlight(struct intel_connector *connector, enum pipe pipe
> * For BXT hard coding the Backlight controller to 0.
> * TODO : Read the controller value from VBT and generalize
> */
> - panel->backlight.controller = 0;
> + panel->backlight.controller = dev_priv->vbt.backlight.controller;
You should remove the comment above now that it's not hard coded.
>
> pwm_ctl = I915_READ(BXT_BLC_PWM_CTL(panel->backlight.controller));
>
--
--
Bob Paauwe
Bob.J.Paauwe@intel.com
IOTG / PED Software Organization
Intel Corp. Folsom, CA
(916) 356-6193
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ Fi.CI.BAT: success for FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev3)
2016-12-07 14:09 [PATCH] FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT Vidya Srinivas
2016-12-07 14:58 ` Vidya Srinivas
2016-12-07 15:02 ` [PATCH] " Vidya Srinivas
@ 2016-12-07 19:19 ` Patchwork
2016-12-08 9:26 ` [PATCH v2] drm/i915: Parse panel backlight controller from VBT Jani Nikula
2016-12-08 10:24 ` ✓ Fi.CI.BAT: success for FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev4) Patchwork
4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2016-12-07 19:19 UTC (permalink / raw)
To: Vidya Srinivas; +Cc: intel-gfx
== Series Details ==
Series: FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev3)
URL : https://patchwork.freedesktop.org/series/16489/
State : success
== Summary ==
Series 16489v3 FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT
https://patchwork.freedesktop.org/api/1.0/series/16489/revisions/3/mbox/
fi-bdw-5557u total:247 pass:219 dwarn:0 dfail:0 fail:0 skip:28
fi-bsw-n3050 total:247 pass:195 dwarn:0 dfail:0 fail:0 skip:52
fi-byt-j1900 total:247 pass:206 dwarn:0 dfail:0 fail:0 skip:41
fi-byt-n2820 total:247 pass:202 dwarn:0 dfail:0 fail:0 skip:45
fi-hsw-4770 total:247 pass:214 dwarn:0 dfail:0 fail:0 skip:33
fi-hsw-4770r total:247 pass:214 dwarn:0 dfail:0 fail:0 skip:33
fi-ilk-650 total:247 pass:181 dwarn:0 dfail:0 fail:0 skip:66
fi-ivb-3520m total:247 pass:213 dwarn:0 dfail:0 fail:0 skip:34
fi-ivb-3770 total:247 pass:212 dwarn:0 dfail:0 fail:0 skip:35
fi-kbl-7500u total:247 pass:212 dwarn:0 dfail:0 fail:0 skip:35
fi-skl-6260u total:247 pass:220 dwarn:0 dfail:0 fail:0 skip:27
fi-skl-6700hq total:247 pass:214 dwarn:0 dfail:0 fail:0 skip:33
fi-skl-6700k total:247 pass:210 dwarn:3 dfail:0 fail:0 skip:34
fi-skl-6770hq total:247 pass:220 dwarn:0 dfail:0 fail:0 skip:27
fi-snb-2520m total:247 pass:202 dwarn:0 dfail:0 fail:0 skip:45
fi-snb-2600 total:247 pass:201 dwarn:0 dfail:0 fail:0 skip:46
e46c97f4cfb63328f5bbbc0fb85c3f53703792f2 drm-tip: 2016y-12m-07d-17h-47m-18s UTC integration manifest
452ecd0 drm/i915: Parse panel BL controller from VBT
== Logs ==
For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_3221/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] drm/i915: Parse panel BL controller from VBT
2016-12-07 15:02 ` [PATCH] " Vidya Srinivas
2016-12-07 17:44 ` Bob Paauwe
@ 2016-12-08 6:14 ` Mika Kahola
1 sibling, 0 replies; 9+ messages in thread
From: Mika Kahola @ 2016-12-08 6:14 UTC (permalink / raw)
To: Vidya Srinivas, intel-gfx
Tested-by: Mika Kahola <mika.kahola@intel.com>
On Wed, 2016-12-07 at 20:32 +0530, Vidya Srinivas wrote:
> Currently the backlight controller is taken as 0. It needs to derive
> value from the VBT. Adding the necessary changes.
>
> v2: Updated the commit header
>
> Signed-off-by: Uma Shankar <uma.shankar@intel.com>
> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 1 +
> drivers/gpu/drm/i915/intel_bios.c | 5 +++++
> drivers/gpu/drm/i915/intel_panel.c | 2 +-
> 3 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h
> b/drivers/gpu/drm/i915/i915_drv.h
> index 8daa4fb..6a85fdf 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1633,6 +1633,7 @@ struct intel_vbt_data {
> bool present;
> bool active_low_pwm;
> u8 min_brightness; /* min_brightness/255 of
> max */
> + u8 controller; /* brightness
> controller number */
> enum intel_backlight_type type;
> } backlight;
>
> diff --git a/drivers/gpu/drm/i915/intel_bios.c
> b/drivers/gpu/drm/i915/intel_bios.c
> index eaade27..130db0f 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -330,6 +330,8 @@ static u32 get_blocksize(const void *block_data)
>
> method = &backlight_data-
> >backlight_control[panel_type];
> dev_priv->vbt.backlight.type = method->type;
> + dev_priv->vbt.backlight.controller = 0;
> + dev_priv->vbt.backlight.controller = method-
> >controller;
> }
>
> dev_priv->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
> @@ -341,6 +343,9 @@ static u32 get_blocksize(const void *block_data)
> 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_panel.c
> b/drivers/gpu/drm/i915/intel_panel.c
> index 3578b40..6a7d4c3 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -1612,7 +1612,7 @@ static int vlv_setup_backlight(struct
> intel_connector *connector, enum pipe pipe
> * For BXT hard coding the Backlight controller to 0.
> * TODO : Read the controller value from VBT and generalize
> */
> - panel->backlight.controller = 0;
> + panel->backlight.controller = dev_priv-
> >vbt.backlight.controller;
>
> pwm_ctl = I915_READ(BXT_BLC_PWM_CTL(panel-
> >backlight.controller));
>
--
Mika Kahola - Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2] drm/i915: Parse panel backlight controller from VBT
2016-12-07 14:09 [PATCH] FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT Vidya Srinivas
` (2 preceding siblings ...)
2016-12-07 19:19 ` ✓ Fi.CI.BAT: success for FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev3) Patchwork
@ 2016-12-08 9:26 ` Jani Nikula
2016-12-12 15:25 ` Jani Nikula
2016-12-08 10:24 ` ✓ Fi.CI.BAT: success for FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev4) Patchwork
4 siblings, 1 reply; 9+ messages in thread
From: Jani Nikula @ 2016-12-08 9:26 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula, Vidya Srinivas
From: Vidya Srinivas <vidya.srinivas@intel.com>
Currently the backlight controller is taken as 0. It needs to derive
value from the VBT. Adding the necessary changes.
v2 by Jani:
- drop obsolete comments, drop redundant initialization (Bob)
- merge debug logging into one
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>
Tested-by: Bob Paauwe <bob.j.paauwe@intel.com>
Tested-by: Mika Kahola <mika.kahola@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/intel_bios.c | 6 ++++--
drivers/gpu/drm/i915/intel_panel.c | 17 +++--------------
3 files changed, 8 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 1480e733312a..786e3bb8eecf 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1716,6 +1716,7 @@ struct intel_vbt_data {
bool present;
bool active_low_pwm;
u8 min_brightness; /* min_brightness/255 of max */
+ u8 controller; /* brightness controller number */
enum intel_backlight_type type;
} backlight;
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index eaade27af386..1cf2fa6ec28f 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -330,17 +330,19 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
method = &backlight_data->backlight_control[panel_type];
dev_priv->vbt.backlight.type = method->type;
+ dev_priv->vbt.backlight.controller = method->controller;
}
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;
DRM_DEBUG_KMS("VBT backlight PWM modulation frequency %u Hz, "
- "active %s, min brightness %u, level %u\n",
+ "active %s, min brightness %u, level %u, controller %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]);
+ backlight_data->level[panel_type],
+ dev_priv->vbt.backlight.controller);
}
/* Try to find sdvo panel data */
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 3578b402d412..b01edceac650 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1039,10 +1039,7 @@ static void bxt_enable_backlight(struct intel_connector *connector)
enum pipe pipe = intel_get_pipe_from_connector(connector);
u32 pwm_ctl, val;
- /* To use 2nd set of backlight registers, utility pin has to be
- * enabled with PWM mode.
- * The field should only be changed when the utility pin is disabled
- */
+ /* Controller 1 uses the utility pin. */
if (panel->backlight.controller == 1) {
val = I915_READ(UTIL_PIN_CTL);
if (val & UTIL_PIN_ENABLE) {
@@ -1608,19 +1605,11 @@ bxt_setup_backlight(struct intel_connector *connector, enum pipe unused)
struct intel_panel *panel = &connector->panel;
u32 pwm_ctl, val;
- /*
- * For BXT hard coding the Backlight controller to 0.
- * TODO : Read the controller value from VBT and generalize
- */
- panel->backlight.controller = 0;
+ panel->backlight.controller = dev_priv->vbt.backlight.controller;
pwm_ctl = I915_READ(BXT_BLC_PWM_CTL(panel->backlight.controller));
- /* Keeping the check if controller 1 is to be programmed.
- * This will come into affect once the VBT parsing
- * is fixed for controller selection, and controller 1 is used
- * for a prticular display configuration.
- */
+ /* Controller 1 uses the utility pin. */
if (panel->backlight.controller == 1) {
val = I915_READ(UTIL_PIN_CTL);
panel->backlight.util_pin_active_low =
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
* ✓ Fi.CI.BAT: success for FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev4)
2016-12-07 14:09 [PATCH] FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT Vidya Srinivas
` (3 preceding siblings ...)
2016-12-08 9:26 ` [PATCH v2] drm/i915: Parse panel backlight controller from VBT Jani Nikula
@ 2016-12-08 10:24 ` Patchwork
4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2016-12-08 10:24 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev4)
URL : https://patchwork.freedesktop.org/series/16489/
State : success
== Summary ==
Series 16489v4 FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT
https://patchwork.freedesktop.org/api/1.0/series/16489/revisions/4/mbox/
Test kms_pipe_crc_basic:
Subgroup hang-read-crc-pipe-a:
pass -> FAIL (fi-ctg-l9400) UNSTABLE
Subgroup read-crc-pipe-a-frame-sequence:
fail -> PASS (fi-ctg-l9400) UNSTABLE
fi-bdw-5557u total:247 pass:233 dwarn:0 dfail:0 fail:0 skip:14
fi-bsw-n3050 total:247 pass:208 dwarn:0 dfail:0 fail:0 skip:39
fi-bxt-t5700 total:247 pass:220 dwarn:0 dfail:0 fail:0 skip:27
fi-byt-j1900 total:247 pass:220 dwarn:0 dfail:0 fail:0 skip:27
fi-byt-n2820 total:247 pass:216 dwarn:0 dfail:0 fail:0 skip:31
fi-ctg-l9400 total:210 pass:165 dwarn:0 dfail:0 fail:1 skip:43
fi-hsw-4770 total:247 pass:228 dwarn:0 dfail:0 fail:0 skip:19
fi-hsw-4770r total:247 pass:228 dwarn:0 dfail:0 fail:0 skip:19
fi-ilk-650 total:247 pass:195 dwarn:0 dfail:0 fail:0 skip:52
fi-ivb-3520m total:247 pass:226 dwarn:0 dfail:0 fail:0 skip:21
fi-ivb-3770 total:247 pass:226 dwarn:0 dfail:0 fail:0 skip:21
fi-kbl-7500u total:247 pass:226 dwarn:0 dfail:0 fail:0 skip:21
fi-skl-6260u total:247 pass:234 dwarn:0 dfail:0 fail:0 skip:13
fi-skl-6700hq total:247 pass:227 dwarn:0 dfail:0 fail:0 skip:20
fi-skl-6700k total:247 pass:224 dwarn:3 dfail:0 fail:0 skip:20
fi-skl-6770hq total:247 pass:234 dwarn:0 dfail:0 fail:0 skip:13
fi-snb-2520m total:247 pass:216 dwarn:0 dfail:0 fail:0 skip:31
fi-snb-2600 total:247 pass:215 dwarn:0 dfail:0 fail:0 skip:32
e705da1e357d4db0db0b21bc6a2ea96df4453e05 drm-tip: 2016y-12m-08d-09h-02m-15s UTC integration manifest
1a6fcb9 drm/i915: Parse panel backlight controller from VBT
== Logs ==
For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_3232/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] drm/i915: Parse panel backlight controller from VBT
2016-12-08 9:26 ` [PATCH v2] drm/i915: Parse panel backlight controller from VBT Jani Nikula
@ 2016-12-12 15:25 ` Jani Nikula
0 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2016-12-12 15:25 UTC (permalink / raw)
To: intel-gfx; +Cc: Vidya Srinivas
On Thu, 08 Dec 2016, Jani Nikula <jani.nikula@intel.com> wrote:
> From: Vidya Srinivas <vidya.srinivas@intel.com>
>
> Currently the backlight controller is taken as 0. It needs to derive
> value from the VBT. Adding the necessary changes.
>
> v2 by Jani:
> - drop obsolete comments, drop redundant initialization (Bob)
> - merge debug logging into one
>
> Signed-off-by: Uma Shankar <uma.shankar@intel.com>
> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
> Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>
> Tested-by: Bob Paauwe <bob.j.paauwe@intel.com>
> Tested-by: Mika Kahola <mika.kahola@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Pushed to dinq, thanks for the patch.
BR,
Jani.
> ---
> drivers/gpu/drm/i915/i915_drv.h | 1 +
> drivers/gpu/drm/i915/intel_bios.c | 6 ++++--
> drivers/gpu/drm/i915/intel_panel.c | 17 +++--------------
> 3 files changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 1480e733312a..786e3bb8eecf 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1716,6 +1716,7 @@ struct intel_vbt_data {
> bool present;
> bool active_low_pwm;
> u8 min_brightness; /* min_brightness/255 of max */
> + u8 controller; /* brightness controller number */
> enum intel_backlight_type type;
> } backlight;
>
> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> index eaade27af386..1cf2fa6ec28f 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -330,17 +330,19 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
>
> method = &backlight_data->backlight_control[panel_type];
> dev_priv->vbt.backlight.type = method->type;
> + dev_priv->vbt.backlight.controller = method->controller;
> }
>
> 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;
> DRM_DEBUG_KMS("VBT backlight PWM modulation frequency %u Hz, "
> - "active %s, min brightness %u, level %u\n",
> + "active %s, min brightness %u, level %u, controller %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]);
> + backlight_data->level[panel_type],
> + dev_priv->vbt.backlight.controller);
> }
>
> /* Try to find sdvo panel data */
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 3578b402d412..b01edceac650 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -1039,10 +1039,7 @@ static void bxt_enable_backlight(struct intel_connector *connector)
> enum pipe pipe = intel_get_pipe_from_connector(connector);
> u32 pwm_ctl, val;
>
> - /* To use 2nd set of backlight registers, utility pin has to be
> - * enabled with PWM mode.
> - * The field should only be changed when the utility pin is disabled
> - */
> + /* Controller 1 uses the utility pin. */
> if (panel->backlight.controller == 1) {
> val = I915_READ(UTIL_PIN_CTL);
> if (val & UTIL_PIN_ENABLE) {
> @@ -1608,19 +1605,11 @@ bxt_setup_backlight(struct intel_connector *connector, enum pipe unused)
> struct intel_panel *panel = &connector->panel;
> u32 pwm_ctl, val;
>
> - /*
> - * For BXT hard coding the Backlight controller to 0.
> - * TODO : Read the controller value from VBT and generalize
> - */
> - panel->backlight.controller = 0;
> + panel->backlight.controller = dev_priv->vbt.backlight.controller;
>
> pwm_ctl = I915_READ(BXT_BLC_PWM_CTL(panel->backlight.controller));
>
> - /* Keeping the check if controller 1 is to be programmed.
> - * This will come into affect once the VBT parsing
> - * is fixed for controller selection, and controller 1 is used
> - * for a prticular display configuration.
> - */
> + /* Controller 1 uses the utility pin. */
> if (panel->backlight.controller == 1) {
> val = I915_READ(UTIL_PIN_CTL);
> panel->backlight.util_pin_active_low =
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-12-12 15:27 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-07 14:09 [PATCH] FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT Vidya Srinivas
2016-12-07 14:58 ` Vidya Srinivas
2016-12-07 15:02 ` [PATCH] " Vidya Srinivas
2016-12-07 17:44 ` Bob Paauwe
2016-12-08 6:14 ` Mika Kahola
2016-12-07 19:19 ` ✓ Fi.CI.BAT: success for FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev3) Patchwork
2016-12-08 9:26 ` [PATCH v2] drm/i915: Parse panel backlight controller from VBT Jani Nikula
2016-12-12 15:25 ` Jani Nikula
2016-12-08 10:24 ` ✓ Fi.CI.BAT: success for FOR_UPSTREAM [VPG]: drm/i915: Parse panel BL controller from VBT (rev4) Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox