[Intel-gfx] [PATCH 2/2] drm/i915: eDP DRRS limited to only one panel at a time
Daniel Vetter
daniel at ffwll.ch
Tue Mar 24 02:33:02 PDT 2015
On Tue, Mar 24, 2015 at 11:15:00AM +0530, Ramalingam C wrote:
> Hi Siva,
>
> Since the same structure will be used to implement DRRS on DSI also we have
> placed it at i915_dev_priv.
> I am working on the RFC for the DRRS on DSI.
I think a better approach would be to make an array of dev_priv->drrs->dp
pointers, so that we can support one drrs instance per pipe. Well maybe we
need to change it from dp to intel_encoder so that it also works for dsi
ports.
Aside since I just again looked at the code: The locking for drrs is still
a bit broken:
- A few places check for ->drrs.dp != NULL without holding drrs.mutex.
- Imo we should add a WARN_ON(!mutex_locked(drrs.mutex)) to drrs_set_state
function.
Ramalingam can you please take care of that?
Thanks, Daniel
>
> On Tuesday 24 March 2015 07:33 AM, Sivakumar Thulasimani wrote:
> >since drrs struct is used primarily in intel_dp.c file alone can it be
> >moved to intel_dp ?
> >
> >On 3/23/2015 11:12 PM, Ramalingam C wrote:
> >>In case of multiple eDP panels, only one can have
> >>the DRRS enabled on it.
> >>
> >>In future eDP DRRS will be extended for multiple panels.
> >>
> >>Signed-off-by: Ramalingam C <ramalingam.c at intel.com>
> >>---
> >> drivers/gpu/drm/i915/intel_dp.c | 5 +++++
> >> 1 file changed, 5 insertions(+)
> >>
> >>diff --git a/drivers/gpu/drm/i915/intel_dp.c
> >>b/drivers/gpu/drm/i915/intel_dp.c
> >>index 0b26df9..ec40d19 100644
> >>--- a/drivers/gpu/drm/i915/intel_dp.c
> >>+++ b/drivers/gpu/drm/i915/intel_dp.c
> >>@@ -5311,6 +5311,11 @@ intel_dp_drrs_init(struct intel_connector
> >>*intel_connector,
> >> return NULL;
> >> }
> >> + if (dev_priv->drrs.type == SEAMLESS_DRRS_SUPPORT) {
> >>+ DRM_DEBUG_KMS("DRRS already enabled on previous connector\n");
> >>+ return NULL;
> >>+ }
> >>+
> >> INIT_DELAYED_WORK(&dev_priv->drrs.work,
> >>intel_edp_drrs_downclock_work);
> >> mutex_init(&dev_priv->drrs.mutex);
> >
>
> --
> Ram
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list