All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@gmail.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>,
	Paulo Zanoni <paulo.r.zanoni@intel.com>,
	"Vivi, Rodrigo" <rodrigo.vivi@intel.com>
Subject: Re: [PATCH] drm/i915: Enable/disable DRRS
Date: Mon, 26 Jan 2015 11:00:31 -0800	[thread overview]
Message-ID: <CABVU7+t2nH0Lb12+Emt4KgPMg9nKX2qf=pOkAyBxSRbd5JbwdA@mail.gmail.com> (raw)
In-Reply-To: <20150126073157.GI10113@phenom.ffwll.local>

On Sun, Jan 25, 2015 at 11:31 PM, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Thu, Jan 22, 2015 at 03:17:40PM +0530, Ramalingam C wrote:
>> From: Vandana Kannan <vandana.kannan@intel.com>
>>
>> Calling enable/disable DRRS when enable/disable DDI are called.
>> These functions are responsible for setup of drrs data (in enable) and
>> reset of drrs (in disable).
>> has_drrs is true when downclock_mode is found and SEAMLESS_DRRS is set in
>> the VBT. A check has been added for has_drrs in these functions, to make
>> sure the functions go through only if DRRS will work on the platform with
>> the attached panel.
>>
>> V2: [By Ram]: WARN_ON is used when intel_edp_drrs_enable() is called more than
>> once [Rodrigo]
>>
>> Signed-off-by: Vandana Kannan <vandana.kannan@intel.com>
>> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
> Please be a bit more careful with adding sob lines - afaik Rodrigo did not
> handle this patch. If you just want to get people's attention, please use
> Cc: instead.
>
> Fixed while applying.
> -Daniel

that was actually my fault... I had fixed a rebase conflicted and
added to a drrs-review branch at cgit.
I signed-off but didn't increment the v2 explaining the rebase.

Thanks for merging.

