Home
last modified time | relevance | path

Searched refs:hci (Results 1 – 25 of 43) sorted by relevance

12

/linux/drivers/i3c/master/mipi-i3c-hci/
H A Dcore.c118 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 Dmipi-i3c-hci-pci.c37 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 Dpio.c22 #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 Ddma.c40 #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 Dhci.h27 #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 Dcmd_v1.c120 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 Dcmd_v2.c64 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 Dcmd.h51 (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 Ddct_v1.c20 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 Dhci_quirks.c25 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 Dibi.h30 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 Ddct.h13 void i3c_hci_dct_get_val(struct i3c_hci *hci, unsigned int dct_idx,
/linux/net/nfc/hci/
H A DMakefile6 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 Dps.c74 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 Dmac.c282 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 Drtw88xxa.c86 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 Dsysfs-driver-hid2 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 Dindex.rst10 nfc-hci
/linux/net/nfc/nci/
H A DMakefile8 nci-objs := core.o data.o lib.o ntf.o rsp.o hci.o
/linux/net/nfc/
H A DMakefile8 obj-$(CONFIG_NFC_HCI) += hci/
H A DKconfig32 source "net/nfc/hci/Kconfig"
/linux/Documentation/admin-guide/
H A Dbtmrvl.rst95 Issuing a raw hci command
98 Use hcitool to issue raw hci command, refer to hcitool manual
/linux/Documentation/ABI/stable/
H A Dsysfs-class-bluetooth1 What: /sys/class/bluetooth/hci<index>/reset
/linux/drivers/net/wireless/realtek/rtw89/
H A Dusb.c979 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 Dser.c382 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()

12