/linux/drivers/i3c/master/mipi-i3c-hci/ |
H A D | core.c | 120 struct i3c_hci *hci = to_i3c_hci(m); in i3c_hci_bus_init() local 126 if (hci->cmd == &mipi_i3c_hci_cmd_v1) { in i3c_hci_bus_init() 127 ret = mipi_i3c_hci_dat_v1.init(hci); in i3c_hci_bus_init() 143 ret = hci->io->init(hci); in i3c_hci_bus_init() 148 if (hci->quirks & HCI_QUIRK_RESP_BUF_THLD) in i3c_hci_bus_init() 149 amd_set_resp_buf_thld(hci); in i3c_hci_bus_init() 159 struct i3c_hci *hci = to_i3c_hci(m); in i3c_hci_bus_cleanup() local 166 hci->io->cleanup(hci); in i3c_hci_bus_cleanup() 167 if (hci->cmd == &mipi_i3c_hci_cmd_v1) in i3c_hci_bus_cleanup() 168 mipi_i3c_hci_dat_v1.cleanup(hci); in i3c_hci_bus_cleanup() [all …]
|
H A D | ext_caps.c | 24 static int hci_extcap_hardware_id(struct i3c_hci *hci, void __iomem *base) in hci_extcap_hardware_id() argument 26 hci->vendor_mipi_id = readl(base + 0x04); in hci_extcap_hardware_id() 27 hci->vendor_version_id = readl(base + 0x08); in hci_extcap_hardware_id() 28 hci->vendor_product_id = readl(base + 0x0c); in hci_extcap_hardware_id() 30 dev_info(&hci->master.dev, "vendor MIPI ID: %#x\n", hci->vendor_mipi_id); in hci_extcap_hardware_id() 31 dev_info(&hci->master.dev, "vendor version ID: %#x\n", hci->vendor_version_id); in hci_extcap_hardware_id() 32 dev_info(&hci->master.dev, "vendor product ID: %#x\n", hci->vendor_product_id); in hci_extcap_hardware_id() 35 switch (hci->vendor_mipi_id) { in hci_extcap_hardware_id() 37 hci->quirks |= HCI_QUIRK_RAW_CCC; in hci_extcap_hardware_id() 45 static int hci_extcap_master_config(struct i3c_hci *hci, void __iomem *base) in hci_extcap_master_config() argument [all …]
|
H A D | dat.h | 19 int (*init)(struct i3c_hci *hci); 20 void (*cleanup)(struct i3c_hci *hci); 21 int (*alloc_entry)(struct i3c_hci *hci); 22 void (*free_entry)(struct i3c_hci *hci, unsigned int dat_idx); 23 void (*set_dynamic_addr)(struct i3c_hci *hci, unsigned int dat_idx, u8 addr); 24 void (*set_static_addr)(struct i3c_hci *hci, unsigned int dat_idx, u8 addr); 25 void (*set_flags)(struct i3c_hci *hci, unsigned int dat_idx, u32 w0, u32 w1); 26 void (*clear_flags)(struct i3c_hci *hci, unsigned int dat_idx, u32 w0, u32 w1); 27 int (*get_index)(struct i3c_hci *hci, u8 address);
|
H A D | cmd_v1.c | 122 static enum hci_cmd_mode get_i3c_mode(struct i3c_hci *hci) in get_i3c_mode() argument 124 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i3c_mode() 137 static enum hci_cmd_mode get_i2c_mode(struct i3c_hci *hci) in get_i2c_mode() argument 139 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i2c_mode() 170 static int hci_cmd_v1_prep_ccc(struct i3c_hci *hci, in hci_cmd_v1_prep_ccc() argument 175 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_ccc() 186 ret = mipi_i3c_hci_dat_v1.get_index(hci, ccc_addr); in hci_cmd_v1_prep_ccc() 220 static void hci_cmd_v1_prep_i3c_xfer(struct i3c_hci *hci, in hci_cmd_v1_prep_i3c_xfer() argument 226 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_i3c_xfer() 255 static void hci_cmd_v1_prep_i2c_xfer(struct i3c_hci *hci, in hci_cmd_v1_prep_i2c_xfer() argument [all …]
|
H A D | cmd_v2.c | 66 static unsigned int get_i3c_rate_idx(struct i3c_hci *hci) in get_i3c_rate_idx() argument 68 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i3c_rate_idx() 83 static unsigned int get_i2c_rate_idx(struct i3c_hci *hci) in get_i2c_rate_idx() argument 85 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i2c_rate_idx() 92 static void hci_cmd_v2_prep_private_xfer(struct i3c_hci *hci, in hci_cmd_v2_prep_private_xfer() argument 151 static int hci_cmd_v2_prep_ccc(struct i3c_hci *hci, struct hci_xfer *xfer, in hci_cmd_v2_prep_ccc() argument 155 unsigned int rate = get_i3c_rate_idx(hci); in hci_cmd_v2_prep_ccc() 161 hci_cmd_v2_prep_private_xfer(hci, xfer, ccc_addr, mode, rate); in hci_cmd_v2_prep_ccc() 217 static void hci_cmd_v2_prep_i3c_xfer(struct i3c_hci *hci, in hci_cmd_v2_prep_i3c_xfer() argument 222 unsigned int rate = get_i3c_rate_idx(hci); in hci_cmd_v2_prep_i3c_xfer() [all …]
|
H A D | cmd.h | 50 (atomic_inc_return_relaxed(&hci->next_cmd_tid) % (1U << 4)) 54 int (*prep_ccc)(struct i3c_hci *hci, struct hci_xfer *xfer, 56 void (*prep_i3c_xfer)(struct i3c_hci *hci, struct i3c_dev_desc *dev, 58 void (*prep_i2c_xfer)(struct i3c_hci *hci, struct i2c_dev_desc *dev, 60 int (*perform_daa)(struct i3c_hci *hci);
|
H A D | dct_v1.c | 20 void i3c_hci_dct_get_val(struct i3c_hci *hci, unsigned int dct_idx, in i3c_hci_dct_get_val() argument 23 void __iomem *reg = hci->DCT_regs + dct_idx * 4 * 4; in i3c_hci_dct_get_val()
|
H A D | hci_quirks.c | 25 void amd_set_od_pp_timing(struct i3c_hci *hci) in amd_set_od_pp_timing() argument 37 void amd_set_resp_buf_thld(struct i3c_hci *hci) in amd_set_resp_buf_thld() argument
|
H A D | ibi.h | 30 i3c_hci_addr_to_dev(struct i3c_hci *hci, unsigned int addr) in i3c_hci_addr_to_dev() argument 32 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in i3c_hci_addr_to_dev()
|
H A D | ext_caps.h | 17 int i3c_hci_parse_ext_caps(struct i3c_hci *hci);
|
H A D | dct.h | 13 void i3c_hci_dct_get_val(struct i3c_hci *hci, unsigned int dct_idx,
|
/linux/drivers/net/wireless/realtek/rtw88/ |
H A D | hci.h | 38 return rtwdev->hci.ops->tx_write(rtwdev, pkt_info, skb); in rtw_hci_tx_write() 43 return rtwdev->hci.ops->tx_kick_off(rtwdev); in rtw_hci_tx_kick_off() 48 return rtwdev->hci.ops->setup(rtwdev); in rtw_hci_setup() 53 return rtwdev->hci.ops->start(rtwdev); in rtw_hci_start() 58 rtwdev->hci.ops->stop(rtwdev); in rtw_hci_stop() 63 rtwdev->hci.ops->deep_ps(rtwdev, enter); in rtw_hci_deep_ps() 68 rtwdev->hci.ops->link_ps(rtwdev, enter); in rtw_hci_link_ps() 73 rtwdev->hci.ops->interface_cfg(rtwdev); in rtw_hci_interface_cfg() 78 if (rtwdev->hci.ops->dynamic_rx_agg) in rtw_hci_dynamic_rx_agg() 79 rtwdev->hci.ops->dynamic_rx_agg(rtwdev, enable); in rtw_hci_dynamic_rx_agg() [all …]
|
H A D | ps.c | 74 request = rtw_read8(rtwdev, rtwdev->hci.rpwm_addr); in rtw_power_mode_change() 75 confirm = rtw_read8(rtwdev, rtwdev->hci.cpwm_addr); in rtw_power_mode_change() 90 rtw_write8(rtwdev, rtwdev->hci.rpwm_addr, request); in rtw_power_mode_change() 96 rtwdev->hci.cpwm_addr); in rtw_power_mode_change()
|
/linux/net/nfc/hci/ |
H A D | Makefile | 6 obj-$(CONFIG_NFC_HCI) += hci.o 8 hci-y := core.o hcp.o command.o llc.o llc_nop.o 9 hci-$(CONFIG_NFC_SHDLC) += llc_shdlc.o
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-driver-hid | 2 What: /sys/class/bluetooth/hci<addr>/<hid-bus>:<vendor-id>:<product-id>.<num>/report_descriptor 13 What: /sys/class/bluetooth/hci<addr>/<hid-bus>:<vendor-id>:<product-id>.<num>/country
|
/linux/include/net/bluetooth/ |
H A D | bluetooth.h | 477 struct hci_ctrl hci; member 487 #define hci_skb_opcode(skb) bt_cb((skb))->hci.opcode 488 #define hci_skb_event(skb) bt_cb((skb))->hci.req_event 489 #define hci_skb_sk(skb) bt_cb((skb))->hci.sk
|
/linux/Documentation/driver-api/nfc/ |
H A D | index.rst | 10 nfc-hci
|
H A D | nfc-hci.rst | 40 those gates have pipes connected when the hci device is set up. 91 - hci_ready() is an optional entry point that is called right after the hci
|
/linux/drivers/i3c/master/ |
H A D | Makefile | 6 obj-$(CONFIG_MIPI_I3C_HCI) += mipi-i3c-hci/
|
/linux/net/nfc/nci/ |
H A D | Makefile | 8 nci-objs := core.o data.o lib.o ntf.o rsp.o hci.o
|
/linux/net/nfc/ |
H A D | Makefile | 8 obj-$(CONFIG_NFC_HCI) += hci/
|
H A D | Kconfig | 32 source "net/nfc/hci/Kconfig"
|
/linux/Documentation/admin-guide/ |
H A D | btmrvl.rst | 95 Issuing a raw hci command 98 Use hcitool to issue raw hci command, refer to hcitool manual
|
/linux/Documentation/ABI/stable/ |
H A D | sysfs-class-bluetooth | 1 What: /sys/class/bluetooth/hci<index>/reset
|
/linux/net/bluetooth/ |
H A D | hci_core.c | 3049 bt_cb(skb)->hci.req_flags |= HCI_REQ_START; in hci_send_cmd() 3877 return (bt_cb(skb)->hci.req_flags & HCI_REQ_START); in hci_req_is_complete() 3942 if (skb && bt_cb(skb)->hci.req_flags & HCI_REQ_SKB) { in hci_req_cmd_complete() 3943 *req_complete_skb = bt_cb(skb)->hci.req_complete_skb; in hci_req_cmd_complete() 3947 if (skb && bt_cb(skb)->hci.req_complete) { in hci_req_cmd_complete() 3948 *req_complete = bt_cb(skb)->hci.req_complete; in hci_req_cmd_complete() 3955 if (bt_cb(skb)->hci.req_flags & HCI_REQ_START) { in hci_req_cmd_complete() 3960 if (bt_cb(skb)->hci.req_flags & HCI_REQ_SKB) in hci_req_cmd_complete() 3961 *req_complete_skb = bt_cb(skb)->hci.req_complete_skb; in hci_req_cmd_complete() 3963 *req_complete = bt_cb(skb)->hci.req_complete; in hci_req_cmd_complete()
|