| /linux/drivers/i3c/master/mipi-i3c-hci/ |
| H A D | core.c | 18 #include <linux/platform_data/mipi-i3c-hci.h> 22 #include "hci.h" 120 static void i3c_hci_set_master_dyn_addr(struct i3c_hci *hci) in i3c_hci_set_master_dyn_addr() 123 MASTER_DYNAMIC_ADDR(hci->dyn_addr) | MASTER_DYNAMIC_ADDR_VALID); 128 struct i3c_hci *hci = to_i3c_hci(m); in i3c_hci_bus_init() 129 struct device *dev = hci->master.dev.parent; in i3c_hci_bus_init() 133 if (hci->cmd == &mipi_i3c_hci_cmd_v1) { in i3c_hci_bus_init() 134 ret = mipi_i3c_hci_dat_v1.init(hci); in i3c_hci_bus_init() 142 hci->dyn_addr = ret; in i3c_hci_bus_init() 143 i3c_hci_set_master_dyn_addr(hci); in i3c_hci_bus_init() 118 i3c_hci_set_master_dyn_addr(struct i3c_hci * hci) i3c_hci_set_master_dyn_addr() argument 126 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_bus_init() local 168 i3c_hci_bus_disable(struct i3c_hci * hci) i3c_hci_bus_disable() argument 184 i3c_hci_software_reset(struct i3c_hci * hci) i3c_hci_software_reset() argument 212 i3c_hci_sync_irq_inactive(struct i3c_hci * hci) i3c_hci_sync_irq_inactive() argument 225 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_bus_cleanup() local 232 mipi_i3c_hci_resume(struct i3c_hci * hci) mipi_i3c_hci_resume() argument 238 mipi_i3c_hci_pio_reset(struct i3c_hci * hci) mipi_i3c_hci_pio_reset() argument 244 mipi_i3c_hci_dct_index_reset(struct i3c_hci * hci) mipi_i3c_hci_dct_index_reset() argument 249 i3c_hci_process_xfer(struct i3c_hci * hci,struct hci_xfer * xfer,int n) i3c_hci_process_xfer() argument 282 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_send_ccc_cmd() local 355 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_daa() local 365 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_i3c_xfers() local 420 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_i2c_xfers() local 461 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_attach_i3c_dev() local 485 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_reattach_i3c_dev() local 497 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_detach_i3c_dev() local 509 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_attach_i2c_dev() local 533 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_detach_i2c_dev() local 548 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_request_ibi() local 562 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_free_ibi() local 570 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_enable_ibi() local 580 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_disable_ibi() local 591 struct i3c_hci *hci = to_i3c_hci(m); i3c_hci_recycle_ibi_slot() local 617 struct i3c_hci *hci = dev_id; i3c_hci_irq_handler() local 658 is_version_1_1_or_newer(struct i3c_hci * hci) is_version_1_1_or_newer() argument 663 i3c_hci_set_io_mode(struct i3c_hci * hci,bool dma) i3c_hci_set_io_mode() argument 684 i3c_hci_reset_and_init(struct i3c_hci * hci) i3c_hci_reset_and_init() argument 764 struct i3c_hci *hci = dev_get_drvdata(dev); i3c_hci_rpm_suspend() local 783 struct i3c_hci *hci = dev_get_drvdata(dev); i3c_hci_rpm_resume() local 808 struct i3c_hci *hci = dev_get_drvdata(dev); i3c_hci_runtime_suspend() local 818 struct i3c_hci *hci = dev_get_drvdata(dev); i3c_hci_runtime_resume() local 828 struct i3c_hci *hci = dev_get_drvdata(dev); i3c_hci_suspend() local 838 struct i3c_hci *hci = dev_get_drvdata(dev); i3c_hci_resume_common() local 871 struct i3c_hci *hci = dev_get_drvdata(dev); i3c_hci_rpm_enable() local 880 i3c_hci_init(struct i3c_hci * hci) i3c_hci_init() argument 972 struct i3c_hci *hci; i3c_hci_probe() local 1027 struct i3c_hci *hci = platform_get_drvdata(pdev); i3c_hci_remove() local [all...] |
| H A D | pio.c | 14 #include "hci.h" 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, NUL in hci_pio_resume() 204 hci_pio_init(struct i3c_hci * hci) hci_pio_init() argument 229 hci_pio_cleanup(struct i3c_hci * hci) hci_pio_cleanup() argument 247 hci_pio_write_cmd(struct i3c_hci * hci,struct hci_xfer * xfer) hci_pio_write_cmd() argument 265 hci_pio_do_rx(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_do_rx() argument 291 hci_pio_do_trailing_rx(struct i3c_hci * hci,struct hci_pio_data * pio,unsigned int count) hci_pio_do_trailing_rx() argument 333 hci_pio_do_tx(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_do_tx() argument 374 hci_pio_process_rx(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_process_rx() argument 381 hci_pio_process_tx(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_process_tx() argument 388 hci_pio_queue_data(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_queue_data() argument 421 hci_pio_push_to_next_rx(struct i3c_hci * hci,struct hci_xfer * xfer,unsigned int words_to_keep) hci_pio_push_to_next_rx() argument 503 hci_pio_process_resp(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_process_resp() argument 570 hci_pio_queue_resp(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_queue_resp() argument 589 hci_pio_process_cmd(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_process_cmd() argument 616 hci_pio_queue_xfer(struct i3c_hci * hci,struct hci_xfer * xfer,int n) hci_pio_queue_xfer() argument 650 hci_pio_dequeue_xfer_common(struct i3c_hci * hci,struct hci_pio_data * pio,struct hci_xfer * xfer,int n) hci_pio_dequeue_xfer_common() argument 712 hci_pio_dequeue_xfer(struct i3c_hci * hci,struct hci_xfer * xfer,int n) hci_pio_dequeue_xfer() argument 728 hci_pio_err(struct i3c_hci * hci,struct hci_pio_data * pio,u32 status) hci_pio_err() argument 769 hci_pio_set_ibi_thresh(struct i3c_hci * hci,struct hci_pio_data * pio,unsigned int thresh_val) hci_pio_set_ibi_thresh() argument 785 hci_pio_get_ibi_segment(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_get_ibi_segment() argument 836 hci_pio_prep_new_ibi(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_prep_new_ibi() argument 891 hci_pio_free_ibi_slot(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_free_ibi_slot() argument 903 hci_pio_process_ibi(struct i3c_hci * hci,struct hci_pio_data * pio) hci_pio_process_ibi() argument 971 hci_pio_request_ibi(struct i3c_hci * hci,struct i3c_dev_desc * dev,const struct i3c_ibi_setup * req) hci_pio_request_ibi() argument 992 hci_pio_free_ibi(struct i3c_hci * hci,struct i3c_dev_desc * dev) hci_pio_free_ibi() argument 1002 hci_pio_recycle_ibi_slot(struct i3c_hci * hci,struct i3c_dev_desc * dev,struct i3c_ibi_slot * slot) hci_pio_recycle_ibi_slot() argument 1012 hci_pio_irq_handler(struct i3c_hci * hci) hci_pio_irq_handler() argument [all...] |
| H A D | dma.c | 20 #include "hci.h" 41 #define rhs_reg_read(r) readl(hci->RHS_regs + (RHS_##r)) 42 #define rhs_reg_write(r, v) writel(v, hci->RHS_regs + (RHS_##r)) 149 static void hci_dma_cleanup(struct i3c_hci *hci) in hci_dma_cleanup() 151 struct hci_rings_data *rings = hci->io_data; in hci_dma_cleanup() 165 i3c_hci_sync_irq_inactive(hci); in hci_dma_cleanup() 179 struct i3c_hci *hci = data; in hci_dma_free() 180 struct hci_rings_data *rings = hci->io_data; in hci_dma_free() 204 hci->io_data = NULL; in hci_dma_free() 207 static void hci_dma_init_rh(struct i3c_hci *hci, struc in hci_dma_free() 148 hci_dma_cleanup(struct i3c_hci * hci) hci_dma_cleanup() argument 178 struct i3c_hci *hci = data; hci_dma_free() local 212 hci_dma_init_rh(struct i3c_hci * hci,struct hci_rh_data * rh,int i) hci_dma_init_rh() argument 266 hci_dma_init_rings(struct i3c_hci * hci) hci_dma_init_rings() argument 278 hci_dma_suspend(struct i3c_hci * hci) hci_dma_suspend() argument 293 hci_dma_resume(struct i3c_hci * hci) hci_dma_resume() argument 301 hci_dma_init(struct i3c_hci * hci) hci_dma_init() argument 427 hci_dma_unmap_xfer(struct i3c_hci * hci,struct hci_xfer * xfer_list,unsigned int n) hci_dma_unmap_xfer() argument 449 hci_dma_map_xfer_list(struct i3c_hci * hci,struct device * dev,struct hci_xfer * xfer_list,int n) hci_dma_map_xfer_list() argument 468 hci_dma_queue_xfer(struct i3c_hci * hci,struct hci_xfer * xfer_list,int n) hci_dma_queue_xfer() argument 542 hci_dma_dequeue_xfer(struct i3c_hci * hci,struct hci_xfer * xfer_list,int n) hci_dma_dequeue_xfer() argument 612 hci_dma_handle_error(struct i3c_hci * hci,struct hci_xfer * xfer_list,int n) hci_dma_handle_error() argument 617 hci_dma_xfer_done(struct i3c_hci * hci,struct hci_rh_data * rh) hci_dma_xfer_done() argument 664 hci_dma_request_ibi(struct i3c_hci * hci,struct i3c_dev_desc * dev,const struct i3c_ibi_setup * req) hci_dma_request_ibi() argument 685 hci_dma_free_ibi(struct i3c_hci * hci,struct i3c_dev_desc * dev) hci_dma_free_ibi() argument 695 hci_dma_recycle_ibi_slot(struct i3c_hci * hci,struct i3c_dev_desc * dev,struct i3c_ibi_slot * slot) hci_dma_recycle_ibi_slot() argument 705 hci_dma_process_ibi(struct i3c_hci * hci,struct hci_rh_data * rh) hci_dma_process_ibi() argument 857 hci_dma_irq_handler(struct i3c_hci * hci) hci_dma_irq_handler() argument [all...] |
| H A D | hci.h | 28 #define reg_read(r) readl(hci->base_regs + (r)) 29 #define reg_write(r, v) writel(v, hci->base_regs + (r)) 84 * hci->cmd->*() method. The cmd method will initialize cmd_desc[] and 88 * hci->io->queue_xfer(), and requires CMD_0_ROC to be set. 141 bool (*irq_handler)(struct i3c_hci *hci); 142 int (*queue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 143 bool (*dequeue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 144 int (*handle_error)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 145 int (*request_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev, 147 void (*free_ibi)(struct i3c_hci *hci, struc [all...] |
| H A D | cmd_v1.c | 13 #include "hci.h" 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 hci_cmd_v1_prep_i2c_xfer(struct i3c_hci * hci,struct i2c_dev_desc * dev,struct hci_xfer * xfer) hci_cmd_v1_prep_i2c_xfer() argument 288 hci_cmd_v1_daa(struct i3c_hci * hci) hci_cmd_v1_daa() argument [all...] |
| H A D | cmd_v2.c | 15 #include "hci.h" 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 226 hci_cmd_v2_prep_i2c_xfer(struct i3c_hci * hci,struct i2c_dev_desc * dev,struct hci_xfer * xfer) hci_cmd_v2_prep_i2c_xfer() argument 237 hci_cmd_v2_daa(struct i3c_hci * hci) hci_cmd_v2_daa() argument [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 | 29 struct i3c_dev_desc *i3c_hci_addr_to_dev(struct i3c_hci *hci, unsigned int addr); 30 i3c_hci_addr_to_dev(struct i3c_hci * hci,unsigned int addr) i3c_hci_addr_to_dev() argument
|
| 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/include/net/bluetooth/ |
| H A D | bluetooth.h | 498 struct hci_ctrl hci; 509 #define hci_skb_opcode(skb) bt_cb((skb))->hci.opcode 510 #define hci_skb_event(skb) bt_cb((skb))->hci.req_event 511 #define hci_skb_sk(skb) bt_cb((skb))->hci.sk 501 struct hci_ctrl hci; global() member
|
| /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/usb/musb/ |
| H A D | da8xx.c | 232 static irqreturn_t da8xx_musb_interrupt(int irq, void *hci) in da8xx_musb_interrupt() argument 234 struct musb *musb = hci; in da8xx_musb_interrupt()
|
| /linux/drivers/ufs/host/ |
| H A D | ufs-exynos.h | 267 EXYNOS_UFS_MMIO_FUNC(hci);
|