[Intel-gfx] [PATCH] drm/i915/psr: enable psr1 on psr2 panels

vathsala nagaraju vathsala.nagaraju at intel.com
Wed Apr 11 09:31:24 UTC 2018


+ puthik
On Saturday 07 April 2018 12:36 AM, Vivi, Rodrigo wrote:
> On Fri, Apr 06, 2018 at 12:10:24PM -0700, Dhinakaran Pandiyan wrote:
>>
>>
>> On Sat, 2018-04-07 at 00:12 +0530, vathsala nagaraju wrote:
>>> From: Vathsala Nagaraju <vathsala.nagaraju at intel.com>
>>>
>>> Adds force_psr1 mod parameter to enable psr1 on psr2 panels.
>>> useful in cases where psr2 fails and user wants to enable
>>> psr1 feature for power saving until a fix
>>> is provided for psr2.
> The parameters shouldn't be used by users to select a configuration.
> They are marked as unsafe. We should only enable the feature when
> we are comfortable it doesn't cause trouble.

The idea was to give user the option to switch to psr1 ,if they want to.

>
>>
>> We should perhaps make enable_psr=1 enable just PSR1. I am not
>> comfortable that we enable PSR2 at all, there are no tests in IGT for
>> selective update, seems like nobody really knows exactly how well it
>> works.
with enable_psr , we are deciding whether to use psr1/psr2.
we can reuse enable_psr.

> Agreed. Probably good for now to avoid PSR2 in all situations and only
> allow PSR2 when we are properly testing it.
>
>>
>>> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>>> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
>>> Cc: José Roberto de Souza <jose.souza at intel.com>
>>> Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju at intel.com>
>>> ---
>>>   drivers/gpu/drm/i915/i915_params.c | 5 +++++
>>>   drivers/gpu/drm/i915/i915_params.h | 1 +
>>>   drivers/gpu/drm/i915/intel_psr.c   | 2 ++
>>>   3 files changed, 8 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
>>> index 08108ce..5b6f5af 100644
>>> --- a/drivers/gpu/drm/i915/i915_params.c
>>> +++ b/drivers/gpu/drm/i915/i915_params.c
>>> @@ -95,6 +95,11 @@ struct i915_params i915_modparams __read_mostly = {
>>>      "(0=disabled, 1=enabled - link mode chosen per-platform, 2=force link-standby mode, 3=force link-off mode) "
>>>      "Default: -1 (use per-chip default)");
>>>
>>> +i915_param_named_unsafe(force_psr1, int, 0600,
>>> +   "Enable PSR1 on PSR2 Panel "
>>> +   "(0=disabled, 1=enabled) "
>>> +   "Default: -1 (use per-chip default)");
>>> +
>>>   i915_param_named_unsafe(alpha_support, bool, 0400,
>>>      "Enable alpha quality driver support for latest hardware. "
>>>      "See also CONFIG_DRM_I915_ALPHA_SUPPORT.");
>>> diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
>>> index c963603..1f5dd1c 100644
>>> --- a/drivers/gpu/drm/i915/i915_params.h
>>> +++ b/drivers/gpu/drm/i915/i915_params.h
>>> @@ -44,6 +44,7 @@
>>>      param(int, enable_fbc, -1) \
>>>      param(int, enable_ppgtt, -1) \
>>>      param(int, enable_psr, -1) \
>>> +   param(int, force_psr1, -1) \
>>>      param(int, disable_power_well, -1) \
>>>      param(int, enable_ips, 1) \
>>>      param(int, invert_brightness, 0) \
>>> diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
>>> index 2d53f73..415e377 100644
>>> --- a/drivers/gpu/drm/i915/intel_psr.c
>>> +++ b/drivers/gpu/drm/i915/intel_psr.c
>>> @@ -540,6 +540,8 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
>>>
>>>      crtc_state->has_psr = true;
>>>      crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp, crtc_state);
>>> +   if (i915_modparams.force_psr1 == 1 && crtc_state->has_psr2)
>>> +           crtc_state->has_psr2 = false;
>>>      DRM_DEBUG_KMS("Enabling PSR%s\n", crtc_state->has_psr2 ? "2" : "");
>>>   }
>>>



More information about the Intel-gfx mailing list