mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Oleksandr Andrushchenko <andr2000@gmail.com>,
	xen-devel@lists.xenproject.org
Cc: lars.kurth@citrix.com, sstabellini@kernel.org,
	vlad.babchuk@gmail.com, linux-kernel@vger.kernel.org,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	julien.grall@arm.com, andrii.anisov@gmail.com,
	olekstysh@gmail.com, al1img@gmail.com,
	Oleksandr Grytsov <oleksandr_grytsov@epam.com>,
	joculator@gmail.com, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [Xen-devel] [For Linux 4/4] xen/displif: add ABI for para-virtual display
Date: Fri, 7 Apr 2017 13:31:57 +0200	[thread overview]
Message-ID: <4048cdfe-8a6b-7246-69b6-094142991647@suse.com> (raw)
In-Reply-To: <1491553840-5180-5-git-send-email-andr2000@gmail.com>

On 07/04/17 10:30, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> This is the ABI for the two halves of a para-virtualized
> display driver.
> 
> This protocol aims to provide a unified protocol which fits more
> sophisticated use-cases than a framebuffer device can handle. At the
> moment basic functionality is supported with the intention to extend:
>   o multiple dynamically allocated/destroyed framebuffers
>   o buffers of arbitrary sizes
>   o better configuration options including multiple display support
> 
> Note: existing fbif can be used together with displif running at the
> same time, e.g. on Linux one provides framebuffer and another DRM/KMS
> 
> Future extensions to the existing protocol may include:
>   o allow display/connector cloning
>   o allow allocating objects other than display buffers
>   o add planes/overlays support
>   o support scaling
>   o support rotation
> 
> Note, that this protocol doesn't use ring macros for
> bi-directional exchange (PV calls/9pfs) bacause:
>   o it statically defines the use of a single page
>     for the ring buffer
>   o it uses direct memory access to ring's contents
>     w/o memory copying
>   o re-uses the same idea that kbdif/fbif use
>     which for this use-case seems to be appropriate
> 
> ==================================================
> Rationale for introducing this protocol instead of
> using the existing fbif:
> ==================================================
> 
> 1. In/out event sizes
>   o fbif - 40 octets
>   o displif - 40 octets
> This is only the initial version of the displif protocol
> which means that there could be requests which will not fit
> (WRT introducing some GPU related functionality
> later on). In that case we cannot alter fbif sizes as we need to
> be backward compatible an will be forced to handle those
> apart of fbif.
> 
> 2. Shared page
> Displif doesn't use anything like struct xenfb_page, but
> DEFINE_RING_TYPES(xen_displif, struct xendispl_req, struct
> xendispl_resp) which is a better and more common way.
> Output events use a shared page which only has in_cons and in_prod
> and all the rest is used for incoming events. Here struct xenfb_page
> could probably be used as is despite the fact that it only has a half
> of a page for incoming events which is only 50 events. (consider
> something like 60Hz display)
> 
> 3. Amount of changes.
> fbif only provides XENFB_TYPE_UPDATE and XENFB_TYPE_RESIZE
> events, so it looks like it is easier to get fb support into displif
> than vice versa. displif at the moment has 6 requests and 1 event,
> multiple connector support, etc.
> 
> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Acked-by: Juergen Gross <jgross@suse.com>


Juergen

  reply	other threads:[~2017-04-07 11:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-07  8:30 [For Linux 0/4] PV protocol headers for Linux Kernel Oleksandr Andrushchenko
2017-04-07  8:30 ` [For Linux 1/4] xen/kbdif: update protocol description Oleksandr Andrushchenko
2017-04-07 11:29   ` [Xen-devel] " Juergen Gross
2017-04-07 12:45     ` Konrad Rzeszutek Wilk
2017-04-07 12:58       ` Oleksandr Andrushchenko
2017-04-07  8:30 ` [For Linux 2/4] xen/kbdif: add multi-touch support Oleksandr Andrushchenko
2017-04-07 11:30   ` [Xen-devel] " Juergen Gross
2017-04-07  8:30 ` [For Linux 3/4] xen/sndif: add sound-device ABI Oleksandr Andrushchenko
2017-04-07 11:31   ` [Xen-devel] " Juergen Gross
2017-04-07  8:30 ` [For Linux 4/4] xen/displif: add ABI for para-virtual display Oleksandr Andrushchenko
2017-04-07 11:31   ` Juergen Gross [this message]
2017-04-07 13:50   ` Julien Grall
2017-04-07 14:02     ` Oleksandr Andrushchenko
2017-04-07 16:36       ` Stefano Stabellini
2017-04-07 17:43         ` Oleksandr Andrushchenko
2017-04-07 17:50           ` Stefano Stabellini
2017-04-07 17:51             ` Oleksandr Andrushchenko
2017-04-10  6:03       ` Juergen Gross
2017-04-10  6:06         ` Oleksandr Andrushchenko
2017-04-10  6:07           ` Juergen Gross
2017-04-07  8:47 ` [For Linux 0/4] PV protocol headers for Linux Kernel Oleksandr Andrushchenko

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=4048cdfe-8a6b-7246-69b6-094142991647@suse.com \
    --to=jgross@suse.com \
    --cc=al1img@gmail.com \
    --cc=andr2000@gmail.com \
    --cc=andrii.anisov@gmail.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=joculator@gmail.com \
    --cc=julien.grall@arm.com \
    --cc=lars.kurth@citrix.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oleksandr_andrushchenko@epam.com \
    --cc=oleksandr_grytsov@epam.com \
    --cc=olekstysh@gmail.com \
    --cc=sstabellini@kernel.org \
    --cc=vlad.babchuk@gmail.com \
    --cc=xen-devel@lists.xenproject.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

all inboxes | Powered by JetHome®