Skip to contentSkip to conversation

Unique-id and fixes to some protocols

PATCH Applied Oleksandr Andrushchenko 3 participants 10 messages Jun 8, 2018

lore
Share & tools
lore
#0 lore raw

v2 cover Unique-id and fixes to some protocols

From: Oleksandr Andrushchenko <[email protected]>

Hi, all!

This series fixes inconsistency in section used while defining kbdif XenBus entries and adds string "unique-id" XenBus entry missing in displif and kbdif. It also changes sndif's "unique-id" field from integer to string to be aligned with displif/kbdif.

Konrad, I added your r-b tags to *all* the patches, so please let me know if I have to drop those (if this is not what you meant on the mailing-list).

Juergen, could you please release ack the rest of the patches as these are needed to add sound configuration to libxl/xl and extend input to support multi-touch. These are the changes to header files which are not involved in Xen build, so it seems to be safe.
This will also unblock ptorocol synchronization with Linux, so I can push an extension to xen-kbdfront driver (disable feature).

Thank you,
Oleksandr Andrushchenko

Changes since v1:
- Changed type of "unique-id" from uint32_t to string (Konrad)
- Added r-b's

Oleksandr Andrushchenko (4):
xen/kbdif: Move multi-touch device parameters to backend nodes xen/kbdif: Add unique input device identifier xen/displif: Add unique display connector identifier xen/sndif: Change stream's unique-id to string

 xen/include/public/io/displif.h |  8 ++++++
 xen/include/public/io/kbdif.h   | 48 ++++++++++++++++++++-------------
 xen/include/public/io/sndif.h   | 10 +++----
 3 files changed, 41 insertions(+), 25 deletions(-)
Signature · 7 lines
2.17.1


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel
#1 lore raw

PATCH v2 1/4 xen/kbdif: Move multi-touch device parameters to backend nodes

From: Oleksandr Andrushchenko <[email protected]>

In current kbdif protocol definition multi-touch device parameters are described as a part of frontend's XenBus configuration nodes while they belong to backend's configuration. Fix this by moving the parameters to the proper section.

Fixes b7a3ce49d528 ("xen/kbdif: add multi-touch support")
---
 xen/include/public/io/kbdif.h | 38 +++++++++++++++++------------------
 1 file changed, 19 insertions(+), 19 deletions(-)
xen/include/public/io/kbdif.h +19 -19
index 23d1f70d5210..a68da0f1a37f 100644
@@ -96,6 +96,25 @@
  *      Maximum Y coordinate (height) to be used by the frontend
  *      while reporting input events, pixels, [0; UINT32_MAX].
  *
+ *----------------------- Multi-touch Device Parameters ----------------------
+ *
+ * multi-touch-num-contacts
+ *      Values:         <uint>
+ *
+ *      Number of simultaneous touches reported.
+ *
+ * multi-touch-width
+ *      Values:         <uint>
+ *
+ *      Width of the touch area to be used by the frontend
+ *      while reporting input events, pixels, [0; UINT32_MAX].
+ *
+ * multi-touch-height
+ *      Values:         <uint>
+ *
+ *      Height of the touch area to be used by the frontend
+ *      while reporting input events, pixels, [0; UINT32_MAX].
+ *
  *****************************************************************************
  *                            Frontend XenBus Nodes
  *****************************************************************************
@@ -143,25 +162,6 @@
  *
  *      OBSOLETE, not recommended for use.
  *      PFN of the shared page.
