Message ID | 20240412155243.2891996-6-animesh.manna@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Link off between frames for edp | expand |
On Fri, 2024-04-12 at 21:22 +0530, Animesh Manna wrote: > Set the Link Off Between Frames Enable bit in ALPM_CTL register. > > Signed-off-by: Animesh Manna <animesh.manna@intel.com> > --- > drivers/gpu/drm/i915/display/intel_alpm.c | 5 +++++ > drivers/gpu/drm/i915/display/intel_display_types.h | 1 + > 2 files changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c > b/drivers/gpu/drm/i915/display/intel_alpm.c > index 699f2f051766..ae894c85233c 100644 > --- a/drivers/gpu/drm/i915/display/intel_alpm.c > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c > @@ -325,6 +325,11 @@ static void lnl_alpm_configure(struct intel_dp > *intel_dp) > ALPM_CTL_EXTENDED_FAST_WAKE_TIME(intel_dp- > >alpm_parameters.fast_wake_lines); > } > > + if (intel_dp->lobf_supported) { > + alpm_ctl |= ALPM_CTL_LOBF_ENABLE; > + intel_dp->lobf_enabled = true; > + } > + I don't see lnl_alpm_configure being called for lobf case in your patches. BR, Jouni Högander > alpm_ctl |= ALPM_CTL_ALPM_ENTRY_CHECK(intel_dp- > >alpm_parameters.check_entry_lines); > > intel_de_write(dev_priv, ALPM_CTL(cpu_transcoder), alpm_ctl); > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h > b/drivers/gpu/drm/i915/display/intel_display_types.h > index 6116c383b543..f61ba582429b 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -1884,6 +1884,7 @@ struct intel_dp { > > /* LOBF flags*/ > bool lobf_supported; > + bool lobf_enabled; > }; > > enum lspcon_vendor {
On Fri, 12 Apr 2024, Animesh Manna <animesh.manna@intel.com> wrote: > Set the Link Off Between Frames Enable bit in ALPM_CTL register. > > Signed-off-by: Animesh Manna <animesh.manna@intel.com> > --- > drivers/gpu/drm/i915/display/intel_alpm.c | 5 +++++ > drivers/gpu/drm/i915/display/intel_display_types.h | 1 + > 2 files changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c b/drivers/gpu/drm/i915/display/intel_alpm.c > index 699f2f051766..ae894c85233c 100644 > --- a/drivers/gpu/drm/i915/display/intel_alpm.c > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c > @@ -325,6 +325,11 @@ static void lnl_alpm_configure(struct intel_dp *intel_dp) > ALPM_CTL_EXTENDED_FAST_WAKE_TIME(intel_dp->alpm_parameters.fast_wake_lines); > } > > + if (intel_dp->lobf_supported) { > + alpm_ctl |= ALPM_CTL_LOBF_ENABLE; > + intel_dp->lobf_enabled = true; Gut feeling says this should not be part of intel_dp but rather crtc state. BR, Jani. > + } > + > alpm_ctl |= ALPM_CTL_ALPM_ENTRY_CHECK(intel_dp->alpm_parameters.check_entry_lines); > > intel_de_write(dev_priv, ALPM_CTL(cpu_transcoder), alpm_ctl); > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h > index 6116c383b543..f61ba582429b 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -1884,6 +1884,7 @@ struct intel_dp { > > /* LOBF flags*/ > bool lobf_supported; > + bool lobf_enabled; > }; > > enum lspcon_vendor {
> -----Original Message----- > From: Hogander, Jouni <jouni.hogander@intel.com> > Sent: Monday, April 15, 2024 3:39 PM > To: Manna, Animesh <animesh.manna@intel.com>; intel- > gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org; Murthy, Arun R > <arun.r.murthy@intel.com>; Nikula, Jani <jani.nikula@intel.com> > Subject: Re: [PATCH v2 5/6] drm/i915/alpm: Enable lobf from source in > ALPM_CTL > > On Fri, 2024-04-12 at 21:22 +0530, Animesh Manna wrote: > > Set the Link Off Between Frames Enable bit in ALPM_CTL register. > > > > Signed-off-by: Animesh Manna <animesh.manna@intel.com> > > --- > > drivers/gpu/drm/i915/display/intel_alpm.c | 5 +++++ > > drivers/gpu/drm/i915/display/intel_display_types.h | 1 + > > 2 files changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c > > b/drivers/gpu/drm/i915/display/intel_alpm.c > > index 699f2f051766..ae894c85233c 100644 > > --- a/drivers/gpu/drm/i915/display/intel_alpm.c > > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c > > @@ -325,6 +325,11 @@ static void lnl_alpm_configure(struct intel_dp > > *intel_dp) > > ALPM_CTL_EXTENDED_FAST_WAKE_TIME(intel_dp- > > >alpm_parameters.fast_wake_lines); > > } > > > > + if (intel_dp->lobf_supported) { > > + alpm_ctl |= ALPM_CTL_LOBF_ENABLE; > > + intel_dp->lobf_enabled = true; > > + } > > + > > I don't see lnl_alpm_configure being called for lobf case in your patches. Enabling/Disabling LOBF will be done along with alpm(aux-wake/aux-less) enablement. Here lobf_supported flag is the switch to enable LOBF or not. Please let me know if I am missing anything. Regards, Animesh > > BR, > > Jouni Högander > > > alpm_ctl |= ALPM_CTL_ALPM_ENTRY_CHECK(intel_dp- > > >alpm_parameters.check_entry_lines); > > > > intel_de_write(dev_priv, ALPM_CTL(cpu_transcoder), alpm_ctl); > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h > > b/drivers/gpu/drm/i915/display/intel_display_types.h > > index 6116c383b543..f61ba582429b 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > > @@ -1884,6 +1884,7 @@ struct intel_dp { > > > > /* LOBF flags*/ > > bool lobf_supported; > > + bool lobf_enabled; > > }; > > > > enum lspcon_vendor {
> -----Original Message----- > From: Nikula, Jani <jani.nikula@intel.com> > Sent: Monday, April 15, 2024 5:19 PM > To: Manna, Animesh <animesh.manna@intel.com>; intel- > gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org; Hogander, Jouni > <jouni.hogander@intel.com>; Murthy, Arun R <arun.r.murthy@intel.com>; > Manna, Animesh <animesh.manna@intel.com> > Subject: Re: [PATCH v2 5/6] drm/i915/alpm: Enable lobf from source in > ALPM_CTL > > On Fri, 12 Apr 2024, Animesh Manna <animesh.manna@intel.com> wrote: > > Set the Link Off Between Frames Enable bit in ALPM_CTL register. > > > > Signed-off-by: Animesh Manna <animesh.manna@intel.com> > > --- > > drivers/gpu/drm/i915/display/intel_alpm.c | 5 +++++ > > drivers/gpu/drm/i915/display/intel_display_types.h | 1 + > > 2 files changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c > > b/drivers/gpu/drm/i915/display/intel_alpm.c > > index 699f2f051766..ae894c85233c 100644 > > --- a/drivers/gpu/drm/i915/display/intel_alpm.c > > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c > > @@ -325,6 +325,11 @@ static void lnl_alpm_configure(struct intel_dp > *intel_dp) > > ALPM_CTL_EXTENDED_FAST_WAKE_TIME(intel_dp- > >alpm_parameters.fast_wake_lines); > > } > > > > + if (intel_dp->lobf_supported) { > > + alpm_ctl |= ALPM_CTL_LOBF_ENABLE; > > + intel_dp->lobf_enabled = true; > > Gut feeling says this should not be part of intel_dp but rather crtc state. Kept with the same place with alpm parameters, will think over again. Regards, Animesh > > BR, > Jani. > > > + } > > + > > alpm_ctl |= > > ALPM_CTL_ALPM_ENTRY_CHECK(intel_dp- > >alpm_parameters.check_entry_lines) > > ; > > > > intel_de_write(dev_priv, ALPM_CTL(cpu_transcoder), alpm_ctl); diff > > --git a/drivers/gpu/drm/i915/display/intel_display_types.h > > b/drivers/gpu/drm/i915/display/intel_display_types.h > > index 6116c383b543..f61ba582429b 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > > @@ -1884,6 +1884,7 @@ struct intel_dp { > > > > /* LOBF flags*/ > > bool lobf_supported; > > + bool lobf_enabled; > > }; > > > > enum lspcon_vendor { > > -- > Jani Nikula, Intel
On Tue, 2024-04-16 at 08:20 +0000, Manna, Animesh wrote: > > > > -----Original Message----- > > From: Hogander, Jouni <jouni.hogander@intel.com> > > Sent: Monday, April 15, 2024 3:39 PM > > To: Manna, Animesh <animesh.manna@intel.com>; intel- > > gfx@lists.freedesktop.org > > Cc: dri-devel@lists.freedesktop.org; Murthy, Arun R > > <arun.r.murthy@intel.com>; Nikula, Jani <jani.nikula@intel.com> > > Subject: Re: [PATCH v2 5/6] drm/i915/alpm: Enable lobf from source > > in > > ALPM_CTL > > > > On Fri, 2024-04-12 at 21:22 +0530, Animesh Manna wrote: > > > Set the Link Off Between Frames Enable bit in ALPM_CTL register. > > > > > > Signed-off-by: Animesh Manna <animesh.manna@intel.com> > > > --- > > > drivers/gpu/drm/i915/display/intel_alpm.c | 5 +++++ > > > drivers/gpu/drm/i915/display/intel_display_types.h | 1 + > > > 2 files changed, 6 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c > > > b/drivers/gpu/drm/i915/display/intel_alpm.c > > > index 699f2f051766..ae894c85233c 100644 > > > --- a/drivers/gpu/drm/i915/display/intel_alpm.c > > > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c > > > @@ -325,6 +325,11 @@ static void lnl_alpm_configure(struct > > > intel_dp > > > *intel_dp) > > > > > > ALPM_CTL_EXTENDED_FAST_WAKE_TIME(intel_dp- > > > > alpm_parameters.fast_wake_lines); > > > } > > > > > > + if (intel_dp->lobf_supported) { > > > + alpm_ctl |= ALPM_CTL_LOBF_ENABLE; > > > + intel_dp->lobf_enabled = true; > > > + } > > > + > > > > I don't see lnl_alpm_configure being called for lobf case in your > > patches. > > Enabling/Disabling LOBF will be done along with alpm(aux-wake/aux- > less) enablement. > Here lobf_supported flag is the switch to enable LOBF or not. > Please let me know if I am missing anything. I might be missing something. E.g. in case of aux_less_alpm PR lnl_alpm_configure is called from intel_psr_enable_source. Where it is called for lobf case? BR, Jouni Högander > > Regards, > Animesh > > > > > BR, > > > > Jouni Högander > > > > > alpm_ctl |= ALPM_CTL_ALPM_ENTRY_CHECK(intel_dp- > > > > alpm_parameters.check_entry_lines); > > > > > > intel_de_write(dev_priv, ALPM_CTL(cpu_transcoder), > > > alpm_ctl); > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h > > > b/drivers/gpu/drm/i915/display/intel_display_types.h > > > index 6116c383b543..f61ba582429b 100644 > > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > > > @@ -1884,6 +1884,7 @@ struct intel_dp { > > > > > > /* LOBF flags*/ > > > bool lobf_supported; > > > + bool lobf_enabled; > > > }; > > > > > > enum lspcon_vendor { >
diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c b/drivers/gpu/drm/i915/display/intel_alpm.c index 699f2f051766..ae894c85233c 100644 --- a/drivers/gpu/drm/i915/display/intel_alpm.c +++ b/drivers/gpu/drm/i915/display/intel_alpm.c @@ -325,6 +325,11 @@ static void lnl_alpm_configure(struct intel_dp *intel_dp) ALPM_CTL_EXTENDED_FAST_WAKE_TIME(intel_dp->alpm_parameters.fast_wake_lines); } + if (intel_dp->lobf_supported) { + alpm_ctl |= ALPM_CTL_LOBF_ENABLE; + intel_dp->lobf_enabled = true; + } + alpm_ctl |= ALPM_CTL_ALPM_ENTRY_CHECK(intel_dp->alpm_parameters.check_entry_lines); intel_de_write(dev_priv, ALPM_CTL(cpu_transcoder), alpm_ctl); diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index 6116c383b543..f61ba582429b 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1884,6 +1884,7 @@ struct intel_dp { /* LOBF flags*/ bool lobf_supported; + bool lobf_enabled; }; enum lspcon_vendor {
Set the Link Off Between Frames Enable bit in ALPM_CTL register. Signed-off-by: Animesh Manna <animesh.manna@intel.com> --- drivers/gpu/drm/i915/display/intel_alpm.c | 5 +++++ drivers/gpu/drm/i915/display/intel_display_types.h | 1 + 2 files changed, 6 insertions(+)