All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramalingam C <ramalingam.c@intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org, paulo.r.zanoni@intel.com,
	rodrigo.vivi@intel.com
Subject: Re: [PATCH 0/6] eDP DRRS based on frontbuffer tracking
Date: Sun, 01 Mar 2015 13:54:06 +0530	[thread overview]
Message-ID: <54F2CCA6.9070606@intel.com> (raw)
In-Reply-To: <20150227153707.GP24485@phenom.ffwll.local>


On Friday 27 February 2015 09:07 PM, Daniel Vetter wrote:
> On Fri, Feb 27, 2015 at 07:59:43PM +0530, Ramalingam C wrote:
>> On Tuesday 24 February 2015 06:21 AM, Daniel Vetter wrote:
>>> On Fri, Feb 13, 2015 at 03:32:58PM +0530, Ramalingam C wrote:
>>>> This series includes a preparation patch for drrs support across differnt
>>>> platforms in intel_dp_set_m_n along with last 5 pending patches of V3 eDP
>>>> DRRS patch series.
>>>>
>>>> New series is submitted to make the review more comfortable and
>>>> to display the dependancy of the patches explicitly.
>>>>
>>>> Durgadoss R (1):
>>>>    drm/i915: Enable eDP DRRS for CHV
>>>>
>>>> Ramalingam C (1):
>>>>    drm/i915: Add support for DRRS in intel_dp_set_m_n
>>>>
>>>> Vandana Kannan (4):
>>>>    drm/i915/bdw: Add support for DRRS to switch RR
>>>>    drm/i915: Support for RR switching on VLV
>>>>    Documentation/drm: DocBook integration for DRRS
>>>>    drm/i915: Add debugfs entry for DRRS
>>> Ok I've reviewed the locking for DRRS quickly now that it's all merged and
>>> it's deadlock-y:
>>>
>>> intel_edp_drrs_downclock_work grabs the drrs mutex. But in the disable
>>> function we cancel that work and wait for that to complete (cancel_sync)
>>> while holding the lock.
>>>
>>> Which means if the async work is running this will deadlock. The work
>>> cancel must be moved out of the critical section, and the work must
>>> double-check (after taking the lock) that drrs hasn't been disabled
>>> meanwhile (by checking drrs.dp, which we already do). intel_psr.c contains
>>> all that logic as an example.
>>>
>>> While you do that follow-up patch could we extract the drrs code into a
>>> new intel_drrs.c file? That would also simplify the kerneldoc includes a
>>> bit.
>>>
>>> Cheers, Daniel
>> Missed the possible deadlock window. I will upload a patch moving the
>> cancellation of the deferred work out of the mutex protection asap.
>>
>> As a heads up, in VPG we have implemented MIPI DRRS and also content based
>> DRRS.
>>
>> MIPI DRRS:
>> We have extended the DRRS to DSI encoder also on android codelines for BYT
>> and CHV.
>>
>>
>> Content based DRRS:
>> We have implemented the interfaces
> What kind of interface? Imo we should do this by adjusting the frequecy of
> the mode, with a suitable modeset fastpath.
> -Daniel
We have used the specific path in modeset to request for the DRRS 
vrefresh. And used a drm property to expose the DRRS type.
>
>>          to expose the DRRS capability and and the vrefresh supported
>>          to receive the request for the new vrefresh.
>>
>> So based on required FPS for the display content to be rendered userspace,
>> will place a request for the new vrefresh.
>>
>> We have verified the functionality of this implementation on android devices
>> for almost an year now.
>> I will rework on the implementation to adapt to the DRM-intel and submit a
>> RFC to explain the complete design.
>>
>> This RFC will have the generalized DRRS state machine for all encoders like
>> eDP and DSI along with encoder support for DSI and eDP.
>> So as a result we will have the generic code for drrs state machine in
>> intel_drrs.c totally separated from the encoder related code. Can we wait
>> till then?
> The deadlock fix should land asap. Or do you mean something else?
Patch to fix deadlock will be submitted asap in early monday after 
required testing. I was asking regarding the DRRS code separation.
> -Daniel
>
>>
>> --Ram
>>>>   Documentation/DocBook/drm.tmpl       |   11 ++++
>>>>   drivers/gpu/drm/i915/i915_debugfs.c  |   99 ++++++++++++++++++++++++++++
>>>>   drivers/gpu/drm/i915/i915_reg.h      |    1 +
>>>>   drivers/gpu/drm/i915/intel_display.c |   32 ++++++---
>>>>   drivers/gpu/drm/i915/intel_dp.c      |  121 ++++++++++++++++++++++++++++++++--
>>>>   drivers/gpu/drm/i915/intel_drv.h     |   22 ++++++-
>>>>   6 files changed, 273 insertions(+), 13 deletions(-)
>>>>
>>>> -- 
>>>> 1.7.9.5
>>>>

-- 
Ram

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2015-03-01  8:29 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-13 10:02 [PATCH 0/6] eDP DRRS based on frontbuffer tracking Ramalingam C
2015-02-13 10:02 ` [PATCH 1/6] drm/i915: Add support for DRRS in intel_dp_set_m_n Ramalingam C
2015-02-19 17:22   ` Rodrigo Vivi
2015-02-13 10:03 ` [PATCH 2/6] drm/i915/bdw: Add support for DRRS to switch RR Ramalingam C
2015-02-19 17:25   ` Rodrigo Vivi
2015-02-20  6:15     ` Ramalingam C
2015-02-20 18:34       ` Rodrigo Vivi
2015-02-13 10:03 ` [PATCH 3/6] drm/i915: Support for RR switching on VLV Ramalingam C
2015-02-13 10:03 ` [PATCH 4/6] drm/i915: Enable eDP DRRS for CHV Ramalingam C
2015-02-19 18:09   ` Rodrigo Vivi
2015-02-13 10:03 ` [PATCH 5/6] Documentation/drm: DocBook integration for DRRS Ramalingam C
2015-02-13 10:03 ` [PATCH 6/6] drm/i915: Add debugfs entry " Ramalingam C
2015-02-19 18:45   ` Rodrigo Vivi
2015-02-20 14:37     ` Ramalingam C
2015-02-23 12:05       ` [PATCH] " Ramalingam C
2015-02-23 18:19         ` Rodrigo Vivi
2015-03-03 12:20           ` Ramalingam C
2015-02-24  0:39         ` Daniel Vetter
2015-02-27 13:59           ` Ramalingam C
2015-03-03 15:23             ` Ramalingam C
2015-03-04 23:00               ` Rodrigo Vivi
2015-03-05 11:18                 ` Daniel Vetter
2015-03-05 11:22                   ` Ramalingam C
2015-03-05 13:04                     ` Daniel Vetter
2015-02-23 12:08 ` [PATCH] drm/i915: Enhancing eDP DRRS debug message Ramalingam C
2015-02-23 18:20   ` Rodrigo Vivi
2015-02-24  0:51 ` [PATCH 0/6] eDP DRRS based on frontbuffer tracking Daniel Vetter
2015-02-27 14:29   ` Ramalingam C
2015-02-27 15:37     ` Daniel Vetter
2015-03-01  8:24       ` Ramalingam C [this message]
2015-03-03  6:41         ` [PATCH] drm/i915: Fixing mutex deadlock window at eDP DRRS Ramalingam C
2015-03-04 22:55           ` Rodrigo Vivi
2015-03-05 11:49             ` Daniel Vetter

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=54F2CCA6.9070606@intel.com \
    --to=ramalingam.c@intel.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.