From patchwork Tue Apr 21 22:25:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 11502381 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 36E2D159A for ; Tue, 21 Apr 2020 22:25:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 10BE8206D5 for ; Tue, 21 Apr 2020 22:25:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AB+iOEZW" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726168AbgDUWZZ (ORCPT ); Tue, 21 Apr 2020 18:25:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37762 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726012AbgDUWZZ (ORCPT ); Tue, 21 Apr 2020 18:25:25 -0400 Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE544C0610D5 for ; Tue, 21 Apr 2020 15:25:24 -0700 (PDT) Received: by mail-pg1-x52d.google.com with SMTP id t11so75790pgg.2 for ; Tue, 21 Apr 2020 15:25:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=lP+631COW6aFNFs0v6TbSms4KI0UWz+drlcU41V6z0I=; b=AB+iOEZWV6F0FoWgqwBu2cqpPIbmbsMpZpbJ0iBUoX3no0Q2R0MVEnWJ0G805/tqQl vlfd9WN8KZ+khHOviMy+MOWJHaiD++YslMIe4LufB8oj5JfFzT8Yh/6vjy+bWiuG6cDv IiXAX0vhbuVVawYE0g/+cYuyO+Bc1B+q1lXQJRwGee8SAF8RK+RBD08w3FpgLyXJi57t hQKI1fsmJTqIc0ZLft0SUkVNqcoXpbq3OaoQVOvue6sIvHNsIuh6lc0NzDMN8pp1A2Fs ILk51kD1PhELyzv2eCKMuLIZXHBKYxoyXCewF0lRLTJ8hcwb4Q3GxvDnLq95vhmlqSqT st/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=lP+631COW6aFNFs0v6TbSms4KI0UWz+drlcU41V6z0I=; b=ErXUXROiUtTeAbRkXWAo8tvU4mN1IOSDEGsv6fcoZOZkeJzGNW5siQFrEqYTeatSXC 50zYQk1O1MMX884uNNp49WPqH19y54ExojFm7/r7q6GWpySycrfKDQ9u8olOWink3+zL 9R5MOT9mEp8YKt/XGGvze9QTuPJwRxUp1TCC89BoCxX6T2VNPyLu8Ja27eF1tk7xq+kl yddryLJOn8trzbAxcbezTNOb1npraDLZ/bfgVMNMSeUAeSXBV+PXYMffE5V02/w4CGB8 1fcBRLeGge/g8gL6smH+8bfXgUXK6UZJsu0vUxwSxkcmqpszPRMYNsIsCIkPefPBYbT+ ACZA== X-Gm-Message-State: AGi0PuZWq1MBS6Mfz9dPrItwMCpuEEGMkKjWps/r1HI1WE+l0lEN5+w1 z6bHcQ+qDlf0xN+SaSNl6Py92o0vX4U= X-Google-Smtp-Source: APiQypLRkXENcU6/f46BAQ/+eHojxHlWaSSknYyRu0j5N9VSmtlP9b3q/zLsHX5Rn1kwhXW/2hvycg== X-Received: by 2002:a65:4548:: with SMTP id x8mr23309327pgr.223.1587507923814; Tue, 21 Apr 2020 15:25:23 -0700 (PDT) Received: from localhost.localdomain (c-71-56-157-77.hsd1.or.comcast.net. [71.56.157.77]) by smtp.gmail.com with ESMTPSA id e196sm3384040pfh.43.2020.04.21.15.25.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 15:25:22 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ 1/4] monitor: Remove use of base defines for 5.2 Date: Tue, 21 Apr 2020 15:25:18 -0700 Message-Id: <20200421222521.226385-1-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.25.3 MIME-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Luiz Augusto von Dentz Use the allocated value directly instead of base value + offset. --- monitor/bt.h | 117 ++++++++++++++++++++++++++------------------------- 1 file changed, 60 insertions(+), 57 deletions(-) diff --git a/monitor/bt.h b/monitor/bt.h index f9ac6b180..39ca1e39a 100644 --- a/monitor/bt.h +++ b/monitor/bt.h @@ -24,11 +24,7 @@ #include -#define BT_HCI_CMD_5_2 0x2060 -#define BT_HCI_BIT_5_2 (8 * 41) + 5 -#define BT_HCI_SUBEVT_5_2 0x19 - -#define BT_LL_CMD_5_2 0x1f +#define BT_HCI_CMD_BIT(_byte, _bit) ((8 * _byte) + _bit) struct bt_ll_hdr { uint8_t preamble; @@ -181,7 +177,7 @@ struct bt_ll_clock_acc { #define BT_LL_CLOCK_ACCURACY_RSP 0x1e -#define BT_LL_CIS_REQ BT_LL_CMD_5_2 +#define BT_LL_CIS_REQ 0x1f struct bt_ll_cis_req { uint8_t cig; uint8_t cis; @@ -204,14 +200,14 @@ struct bt_ll_cis_req { uint16_t conn_event_count; } __attribute__ ((packed)); -#define BT_LL_CIS_RSP BT_LL_CMD_5_2 + 1 +#define BT_LL_CIS_RSP 0x20 struct bt_ll_cis_rsp { uint8_t offset_min[3]; uint8_t offset_max[3]; uint16_t conn_event_count; } __attribute__ ((packed)); -#define BT_LL_CIS_IND BT_LL_CMD_5_2 + 2 +#define BT_LL_CIS_IND 0x21 struct bt_ll_cis_ind { uint32_t addr; uint8_t cis_offset[3]; @@ -220,7 +216,7 @@ struct bt_ll_cis_ind { uint16_t conn_event_count; } __attribute__ ((packed)); -#define BT_LL_CIS_TERMINATE_IND BT_LL_CMD_5_2 + 3 +#define BT_LL_CIS_TERMINATE_IND 0x22 struct bt_ll_cis_term_ind { uint8_t cig; uint8_t cis; @@ -2568,8 +2564,8 @@ struct bt_hci_cmd_default_periodic_adv_sync_trans_params { uint8_t cte_type; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_READ_BUFFER_SIZE_V2 BT_HCI_CMD_5_2 -#define BT_HCI_BIT_LE_READ_BUFFER_SIZE_V2 BT_HCI_BIT_5_2 +#define BT_HCI_CMD_LE_READ_BUFFER_SIZE_V2 0x2060 +#define BT_HCI_BIT_LE_READ_BUFFER_SIZE_V2 BT_HCI_CMD_BIT(41, 5) struct bt_hci_rsp_le_read_buffer_size_v2 { uint8_t status; uint16_t acl_mtu; @@ -2578,8 +2574,8 @@ struct bt_hci_rsp_le_read_buffer_size_v2 { uint8_t iso_max_pkt; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_READ_ISO_TX_SYNC BT_HCI_CMD_5_2 + 1 -#define BT_HCI_BIT_LE_READ_ISO_TX_SYNC BT_HCI_BIT_5_2 + 1 +#define BT_HCI_CMD_LE_READ_ISO_TX_SYNC 0x2061 +#define BT_HCI_BIT_LE_READ_ISO_TX_SYNC BT_HCI_CMD_BIT(41, 6) struct bt_hci_cmd_le_read_iso_tx_sync { uint16_t handle; } __attribute__ ((packed)); @@ -2592,8 +2588,8 @@ struct bt_hci_rsp_le_read_iso_tx_sync { uint8_t offset[3]; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_SET_CIG_PARAMS BT_HCI_CMD_5_2 + 2 -#define BT_HCI_BIT_LE_SET_CIG_PARAMS BT_HCI_BIT_5_2 + 2 +#define BT_HCI_CMD_LE_SET_CIG_PARAMS 0x2062 +#define BT_HCI_BIT_LE_SET_CIG_PARAMS BT_HCI_CMD_BIT(41, 7) struct bt_hci_cis_params { uint8_t cis_id; uint16_t m_sdu; @@ -2624,8 +2620,8 @@ struct bt_hci_rsp_le_set_cig_params { uint16_t handle[0]; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_SET_CIG_PARAMS_TEST BT_HCI_CMD_5_2 + 3 -#define BT_HCI_BIT_LE_SET_CIG_PARAMS_TEST BT_HCI_BIT_5_2 + 3 +#define BT_HCI_CMD_LE_SET_CIG_PARAMS_TEST 0x2063 +#define BT_HCI_BIT_LE_SET_CIG_PARAMS_TEST BT_HCI_CMD_BIT(42, 0) struct bt_hci_cis_params_test { uint8_t cis_id; uint8_t nse; @@ -2653,8 +2649,8 @@ struct bt_hci_cmd_le_set_cig_params_test { struct bt_hci_cis_params_test cis[0]; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_CREATE_CIS BT_HCI_CMD_5_2 + 4 -#define BT_HCI_BIT_LE_CREATE_CIS BT_HCI_BIT_5_2 + 4 +#define BT_HCI_CMD_LE_CREATE_CIS 0x2064 +#define BT_HCI_BIT_LE_CREATE_CIS BT_HCI_CMD_BIT(42, 1) struct bt_hci_cis { uint16_t cis_handle; uint16_t acl_handle; @@ -2665,27 +2661,27 @@ struct bt_hci_cmd_le_create_cis { struct bt_hci_cis cis[0]; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_REMOVE_CIG BT_HCI_CMD_5_2 + 5 -#define BT_HCI_BIT_LE_REMOVE_CIG BT_HCI_BIT_5_2 + 5 +#define BT_HCI_CMD_LE_REMOVE_CIG 0x2065 +#define BT_HCI_BIT_LE_REMOVE_CIG BT_HCI_CMD_BIT(42, 2) struct bt_hci_cmd_le_remove_cig { uint8_t cig_id; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_ACCEPT_CIS BT_HCI_CMD_5_2 + 6 -#define BT_HCI_BIT_LE_ACCEPT_CIS BT_HCI_BIT_5_2 + 6 +#define BT_HCI_CMD_LE_ACCEPT_CIS 0x2066 +#define BT_HCI_BIT_LE_ACCEPT_CIS BT_HCI_CMD_BIT(42, 3) struct bt_hci_cmd_le_accept_cis { uint16_t handle; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_REJECT_CIS BT_HCI_CMD_5_2 + 7 -#define BT_HCI_BIT_LE_REJECT_CIS BT_HCI_BIT_5_2 + 7 +#define BT_HCI_CMD_LE_REJECT_CIS 0x2067 +#define BT_HCI_BIT_LE_REJECT_CIS BT_HCI_CMD_BIT(42, 4) struct bt_hci_cmd_le_reject_cis { uint16_t handle; uint8_t reason; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_CREATE_BIG BT_HCI_CMD_5_2 + 8 -#define BT_HCI_BIT_LE_CREATE_BIG BT_HCI_BIT_5_2 + 8 +#define BT_HCI_CMD_LE_CREATE_BIG 0x2068 +#define BT_HCI_BIT_LE_CREATE_BIG BT_HCI_CMD_BIT(42, 5) struct bt_hci_bis { uint8_t sdu_interval[3]; uint16_t sdu; @@ -2705,8 +2701,8 @@ struct bt_hci_cmd_le_create_big { struct bt_hci_bis bis[0]; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_CREATE_BIG_TEST BT_HCI_CMD_5_2 + 9 -#define BT_HCI_BIT_LE_CREATE_BIG_TEST BT_HCI_BIT_5_2 + 9 +#define BT_HCI_CMD_LE_CREATE_BIG_TEST 0x2069 +#define BT_HCI_BIT_LE_CREATE_BIG_TEST BT_HCI_CMD_BIT(42, 6) struct bt_hci_bis_test { uint8_t sdu_interval[3]; uint16_t iso_interval; @@ -2731,15 +2727,15 @@ struct bt_hci_cmd_le_create_big_test { struct bt_hci_bis_test bis[0]; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_TERM_BIG BT_HCI_CMD_5_2 + 10 -#define BT_HCI_BIT_LE_TERM_BIG BT_HCI_BIT_5_2 + 10 +#define BT_HCI_CMD_LE_TERM_BIG 0x206a +#define BT_HCI_BIT_LE_TERM_BIG BT_HCI_CMD_BIT(42, 7) struct bt_hci_cmd_le_term_big { uint8_t big_id; uint8_t reason; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_BIG_CREATE_SYNC BT_HCI_CMD_5_2 + 11 -#define BT_HCI_BIT_LE_BIG_CREATE_SYNC BT_HCI_BIT_5_2 + 11 +#define BT_HCI_CMD_LE_BIG_CREATE_SYNC 0x206b +#define BT_HCI_BIT_LE_BIG_CREATE_SYNC BT_HCI_CMD_BIT(43, 0) struct bt_hci_bis_sync { } __attribute__ ((packed)); @@ -2754,20 +2750,20 @@ struct bt_hci_cmd_le_big_create_sync { struct bt_hci_bis_sync bis[0]; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_BIG_TERM_SYNC BT_HCI_CMD_5_2 + 12 -#define BT_HCI_BIT_LE_BIG_TERM_SYNC BT_HCI_BIT_5_2 + 12 +#define BT_HCI_CMD_LE_BIG_TERM_SYNC 0x206c +#define BT_HCI_BIT_LE_BIG_TERM_SYNC BT_HCI_CMD_BIT(43, 1) struct bt_hci_cmd_le_big_term_sync { uint8_t big_id; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_REQ_PEER_SCA BT_HCI_CMD_5_2 + 13 -#define BT_HCI_BIT_LE_REQ_PEER_SCA BT_HCI_BIT_5_2 + 13 +#define BT_HCI_CMD_LE_REQ_PEER_SCA 0x206d +#define BT_HCI_BIT_LE_REQ_PEER_SCA BT_HCI_CMD_BIT(43, 2) struct bt_hci_cmd_le_req_peer_sca { uint16_t handle; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_SETUP_ISO_PATH BT_HCI_CMD_5_2 + 14 -#define BT_HCI_BIT_LE_SETUP_ISO_PATH BT_HCI_BIT_5_2 + 14 +#define BT_HCI_CMD_LE_SETUP_ISO_PATH 0x206e +#define BT_HCI_BIT_LE_SETUP_ISO_PATH BT_HCI_CMD_BIT(43, 3) struct bt_hci_cmd_le_setup_iso_path { uint16_t handle; uint8_t direction; @@ -2780,24 +2776,31 @@ struct bt_hci_cmd_le_setup_iso_path { uint8_t codec_cfg[0]; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_REMOVE_ISO_PATH BT_HCI_CMD_5_2 + 15 -#define BT_HCI_BIT_LE_REMOVE_ISO_PATH BT_HCI_BIT_5_2 + 15 +#define BT_HCI_CMD_LE_REMOVE_ISO_PATH 0x206f +#define BT_HCI_BIT_LE_REMOVE_ISO_PATH BT_HCI_CMD_BIT(43, 4) struct bt_hci_cmd_le_remove_iso_path { uint16_t handle; uint8_t path_dir; } __attribute__ ((packed)); -#define BT_HCI_CMD_LE_ISO_TX_TEST BT_HCI_CMD_5_2 + 16 -#define BT_HCI_BIT_LE_ISO_TX_TEST BT_HCI_BIT_5_2 + 16 +#define BT_HCI_CMD_LE_ISO_TX_TEST 0x2070 +#define BT_HCI_BIT_LE_ISO_TX_TEST BT_HCI_CMD_BIT(43, 5) + +#define BT_HCI_CMD_LE_ISO_RX_TEST 0x2071 +#define BT_HCI_BIT_LE_ISO_RX_TEST BT_HCI_CMD_BIT(43, 6) -#define BT_HCI_CMD_LE_ISO_RX_TEST BT_HCI_CMD_5_2 + 17 -#define BT_HCI_BIT_LE_ISO_RX_TEST BT_HCI_BIT_5_2 + 17 +#define BT_HCI_CMD_LE_ISO_READ_TEST_COUNTER 0x2072 +#define BT_HCI_BIT_LE_ISO_READ_TEST_COUNTER BT_HCI_CMD_BIT(43, 7) -#define BT_HCI_CMD_LE_ISO_READ_TEST_COUNTER BT_HCI_CMD_5_2 + 18 -#define BT_HCI_BIT_LE_ISO_READ_TEST_COUNTER BT_HCI_BIT_5_2 + 18 +#define BT_HCI_CMD_LE_ISO_TEST_END 0x2073 +#define BT_HCI_BIT_LE_ISO_TEST_END BT_HCI_CMD_BIT(44, 0) -#define BT_HCI_CMD_LE_ISO_TEST_END BT_HCI_CMD_5_2 + 19 -#define BT_HCI_BIT_LE_ISO_TEST_END BT_HCI_BIT_5_2 + 19 +#define BT_HCI_CMD_LE_SET_HOST_FEATURE 0x2074 +#define BT_HCI_BIT_LE_SET_HOST_FEATURE BT_HCI_CMD_BIT(44, 1) +struct bt_hci_cmd_le_set_host_feature { + uint8_t bit_number; + uint8_t bit_value; +} __packed; #define BT_HCI_EVT_INQUIRY_COMPLETE 0x01 struct bt_hci_evt_inquiry_complete { @@ -3155,7 +3158,7 @@ struct bt_hci_evt_keypress_notify { #define BT_HCI_EVT_REMOTE_HOST_FEATURES_NOTIFY 0x3d struct bt_hci_evt_remote_host_features_notify { - uint8_t bdaddr[6]; +uint8_t bdaddr[6]; uint8_t features[8]; } __attribute__ ((packed)); @@ -3498,7 +3501,7 @@ struct bt_hci_evt_le_per_adv_sync_trans_rec { uint8_t clock_accuracy; } __attribute__ ((packed)); -#define BT_HCI_EVT_LE_CIS_ESTABLISHED BT_HCI_SUBEVT_5_2 +#define BT_HCI_EVT_LE_CIS_ESTABLISHED 0x19 struct bt_hci_evt_le_cis_established { uint8_t status; uint16_t conn_handle; @@ -3518,7 +3521,7 @@ struct bt_hci_evt_le_cis_established { uint16_t interval; } __attribute__ ((packed)); -#define BT_HCI_EVT_LE_CIS_REQ BT_HCI_SUBEVT_5_2 + 1 +#define BT_HCI_EVT_LE_CIS_REQ 0x1a struct bt_hci_evt_le_cis_req { uint16_t acl_handle; uint16_t cis_handle; @@ -3526,7 +3529,7 @@ struct bt_hci_evt_le_cis_req { uint8_t cis_id; } __attribute__ ((packed)); -#define BT_HCI_EVT_LE_BIG_COMPLETE BT_HCI_SUBEVT_5_2 + 2 +#define BT_HCI_EVT_LE_BIG_COMPLETE 0x1b struct bt_hci_evt_le_big_complete { uint8_t status; uint8_t big_id; @@ -3537,13 +3540,13 @@ struct bt_hci_evt_le_big_complete { uint16_t handle[0]; } __attribute__ ((packed)); -#define BT_HCI_EVT_LE_BIG_TERMINATE BT_HCI_SUBEVT_5_2 + 3 +#define BT_HCI_EVT_LE_BIG_TERMINATE 0x1c struct bt_hci_evt_le_big_terminate { uint8_t reason; uint8_t big_id; } __attribute__ ((packed)); -#define BT_HCI_EVT_LE_BIG_SYNC_ESTABILISHED BT_HCI_SUBEVT_5_2 + 4 +#define BT_HCI_EVT_LE_BIG_SYNC_ESTABILISHED 0x1d struct bt_hci_evt_le_big_sync_estabilished { uint8_t status; uint8_t big_id; @@ -3552,13 +3555,13 @@ struct bt_hci_evt_le_big_sync_estabilished { uint16_t handle[0]; } __attribute__ ((packed)); -#define BT_HCI_EVT_LE_BIG_SYNC_LOST BT_HCI_SUBEVT_5_2 + 5 +#define BT_HCI_EVT_LE_BIG_SYNC_LOST 0x1e struct bt_hci_evt_le_big_sync_lost { uint8_t big_id; uint8_t reason; } __attribute__ ((packed)); -#define BT_HCI_EVT_LE_REQ_PEER_SCA_COMPLETE BT_HCI_SUBEVT_5_2 + 6 +#define BT_HCI_EVT_LE_REQ_PEER_SCA_COMPLETE 0x1f struct bt_hci_evt_le_req_peer_sca_complete { uint8_t status; uint16_t handle; From patchwork Tue Apr 21 22:25:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 11502383 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 90F2D1667 for ; Tue, 21 Apr 2020 22:25:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 78A9C206D5 for ; Tue, 21 Apr 2020 22:25:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Es7lMe5N" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726183AbgDUWZ0 (ORCPT ); Tue, 21 Apr 2020 18:25:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726151AbgDUWZZ (ORCPT ); Tue, 21 Apr 2020 18:25:25 -0400 Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 76C7BC0610D5 for ; Tue, 21 Apr 2020 15:25:25 -0700 (PDT) Received: by mail-pl1-x62a.google.com with SMTP id w3so86383plz.5 for ; Tue, 21 Apr 2020 15:25:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=yAXh3xoOECbXXgj+ID5ZQOMf1h0nrGV0PRZjaNZf1ig=; b=Es7lMe5NOHfHewwIPgNulkRBX3yA05iPSX6XR1AXPxm3RQF9YH+NNc78nNTjMfa5C1 QEWMx+1oFjfDgzPDKTZl458QPjP+snAIyMYJCkbAxPTZNoD4O+vIDnaHzQKo1ptSi2pV p3fDGbExEHwxVLhh+cBYTxYRr8A3Pj/Lj5++5lXBt+h6Od8ZqCq2O8ysMAFls+rMtjNs /MdX5y/Yx+AeNyzMQSi7SKnas1FoXO18/OAnPuyFDYukgVhh11UXsPifPaMNfxqJir9I nFeHHiR9Pq6gWidoy+z2A9/C3YgxVhejhjAf7w4o5xYzbfD+wIgVQwHvHTzQbZUuLC9g hWjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yAXh3xoOECbXXgj+ID5ZQOMf1h0nrGV0PRZjaNZf1ig=; b=UB7feOwq/eAl0tnGxeGTNeFW29HnDDpGOEK11dKykv9WnxAxm7wocYvqekTerJ3E4D W3ZxN5/5gf7owyNDCmyYZR+o0WRfFiV+4RoGgs5bF79H+Vd8UUHzWq8HdDEsKh48O0af Kf3lH0hTVoB79s7MpBpKqYE6MhSzu8/fAmNviX8KJMaVT940+uAehJUAbbJbRam+smxA yo9lSqTwnxZ4RXFy3VDABOCcs5sP9ZlPeBX9PihneWf28UKg5YDsDnBubPwdcVWU22d7 Ur2jFnm24nCwSiun/fKC5V/Ldj9C48NDj2RjuHXT9XbgXGLsWg1WM3nYKmxHimUbiKh7 TJfw== X-Gm-Message-State: AGi0Pubn3EqBeiS5HacSBdPgfW1dyEo9WijCnv1umilGcYpKTd9HsP8r oKNm0D8qfEi1/G2o/S4a30cSIzPvpv4= X-Google-Smtp-Source: APiQypIOSND4+wp1PLp7kShHdlxvRcBObZAVCRPQNJaFsm5P45xJIpPUrA6VTpbv2ewcKCLZ4R1LWQ== X-Received: by 2002:a17:90b:14ce:: with SMTP id jz14mr108468pjb.30.1587507924668; Tue, 21 Apr 2020 15:25:24 -0700 (PDT) Received: from localhost.localdomain (c-71-56-157-77.hsd1.or.comcast.net. [71.56.157.77]) by smtp.gmail.com with ESMTPSA id e196sm3384040pfh.43.2020.04.21.15.25.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 15:25:24 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ 2/4] monitor: Add decoding support for HCI LE Set Host Feature Date: Tue, 21 Apr 2020 15:25:19 -0700 Message-Id: <20200421222521.226385-2-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421222521.226385-1-luiz.dentz@gmail.com> References: <20200421222521.226385-1-luiz.dentz@gmail.com> MIME-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Luiz Augusto von Dentz This adds decoding support for LE Set Host Feature. --- monitor/packet.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/monitor/packet.c b/monitor/packet.c index 038dd6d17..777a52205 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -8128,6 +8128,21 @@ static void le_req_peer_sca_cmd(const void *data, uint8_t size) print_field("Connection Handle: %d", le16_to_cpu(cmd->handle)); } +static void le_set_host_feature_cmd(const void *data, uint8_t size) +{ + const struct bt_hci_cmd_le_set_host_feature *cmd = data; + uint64_t mask; + + print_field("Bit Number:"); + + mask = print_bitfield(2, cmd->bit_number, features_le); + if (mask) + print_text(COLOR_UNKNOWN_FEATURE_BIT, " Unknown features " + "(0x%16.16" PRIx64 ")", mask); + + print_field("Bit Value: %u", cmd->bit_value); +} + struct opcode_data { uint16_t opcode; int bit; @@ -9041,6 +9056,10 @@ static const struct opcode_data opcode_table[] = { { BT_HCI_CMD_LE_ISO_TEST_END, BT_HCI_BIT_LE_ISO_TEST_END, "LE Isochronous Read Test Counters", NULL, 0, false }, + { BT_HCI_CMD_LE_SET_HOST_FEATURE, BT_HCI_BIT_LE_SET_HOST_FEATURE, + "LE Set Host Feature", le_set_host_feature_cmd, + sizeof(struct bt_hci_cmd_le_set_host_feature), + true, status_rsp, 1, true }, { } }; From patchwork Tue Apr 21 22:25:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 11502385 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C279281 for ; Tue, 21 Apr 2020 22:25:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id AAF33206E9 for ; Tue, 21 Apr 2020 22:25:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fGEdqjt3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726224AbgDUWZ1 (ORCPT ); Tue, 21 Apr 2020 18:25:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726151AbgDUWZ0 (ORCPT ); Tue, 21 Apr 2020 18:25:26 -0400 Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 968F8C0610D5 for ; Tue, 21 Apr 2020 15:25:26 -0700 (PDT) Received: by mail-pg1-x532.google.com with SMTP id o10so64680pgb.6 for ; Tue, 21 Apr 2020 15:25:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=NqUyV570SxIwHn5IfZYHj6GJexRq84v1iT9G6VlcL1E=; b=fGEdqjt3Sr1/Yf+7N31XQyWfEn+qPbwcq80632bf4cOtU2GuMOll5N/VcEoqA0beJi ml61rZ20wIOzCNIDXnaXRk5tNwjyaFEjGFKxdZ/OhlxtYUC3DVE96mCwQRcU5Bgtr6uG JnYO/1TyW3n8l+O7AQxxIzxDE4qDrKzKGirsSSxEW6RvPNzyQXvP+kj+W8telJnVWbB0 q289q5FqDSvlP9TGd5xw3O3x0N1U4m4sPsuKOt4VIgB5jYHoKdCCcyTaiK8cn+6ctZ/d cymdmtIym/8OuCzVBY5p8rK04fQ2Jo03QJ1eETrQVr6KmjbuNEevtmxmWmjSM/r7sTZ9 +ioQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NqUyV570SxIwHn5IfZYHj6GJexRq84v1iT9G6VlcL1E=; b=mPXp/EsKV6MurGeRBVCcPGVXTj9ipfv4PImkfTFUFDGCkKZFycas7M7HJOs72Zsaez nblyzMZGhc//ETupaQ5Mg+HdAecOdCpbHyc+/S6+pQPESl7rqE/fLx+UuxCjj9LxMhiH xpgoBSsqlUzEvbAT911bnAVB6aJLdQFianAbQgXlAgDZAM2gUwZY+VXyCbz3BzpQ9b0n Pn/tWfCFCJ4Z2RNvxvz1XCOucHXiDiXMNtfrtk04cHtS8rRctG1MAJ7gFBum62Hvos5V TeZCFJ6v/vVQGgGx3+bF2a7VDws8Xbc6rj0SI8u5fsMqfBadsVgCd1f9khHTj/uFITew mMBA== X-Gm-Message-State: AGi0PuZY1KcgcyWR4U7FqyXbb4Mc/bA7mfIf7nC/XKLg1t8gm2qLhtA+ xt/8B5WAuhtffv+lyXvgg5KRVOT8lyo= X-Google-Smtp-Source: APiQypL1+/cQTNtvS55YAs4TzreSWYYI9E4kgi7UxQdUJ2NFzo+6FA3vqmcwOsks+5tLkf7zvjhdIQ== X-Received: by 2002:a63:1e5a:: with SMTP id p26mr23165151pgm.233.1587507925788; Tue, 21 Apr 2020 15:25:25 -0700 (PDT) Received: from localhost.localdomain (c-71-56-157-77.hsd1.or.comcast.net. [71.56.157.77]) by smtp.gmail.com with ESMTPSA id e196sm3384040pfh.43.2020.04.21.15.25.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 15:25:24 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ 3/4] emulator: Add support for LE Set Host Feature Date: Tue, 21 Apr 2020 15:25:20 -0700 Message-Id: <20200421222521.226385-3-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421222521.226385-1-luiz.dentz@gmail.com> References: <20200421222521.226385-1-luiz.dentz@gmail.com> MIME-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Luiz Augusto von Dentz This implements support for LE Set Host Feature --- emulator/btdev.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/emulator/btdev.c b/emulator/btdev.c index 0de273e53..f9e1e6675 100644 --- a/emulator/btdev.c +++ b/emulator/btdev.c @@ -469,6 +469,7 @@ static void set_le_60_commands(struct btdev *btdev) btdev->commands[43] |= 0x40; /* LE ISO RX Test */ btdev->commands[43] |= 0x80; /* LE ISO Read Test Counter */ btdev->commands[44] |= 0x01; /* LE ISO Test End */ + btdev->commands[44] |= 0x02; /* LE ISO Set Host Feature */ } static void set_le_commands(struct btdev *btdev) @@ -3861,6 +3862,15 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; + case BT_HCI_CMD_LE_SET_HOST_FEATURE: + if (btdev->type != BTDEV_TYPE_BREDRLE60) + goto unsupported; + + status = BT_HCI_ERR_SUCCESS; + cmd_complete(btdev, opcode, &status, sizeof(status)); + + break; + default: goto unsupported; } From patchwork Tue Apr 21 22:25:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 11502387 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4695C81 for ; Tue, 21 Apr 2020 22:25:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 244C3206D5 for ; Tue, 21 Apr 2020 22:25:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="u7l16SPo" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726245AbgDUWZ2 (ORCPT ); Tue, 21 Apr 2020 18:25:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37774 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726151AbgDUWZ2 (ORCPT ); Tue, 21 Apr 2020 18:25:28 -0400 Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A352C0610D5 for ; Tue, 21 Apr 2020 15:25:28 -0700 (PDT) Received: by mail-pj1-x1035.google.com with SMTP id a22so2013637pjk.5 for ; Tue, 21 Apr 2020 15:25:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=stWdumnPmieMa0L7Ba6L3twmNAgPtVRN8STkeFbEOLU=; b=u7l16SPoSik0+MUfBpjJ448AHmC7X0QKkQ+EfamrP2SCMObTI3q2oiLmcEmE4/w9Z0 qXMBeEINzJRipwns+H8jze0CbS0YiC3NiaQDxHK+pgaqxfP6azyc47bSNxCir1yEJQPF sxefD2Cg2QfGmBFz9cUiogZZBs32ZpJW5G/A/ntOgwjE3EICtPrNDb6OgPWDthtb/wIM njFij5rmXw3dtNnisyGRspuFC+DpCf/jgVjrSurxhLlI+ooJdGS4UOzx22TOJIKVqZpN 1FPbmVQkpBuSuHifJsP/6rFEn91Oz5E/bMzrbLKOWndcdkFZT6lXUJlb+AiOcoZUtkEO xQ7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=stWdumnPmieMa0L7Ba6L3twmNAgPtVRN8STkeFbEOLU=; b=PmuIgXmwDeE1tDRUEApVYJXenG5mb8SulelzrJCqFNA6F1VQ9KvzufpjY009MY3lLE z7lv/J9KJ6QlEHAWRANRdbx12rnd3MShi+CygErExYdqWqwlkIB13Aq44qNpqPjAUzS6 E6G56WKgjQ55/NSlCNlJ2uBb6oD5ky3FODI5c4+bveCIF4H40V+YmFSqQZICw3ibtV3p 9zVyObgbzFUkkqn/DJhErgw4LM1kmr1UJDujFSpNeLhQ4T6fR0d46ML6RV5OVTn7li0A 9jzCv4cJmkuyHcDZxmkfUl9lXZ1lYLoJ2iKRRE2IGxKGWAwq/wB2M1E0Ocj1hWMUKWFS zKwA== X-Gm-Message-State: AGi0PuYx30+YM+Epnaa2nur06NXqqRJc5lV2/e7IxQh2zpOEnzPvQzfc mvJAP3YqMdzaUJJe2GdtJXbg6V8HKVQ= X-Google-Smtp-Source: APiQypK6EfgaUgR0nVwOPdBo9gen82Y3T8AqAFHgkK63KCXaNLoSH7+n7Scl6jDBAgt0XtGM236OQQ== X-Received: by 2002:a17:90a:17e7:: with SMTP id q94mr8546578pja.80.1587507926885; Tue, 21 Apr 2020 15:25:26 -0700 (PDT) Received: from localhost.localdomain (c-71-56-157-77.hsd1.or.comcast.net. [71.56.157.77]) by smtp.gmail.com with ESMTPSA id e196sm3384040pfh.43.2020.04.21.15.25.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 15:25:26 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ 4/4] emulator: Fix version number of ISO related features Date: Tue, 21 Apr 2020 15:25:21 -0700 Message-Id: <20200421222521.226385-4-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421222521.226385-1-luiz.dentz@gmail.com> References: <20200421222521.226385-1-luiz.dentz@gmail.com> MIME-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Luiz Augusto von Dentz There are part of Bluetooth 5.2 specification not 6.0. --- emulator/btdev.c | 64 +++++++++++++++++++++++------------------------ emulator/btdev.h | 2 +- emulator/hciemu.c | 4 +-- emulator/hciemu.h | 2 +- emulator/vhci.c | 2 +- 5 files changed, 37 insertions(+), 37 deletions(-) diff --git a/emulator/btdev.c b/emulator/btdev.c index f9e1e6675..dbbf8e70a 100644 --- a/emulator/btdev.c +++ b/emulator/btdev.c @@ -517,8 +517,8 @@ static void set_le_commands(struct btdev *btdev) if (btdev->type >= BTDEV_TYPE_BREDRLE50) set_le_50_commands(btdev); - /* Extra LE commands for >= 6.0 adapters */ - if (btdev->type >= BTDEV_TYPE_BREDRLE60) + /* Extra LE commands for >= 5.2 adapters */ + if (btdev->type >= BTDEV_TYPE_BREDRLE52) set_le_60_commands(btdev); } @@ -588,7 +588,7 @@ static void set_bredrle_features(struct btdev *btdev) btdev->le_features[1] |= 0x10; /* LE EXT ADV */ } - if (btdev->type >= BTDEV_TYPE_BREDRLE60) { + if (btdev->type >= BTDEV_TYPE_BREDRLE52) { btdev->le_features[3] |= 0x10; /* LE CIS Master */ btdev->le_features[3] |= 0x20; /* LE CIS Slave */ btdev->le_features[3] |= 0x40; /* LE ISO Broadcaster */ @@ -692,7 +692,7 @@ struct btdev *btdev_create(enum btdev_type type, uint16_t id) if (type == BTDEV_TYPE_BREDRLE || type == BTDEV_TYPE_LE || type == BTDEV_TYPE_BREDRLE50 || - type == BTDEV_TYPE_BREDRLE60) { + type == BTDEV_TYPE_BREDRLE52) { btdev->crypto = bt_crypto_new(); if (!btdev->crypto) { free(btdev); @@ -708,7 +708,7 @@ struct btdev *btdev_create(enum btdev_type type, uint16_t id) switch (btdev->type) { case BTDEV_TYPE_BREDRLE: case BTDEV_TYPE_BREDRLE50: - case BTDEV_TYPE_BREDRLE60: + case BTDEV_TYPE_BREDRLE52: btdev->version = 0x09; set_bredrle_features(btdev); set_bredrle_commands(btdev); @@ -3077,7 +3077,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, case BT_HCI_CMD_READ_LE_HOST_SUPPORTED: if (btdev->type != BTDEV_TYPE_BREDRLE && btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; rlhs.status = BT_HCI_ERR_SUCCESS; rlhs.supported = btdev->le_supported; @@ -3089,7 +3089,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, if (btdev->type != BTDEV_TYPE_BREDRLE && btdev->type != BTDEV_TYPE_LE && btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; wlhs = data; btdev->le_supported = wlhs->supported; @@ -3101,7 +3101,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, case BT_HCI_CMD_READ_SECURE_CONN_SUPPORT: if (btdev->type != BTDEV_TYPE_BREDRLE && btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; rscs.status = BT_HCI_ERR_SUCCESS; rscs.support = btdev->secure_conn_support; @@ -3111,7 +3111,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, case BT_HCI_CMD_WRITE_SECURE_CONN_SUPPORT: if (btdev->type != BTDEV_TYPE_BREDRLE && btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; wscs = data; btdev->secure_conn_support = wscs->support; @@ -3122,7 +3122,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, case BT_HCI_CMD_READ_LOCAL_OOB_EXT_DATA: if (btdev->type != BTDEV_TYPE_BREDRLE && btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; rloed.status = BT_HCI_ERR_SUCCESS; cmd_complete(btdev, opcode, &rloed, sizeof(rloed)); @@ -3131,7 +3131,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, case BT_HCI_CMD_READ_SYNC_TRAIN_PARAMS: if (btdev->type != BTDEV_TYPE_BREDRLE && btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; rstp.status = BT_HCI_ERR_SUCCESS; rstp.interval = cpu_to_le16(btdev->sync_train_interval); @@ -3283,7 +3283,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, if (btdev->type != BTDEV_TYPE_BREDRLE && btdev->type != BTDEV_TYPE_BREDR && btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; reks = data; read_enc_key_size_complete(btdev, le16_to_cpu(reks->handle)); @@ -3659,7 +3659,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_READ_NUM_SUPPORTED_ADV_SETS: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; rlrnsas.status = BT_HCI_ERR_SUCCESS; @@ -3669,7 +3669,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_ADV_SET_RAND_ADDR: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; lsasra = data; @@ -3679,7 +3679,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_EXT_ADV_PARAMS: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; if (btdev->le_adv_enable) { @@ -3700,7 +3700,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_EXT_ADV_ENABLE: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; lseae = data; @@ -3716,7 +3716,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_EXT_ADV_DATA: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; lsead = data; @@ -3727,7 +3727,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_EXT_SCAN_RSP_DATA: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; lsesrd = data; @@ -3738,7 +3738,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_REMOVE_ADV_SET: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; status = BT_HCI_ERR_SUCCESS; @@ -3746,7 +3746,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_CLEAR_ADV_SETS: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; status = BT_HCI_ERR_SUCCESS; @@ -3768,7 +3768,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_EXT_SCAN_PARAMS: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; lsesp = data; @@ -3791,7 +3791,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_EXT_SCAN_ENABLE: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; lsese = data; @@ -3806,14 +3806,14 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_EXT_CREATE_CONN: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); break; case BT_HCI_CMD_LE_READ_BUFFER_SIZE_V2: - if (btdev->type != BTDEV_TYPE_BREDRLE60) + if (btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; lrbsv2.status = BT_HCI_ERR_SUCCESS; lrbsv2.acl_mtu = cpu_to_le16(btdev->acl_mtu); @@ -3824,7 +3824,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_CIG_PARAMS: - if (btdev->type != BTDEV_TYPE_BREDRLE60) + if (btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; memcpy(&btdev->le_cig, data, len); lscp.params.status = BT_HCI_ERR_SUCCESS; @@ -3835,7 +3835,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_CREATE_CIS: - if (btdev->type != BTDEV_TYPE_BREDRLE60) + if (btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); @@ -3843,7 +3843,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_ACCEPT_CIS: - if (btdev->type != BTDEV_TYPE_BREDRLE60) + if (btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); @@ -3852,7 +3852,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_REJECT_CIS: - if (btdev->type != BTDEV_TYPE_BREDRLE60) + if (btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); @@ -3863,7 +3863,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_HOST_FEATURE: - if (btdev->type != BTDEV_TYPE_BREDRLE60) + if (btdev->type != BTDEV_TYPE_BREDRLE52) goto unsupported; status = BT_HCI_ERR_SUCCESS; @@ -4108,7 +4108,7 @@ static void default_cmd_completion(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_SET_EXT_SCAN_ENABLE: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) return; lsese = data; if (btdev->le_scan_enable && lsese->enable) @@ -4116,7 +4116,7 @@ static void default_cmd_completion(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_EXT_CREATE_CONN: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) return; leecc = data; btdev->le_scan_own_addr_type = leecc->own_addr_type; @@ -4124,7 +4124,7 @@ static void default_cmd_completion(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_LE_CREATE_CIS: if (btdev->type != BTDEV_TYPE_BREDRLE50 && - btdev->type != BTDEV_TYPE_BREDRLE60) + btdev->type != BTDEV_TYPE_BREDRLE52) return; leccis = data; le_cis_request(btdev, leccis); diff --git a/emulator/btdev.h b/emulator/btdev.h index b535930de..a9f71b281 100644 --- a/emulator/btdev.h +++ b/emulator/btdev.h @@ -64,7 +64,7 @@ enum btdev_type { BTDEV_TYPE_AMP, BTDEV_TYPE_BREDR20, BTDEV_TYPE_BREDRLE50, - BTDEV_TYPE_BREDRLE60, + BTDEV_TYPE_BREDRLE52, }; enum btdev_hook_type { diff --git a/emulator/hciemu.c b/emulator/hciemu.c index 23891a2ee..ac861cce2 100644 --- a/emulator/hciemu.c +++ b/emulator/hciemu.c @@ -335,8 +335,8 @@ struct hciemu *hciemu_new(enum hciemu_type type) case HCIEMU_TYPE_BREDRLE50: hciemu->btdev_type = BTDEV_TYPE_BREDRLE50; break; - case HCIEMU_TYPE_BREDRLE60: - hciemu->btdev_type = BTDEV_TYPE_BREDRLE60; + case HCIEMU_TYPE_BREDRLE52: + hciemu->btdev_type = BTDEV_TYPE_BREDRLE52; break; default: return NULL; diff --git a/emulator/hciemu.h b/emulator/hciemu.h index 6f651cb98..4c8858bb6 100644 --- a/emulator/hciemu.h +++ b/emulator/hciemu.h @@ -32,7 +32,7 @@ enum hciemu_type { HCIEMU_TYPE_LE, HCIEMU_TYPE_LEGACY, HCIEMU_TYPE_BREDRLE50, - HCIEMU_TYPE_BREDRLE60, + HCIEMU_TYPE_BREDRLE52, }; enum hciemu_hook_type { diff --git a/emulator/vhci.c b/emulator/vhci.c index 7a69b484e..f79b34f46 100644 --- a/emulator/vhci.c +++ b/emulator/vhci.c @@ -105,7 +105,7 @@ struct vhci *vhci_open(enum vhci_type type) switch (type) { case VHCI_TYPE_BREDRLE: - btdev_type = BTDEV_TYPE_BREDRLE60; + btdev_type = BTDEV_TYPE_BREDRLE52; ctrl_type = HCI_PRIMARY; break; case VHCI_TYPE_BREDR: