All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] drm: Add new DCS commands in the enum list
@ 2016-03-30 14:03 Jani Nikula
  2016-03-30 14:03 ` [PATCH 2/5] drm/i915: Parsing the PWM cntrl and CABC ON/OFF fields in VBT Jani Nikula
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Jani Nikula @ 2016-03-30 14:03 UTC (permalink / raw)
  To: intel-gfx
  Cc: Andrzej Hajda, jani.nikula, David Airlie, dri-devel, Deepak M,
	Thierry Reding, Daniel Vetter

From: Deepak M <m.deepak@intel.com>

Adding new DCS commands which are specified in the
DCS 1.3 spec related to CABC.

v2: Sorted the Macro`s by value (Andrzej)

v3 by Jani: sort all of enum, refer to MIPI DCS 1.3

Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Suggested-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Deepak M <m.deepak@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/video/mipi_display.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/video/mipi_display.h b/include/video/mipi_display.h
index ddcc8ca7316b..19aa65a35546 100644
--- a/include/video/mipi_display.h
+++ b/include/video/mipi_display.h
@@ -115,6 +115,14 @@ enum {
 	MIPI_DCS_READ_MEMORY_CONTINUE	= 0x3E,
 	MIPI_DCS_SET_TEAR_SCANLINE	= 0x44,
 	MIPI_DCS_GET_SCANLINE		= 0x45,
+	MIPI_DCS_SET_DISPLAY_BRIGHTNESS = 0x51,		/* MIPI DCS 1.3 */
+	MIPI_DCS_GET_DISPLAY_BRIGHTNESS = 0x52,		/* MIPI DCS 1.3 */
+	MIPI_DCS_WRITE_CONTROL_DISPLAY  = 0x53,		/* MIPI DCS 1.3 */
+	MIPI_DCS_GET_CONTROL_DISPLAY	= 0x54,		/* MIPI DCS 1.3 */
+	MIPI_DCS_WRITE_POWER_SAVE	= 0x55,		/* MIPI DCS 1.3 */
+	MIPI_DCS_GET_POWER_SAVE		= 0x56,		/* MIPI DCS 1.3 */
+	MIPI_DCS_SET_CABC_MIN_BRIGHTNESS = 0x5E,	/* MIPI DCS 1.3 */
+	MIPI_DCS_GET_CABC_MIN_BRIGHTNESS = 0x5F,	/* MIPI DCS 1.3 */
 	MIPI_DCS_READ_DDB_START		= 0xA1,
 	MIPI_DCS_READ_DDB_CONTINUE	= 0xA8,
 };
-- 
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] 13+ messages in thread
* [PATCH 0/5] drm/i915: dsi dcs & cabc backlight control
@ 2016-03-29 15:01 Jani Nikula
  2016-03-29 15:01 ` [PATCH 3/5] drm/i915: Parse LFP brightness control field in VBT Jani Nikula
  0 siblings, 1 reply; 13+ messages in thread
From: Jani Nikula @ 2016-03-29 15:01 UTC (permalink / raw)
  To: intel-gfx, Deepak M; +Cc: jani.nikula

This is my review of [1].

BR,
Jani.

[1] https://patchwork.freedesktop.org/series/4993/

Deepak M (5):
  drm: Add new DCS commands in the enum list
  drm/i915: Parsing the PWM cntrl and CABC ON/OFF fields in VBT
  drm/i915: Parse LFP brightness control field in VBT
  drm/i915: Add DCS control for Panel PWM
  CABC support for Panel PWM backlight control

 drivers/gpu/drm/i915/Makefile                  |   1 +
 drivers/gpu/drm/i915/i915_drv.h                |   1 +
 drivers/gpu/drm/i915/intel_bios.c              |  19 +++
 drivers/gpu/drm/i915/intel_bios.h              |  16 ++-
 drivers/gpu/drm/i915/intel_drv.h               |   2 +
 drivers/gpu/drm/i915/intel_dsi.c               |  36 ++++-
 drivers/gpu/drm/i915/intel_dsi.h               |   4 +
 drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c | 179 +++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_panel.c             |   4 +
 drivers/gpu/drm/i915/intel_vbt_defs.h          |   6 +
 include/video/mipi_display.h                   |   8 ++
 11 files changed, 273 insertions(+), 3 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_dsi_dcs_backlight.c

-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread
* [PATCH 1/5] drm: Add new DCS commands in the enum list
@ 2016-03-29 14:43 Deepak M
  2016-03-29 14:43 ` [PATCH 3/5] drm/i915: Parse LFP brightness control field in VBT Deepak M
  0 siblings, 1 reply; 13+ messages in thread
From: Deepak M @ 2016-03-29 14:43 UTC (permalink / raw)
  To: intel-gfx; +Cc: Deepak M, Daniel Vetter

Adding new DCS commands which are specified in the
DCS 1.3 spec related to CABC.

v2: Sorted the Macro`s by value (Andrzej)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Suggested-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Deepak M <m.deepak@intel.com>
---
 include/video/mipi_display.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/video/mipi_display.h b/include/video/mipi_display.h
index ddcc8ca..6831c84 100644
--- a/include/video/mipi_display.h
+++ b/include/video/mipi_display.h
@@ -117,6 +117,14 @@ enum {
 	MIPI_DCS_GET_SCANLINE		= 0x45,
 	MIPI_DCS_READ_DDB_START		= 0xA1,
 	MIPI_DCS_READ_DDB_CONTINUE	= 0xA8,
+	MIPI_DCS_SET_DISPLAY_BRIGHTNESS = 0x51, /*Spec 1.3*/
+	MIPI_DCS_GET_DISPLAY_BRIGHTNESS = 0x52, /*Spec 1.3*/
+	MIPI_DCS_WRITE_CONTROL_DISPLAY  = 0x53, /*Spec 1.3*/
+	MIPI_DCS_GET_CONTROL_DISPLAY	= 0x54, /*Spec 1.3*/
+	MIPI_DCS_WRITE_POWER_SAVE	= 0x55, /*Spec 1.3*/
+	MIPI_DCS_GET_POWER_SAVE		= 0x56, /*Spec 1.3*/
+	MIPI_DCS_SET_CABC_MIN_BRIGHTNESS = 0x5E, /*Spec 1.3*/
+	MIPI_DCS_GET_CABC_MIN_BRIGHTNESS = 0x5F, /*Spec 1.3*/
 };
 
 /* MIPI DCS pixel formats */
-- 
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] 13+ messages in thread
* [PATCH 3/5] drm/i915: Parse LFP brightness control field in VBT
@ 2016-03-28  9:36 Deepak M
  0 siblings, 0 replies; 13+ messages in thread
From: Deepak M @ 2016-03-28  9:36 UTC (permalink / raw)
  To: intel-gfx; +Cc: Deepak M

These fields in VBT indicates the PWM source which
is used and also the controller number.

Signed-off-by: Deepak M <m.deepak@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h       |  2 ++
 drivers/gpu/drm/i915/intel_bios.c     | 12 ++++++++++++
 drivers/gpu/drm/i915/intel_drv.h      |  5 +++++
 drivers/gpu/drm/i915/intel_vbt_defs.h |  6 ++++++
 4 files changed, 25 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 050d860..30321e6 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1488,6 +1488,8 @@ struct intel_vbt_data {
 		bool present;
 		bool active_low_pwm;
 		u8 min_brightness;	/* min_brightness/255 of max */
+		u8 pwm_pin;		/* Source of PWM */
+		u8 pwm_controller;	/* Controller used in particular PWM */
 	} backlight;
 
 	/* MIPI DSI */
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 1af7074..1a5b124 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -284,6 +284,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)
@@ -296,6 +297,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) {
@@ -304,6 +306,16 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
 		return;
 	}
 
+	/*
+	 * IF the VBT version is less than 191, set the
+	 * pwm controller as PMIC by default.
+	 */
+	dev_priv->vbt.backlight.pwm_pin = BLC_CONTROL_PIN_PMIC;
+	if (bdb->version >= 191) {
+		dev_priv->vbt.backlight.pwm_pin = bl_ctrl_data->pin;
+		dev_priv->vbt.backlight.pwm_controller = bl_ctrl_data->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;
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index c87b450..02a74b0 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -124,6 +124,11 @@
 #define INTEL_I2C_BUS_DVO 1
 #define INTEL_I2C_BUS_SDVO 2
 
+#define BLC_CONTROL_PIN_PMIC		0
+#define BLC_CONTROL_PIN_LPSS_PWM	1
+#define BLC_CONTROL_PIN_DDI		2
+#define BLC_CONTROL_PIN_PANEL_PWM	3
+
 /* these are outputs from the chip - integrated only
    external chips are via DVO or SDVO output */
 enum intel_output_type {
diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h b/drivers/gpu/drm/i915/intel_vbt_defs.h
index 749dcea..f6744dc 100644
--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -440,10 +440,16 @@ struct bdb_lfp_backlight_data_entry {
 	u8 obsolete3;
 } __packed;
 
+struct bdb_lfp_backlight_control_data {
+	u8 pin:4;
+	u8 controller: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.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-04-26 12:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-30 14:03 [PATCH 1/5] drm: Add new DCS commands in the enum list Jani Nikula
2016-03-30 14:03 ` [PATCH 2/5] drm/i915: Parsing the PWM cntrl and CABC ON/OFF fields in VBT Jani Nikula
2016-04-26 12:52   ` Jani Nikula
2016-03-30 14:03 ` [PATCH 3/5] drm/i915: Parse LFP brightness control field " Jani Nikula
2016-03-30 14:03 ` [PATCH 4/5] drm/i915: Add DCS control for Panel PWM Jani Nikula
2016-03-30 14:03 ` [PATCH 5/5] CABC support for Panel PWM backlight control Jani Nikula
2016-03-31  5:54 ` [PATCH 1/5] drm: Add new DCS commands in the enum list Andrzej Hajda
2016-03-31  6:00   ` [Intel-gfx] " Daniel Vetter
  -- strict thread matches above, loose matches on Subject: below --
2016-03-29 15:01 [PATCH 0/5] drm/i915: dsi dcs & cabc backlight control Jani Nikula
2016-03-29 15:01 ` [PATCH 3/5] drm/i915: Parse LFP brightness control field in VBT Jani Nikula
2016-03-29 15:45   ` Deepak, M
2016-03-30 13:45     ` Jani Nikula
2016-03-29 14:43 [PATCH 1/5] drm: Add new DCS commands in the enum list Deepak M
2016-03-29 14:43 ` [PATCH 3/5] drm/i915: Parse LFP brightness control field in VBT Deepak M
2016-03-28  9:36 Deepak M

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.