From: eugeniy.paltsev@synopsys.com (Eugeniy Paltsev)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH] DRM: VBLANK: provide valid timestamp for EVENT_FLIP
Date: Fri, 28 Sep 2018 14:32:01 +0000 [thread overview]
Message-ID: <1538145120.5186.6.camel@synopsys.com> (raw)
In-Reply-To: <20180926163723.GW9144@intel.com>
On Wed, 2018-09-26@19:37 +0300, Ville Syrj?l? wrote:
> On Wed, Sep 26, 2018@05:25:35PM +0300, Eugeniy Paltsev wrote:
> > If driver/HW doesn't support vblank functionality (for example
> > UDL driver, ARCPGU driver, ...) we always have vblank->time == 0.
> > In result we always provide zero timestamp for
> > DRM_EVENT_FLIP_COMPLETE. This breaks userspace apps (for example
> > weston) which relies on timestamp value.
> >
> > Setup time to provide valid timestamp for DRM_EVENT_FLIP_COMPLETE
> > event.
> >
> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev at synopsys.com>
> > ---
> > drivers/gpu/drm/drm_vblank.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > index 28cdcf76b6f9..0d19aca48782 100644
> > --- a/drivers/gpu/drm/drm_vblank.c
> > +++ b/drivers/gpu/drm/drm_vblank.c
> > @@ -911,6 +911,15 @@ void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
> >
> > if (dev->num_crtcs > 0) {
>
> If those drivers don't support vblank stuff why are they calling
> bldrm_vank_init() w/ num_crtcs > 0? If they didn't they'd take the
> else branch which already does what you want.
Hmm...
As I can see UDL call drm_vblank_init() with num_crtcs = 1 but UDL HW
doesn't support vblank at all.
I guess I need to fix it.
> > seq = drm_vblank_count_and_time(dev, pipe, &now);
> > +
> > + /*
> > + * If driver/HW doesn't support vblank functionality we
> > + * always have vblank->time == 0. Setup time to provide valid
> > + * timestamp for DRM_EVENT_FLIP_COMPLETE event.
> > + */
> > + if (!now && e->event.base.type == DRM_EVENT_FLIP_COMPLETE)
> > + now = ktime_get();
> > +
> > } else {
> > seq = 0;
> >
> > --
> > 2.14.4
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_mailman_listinfo_dri-2Ddevel&d=DwIDAw&c=DPL6_X_6JkXFx7AXWqB0tg&r=ZlJN1M
> > riPUTkBKCrPSx67GmaplEUGcAEk9yPtCLdUXI&m=5bbb9SeVXTMPDa1bXQxqlBIOnSdKaKY5W0BkMCgwijE&s=50EhApCZAeMMDUEd6FVpXf5owd1Bi3vn5GaBt0KE2Cw&e=
>
>
--
Eugeniy Paltsev
WARNING: multiple messages have this Message-ID (diff)
From: Eugeniy Paltsev <eugeniy.paltsev@synopsys.com>
To: "ville.syrjala@linux.intel.com" <ville.syrjala@linux.intel.com>,
"Eugeniy.Paltsev@synopsys.com" <Eugeniy.Paltsev@synopsys.com>
Cc: "dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"alexey.brodkin@synopsys.com" <alexey.brodkin@synopsys.com>,
"sean@poorly.run" <sean@poorly.run>,
"airlied@linux.ie" <airlied@linux.ie>,
"linux-snps-arc@lists.infradead.org"
<linux-snps-arc@lists.infradead.org>
Subject: Re: [PATCH] DRM: VBLANK: provide valid timestamp for EVENT_FLIP
Date: Fri, 28 Sep 2018 14:32:01 +0000 [thread overview]
Message-ID: <1538145120.5186.6.camel@synopsys.com> (raw)
In-Reply-To: <20180926163723.GW9144@intel.com>
On Wed, 2018-09-26 at 19:37 +0300, Ville Syrjälä wrote:
> On Wed, Sep 26, 2018 at 05:25:35PM +0300, Eugeniy Paltsev wrote:
> > If driver/HW doesn't support vblank functionality (for example
> > UDL driver, ARCPGU driver, ...) we always have vblank->time == 0.
> > In result we always provide zero timestamp for
> > DRM_EVENT_FLIP_COMPLETE. This breaks userspace apps (for example
> > weston) which relies on timestamp value.
> >
> > Setup time to provide valid timestamp for DRM_EVENT_FLIP_COMPLETE
> > event.
> >
> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
> > ---
> > drivers/gpu/drm/drm_vblank.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > index 28cdcf76b6f9..0d19aca48782 100644
> > --- a/drivers/gpu/drm/drm_vblank.c
> > +++ b/drivers/gpu/drm/drm_vblank.c
> > @@ -911,6 +911,15 @@ void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
> >
> > if (dev->num_crtcs > 0) {
>
> If those drivers don't support vblank stuff why are they calling
> bldrm_vank_init() w/ num_crtcs > 0? If they didn't they'd take the
> else branch which already does what you want.
Hmm...
As I can see UDL call drm_vblank_init() with num_crtcs = 1 but UDL HW
doesn't support vblank at all.
I guess I need to fix it.
> > seq = drm_vblank_count_and_time(dev, pipe, &now);
> > +
> > + /*
> > + * If driver/HW doesn't support vblank functionality we
> > + * always have vblank->time == 0. Setup time to provide valid
> > + * timestamp for DRM_EVENT_FLIP_COMPLETE event.
> > + */
> > + if (!now && e->event.base.type == DRM_EVENT_FLIP_COMPLETE)
> > + now = ktime_get();
> > +
> > } else {
> > seq = 0;
> >
> > --
> > 2.14.4
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_mailman_listinfo_dri-2Ddevel&d=DwIDAw&c=DPL6_X_6JkXFx7AXWqB0tg&r=ZlJN1M
> > riPUTkBKCrPSx67GmaplEUGcAEk9yPtCLdUXI&m=5bbb9SeVXTMPDa1bXQxqlBIOnSdKaKY5W0BkMCgwijE&s=50EhApCZAeMMDUEd6FVpXf5owd1Bi3vn5GaBt0KE2Cw&e=
>
>
--
Eugeniy Paltsev
next prev parent reply other threads:[~2018-09-28 14:32 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-26 14:25 [PATCH] DRM: VBLANK: provide valid timestamp for EVENT_FLIP Eugeniy Paltsev
2018-09-26 14:25 ` Eugeniy Paltsev
2018-09-26 14:25 ` Eugeniy Paltsev
2018-09-26 16:37 ` Ville Syrjälä
2018-09-26 16:37 ` Ville Syrjälä
2018-09-26 16:37 ` Ville Syrjälä
2018-09-28 14:32 ` Eugeniy Paltsev [this message]
2018-09-28 14:32 ` Eugeniy Paltsev
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=1538145120.5186.6.camel@synopsys.com \
--to=eugeniy.paltsev@synopsys.com \
--cc=linux-snps-arc@lists.infradead.org \
/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.