From: "Lukáš Hrázký" <lhrazky@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: spice-devel@lists.freedesktop.org, qemu-devel@nongnu.org,
Frediano Ziglio <fziglio@redhat.com>
Subject: Re: [Qemu-devel] [RFC PATCH spice v2 1/2] QXL interface: add functions to identify monitors in the guest
Date: Mon, 05 Nov 2018 17:03:11 +0100 [thread overview]
Message-ID: <1541433791.16655.503.camel@redhat.com> (raw)
In-Reply-To: <20181105130808.qwrb6gm2l3jqiu2z@sirius.home.kraxel.org>
On Mon, 2018-11-05 at 14:08 +0100, Gerd Hoffmann wrote:
> On Mon, Nov 05, 2018 at 01:18:57PM +0100, Lukáš Hrázký wrote:
> > On Mon, 2018-11-05 at 07:52 +0100, Gerd Hoffmann wrote:
> > > > 2. Have a single function as follows:
> > > >
> > > > void spice_qxl_set_device_info(QXLInstance *instance,
> > > > const char *device_address,
> > > > uint32_t device_display_id_start,
> > > > uint32_t device_display_id_count);
> > >
> > > How about:
> > >
> > > void spice_qxl_set_device_info(QXLInstance *instance,
> > > const char *device_address,
> > > uint32_t device_display_id);
> > >
> > > I don't think we need start+count:
> > >
> > > * For single-head devices device_display_id will be zero.
> > > * For one-channel-per-head multihead devices (i.e. virtio-gpu)
> > > device_display_id will enumerate the heads (so everybody can figure
> > > which channel is which head).
> > > * For one-channel-per-device multihead devices (i.e. qxl/linux)
> > > device_display_id will be zero too. Number of heads is set via
> > > spice_qxl_set_max_monitors().
> >
> > That requires nontrivial and unexpected logic for the one-channel-per-
> > device multihead devices case. The API should be doing what it says and
> > the dumber the better, this seems too smart to me...
>
> Well, the device_display_id_count argument is redundant with
> spice_qxl_set_max_monitors(). That isn't a great API either.
>
> I can see that it simplifies the logic in spice-server if we have a
> single function call instead of two. So we could deprecate
> spice_qxl_set_max_monitors() in favour of your
> spice_qxl_set_device_info() variant.
>
> spice_qxl_set_max_monitors() would then basically do this:
>
> spice_qxl_set_max_monitors(qxl, max)
> {
> spice_qxl_set_device_info(qxl, NULL, 0, max);
> }
I can't actually do this, it does the wrong thing for the one-channel-
per-head (virtio-gpu) case. For that case it would send all
device_display_ids to 0 on all interfaces, but they need to be
different numbers.
For backwards compatibility when spice_qxl_set_device_info() is not
called I think we need to fallback to the old behaviour, as we are
missing the necessary information.
I'll send v3 with a single function using start + count and deprecate
the set_max_monitors one.
Cheers,
Lukas
> cheers,
> Gerd
>
next prev parent reply other threads:[~2018-11-05 16:19 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-17 14:36 [Qemu-devel] [RFC PATCH spice/qemu v2 0/2] QXL interface to set monitor ID Lukáš Hrázký
2018-10-17 14:36 ` [Qemu-devel] [RFC PATCH spice v2 1/2] QXL interface: add functions to identify monitors in the guest Lukáš Hrázký
2018-10-18 7:16 ` Frediano Ziglio
2018-10-18 8:44 ` Gerd Hoffmann
2018-10-22 11:46 ` Lukáš Hrázký
2018-11-01 15:47 ` Lukáš Hrázký
2018-11-05 6:52 ` Gerd Hoffmann
2018-11-05 8:46 ` Frediano Ziglio
2018-11-05 9:46 ` Lukáš Hrázký
2018-11-05 11:17 ` Gerd Hoffmann
2018-11-05 12:18 ` Lukáš Hrázký
2018-11-05 12:42 ` Frediano Ziglio
2018-11-05 13:08 ` Gerd Hoffmann
2018-11-05 16:03 ` Lukáš Hrázký [this message]
2018-11-05 17:37 ` Frediano Ziglio
2018-11-06 6:37 ` Gerd Hoffmann
2018-10-17 14:36 ` [Qemu-devel] [RFC PATCH qemu v2 2/2] spice: set device address and device display ID in QXL interface Lukáš Hrázký
2018-10-18 7:38 ` Frediano Ziglio
2018-10-22 11:52 ` Lukáš Hrázký
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=1541433791.16655.503.camel@redhat.com \
--to=lhrazky@redhat.com \
--cc=fziglio@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=spice-devel@lists.freedesktop.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.