- *
- *----------------------- Multi-touch Device Parameters -----------------------
- *
- * multi-touch-num-contacts
- *      Values:         <uint>
- *
- *      Number of simultaneous touches reported.
- *
- * multi-touch-width
- *      Values:         <uint>
- *
- *      Width of the touch area to be used by the frontend
- *      while reporting input events, pixels, [0; UINT32_MAX].
- *
- * multi-touch-height
- *      Values:         <uint>
- *
- *      Height of the touch area to be used by the frontend
- *      while reporting input events, pixels, [0; UINT32_MAX].
  */
 
 /*
Signature · 7 lines
2.17.1


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel
#2 lore raw

PATCH v2 2/4 xen/kbdif: Add unique input device identifier

In reply to Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <[email protected]>

If frontend is configured to expose multiple input device instances then backend may require a way to uniquely identify concrete input device within the frontend. This is useful for use-cases where virtual input device needs to be matched to physical input device. Add XenBus "unique-id" node parameter, so this sort of use-cases can be implemented.

---
 xen/include/public/io/kbdif.h | 10 ++++++++++
 1 file changed, 10 insertions(+)
xen/include/public/io/kbdif.h +10 -0
index a68da0f1a37f..a6b01c52c79f 100644
@@ -82,6 +82,15 @@
  *      for pointer devices should set this to 1. Raw (unscaled) values have
  *      a range of [0, 0x7fff].
  *
+ *-----------------------  Device Instance Parameters ------------------------
+ *
+ * unique-id
+ *      Values:         <string>
+ *
+ *      After device instance initialization it is assigned a unique ID,
+ *      so every instance of the frontend can be identified by the backend
+ *      by this ID. This can be UUID or such.
+ *
  *------------------------- Pointer Device Parameters ------------------------
  *
  * width
@@ -204,6 +213,7 @@
 #define XENKBD_FIELD_MT_WIDTH          "multi-touch-width"
 #define XENKBD_FIELD_MT_HEIGHT         "multi-touch-height"
 #define XENKBD_FIELD_MT_NUM_CONTACTS   "multi-touch-num-contacts"
+#define XENKBD_FIELD_UNIQUE_ID         "unique-id"
 
 /* OBSOLETE, not recommended for use */
 #define XENKBD_FIELD_RING_REF          "page-ref"
Signature · 7 lines
2.17.1


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel
#3 lore raw

Re: [PATCH v2 2/4] xen/kbdif: Add unique input device identifier

Quoted 11 lines · Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <[email protected]>

If frontend is configured to expose multiple input device instances then backend may require a way to uniquely identify concrete input device within the frontend. This is useful for use-cases where virtual input device needs to be matched to physical input device. Add XenBus "unique-id" node parameter, so this sort of use-cases can be implemented.

Juergen

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

#4 lore raw

PATCH v2 3/4 xen/displif: Add unique display connector identifier

In reply to Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <[email protected]>

If frontend is configured to expose multiple connectors then backend may require a way to uniquely identify concrete virtual connector within the frontend. This is useful for use-cases where connector needs to be matched to physical display connector.
Add XenBus "unique-id" node parameter, so this sort of use-cases can be implemented.

---
 xen/include/public/io/displif.h | 8 ++++++++
 1 file changed, 8 insertions(+)
xen/include/public/io/displif.h +8 -0
index 8a94f1f9b9d0..cc5de9cb1f35 100644
@@ -189,6 +189,13 @@
  *
  *----------------------------- Connector settings ----------------------------
  *
+ * unique-id
+ *      Values:         <string>
+ *
+ *      After device instance initialization each connector is assigned a
+ *      unique ID, so it can be identified by the backend by this ID.
+ *      This can be UUID or such.
+ *
  * resolution
  *      Values:         <width, uint32_t>x<height, uint32_t>
  *
@@ -368,6 +375,7 @@
 #define XENDISPL_FIELD_EVT_CHANNEL    "evt-event-channel"
 #define XENDISPL_FIELD_RESOLUTION     "resolution"
 #define XENDISPL_FIELD_BE_ALLOC       "be-alloc"
