[Intel-gfx] [PATCH] drm/i915/psr : Add psr1 live status

Jani Nikula jani.nikula at linux.intel.com
Tue Jun 19 15:03:46 UTC 2018


On Tue, 12 Jun 2018, Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com> wrote:
> On Fri, 2018-05-25 at 11:50 +0530, vathsala nagaraju wrote:
>> From: Vathsala Nagaraju <vathsala.nagaraju at intel.com>
>> 
>> Prints live state of psr1.Extending the existing
>> PSR2 live state function to cover psr1.
>> 
>> Tested on KBL with psr2 and psr1 panel.
>> 
>> v2: rebase
>> v3: DK
>>     Rename psr2_live_status to psr_source_status.
>> v4: DK
>>     Move EDP_PSR_STATUS_STATE_SHIFT below EDP_PSR_STATUS_STATE_MASK.
>>     Pass seq to psr_source_status, handle source status prints in
>>     psr_source_status.
>> v5: Fixed CI warning messages
>> 
>> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
>> 
>
> nit: Noticed an extra space in the title before the colon.
> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>

I'm afraid this no longer applies cleanly. Please resend if it's still
needed.

BR,
Jani.


>
>> Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju at intel.com>
>> ---
>>  drivers/gpu/drm/i915/i915_debugfs.c | 72 ++++++++++++++++++++++++---
>> ----------
>>  drivers/gpu/drm/i915/i915_reg.h     |  1 +
>>  2 files changed, 49 insertions(+), 24 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
>> b/drivers/gpu/drm/i915/i915_debugfs.c
>> index 5251544..1d45cb9 100644
>> --- a/drivers/gpu/drm/i915/i915_debugfs.c
>> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
>> @@ -2596,27 +2596,55 @@ static int i915_guc_log_relay_release(struct
>> inode *inode, struct file *file)
>>  	.release = i915_guc_log_relay_release,
>>  };
>>  
>> -static const char *psr2_live_status(u32 val)
>> -{
>> -	static const char * const live_status[] = {
>> -		"IDLE",
>> -		"CAPTURE",
>> -		"CAPTURE_FS",
>> -		"SLEEP",
>> -		"BUFON_FW",
>> -		"ML_UP",
>> -		"SU_STANDBY",
>> -		"FAST_SLEEP",
>> -		"DEEP_SLEEP",
>> -		"BUF_ON",
>> -		"TG_ON"
>> -	};
>> +static void
>> +psr_source_status(struct drm_i915_private *dev_priv, struct seq_file
>> *m)
>> +{
>> +	u32 val, psr_status = 0;
>>  
>> -	val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
>> EDP_PSR2_STATUS_STATE_SHIFT;
>> -	if (val < ARRAY_SIZE(live_status))
>> -		return live_status[val];
>> +	if (dev_priv->psr.psr2_enabled) {
>> +		static const char * const live_status[] = {
>> +			"IDLE",
>> +			"CAPTURE",
>> +			"CAPTURE_FS",
>> +			"SLEEP",
>> +			"BUFON_FW",
>> +			"ML_UP",
>> +			"SU_STANDBY",
>> +			"FAST_SLEEP",
>> +			"DEEP_SLEEP",
>> +			"BUF_ON",
>> +			"TG_ON"
>> +		};
>> +		psr_status = I915_READ(EDP_PSR2_STATUS);
>> +		val =  (psr_status & EDP_PSR2_STATUS_STATE_MASK) >>
>> +			EDP_PSR2_STATUS_STATE_SHIFT;
>> +		if (val < ARRAY_SIZE(live_status)) {
>> +			seq_printf(m, "Source PSR status: %x[%s]\n",
>> psr_status,
>> +				   live_status[val]);
>> +			return;
>> +		}
>> +	} else {
>> +		static const char * const live_status[] = {
>> +			"IDLE",
>> +			"SRDONACK",
>> +			"SRDENT",
>> +			"BUFOFF",
>> +			"BUFON",
>> +			"AUXACK",
>> +			"SRDOFFACK",
>> +			"SRDENT_ON",
>> +		};
>> +		psr_status = I915_READ(EDP_PSR_STATUS);
>> +		val = (psr_status & EDP_PSR_STATUS_STATE_MASK) >>
>> +			EDP_PSR_STATUS_STATE_SHIFT;
> 			^alignment is different from the PSR2 block.
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list