Bluetooth: Define PHY flags in hdev and set 1M as default
1M is mandatory to be supported by LE controllers and the same would be set in power on. This patch defines hdev flags for LE PHYs and set 1M to default. Signed-off-by: Jaganath Kanakkassery <jaganathx.kanakkassery@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
25a13e382d
commit
6decb5b45e
|
@ -1514,6 +1514,10 @@ struct hci_cp_le_set_default_phy {
|
|||
__u8 rx_phys;
|
||||
} __packed;
|
||||
|
||||
#define HCI_LE_SET_PHY_1M 0x01
|
||||
#define HCI_LE_SET_PHY_2M 0x02
|
||||
#define HCI_LE_SET_PHY_CODED 0x04
|
||||
|
||||
#define HCI_OP_LE_SET_EXT_SCAN_PARAMS 0x2041
|
||||
struct hci_cp_le_set_ext_scan_params {
|
||||
__u8 own_addr_type;
|
||||
|
|
|
@ -315,6 +315,9 @@ struct hci_dev {
|
|||
unsigned long sco_last_tx;
|
||||
unsigned long le_last_tx;
|
||||
|
||||
__u8 le_tx_def_phys;
|
||||
__u8 le_rx_def_phys;
|
||||
|
||||
struct workqueue_struct *workqueue;
|
||||
struct workqueue_struct *req_workqueue;
|
||||
|
||||
|
|
|
@ -830,10 +830,9 @@ static int hci_init4_req(struct hci_request *req, unsigned long opt)
|
|||
if (hdev->commands[35] & 0x20) {
|
||||
struct hci_cp_le_set_default_phy cp;
|
||||
|
||||
/* No transmitter PHY or receiver PHY preferences */
|
||||
cp.all_phys = 0x03;
|
||||
cp.tx_phys = 0;
|
||||
cp.rx_phys = 0;
|
||||
cp.all_phys = 0x00;
|
||||
cp.tx_phys = hdev->le_tx_def_phys;
|
||||
cp.rx_phys = hdev->le_rx_def_phys;
|
||||
|
||||
hci_req_add(req, HCI_OP_LE_SET_DEFAULT_PHY, sizeof(cp), &cp);
|
||||
}
|
||||
|
@ -3027,6 +3026,8 @@ struct hci_dev *hci_alloc_dev(void)
|
|||
hdev->le_max_tx_time = 0x0148;
|
||||
hdev->le_max_rx_len = 0x001b;
|
||||
hdev->le_max_rx_time = 0x0148;
|
||||
hdev->le_tx_def_phys = HCI_LE_SET_PHY_1M;
|
||||
hdev->le_rx_def_phys = HCI_LE_SET_PHY_1M;
|
||||
|
||||
hdev->rpa_timeout = HCI_DEFAULT_RPA_TIMEOUT;
|
||||
hdev->discov_interleaved_timeout = DISCOV_INTERLEAVED_TIMEOUT;
|
||||
|
|
Loading…
Reference in New Issue