diff mbox

[RFC,1/4] drm/i915: Define a common data structure for Panel Info

Message ID 1419589410-24365-2-git-send-email-shobhit.kumar@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kumar, Shobhit Dec. 26, 2014, 10:23 a.m. UTC
As of now this includes only PPS and BLC delays. New things can be added
as and when needed

Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com>
---
 drivers/gpu/drm/i915/intel_drv.h           | 11 +++++++++++
 drivers/gpu/drm/i915/intel_dsi.h           |  7 +------
 drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 10 +++++-----
 3 files changed, 17 insertions(+), 11 deletions(-)

Comments

Daniel Vetter Jan. 5, 2015, 3:04 p.m. UTC | #1
On Fri, Dec 26, 2014 at 03:53:27PM +0530, Shobhit Kumar wrote:
> As of now this includes only PPS and BLC delays. New things can be added
> as and when needed
> 
> Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_drv.h           | 11 +++++++++++
>  drivers/gpu/drm/i915/intel_dsi.h           |  7 +------
>  drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 10 +++++-----
>  3 files changed, 17 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 588b618..0088f16 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -731,6 +731,17 @@ struct intel_load_detect_pipe {
>  	int dpms_mode;
>  };
>  
> +struct panel_info {

intel_panel_info please.
-Daniel

> +	/* all delays in ms */
> +	u16 backlight_off_delay;
> +	u16 backlight_on_delay;
> +	u16 panel_on_delay;
> +	u16 panel_off_delay;
> +	u16 panel_pwr_cycle_delay;
> +
> +	/* Other panel specififc stuff */
> +};
> +
>  static inline struct intel_encoder *
>  intel_attached_encoder(struct drm_connector *connector)
>  {
> diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h
> index 8fe2064..8b20f76 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.h
> +++ b/drivers/gpu/drm/i915/intel_dsi.h
> @@ -129,12 +129,7 @@ struct intel_dsi {
>  	u32 pclk;
>  	u16 burst_mode_ratio;
>  
> -	/* all delays in ms */
> -	u16 backlight_off_delay;
> -	u16 backlight_on_delay;
> -	u16 panel_on_delay;
> -	u16 panel_off_delay;
> -	u16 panel_pwr_cycle_delay;
> +	struct panel_info pinfo;
>  };
>  
>  /* XXX: Transitional before dual port configuration */
> diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
> index 5493aef..56b5b80 100644
> --- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
> +++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
> @@ -550,11 +550,11 @@ static bool generic_init(struct intel_dsi_device *dsi)
>  	/* delays in VBT are in unit of 100us, so need to convert
>  	 * here in ms
>  	 * Delay (100us) * 100 /1000 = Delay / 10 (ms) */
> -	intel_dsi->backlight_off_delay = pps->bl_disable_delay / 10;
> -	intel_dsi->backlight_on_delay = pps->bl_enable_delay / 10;
> -	intel_dsi->panel_on_delay = pps->panel_on_delay / 10;
> -	intel_dsi->panel_off_delay = pps->panel_off_delay / 10;
> -	intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10;
> +	intel_dsi->pinfo.backlight_off_delay = pps->bl_disable_delay / 10;
> +	intel_dsi->pinfo.backlight_on_delay = pps->bl_enable_delay / 10;
> +	intel_dsi->pinfo.panel_on_delay = pps->panel_on_delay / 10;
> +	intel_dsi->pinfo.panel_off_delay = pps->panel_off_delay / 10;
> +	intel_dsi->pinfo.panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10;
>  
>  	return true;
>  }
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Jani Nikula Jan. 5, 2015, 3:44 p.m. UTC | #2
On Mon, 05 Jan 2015, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Fri, Dec 26, 2014 at 03:53:27PM +0530, Shobhit Kumar wrote:
>> As of now this includes only PPS and BLC delays. New things can be added
>> as and when needed
>> 
>> Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com>
>> ---
>>  drivers/gpu/drm/i915/intel_drv.h           | 11 +++++++++++
>>  drivers/gpu/drm/i915/intel_dsi.h           |  7 +------
>>  drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 10 +++++-----
>>  3 files changed, 17 insertions(+), 11 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
>> index 588b618..0088f16 100644
>> --- a/drivers/gpu/drm/i915/intel_drv.h
>> +++ b/drivers/gpu/drm/i915/intel_drv.h
>> @@ -731,6 +731,17 @@ struct intel_load_detect_pipe {
>>  	int dpms_mode;
>>  };
>>  
>> +struct panel_info {
>
> intel_panel_info please.
> -Daniel
>
>> +	/* all delays in ms */
>> +	u16 backlight_off_delay;
>> +	u16 backlight_on_delay;
>> +	u16 panel_on_delay;
>> +	u16 panel_off_delay;
>> +	u16 panel_pwr_cycle_delay;

struct intel_dp already has

	int panel_power_up_delay;
	int panel_power_down_delay;
	int panel_power_cycle_delay;
	int backlight_on_delay;
	int backlight_off_delay;

so I think it would be good to abstract the delays into a separate
struct with these names.

BR,
Jani.


>> +
>> +	/* Other panel specififc stuff */
>> +};
>> +
>>  static inline struct intel_encoder *
>>  intel_attached_encoder(struct drm_connector *connector)
>>  {
>> diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h
>> index 8fe2064..8b20f76 100644
>> --- a/drivers/gpu/drm/i915/intel_dsi.h
>> +++ b/drivers/gpu/drm/i915/intel_dsi.h
>> @@ -129,12 +129,7 @@ struct intel_dsi {
>>  	u32 pclk;
>>  	u16 burst_mode_ratio;
>>  
>> -	/* all delays in ms */
>> -	u16 backlight_off_delay;
>> -	u16 backlight_on_delay;
>> -	u16 panel_on_delay;
>> -	u16 panel_off_delay;
>> -	u16 panel_pwr_cycle_delay;
>> +	struct panel_info pinfo;
>>  };
>>  
>>  /* XXX: Transitional before dual port configuration */
>> diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
>> index 5493aef..56b5b80 100644
>> --- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
>> +++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
>> @@ -550,11 +550,11 @@ static bool generic_init(struct intel_dsi_device *dsi)
>>  	/* delays in VBT are in unit of 100us, so need to convert
>>  	 * here in ms
>>  	 * Delay (100us) * 100 /1000 = Delay / 10 (ms) */
>> -	intel_dsi->backlight_off_delay = pps->bl_disable_delay / 10;
>> -	intel_dsi->backlight_on_delay = pps->bl_enable_delay / 10;
>> -	intel_dsi->panel_on_delay = pps->panel_on_delay / 10;
>> -	intel_dsi->panel_off_delay = pps->panel_off_delay / 10;
>> -	intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10;
>> +	intel_dsi->pinfo.backlight_off_delay = pps->bl_disable_delay / 10;
>> +	intel_dsi->pinfo.backlight_on_delay = pps->bl_enable_delay / 10;
>> +	intel_dsi->pinfo.panel_on_delay = pps->panel_on_delay / 10;
>> +	intel_dsi->pinfo.panel_off_delay = pps->panel_off_delay / 10;
>> +	intel_dsi->pinfo.panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10;
>>  
>>  	return true;
>>  }
>> -- 
>> 1.9.1
>> 
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@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
Shobhit Kumar Jan. 6, 2015, 7:58 a.m. UTC | #3
On 1/5/2015 9:14 PM, Jani Nikula wrote:
> On Mon, 05 Jan 2015, Daniel Vetter <daniel@ffwll.ch> wrote:
>> On Fri, Dec 26, 2014 at 03:53:27PM +0530, Shobhit Kumar wrote:
>>> As of now this includes only PPS and BLC delays. New things can be added
>>> as and when needed
>>>
>>> Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com>
>>> ---
>>>   drivers/gpu/drm/i915/intel_drv.h           | 11 +++++++++++
>>>   drivers/gpu/drm/i915/intel_dsi.h           |  7 +------
>>>   drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 10 +++++-----
>>>   3 files changed, 17 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
>>> index 588b618..0088f16 100644
>>> --- a/drivers/gpu/drm/i915/intel_drv.h
>>> +++ b/drivers/gpu/drm/i915/intel_drv.h
>>> @@ -731,6 +731,17 @@ struct intel_load_detect_pipe {
>>>   	int dpms_mode;
>>>   };
>>>
>>> +struct panel_info {
>>
>> intel_panel_info please.
>> -Daniel
>>
>>> +	/* all delays in ms */
>>> +	u16 backlight_off_delay;
>>> +	u16 backlight_on_delay;
>>> +	u16 panel_on_delay;
>>> +	u16 panel_off_delay;
>>> +	u16 panel_pwr_cycle_delay;
>
> struct intel_dp already has
>
> 	int panel_power_up_delay;
> 	int panel_power_down_delay;
> 	int panel_power_cycle_delay;
> 	int backlight_on_delay;
> 	int backlight_off_delay;
>
> so I think it would be good to abstract the delays into a separate
> struct with these names.

intel_dsi already had the names that I used. I can change to the ones 
used by eDP.

Regards
Shobhit

>
> BR,
> Jani.
>
>
>>> +
>>> +	/* Other panel specififc stuff */
>>> +};
>>> +
>>>   static inline struct intel_encoder *
>>>   intel_attached_encoder(struct drm_connector *connector)
>>>   {
>>> diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h
>>> index 8fe2064..8b20f76 100644
>>> --- a/drivers/gpu/drm/i915/intel_dsi.h
>>> +++ b/drivers/gpu/drm/i915/intel_dsi.h
>>> @@ -129,12 +129,7 @@ struct intel_dsi {
>>>   	u32 pclk;
>>>   	u16 burst_mode_ratio;
>>>
>>> -	/* all delays in ms */
>>> -	u16 backlight_off_delay;
>>> -	u16 backlight_on_delay;
>>> -	u16 panel_on_delay;
>>> -	u16 panel_off_delay;
>>> -	u16 panel_pwr_cycle_delay;
>>> +	struct panel_info pinfo;
>>>   };
>>>
>>>   /* XXX: Transitional before dual port configuration */
>>> diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
>>> index 5493aef..56b5b80 100644
>>> --- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
>>> +++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
>>> @@ -550,11 +550,11 @@ static bool generic_init(struct intel_dsi_device *dsi)
>>>   	/* delays in VBT are in unit of 100us, so need to convert
>>>   	 * here in ms
>>>   	 * Delay (100us) * 100 /1000 = Delay / 10 (ms) */
>>> -	intel_dsi->backlight_off_delay = pps->bl_disable_delay / 10;
>>> -	intel_dsi->backlight_on_delay = pps->bl_enable_delay / 10;
>>> -	intel_dsi->panel_on_delay = pps->panel_on_delay / 10;
>>> -	intel_dsi->panel_off_delay = pps->panel_off_delay / 10;
>>> -	intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10;
>>> +	intel_dsi->pinfo.backlight_off_delay = pps->bl_disable_delay / 10;
>>> +	intel_dsi->pinfo.backlight_on_delay = pps->bl_enable_delay / 10;
>>> +	intel_dsi->pinfo.panel_on_delay = pps->panel_on_delay / 10;
>>> +	intel_dsi->pinfo.panel_off_delay = pps->panel_off_delay / 10;
>>> +	intel_dsi->pinfo.panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10;
>>>
>>>   	return true;
>>>   }
>>> --
>>> 1.9.1
>>>
>>> _______________________________________________
>>> Intel-gfx mailing list
>>> Intel-gfx@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
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 588b618..0088f16 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -731,6 +731,17 @@  struct intel_load_detect_pipe {
 	int dpms_mode;
 };
 
