| /linux/drivers/i3c/master/mipi-i3c-hci/ |
| H A D | core.c | 118 static void i3c_hci_set_master_dyn_addr(struct i3c_hci *hci) in i3c_hci_set_master_dyn_addr() argument 121 MASTER_DYNAMIC_ADDR(hci->dyn_addr) | MASTER_DYNAMIC_ADDR_VALID); in i3c_hci_set_master_dyn_addr() 126 struct i3c_hci *hci = to_i3c_hci(m); in i3c_hci_bus_init() local 130 if (hci->cmd == &mipi_i3c_hci_cmd_v1) { in i3c_hci_bus_init() 131 ret = mipi_i3c_hci_dat_v1.init(hci); in i3c_hci_bus_init() 139 hci->dyn_addr = ret; in i3c_hci_bus_init() 140 i3c_hci_set_master_dyn_addr(hci); in i3c_hci_bus_init() 142 info.dyn_addr = hci->dyn_addr; in i3c_hci_bus_init() 147 ret = hci->io->init(hci); in i3c_hci_bus_init() 152 if (hci->quirks & HCI_QUIRK_RESP_BUF_THLD) in i3c_hci_bus_init() [all …]
|
| H A D | mipi-i3c-hci-pci.c | 37 int (*init)(struct mipi_i3c_hci_pci *hci); 38 void (*exit)(struct mipi_i3c_hci_pci *hci); 75 struct mipi_i3c_hci_pci *hci = dev_get_drvdata(dev); in intel_ltr_set() local 76 struct intel_host *host = hci->private; in intel_ltr_set() 125 static void intel_add_debugfs(struct mipi_i3c_hci_pci *hci) in intel_add_debugfs() argument 127 struct dentry *dir = debugfs_create_dir(dev_name(&hci->pci->dev), NULL); in intel_add_debugfs() 128 struct intel_host *host = hci->private; in intel_add_debugfs() 137 static void intel_remove_debugfs(struct mipi_i3c_hci_pci *hci) in intel_remove_debugfs() argument 139 struct intel_host *host = hci->private; in intel_remove_debugfs() 156 static int intel_i3c_init(struct mipi_i3c_hci_pci *hci) in intel_i3c_init() argument [all …]
|
| H A D | pio.c | 22 #define pio_reg_read(r) readl(hci->PIO_regs + (PIO_##r)) 23 #define pio_reg_write(r, v) writel(v, hci->PIO_regs + (PIO_##r)) 137 static void __hci_pio_init(struct i3c_hci *hci, u32 *size_val_ptr) in __hci_pio_init() argument 140 struct hci_pio_data *pio = hci->io_data; in __hci_pio_init() 153 if (hci->version_major == 1) { in __hci_pio_init() 192 static void hci_pio_suspend(struct i3c_hci *hci) in hci_pio_suspend() argument 196 i3c_hci_sync_irq_inactive(hci); in hci_pio_suspend() 199 static void hci_pio_resume(struct i3c_hci *hci) in hci_pio_resume() argument 201 __hci_pio_init(hci, NULL); in hci_pio_resume() 204 static int hci_pio_init(struct i3c_hci *hci) in hci_pio_init() argument [all …]
|
| H A D | dma.c | 40 #define rhs_reg_read(r) readl(hci->RHS_regs + (RHS_##r)) 41 #define rhs_reg_write(r, v) writel(v, hci->RHS_regs + (RHS_##r)) 148 static void hci_dma_cleanup(struct i3c_hci *hci) in hci_dma_cleanup() argument 150 struct hci_rings_data *rings = hci->io_data; in hci_dma_cleanup() 164 i3c_hci_sync_irq_inactive(hci); in hci_dma_cleanup() 178 struct i3c_hci *hci = data; in hci_dma_free() local 179 struct hci_rings_data *rings = hci->io_data; in hci_dma_free() 209 hci->io_data = NULL; in hci_dma_free() 212 static void hci_dma_init_rh(struct i3c_hci *hci, struct hci_rh_data *rh, int i) in hci_dma_init_rh() argument 266 static void hci_dma_init_rings(struct i3c_hci *hci) in hci_dma_init_rings() argument [all …]
|
| H A D | hci.h | 27 #define reg_read(r) readl(hci->base_regs + (r)) 28 #define reg_write(r, v) writel(v, hci->base_regs + (r)) 123 bool (*irq_handler)(struct i3c_hci *hci); 124 int (*queue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 125 bool (*dequeue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 126 int (*handle_error)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 127 int (*request_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev, 129 void (*free_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev); 130 void (*recycle_ibi_slot)(struct i3c_hci *hci, struct i3c_dev_desc *dev, 132 int (*init)(struct i3c_hci *hci); [all …]
|
| H A D | cmd_v1.c | 120 static enum hci_cmd_mode get_i3c_mode(struct i3c_hci *hci) in get_i3c_mode() argument 122 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i3c_mode() 135 static enum hci_cmd_mode get_i2c_mode(struct i3c_hci *hci) in get_i2c_mode() argument 137 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i2c_mode() 168 static int hci_cmd_v1_prep_ccc(struct i3c_hci *hci, in hci_cmd_v1_prep_ccc() argument 173 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_ccc() 184 ret = mipi_i3c_hci_dat_v1.get_index(hci, ccc_addr); in hci_cmd_v1_prep_ccc() 218 static void hci_cmd_v1_prep_i3c_xfer(struct i3c_hci *hci, in hci_cmd_v1_prep_i3c_xfer() argument 224 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_i3c_xfer() 253 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 | 64 static unsigned int get_i3c_rate_idx(struct i3c_hci *hci) in get_i3c_rate_idx() argument 66 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i3c_rate_idx() 81 static unsigned int get_i2c_rate_idx(struct i3c_hci *hci) in get_i2c_rate_idx() argument 83 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i2c_rate_idx() 90 static void hci_cmd_v2_prep_private_xfer(struct i3c_hci *hci, in hci_cmd_v2_prep_private_xfer() argument 149 static int hci_cmd_v2_prep_ccc(struct i3c_hci *hci, struct hci_xfer *xfer, in hci_cmd_v2_prep_ccc() argument 153 unsigned int rate = get_i3c_rate_idx(hci); in hci_cmd_v2_prep_ccc() 159 hci_cmd_v2_prep_private_xfer(hci, xfer, ccc_addr, mode, rate); in hci_cmd_v2_prep_ccc() 215 static void hci_cmd_v2_prep_i3c_xfer(struct i3c_hci *hci, in hci_cmd_v2_prep_i3c_xfer() argument 220 unsigned int rate = get_i3c_rate_idx(hci); in hci_cmd_v2_prep_i3c_xfer() [all …]
|
| H A D | cmd.h | 51 (atomic_inc_return_relaxed(&hci->next_cmd_tid) % (1U << 4)) 55 int (*prep_ccc)(struct i3c_hci *hci, struct hci_xfer *xfer, 57 void (*prep_i3c_xfer)(struct i3c_hci *hci, struct i3c_dev_desc *dev, 59 void (*prep_i2c_xfer)(struct i3c_hci *hci, struct i2c_dev_desc *dev, 61 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 | dct.h | 13 void i3c_hci_dct_get_val(struct i3c_hci *hci, unsigned int dct_idx,
|
| /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/drivers/net/wireless/realtek/rtw88/ |
| 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()
|
| H A D | mac.c | 282 rpwm = rtw_read8(rtwdev, rtwdev->hci.rpwm_addr); in rtw_mac_power_switch() 287 rtw_write8(rtwdev, rtwdev->hci.rpwm_addr, rpwm); in rtw_mac_power_switch() 1098 if (rtwdev->hci.bulkout_num == 2) in txdma_queue_mapping() 1100 else if (rtwdev->hci.bulkout_num == 3) in txdma_queue_mapping() 1102 else if (rtwdev->hci.bulkout_num == 4) in txdma_queue_mapping() 1214 if (rtwdev->hci.type == RTW_HCI_TYPE_USB) { in __priority_queue_cfg() 1277 if (rtwdev->hci.bulkout_num == 2) in priority_queue_cfg() 1279 else if (rtwdev->hci.bulkout_num == 3) in priority_queue_cfg() 1281 else if (rtwdev->hci.bulkout_num == 4) in priority_queue_cfg()
|
| H A D | rtw88xxa.c | 86 if (rtwdev->hci.type == RTW_HCI_TYPE_USB) in rtw8812a_read_rfe_type() 88 else if (rtwdev->hci.type == RTW_HCI_TYPE_PCIE) in rtw8812a_read_rfe_type() 116 if (rtwdev->hci.type == RTW_HCI_TYPE_USB) in rtw8812a_read_rfe_type() 118 else if (rtwdev->hci.type == RTW_HCI_TYPE_PCIE) in rtw8812a_read_rfe_type() 196 efuse->hw_cap.hci, efuse->hw_cap.bw, efuse->hw_cap.ptcl, in rtw88xxa_read_usb_type() 431 if (rtwdev->hci.bulkout_num == 2) in rtw88xxau_init_queue_reserved_page() 433 else if (rtwdev->hci.bulkout_num == 3) in rtw88xxau_init_queue_reserved_page() 435 else if (rtwdev->hci.bulkout_num == 4) in rtw88xxau_init_queue_reserved_page() 469 u8 bulkout_num = rtwdev->hci.bulkout_num; in rtw88xxau_init_queue_priority()
|
| /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/Documentation/driver-api/nfc/ |
| H A D | index.rst | 10 nfc-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/drivers/net/wireless/realtek/rtw89/ |
| H A D | usb.c | 979 rtwdev->hci.ops = &rtw89_usb_ops; in rtw89_usb_probe() 980 rtwdev->hci.type = RTW89_HCI_TYPE_USB; in rtw89_usb_probe() 981 rtwdev->hci.tx_rpt_enabled = true; in rtw89_usb_probe() 990 rtwdev->hci.dle_type = RTW89_HCI_DLE_TYPE_USB3; in rtw89_usb_probe() 992 rtwdev->hci.dle_type = RTW89_HCI_DLE_TYPE_USB2; in rtw89_usb_probe()
|
| H A D | ser.c | 382 if (!rtwdev->hci.ops->mac_lv1_rcvy) in hal_enable_dma() 385 ret = rtwdev->hci.ops->mac_lv1_rcvy(rtwdev, RTW89_LV1_RCVY_STEP_2); in hal_enable_dma() 400 if (!rtwdev->hci.ops->mac_lv1_rcvy) in hal_stop_dma() 403 ret = rtwdev->hci.ops->mac_lv1_rcvy(rtwdev, RTW89_LV1_RCVY_STEP_1); in hal_stop_dma()
|