| /linux/drivers/i3c/master/mipi-i3c-hci/ |
| A D | core.c | 145 ret = hci->io->init(hci); in i3c_hci_bus_init() 168 hci->io->cleanup(hci); in i3c_hci_bus_cleanup() 234 ret = hci->io->queue_xfer(hci, xfer, nxfers); in i3c_hci_send_ccc_cmd() 274 return hci->cmd->perform_daa(hci); in i3c_hci_daa() 538 hci->io->free_ibi(hci, dev); in i3c_hci_free_ibi() 567 hci->io->recycle_ibi_slot(hci, dev, slot); in i3c_hci_recycle_ibi_slot() 614 hci->io->irq_handler(hci, 0); in i3c_hci_irq_handler() 641 hci->version_major, hci->version_minor, hci->revision); in i3c_hci_init() 665 hci->DAT_entries = 4 * hci->DAT_entries / hci->DAT_entry_size; in i3c_hci_init() 675 hci->DCT_entries = 4 * hci->DCT_entries / hci->DCT_entry_size; in i3c_hci_init() [all …]
|
| A D | ext_caps.c | 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() 126 hci->AUTOCMD_regs = base; in hci_extcap_auto_command() 133 hci->DEBUG_regs = base; in hci_extcap_debug() 242 dev_notice(&hci->master.dev, in hci_extcap_vendor_specific() 248 dev_err(&hci->master.dev, in hci_extcap_vendor_specific() 275 dev_err(&hci->master.dev, in i3c_hci_parse_ext_caps() [all …]
|
| A D | dat_v1.c | 56 if (!hci->DAT_regs) { in hci_dat_v1_init() 57 dev_err(&hci->master.dev, in hci_dat_v1_init() 62 dev_err(&hci->master.dev, in hci_dat_v1_init() 67 if (!hci->DAT_data) { in hci_dat_v1_init() 69 hci->DAT_data = bitmap_zalloc(hci->DAT_entries, GFP_KERNEL); in hci_dat_v1_init() 70 if (!hci->DAT_data) in hci_dat_v1_init() 86 hci->DAT_data = NULL; in hci_dat_v1_cleanup() 94 if (!hci->DAT_data) { in hci_dat_v1_alloc_entry() 99 dat_idx = find_first_zero_bit(hci->DAT_data, hci->DAT_entries); in hci_dat_v1_alloc_entry() 114 if (hci->DAT_data) in hci_dat_v1_free_entry() [all …]
|
| A D | pio.c | 148 hci->io_data = pio; in hci_pio_init() 168 if (hci->version_major == 1) { in hci_pio_init() 223 hci->io_data = NULL; in hci_pio_cleanup() 486 dev_err(&hci->master.dev, in hci_pio_process_resp() 692 readl(hci->base_regs + 0x20), readl(hci->base_regs + 0x28)); in hci_pio_dequeue_xfer() 708 dev_err(&hci->master.dev, in hci_pio_err() 717 dev_err(&hci->master.dev, in hci_pio_err() 734 mipi_i3c_hci_resume(hci); in hci_pio_err() 836 dev_err(&hci->master.dev, in hci_pio_prep_new_ibi() 922 dev_err(&hci->master.dev, in hci_pio_process_ibi() [all …]
|
| A D | dma.c | 190 hci->io_data = NULL; in hci_dma_cleanup() 214 hci->io_data = rings; in hci_dma_init() 228 rh->regs = hci->base_regs + offset; in hci_dma_init() 338 hci_dma_cleanup(hci); in hci_dma_init() 352 dma_unmap_single(&hci->master.dev, in hci_dma_unmap_xfer() 396 dma_map_single(&hci->master.dev, in hci_dma_queue_xfer() 524 dev_err(&hci->master.dev, in hci_dma_xfer_done() 662 dev_err(&hci->master.dev, in hci_dma_process_ibi() 758 hci_dma_process_ibi(hci, rh); in hci_dma_irq_handler() 760 hci_dma_xfer_done(hci, rh); in hci_dma_irq_handler() [all …]
|
| A D | hci.h | 30 #define reg_read(r) readl(hci->base_regs + (r)) 31 #define reg_write(r, v) writel(v, hci->base_regs + (r)) 118 bool (*irq_handler)(struct i3c_hci *hci, unsigned int mask); 123 void (*free_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev); 126 int (*init)(struct i3c_hci *hci); 127 void (*cleanup)(struct i3c_hci *hci); 149 void mipi_i3c_hci_resume(struct i3c_hci *hci); 150 void mipi_i3c_hci_pio_reset(struct i3c_hci *hci); 151 void mipi_i3c_hci_dct_index_reset(struct i3c_hci *hci); 152 void amd_set_od_pp_timing(struct i3c_hci *hci); [all …]
|
| 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);
|
| A D | cmd_v1.c | 175 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_ccc() 226 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_i3c_xfer() 261 enum hci_cmd_mode mode = get_i2c_mode(hci); in hci_cmd_v1_prep_i2c_xfer() 290 static int hci_cmd_v1_daa(struct i3c_hci *hci) in hci_cmd_v1_daa() argument 311 ret = mipi_i3c_hci_dat_v1.alloc_entry(hci); in hci_cmd_v1_daa() 322 mipi_i3c_hci_dct_index_reset(hci); in hci_cmd_v1_daa() 334 hci->io->queue_xfer(hci, xfer, 1); in hci_cmd_v1_daa() 336 hci->io->dequeue_xfer(hci, xfer, 1)) { in hci_cmd_v1_daa() 351 i3c_hci_dct_get_val(hci, 0, &pid, &dcr, &bcr); in hci_cmd_v1_daa() 355 mipi_i3c_hci_dat_v1.free_entry(hci, dat_idx); in hci_cmd_v1_daa() [all …]
|
| 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() 155 unsigned int rate = get_i3c_rate_idx(hci); 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() 233 unsigned int rate = get_i2c_rate_idx(hci); in hci_cmd_v2_prep_i2c_xfer() 239 static int hci_cmd_v2_daa(struct i3c_hci *hci) in hci_cmd_v2_daa() argument 277 hci->io->queue_xfer(hci, xfer, 2); in hci_cmd_v2_daa() [all …]
|
| 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);
|
| A D | Makefile | 3 obj-$(CONFIG_MIPI_I3C_HCI) += mipi-i3c-hci.o 4 mipi-i3c-hci-y := core.o ext_caps.o pio.o dma.o \
|
| 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()
|
| 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
|
| 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()
|
| A D | ext_caps.h | 17 int i3c_hci_parse_ext_caps(struct i3c_hci *hci);
|
| 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/ |
| A D | hci.h | 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() 263 return rtwdev->hci.type; in rtw_hci_type() 269 if (rtwdev->hci.ops->flush_queues) in rtw_hci_flush_queues() 275 if (rtwdev->hci.ops->flush_queues) in rtw_hci_flush_all_queues() [all …]
|
| 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/ |
| 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/devicetree/bindings/i3c/ |
| A D | mipi-i3c-hci.yaml | 4 $id: http://devicetree.org/schemas/i3c/mipi-i3c-hci.yaml# 27 https://www.mipi.org/specifications/i3c-hci 31 const: mipi-i3c-hci 47 compatible = "mipi-i3c-hci";
|
| /linux/drivers/staging/gdm724x/ |
| A D | gdm_usb.c | 59 struct hci_packet *hci; in request_mac_address() local 64 hci = kmalloc(struct_size(hci, data, 1), GFP_KERNEL); in request_mac_address() 65 if (!hci) in request_mac_address() 69 hci->len = gdm_cpu_to_dev16(udev->gdm_ed, 1); in request_mac_address() 70 hci->data[0] = MAC_ADDRESS; in request_mac_address() 72 ret = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 2), hci, 5, in request_mac_address() 76 kfree(hci); in request_mac_address() 387 struct hci_packet *hci; in do_rx() local 406 hci = (struct hci_packet *)r->buf; in do_rx() 407 cmd_evt = gdm_dev16_to_cpu(udev->gdm_ed, hci->cmd_evt); in do_rx() [all …]
|
| /linux/Documentation/ABI/testing/ |
| 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/drivers/net/wireless/realtek/rtw89/ |
| A D | core.h | 5508 struct rtw89_hci_info hci; member 5619 rtwdev->hci.ops->reset(rtwdev); in rtw89_hci_reset() 5629 rtwdev->hci.ops->stop(rtwdev); in rtw89_hci_stop() 5673 if (rtwdev->hci.ops->flush_queues) in rtw89_hci_flush_queues() 5691 if (rtwdev->hci.ops->enable_intr) in rtw89_hci_enable_intr() 5697 if (rtwdev->hci.ops->disable_intr) in rtw89_hci_disable_intr() 5703 if (rtwdev->hci.ops->ctrl_txdma_ch) in rtw89_hci_ctrl_txdma_ch() 5715 if (rtwdev->hci.ops->ctrl_trxhci) in rtw89_hci_ctrl_trxhci() 5730 if (rtwdev->hci.ops->clr_idx_all) in rtw89_hci_clr_idx_all() 5738 if (rtwdev->hci.ops->rst_bdram) in rtw89_hci_rst_bdram() [all …]
|
| /linux/drivers/i3c/master/ |
| A D | Kconfig | 56 https://www.mipi.org/specifications/i3c-hci 59 called mipi-i3c-hci.
|
| /linux/Documentation/driver-api/nfc/ |
| A D | index.rst | 10 nfc-hci
|