+struct panel_info {
+	/* all delays in ms */
+	u16 backlight_off_delay;
+	u16 backlight_on_delay;
+	u16 panel_on_delay;
+	u16 panel_off_delay;
+	u16 panel_pwr_cycle_delay;
+
+	/* Other panel specififc stuff */
+};
+
 static inline struct intel_encoder *
 intel_attached_encoder(struct drm_connector *connector)
 {
diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h
index 8fe2064..8b20f76 100644
--- a/drivers/gpu/drm/i915/intel_dsi.h
+++ b/drivers/gpu/drm/i915/intel_dsi.h
@@ -129,12 +129,7 @@  struct intel_dsi {
 	u32 pclk;
 	u16 burst_mode_ratio;
 
-	/* all delays in ms */
-	u16 backlight_off_delay;
-	u16 backlight_on_delay;
-	u16 panel_on_delay;
-	u16 panel_off_delay;
-	u16 panel_pwr_cycle_delay;
+	struct panel_info pinfo;
 };
 
 /* XXX: Transitional before dual port configuration */
diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
index 5493aef..56b5b80 100644
--- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
@@ -550,11 +550,11 @@  static bool generic_init(struct intel_dsi_device *dsi)
 	/* delays in VBT are in unit of 100us, so need to convert
 	 * here in ms
 	 * Delay (100us) * 100 /1000 = Delay / 10 (ms) */
-	intel_dsi->backlight_off_delay = pps->bl_disable_delay / 10;
-	intel_dsi->backlight_on_delay = pps->bl_enable_delay / 10;
-	intel_dsi->panel_on_delay = pps->panel_on_delay / 10;
-	intel_dsi->panel_off_delay = pps->panel_off_delay / 10;
-	intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10;
+	intel_dsi->pinfo.backlight_off_delay = pps->bl_disable_delay / 10;
+	intel_dsi->pinfo.backlight_on_delay = pps->bl_enable_delay / 10;
+	intel_dsi->pinfo.panel_on_delay = pps->panel_on_delay / 10;
+	intel_dsi->pinfo.panel_off_delay = pps->panel_off_delay / 10;
+	intel_dsi->pinfo.panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10;
 
 	return true;
 }