+#define XENDISPL_FIELD_UNIQUE_ID      "unique-id"
 
 /*
  ******************************************************************************
Signature · 7 lines
2.17.1


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel
#5 lore raw

Re: [PATCH v2 3/4] xen/displif: Add unique display connector identifier

Quoted 11 lines · Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <[email protected]>

If frontend is configured to expose multiple connectors then backend may require a way to uniquely identify concrete virtual connector within the frontend. This is useful for use-cases where connector needs to be matched to physical display connector.
Add XenBus "unique-id" node parameter, so this sort of use-cases can be implemented.

Juergen

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

#6 lore raw

PATCH v2 4/4 xen/sndif: Change stream's unique-id to string

In reply to Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <[email protected]>

Display and input protocols define "unique-id" XenBus field as string which is much more flexible in defining unique identifiers comparing to integer used by sound protocol. For example, this allows to provide UUIDs as unique ID's. Align sound protocol with display and input and redefine "unique-id" field as string.

---
 xen/include/public/io/sndif.h | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
xen/include/public/io/sndif.h +4 -6
index 417d3ebc7981..402033cf4946 100644
@@ -278,13 +278,11 @@
  *      defined under the same device.
  *
  * unique-id
- *      Values:         <uint32_t>
+ *      Values:         <string>
  *
- *      After stream initialization it is assigned a unique ID (within the front
- *      driver), so every stream of the frontend can be identified by the
- *      backend by this ID. This is not equal to stream-idx as the later is
- *      zero based within the device, but this index is contigous within the
- *      driver.
+ *      After stream initialization it is assigned a unique ID, so every
+ *      stream of the frontend can be identified by the backend by this ID.
+ *      This can be UUID or such.
  *
  *-------------------- Stream Request Transport Parameters --------------------
  *
Signature · 7 lines
2.17.1


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel
#7 lore raw

Re: [PATCH v2 4/4] xen/sndif: Change stream's unique-id to string

Quoted 10 lines · Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <[email protected]>

Display and input protocols define "unique-id" XenBus field as string which is much more flexible in defining unique identifiers comparing to integer used by sound protocol. For example, this allows to provide UUIDs as unique ID's. Align sound protocol with display and input and redefine "unique-id" field as string.

Juergen

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

#8 lore raw
In reply to Oleksandr Andrushchenko
Quoted 33 lines · Oleksandr Andrushchenko

From: Oleksandr Andrushchenko <[email protected]>

Hi, all!

This series fixes inconsistency in section used while defining kbdif XenBus entries and adds string "unique-id" XenBus entry missing in displif and kbdif. It also changes sndif's "unique-id" field from integer to string to be aligned with displif/kbdif.

Konrad, I added your r-b tags to *all* the patches, so please let me know if I have to drop those (if this is not what you meant on the mailing-list).

Juergen, could you please release ack the rest of the patches as these are needed to add sound configuration to libxl/xl and extend input to support multi-touch. These are the changes to header files which are not involved in Xen build, so it seems to be safe.
This will also unblock ptorocol synchronization with Linux, so I can push an extension to xen-kbdfront driver (disable feature).

Thank you,
Oleksandr Andrushchenko

Changes since v1:
- Changed type of "unique-id" from uint32_t to string (Konrad)
- Added r-b's

Oleksandr Andrushchenko (4):
xen/kbdif: Move multi-touch device parameters to backend nodes xen/kbdif: Add unique input device identifier xen/displif: Add unique display connector identifier xen/sndif: Change stream's unique-id to string

Quoted 5 lines
  xen/include/public/io/displif.h |  8 ++++++
  xen/include/public/io/kbdif.h   | 48 ++++++++++++++++++++-------------
  xen/include/public/io/sndif.h   | 10 +++----
  3 files changed, 41 insertions(+), 25 deletions(-)

Konrad, if the patches seem to be ok, could you please commit those?

Thank you,
Oleksandr

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

#9 lore raw
Quoted 6 lines
Quoted 6 lines

Oleksandr Andrushchenko (4):
xen/kbdif: Move multi-touch device parameters to backend nodes xen/kbdif: Add unique input device identifier xen/displif: Add unique display connector identifier xen/sndif: Change stream's unique-id to string

Quoted 7 lines
Quoted 5 lines
  xen/include/public/io/displif.h |  8 ++++++
  xen/include/public/io/kbdif.h   | 48 ++++++++++++++++++++-------------
  xen/include/public/io/sndif.h   | 10 +++----
  3 files changed, 41 insertions(+), 25 deletions(-)

Konrad, if the patches seem to be ok, could you please commit those?

Applied.

Quoted 3 lines

Thank you,
Oleksandr

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel