From: Gerd Hoffmann <kraxel@redhat.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel <dri-devel@lists.freedesktop.org>,
open list <linux-kernel@vger.kernel.org>,
"open list:VIRTIO GPU DRIVER"
<virtualization@lists.linux-foundation.org>
Subject: Re: [PATCH v3 7/7] [wip] virtio-gpu: add page flip support
Date: Tue, 31 May 2016 08:18:20 +0200 [thread overview]
Message-ID: <1464675500.5978.15.camel@redhat.com> (raw)
In-Reply-To: <20160530144325.GJ27098@phenom.ffwll.local>
Hi,
> > https://lists.freedesktop.org/archives/dri-devel/2016-May/108772.html
>
> Hm, smells more like virtio isn't too happy with the default ordering of
> the commit operation. The default is:
>
> - Disable any crtc/encoders that need to be disabled/change.
> - Bash new plane setup into hw.
> - Enable all crtcs/encoders that need to be enabled/have changed.
>
> There's two problems:
> - some hw gets real grumpy if you bash in plane state without the crtc
> state yet matching.
> - if you do runtime pm nothing is enabled and the writes get lost at best,
> or hang your interconnect at worst.
>
> That's why you can overwrite atomic_commit_tail, and use something more
> sensible. See for example what it looks like for rockchip. I have a gut
> feeling that should also take care of your troubles. Using the old crtc is
> definitely not what you want.
> Another option is that virtio isn't happy about bashing in plane state for
> disabled crtc. Again helpers have you covered, look at the active_only
> parameter for drm_atomic_helper_commit_planes().
virtio-gpu is a bit simplified compared to real hardware, so there isn't
really separate plane/crtc state.
Right now the virtual outputs are linked to drm_crtc. To apply any
changes I need to lookup the crtc to figure which virtual output should
be updated.
So, setting active_only should make sure I have a valid crtc pointer on
plane updates, right? It probably also skips the disable + enable crtc
steps on commit? What happens when outputs are disabled?
Maybe it makes sense to link our virtual outputs to (primary) planes not
crtcs?
cheers,
Gerd
next prev parent reply other threads:[~2016-05-31 6:18 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1443787104-24243-1-git-send-email-kraxel@redhat.com>
2015-10-02 11:58 ` [PATCH v3 1/7] virtio-gpu: add virtio_gpu_queue_ctrl_buffer_locked Gerd Hoffmann
2015-10-02 11:58 ` [PATCH v3 2/7] virtio-gpu: add & use virtio_gpu_queue_fenced_ctrl_buffer Gerd Hoffmann
2015-10-02 11:58 ` [PATCH v3 3/7] virtio-gpu: wait for cursor updates finish Gerd Hoffmann
2015-10-02 11:58 ` [PATCH v3 4/7] virtio-gpu: add 3d/virgl support Gerd Hoffmann
2015-10-02 11:58 ` [PATCH v3 5/7] virtio-gpu: add basic prime support Gerd Hoffmann
2015-10-02 11:58 ` [PATCH v3 6/7] virtio-gpu: mark as a render gpu Gerd Hoffmann
2015-10-02 11:58 ` [PATCH v3 7/7] [wip] virtio-gpu: add page flip support Gerd Hoffmann
2016-05-25 16:37 ` Daniel Vetter
2016-05-27 7:46 ` Gerd Hoffmann
2016-05-27 7:50 ` Daniel Vetter
2016-05-30 8:42 ` Daniel Vetter
2016-05-30 12:06 ` Gerd Hoffmann
2016-05-30 14:43 ` Daniel Vetter
2016-05-31 6:18 ` Gerd Hoffmann [this message]
2016-05-31 6:37 ` Daniel Vetter
2016-05-31 7:34 ` Gerd Hoffmann
2016-05-31 7:39 ` 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=1464675500.5978.15.camel@redhat.com \
--to=kraxel@redhat.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=virtualization@lists.linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox