mbox series

[v3,0/6] Panel replay phase1 implementation

Message ID 20230728124609.2911830-1-animesh.manna@intel.com (mailing list archive)
Headers show
Series Panel replay phase1 implementation | expand

Message

Animesh Manna July 28, 2023, 12:46 p.m. UTC
Panel Replay is a power saving feature for DP 2.0 monitor and similar
to PSR on EDP.

These patches are basic enablement patches added on top of
existing psr framework to enable full-screen live active frame
update mode of panel replay. Panel replay also can be enabled
in selective update mode which will be enabled in a incremental
approach.

As per current design panel replay priority is higher than psr.
intel_dp->psr.pr_enabled flag indicate panel replay is enabled.
intel_dp->psr.pr_enabled + intel_dp->psr.psr2_enabled indicates
panel replay is enabled in selective update mode.
intel_dp->psr.pr_enabled + intel_dp->psr.psr2_enabled +
intel_psr.selective_fetch enabled indicates panel replay is
enabled in selective update mode with selective fetch.
PSR replated flags remain same like before.

Note: The patches are not tested due to unavailability of monitor.

Cc: Jouni Högander <jouni.hogander@intel.com>
Signed-off-by: Animesh Manna <animesh.manna@intel.com>

Animesh Manna (5):
  drm/panelreplay: dpcd register definition for panelreplay
  drm/i915/panelreplay: Added HAS_PANEL_REPLAY() macro
  drm/i915/panelreplay: Initializaton and compute config for panel
    replay
  drm/i915/panelreplay: Enable panel replay dpcd initialization for DP
  drm/i915/panelreplay: enable/disable panel replay

Jouni Högander (1):
  drm/i915/psr: Move psr specific dpcd init into own function

 .../drm/i915/display/intel_display_device.h   |   1 +
 .../drm/i915/display/intel_display_types.h    |   9 +-
 drivers/gpu/drm/i915/display/intel_dp.c       |  44 ++++-
 drivers/gpu/drm/i915/display/intel_psr.c      | 158 +++++++++++++-----
 include/drm/display/drm_dp.h                  |  11 ++
 5 files changed, 168 insertions(+), 55 deletions(-)

Comments

Hogander, Jouni July 31, 2023, 6:13 a.m. UTC | #1
On Fri, 2023-07-28 at 18:16 +0530, Animesh Manna wrote:
> > Panel Replay is a power saving feature for DP 2.0 monitor and
> > similar
> > to PSR on EDP.
> > 
> > These patches are basic enablement patches added on top of
> > existing psr framework to enable full-screen live active frame
> > update mode of panel replay. Panel replay also can be enabled
> > in selective update mode which will be enabled in a incremental
> > approach.
> > 
> > As per current design panel replay priority is higher than psr.
> > intel_dp->psr.pr_enabled flag indicate panel replay is enabled.
> > intel_dp->psr.pr_enabled + intel_dp->psr.psr2_enabled indicates
> > panel replay is enabled in selective update mode.
> > intel_dp->psr.pr_enabled + intel_dp->psr.psr2_enabled +
> > intel_psr.selective_fetch enabled indicates panel replay is
> > enabled in selective update mode with selective fetch.
> > PSR replated flags remain same like before.
> > 
> > Note: The patches are not tested due to unavailability of monitor.

Couple of generic comment concerning the whole set:

I see both PR and PANEL_REPLAY being used in your patches. I would
choose either PR or PANEL_REPLAY . Same thought on SU and
SELECTIVE_UDATE. As PANEL_SELF_REFRESH is PSR I don't see why PR should
be PANEL_REPLAY. Also SU is widely already used in psr definitions I
would use it for panel replay definitions as well.

BR,

Jouni Högander

