From: vathsala nagaraju <vathsala.nagaraju@intel.com>
To: dhinakaran.pandiyan@intel.com, "Souza, Jose" <jose.souza@intel.com>
Cc: "intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"Vivi, Rodrigo" <rodrigo.vivi@intel.com>
Subject: Re: [PATCH] drm/i915/psr : Add psr1 live status
Date: Fri, 27 Apr 2018 11:28:15 +0530 [thread overview]
Message-ID: <5AE2BBF7.7010702@intel.com> (raw)
In-Reply-To: <1524617806.24461.62.camel@dk-H97M-D3H>
On Wednesday 25 April 2018 06:26 AM, Dhinakaran Pandiyan wrote:
>
>
> On Fri, 2018-04-20 at 17:14 +0000, Souza, Jose wrote:
>> On Fri, 2018-04-20 at 15:06 +0530, vathsala nagaraju wrote:
>>> From: Vathsala Nagaraju <vathsala.nagaraju@intel.com>
>>>
>>> Prints live state of psr1.Extending the existing
>>> PSR2 live state function to cover psr1.
>>>
>>> Tested on KBL with psr2 and psr1 panel.
>>>
>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
>>>
>>> Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/i915_debugfs.c | 68 ++++++++++++++++++++++++---
>>> ----------
>>> drivers/gpu/drm/i915/i915_reg.h | 1 +
>>> 2 files changed, 45 insertions(+), 24 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
>>> b/drivers/gpu/drm/i915/i915_debugfs.c
>>> index e0274f4..3056f04 100644
>>> --- a/drivers/gpu/drm/i915/i915_debugfs.c
>>> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
>>> @@ -2580,25 +2580,42 @@ static int i915_guc_log_relay_release(struct
>>> inode *inode, struct file *file)
>>> .release = i915_guc_log_relay_release,
>>> };
>>>
>>> -static const char *psr2_live_status(u32 val)
>>> -{
>>> - static const char * const live_status[] = {
>>> - "IDLE",
>>> - "CAPTURE",
>>> - "CAPTURE_FS",
>>> - "SLEEP",
>>> - "BUFON_FW",
>>> - "ML_UP",
>>> - "SU_STANDBY",
>>> - "FAST_SLEEP",
>>> - "DEEP_SLEEP",
>>> - "BUF_ON",
>>> - "TG_ON"
>>> - };
>>> -
>>> - val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
>>> EDP_PSR2_STATUS_STATE_SHIFT;
>>> - if (val < ARRAY_SIZE(live_status))
>>> - return live_status[val];
>>> +static const char *psr_live_status(bool is_psr2_enabled, u32 val)
>>> +{
>>> + if (is_psr2_enabled) {
>>> + static const char * const live_status[] = {
>>> + "IDLE",
>>> + "CAPTURE",
>>> + "CAPTURE_FS",
>>> + "SLEEP",
>>> + "BUFON_FW",
>>> + "ML_UP",
>>> + "SU_STANDBY",
>>> + "FAST_SLEEP",
>>> + "DEEP_SLEEP",
>>> + "BUF_ON",
>>> + "TG_ON"
>>> + };
>>> + val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
>>> + EDP_PSR2_STATUS_STATE_SHIFT;
>>> + if (val < ARRAY_SIZE(live_status))
>>> + return live_status[val];
>>> + } else {
>>> + static const char * const live_status[] = {
>>> + "IDLE",
>>> + "SRDONACK",
>>> + "SRDENT",
>>> + "BUFOFF",
>>> + "BUFON",
>>> + "AUXACK",
>>> + "SRDOFFACK",
>>> + "SRDENT_ON",
>>> + };
>>> + val = (val & EDP_PSR_STATUS_STATE_MASK) >>
>>> + EDP_PSR_STATUS_STATE_SHIFT;
>>> + if (val < ARRAY_SIZE(live_status))
>>> + return live_status[val];
>>> + }
>>>
>>> return "unknown";
>>> }
>>> @@ -2611,6 +2628,7 @@ static int i915_edp_psr_status(struct seq_file
>>> *m, void *data)
>>> enum pipe pipe;
>>> bool enabled = false;
>>> bool sink_support;
>>> + u32 psr_status;
>>>
>>> if (!HAS_PSR(dev_priv))
>>> return -ENODEV;
>>> @@ -2678,12 +2696,14 @@ static int i915_edp_psr_status(struct
>>> seq_file *m, void *data)
>>>
>>> seq_printf(m, "Performance_Counter: %u\n", psrperf);
>>> }
>>> - if (dev_priv->psr.psr2_enabled) {
>>> - u32 psr2 = I915_READ(EDP_PSR2_STATUS);
>>>
>>> - seq_printf(m, "EDP_PSR2_STATUS: %x [%s]\n",
>>> - psr2, psr2_live_status(psr2));
>>> - }
>>> + psr_status = (dev_priv->psr.psr2_enabled) ?
>>> I915_READ(EDP_PSR2_STATUS) :
>>> + I915_READ(EDP_PS
>>> R_STATUS);
>> Maybe move the read of the PSR or PSR2 status to inside of
>> psr_live_status()
We are printing psr_status and it's live status[ additional debug
information] ,
reading the psr_status here and only getting live status from
psr_live_status function.
I am thinking we could reduce some clutter by changing both the status
functions to have this signature.
static void psr_source_status(dev_priv, m)
{
}
static void psr_sink_status(dev_priv, m)
{
}
Sure , we can change. Will send the v2 version.
>>
>> Other than that looks good to me.
>>
>>> + seq_printf(m, "EDP_PSR%s_STATUS: %x [%s]\n",
> ^source_status or whatever the correct parallel to sink status that
> Jose is using.
>
>
>>> + dev_priv->psr.psr2_enabled ? "2" : "1",
>>> + psr_status,
>>> + psr_live_status(dev_priv->psr.psr2_enabled,
>>> psr_status));
>>> +
>>> mutex_unlock(&dev_priv->psr.lock);
>>>
>>> intel_runtime_pm_put(dev_priv);
>>> diff --git a/drivers/gpu/drm/i915/i915_reg.h
>>> b/drivers/gpu/drm/i915/i915_reg.h
>>> index fb10602..c9598b4 100644
>>> --- a/drivers/gpu/drm/i915/i915_reg.h
>>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>>> @@ -4058,6 +4058,7 @@ enum {
>>> #define EDP_PSR_STATUS_SENDING_TP2_TP3 (1<<8)
>>> #define EDP_PSR_STATUS_SENDING_TP1 (1<<4)
>>> #define EDP_PSR_STATUS_IDLE_MASK 0xf
>>> +#define EDP_PSR_STATUS_STATE_SHIFT 29
>>>
>>> #define EDP_PSR_PERF_CNT _MMIO(dev_priv-
>>>> psr_mmio_base + 0x44)
>>> #define EDP_PSR_PERF_CNT_MASK 0xffffff
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-04-27 5:58 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-20 9:36 [PATCH] drm/i915/psr : Add psr1 live status vathsala nagaraju
2018-04-20 9:48 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2018-04-20 10:03 ` ✓ Fi.CI.BAT: success " Patchwork
2018-04-20 11:25 ` Patchwork
2018-04-20 12:23 ` ✓ Fi.CI.IGT: " Patchwork
2018-04-20 17:14 ` [PATCH] " Souza, Jose
2018-04-25 0:56 ` Dhinakaran Pandiyan
2018-04-27 5:58 ` vathsala nagaraju [this message]
2018-04-20 17:35 ` Rodrigo Vivi
2018-04-21 4:00 ` Nagaraju, Vathsala
2018-04-23 8:00 ` vathsala nagaraju
-- strict thread matches above, loose matches on Subject: below --
2018-04-27 6:24 vathsala nagaraju
2018-05-10 2:02 ` Dhinakaran Pandiyan
2018-05-22 8:57 vathsala nagaraju
2018-05-22 19:58 ` Dhinakaran Pandiyan
2018-05-23 5:37 ` Nagaraju, Vathsala
2018-05-23 17:41 ` Dhinakaran Pandiyan
2018-05-25 5:37 vathsala nagaraju
2018-05-25 6:20 vathsala nagaraju
2018-06-12 23:29 ` Dhinakaran Pandiyan
2018-06-19 15:03 ` Jani Nikula
2018-06-21 8:06 [PATCH] drm/i915/psr: " vathsala nagaraju
2018-06-21 9:01 ` Jani Nikula
2018-06-22 3:59 vathsala nagaraju
2018-06-22 18:51 ` Dhinakaran Pandiyan
2018-06-27 8:08 vathsala nagaraju
2018-07-02 18:38 ` Dhinakaran Pandiyan
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=5AE2BBF7.7010702@intel.com \
--to=vathsala.nagaraju@intel.com \
--cc=dhinakaran.pandiyan@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jose.souza@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox