mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 20:02:17 +00:00
![Igor Skalkin](/assets/img/avatar_default.png)
The current version of the configuration structure has unaligned 16-bit fields, but according to the specification [1], access to the configuration space must be aligned. Add a second, aligned version of the configuration structure and a new feature bit indicating that this version is being used. [1] https://docs.oasis-open.org/virtio/virtio/v1.1/virtio-v1.1.pdf Signed-off-by: Igor Skalkin <Igor.Skalkin@opensynergy.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
39 lines
957 B
C
39 lines
957 B
C
/* SPDX-License-Identifier: BSD-3-Clause */
|
|
|
|
#ifndef _UAPI_LINUX_VIRTIO_BT_H
|
|
#define _UAPI_LINUX_VIRTIO_BT_H
|
|
|
|
#include <linux/virtio_types.h>
|
|
|
|
/* Feature bits */
|
|
#define VIRTIO_BT_F_VND_HCI 0 /* Indicates vendor command support */
|
|
#define VIRTIO_BT_F_MSFT_EXT 1 /* Indicates MSFT vendor support */
|
|
#define VIRTIO_BT_F_AOSP_EXT 2 /* Indicates AOSP vendor support */
|
|
#define VIRTIO_BT_F_CONFIG_V2 3 /* Use second version configuration */
|
|
|
|
enum virtio_bt_config_type {
|
|
VIRTIO_BT_CONFIG_TYPE_PRIMARY = 0,
|
|
VIRTIO_BT_CONFIG_TYPE_AMP = 1,
|
|
};
|
|
|
|
enum virtio_bt_config_vendor {
|
|
VIRTIO_BT_CONFIG_VENDOR_NONE = 0,
|
|
VIRTIO_BT_CONFIG_VENDOR_ZEPHYR = 1,
|
|
VIRTIO_BT_CONFIG_VENDOR_INTEL = 2,
|
|
VIRTIO_BT_CONFIG_VENDOR_REALTEK = 3,
|
|
};
|
|
|
|
struct virtio_bt_config {
|
|
__u8 type;
|
|
__u16 vendor;
|
|
__u16 msft_opcode;
|
|
} __attribute__((packed));
|
|
|
|
struct virtio_bt_config_v2 {
|
|
__u8 type;
|
|
__u8 alignment;
|
|
__u16 vendor;
|
|
__u16 msft_opcode;
|
|
};
|
|
|
|
#endif /* _UAPI_LINUX_VIRTIO_BT_H */
|