>
>> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
>> ---
>>  drivers/gpu/drm/i915/intel_ddi.c |    2 ++
>>  drivers/gpu/drm/i915/intel_dp.c  |   55 ++++++++++++++++++++++++++++++++++++++
>>  drivers/gpu/drm/i915/intel_drv.h |    2 ++
>>  3 files changed, 59 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
>> index f10ec26..ad8b73d 100644
>> --- a/drivers/gpu/drm/i915/intel_ddi.c
>> +++ b/drivers/gpu/drm/i915/intel_ddi.c
>> @@ -1610,6 +1610,7 @@ static void intel_enable_ddi(struct intel_encoder *intel_encoder)
>>
>>               intel_edp_backlight_on(intel_dp);
>>               intel_psr_enable(intel_dp);
>> +             intel_edp_drrs_enable(intel_dp);
>>       }
>>
>>       if (intel_crtc->config->has_audio) {
>> @@ -1635,6 +1636,7 @@ static void intel_disable_ddi(struct intel_encoder *intel_encoder)
>>       if (type == INTEL_OUTPUT_EDP) {
>>               struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>>
>> +             intel_edp_drrs_disable(intel_dp);
>>               intel_psr_disable(intel_dp);
>>               intel_edp_backlight_off(intel_dp);
>>       }
>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>> index c066560..f843fe0 100644
>> --- a/drivers/gpu/drm/i915/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>> @@ -4820,6 +4820,61 @@ static void intel_dp_set_drrs_state(struct drm_device *dev, int refresh_rate)
>>       DRM_DEBUG_KMS("eDP Refresh Rate set to : %dHz\n", refresh_rate);
>>  }
>>
>> +void intel_edp_drrs_enable(struct intel_dp *intel_dp)
>> +{
>> +     struct drm_device *dev = intel_dp_to_dev(intel_dp);
>> +     struct drm_i915_private *dev_priv = dev->dev_private;
>> +     struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> +     struct drm_crtc *crtc = dig_port->base.base.crtc;
>> +     struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
>> +
>> +     if (!intel_crtc->config->has_drrs) {
>> +             DRM_DEBUG_KMS("Panel doesn't support DRRS\n");
>> +             return;
>> +     }
>> +
>> +     mutex_lock(&dev_priv->drrs.mutex);
>> +     if (WARN_ON(dev_priv->drrs.dp)) {
>> +             DRM_ERROR("DRRS already enabled\n");
>> +             goto unlock;
>> +     }
>> +
>> +     dev_priv->drrs.busy_frontbuffer_bits = 0;
>> +
>> +     dev_priv->drrs.dp = intel_dp;
>> +
>> +unlock:
>> +     mutex_unlock(&dev_priv->drrs.mutex);
>> +}
>> +
>> +void intel_edp_drrs_disable(struct intel_dp *intel_dp)
>> +{
>> +     struct drm_device *dev = intel_dp_to_dev(intel_dp);
>> +     struct drm_i915_private *dev_priv = dev->dev_private;
>> +     struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>> +     struct drm_crtc *crtc = dig_port->base.base.crtc;
>> +     struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
>> +
>> +     if (!intel_crtc->config->has_drrs)
>> +             return;
>> +
>> +     mutex_lock(&dev_priv->drrs.mutex);
>> +     if (!dev_priv->drrs.dp) {
>> +             mutex_unlock(&dev_priv->drrs.mutex);
>> +             return;
>> +     }
>> +
>> +     if (dev_priv->drrs.refresh_rate_type == DRRS_LOW_RR)
>> +             intel_dp_set_drrs_state(dev_priv->dev,
>> +                     intel_dp->attached_connector->panel.
>> +                     fixed_mode->vrefresh);
>> +
>> +     dev_priv->drrs.dp = NULL;
>> +     mutex_unlock(&dev_priv->drrs.mutex);
>> +
>> +     cancel_delayed_work_sync(&dev_priv->drrs.work);
>> +}
>> +
>>  static void intel_edp_drrs_downclock_work(struct work_struct *work)
>>  {
>>       struct drm_i915_private *dev_priv =
>> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
>> index e957d4d..5a14725 100644
>> --- a/drivers/gpu/drm/i915/intel_drv.h
>> +++ b/drivers/gpu/drm/i915/intel_drv.h
>> @@ -1030,6 +1030,8 @@ int intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
>>                      uint32_t src_w, uint32_t src_h);
>>  int intel_disable_plane(struct drm_plane *plane);
>>  void intel_plane_destroy(struct drm_plane *plane);
>> +void intel_edp_drrs_enable(struct intel_dp *intel_dp);
>> +void intel_edp_drrs_disable(struct intel_dp *intel_dp);
>>
>>  /* intel_dp_mst.c */
>>  int intel_dp_mst_encoder_init(struct intel_digital_port *intel_dig_port, int conn_id);
>> --
>> 1.7.9.5
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-01-26 19:00 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-09 20:55 [PATCH v3 0/10] eDP DRRS based on frontbuffer tracking Vandana Kannan
2015-01-09 20:55 ` [PATCH 1/10] drm/i915: Modifying structures related to DRRS Vandana Kannan
2015-01-14  1:27   ` Rodrigo Vivi
2015-01-22  6:48     ` Daniel Vetter
2015-01-22 11:35       ` Ramalingam C
2015-01-09 20:55 ` [PATCH 2/10] drm/i915: Initialize DRRS delayed work Vandana Kannan
2015-01-11 12:52   ` Chris Wilson
2015-01-21 11:04     ` Ramalingam C
2015-01-22  9:44       ` [PATCH] " Ramalingam C
2015-01-23 23:24         ` Rodrigo Vivi
2015-01-09 20:55 ` [PATCH 3/10] drm/i915: Enable/disable DRRS Vandana Kannan
2015-01-15 22:46   ` Rodrigo Vivi
2015-01-21 11:15     ` Ramalingam C
2015-01-22  9:47       ` [PATCH] " Ramalingam C
2015-01-23 23:25         ` Rodrigo Vivi
2015-01-26  7:31         ` Daniel Vetter
2015-01-26 19:00           ` Rodrigo Vivi [this message]
2015-01-09 20:55 ` [PATCH 4/10] drm/i915: DRRS calls based on frontbuffer Vandana Kannan
2015-01-15 22:49   ` Rodrigo Vivi
2015-01-26  7:44     ` Daniel Vetter
2015-02-11 12:43   ` [PATCH 1/6] drm/i915: Add support for DRRS in intel_dp_set_m_n Ramalingam C
2015-02-11 12:58     ` Ramalingam C
2015-01-09 20:56 ` [PATCH 5/10] drm/i915/bdw: Add support for DRRS to switch RR Vandana Kannan
2015-01-15 23:00   ` Rodrigo Vivi
2015-01-21 11:19     ` Ramalingam C
2015-01-22  9:50       ` [PATCH] " Ramalingam C
2015-01-22 16:40         ` Ramalingam C
2015-01-24  0:00           ` Rodrigo Vivi
2015-02-11 12:48             ` Ramalingam C
2015-01-09 20:56 ` [PATCH 6/10] drm/i915: Support for RR switching on VLV Vandana Kannan
2015-01-15 23:06   ` Rodrigo Vivi
2015-01-09 20:56 ` [PATCH 7/10] drm/i915: Enable eDP DRRS for CHV Vandana Kannan
2015-01-15 23:11   ` Rodrigo Vivi
2015-01-21 12:13     ` Ramalingam C
2015-01-21 15:03       ` Rodrigo Vivi
2015-01-22 10:54         ` Ramalingam C
2015-01-24  0:05   ` Rodrigo Vivi
2015-01-09 20:56 ` [PATCH 8/10] Documentation/drm: DocBook integration for DRRS Vandana Kannan
2015-01-15 23:16   ` Rodrigo Vivi
2015-01-20  9:12     ` Daniel Vetter
2015-01-09 20:56 ` [PATCH 9/10] drm/i915: Add debugfs entry " Vandana Kannan
2015-01-11 12:40   ` Chris Wilson
2015-01-15 23:18     ` Rodrigo Vivi
2015-01-21 12:26       ` Ramalingam C
2015-01-22 16:45         ` [PATCH] " Ramalingam C
2015-01-23 16:03           ` Daniel Vetter
2015-01-23 17:47             ` Ramalingam C
2015-01-23 17:52               ` Ramalingam C
2015-01-24  0:13                 ` Rodrigo Vivi
2015-02-11 12:52                   ` Ramalingam C
2015-01-09 20:56 ` [PATCH 10/10] kms_drrs: Test DRRS entry and exit Vandana Kannan
2015-01-15 23:24   ` Rodrigo Vivi
2015-01-20  9:11     ` Daniel Vetter
2015-01-21 12:31       ` Ramalingam C

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABVU7+t2nH0Lb12+Emt4KgPMg9nKX2qf=pOkAyBxSRbd5JbwdA@mail.gmail.com' \
    --to=rodrigo.vivi@gmail.com \
    --cc=daniel@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    --cc=rodrigo.vivi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.