> > Cc: Jouni Högander <jouni.hogander@intel.com>
> > Signed-off-by: Animesh Manna <animesh.manna@intel.com>
> > 
> > Animesh Manna (5):
> >   drm/panelreplay: dpcd register definition for panelreplay
> >   drm/i915/panelreplay: Added HAS_PANEL_REPLAY() macro
> >   drm/i915/panelreplay: Initializaton and compute config for panel
> >     replay
> >   drm/i915/panelreplay: Enable panel replay dpcd initialization for
> > > DP
> >   drm/i915/panelreplay: enable/disable panel replay
> > 
> > Jouni Högander (1):
> >   drm/i915/psr: Move psr specific dpcd init into own function
> > 
> >  .../drm/i915/display/intel_display_device.h   |   1 +
> >  .../drm/i915/display/intel_display_types.h    |   9 +-
> >  drivers/gpu/drm/i915/display/intel_dp.c       |  44 ++++-
> >  drivers/gpu/drm/i915/display/intel_psr.c      | 158 >
> > +++++++++++++-----
> >  include/drm/display/drm_dp.h                  |  11 ++
> >  5 files changed, 168 insertions(+), 55 deletions(-)
> >
Animesh Manna Aug. 1, 2023, 6:30 a.m. UTC | #2
Hi,

> -----Original Message-----
> From: Hogander, Jouni <jouni.hogander@intel.com>
> Sent: Monday, July 31, 2023 11:43 AM
> To: Manna, Animesh <animesh.manna@intel.com>; intel-
> gfx@lists.freedesktop.org
> Cc: Murthy, Arun R <arun.r.murthy@intel.com>
> Subject: Re: [PATCH v3 0/6] Panel replay phase1 implementation
> 
> On Fri, 2023-07-28 at 18:16 +0530, Animesh Manna wrote:
> > > Panel Replay is a power saving feature for DP 2.0 monitor and
> > > similar to PSR on EDP.
> > >
> > > These patches are basic enablement patches added on top of existing
> > > psr framework to enable full-screen live active frame update mode of
> > > panel replay. Panel replay also can be enabled in selective update
> > > mode which will be enabled in a incremental approach.
> > >
> > > As per current design panel replay priority is higher than psr.
> > > intel_dp->psr.pr_enabled flag indicate panel replay is enabled.
> > > intel_dp->psr.pr_enabled + intel_dp->psr.psr2_enabled indicates
> > > panel replay is enabled in selective update mode.
> > > intel_dp->psr.pr_enabled + intel_dp->psr.psr2_enabled +
> > > intel_psr.selective_fetch enabled indicates panel replay is enabled
> > > in selective update mode with selective fetch.
> > > PSR replated flags remain same like before.
> > >
> > > Note: The patches are not tested due to unavailability of monitor.
> 
> Couple of generic comment concerning the whole set:
> 
> I see both PR and PANEL_REPLAY being used in your patches. I would choose
> either PR or PANEL_REPLAY . Same thought on SU and SELECTIVE_UDATE. As
> PANEL_SELF_REFRESH is PSR I don't see why PR should be PANEL_REPLAY.
> Also SU is widely already used in psr definitions I would use it for panel
> replay definitions as well.

Sure, instead of pr will add panel_replay, Jani also suggested sometime back.
I am not adding selective update related flag. If needed, we can have a separate patch.

Regards,
Animesh

> 
> BR,
> 
> Jouni Högander
> 
> > > Cc: Jouni Högander <jouni.hogander@intel.com>
> > > Signed-off-by: Animesh Manna <animesh.manna@intel.com>
> > >
> > > Animesh Manna (5):
> > >   drm/panelreplay: dpcd register definition for panelreplay
> > >   drm/i915/panelreplay: Added HAS_PANEL_REPLAY() macro
> > >   drm/i915/panelreplay: Initializaton and compute config for panel
> > >     replay
> > >   drm/i915/panelreplay: Enable panel replay dpcd initialization for
> > > > DP
> > >   drm/i915/panelreplay: enable/disable panel replay
> > >
> > > Jouni Högander (1):
> > >   drm/i915/psr: Move psr specific dpcd init into own function
> > >
> > >  .../drm/i915/display/intel_display_device.h   |   1 +
> > >  .../drm/i915/display/intel_display_types.h    |   9 +-
> > >  drivers/gpu/drm/i915/display/intel_dp.c       |  44 ++++-
> > >  drivers/gpu/drm/i915/display/intel_psr.c      | 158 >
> > > +++++++++++++-----
> > >  include/drm/display/drm_dp.h                  |  11 ++
> > >  5 files changed, 168 insertions(+), 55 deletions(-)
> > >
>