/linux/drivers/i3c/master/mipi-i3c-hci/ |
A D | core.c | 151 ret = hci->io->init(hci); in i3c_hci_bus_init() 168 hci->io->cleanup(hci); in i3c_hci_bus_cleanup() 235 ret = hci->io->queue_xfer(hci, xfer, nxfers); in i3c_hci_send_ccc_cmd() 268 return hci->cmd->perform_daa(hci); in i3c_hci_daa() 302 hci->cmd->prep_i3c_xfer(hci, dev, &xfer[i]); in i3c_hci_priv_xfers() 484 return hci->io->request_ibi(hci, dev, req); in i3c_hci_request_ibi() 492 hci->io->free_ibi(hci, dev); in i3c_hci_free_ibi() 521 hci->io->recycle_ibi_slot(hci, dev, slot); in i3c_hci_recycle_ibi_slot() 568 hci->io->irq_handler(hci, 0); in i3c_hci_irq_handler() 594 hci->version_major, hci->version_minor, hci->revision); 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() 61 if (hci->DAT_entry_size != 8) { in hci_dat_v1_init() 62 dev_err(&hci->master.dev, in hci_dat_v1_init() 68 hci->DAT_data = bitmap_zalloc(hci->DAT_entries, GFP_KERNEL); in hci_dat_v1_init() 69 if (!hci->DAT_data) in hci_dat_v1_init() 83 bitmap_free(hci->DAT_data); in hci_dat_v1_cleanup() 84 hci->DAT_data = NULL; in hci_dat_v1_cleanup() 91 dat_idx = find_first_zero_bit(hci->DAT_data, hci->DAT_entries); in hci_dat_v1_alloc_entry() 163 for (dat_idx = find_first_bit(hci->DAT_data, hci->DAT_entries); in hci_dat_v1_get_index() [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 | 205 hci->io_data = NULL; in hci_dma_cleanup() 229 hci->io_data = rings; in hci_dma_init() 240 rh->regs = hci->base_regs + offset; in hci_dma_init() 336 hci_dma_cleanup(hci); in hci_dma_init() 348 dma_unmap_single(&hci->master.dev, in hci_dma_unmap_xfer() 390 dma_map_single(&hci->master.dev, in hci_dma_queue_xfer() 483 hci_dma_unmap_xfer(hci, xfer, 1); in hci_dma_dequeue_xfer() 519 dev_err(&hci->master.dev, in hci_dma_xfer_done() 657 dev_err(&hci->master.dev, in hci_dma_process_ibi() 753 hci_dma_process_ibi(hci, rh); in hci_dma_irq_handler() [all …]
|
A D | cmd_v1.c | 177 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_ccc() 228 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_i3c_xfer() 263 enum hci_cmd_mode mode = get_i2c_mode(hci); in hci_cmd_v1_prep_i2c_xfer() 292 static int hci_cmd_v1_daa(struct i3c_hci *hci) in hci_cmd_v1_daa() argument 313 ret = mipi_i3c_hci_dat_v1.alloc_entry(hci); in hci_cmd_v1_daa() 324 mipi_i3c_hci_dct_index_reset(hci); in hci_cmd_v1_daa() 335 hci->io->queue_xfer(hci, xfer, 1); in hci_cmd_v1_daa() 337 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 | 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_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 | hci.h | 112 bool (*irq_handler)(struct i3c_hci *hci, unsigned int mask); 113 int (*queue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 114 bool (*dequeue_xfer)(struct i3c_hci *hci, struct hci_xfer *xfer, int n); 115 int (*request_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev, 117 void (*free_ibi)(struct i3c_hci *hci, struct i3c_dev_desc *dev); 118 void (*recycle_ibi_slot)(struct i3c_hci *hci, struct i3c_dev_desc *dev, 120 int (*init)(struct i3c_hci *hci); 121 void (*cleanup)(struct i3c_hci *hci); 140 void mipi_i3c_hci_resume(struct i3c_hci *hci); 141 void mipi_i3c_hci_pio_reset(struct i3c_hci *hci); [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 | 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);
|
/linux/drivers/net/wireless/realtek/rtw88/ |
A D | hci.h | 42 return rtwdev->hci.ops->tx_kick_off(rtwdev); in rtw_hci_tx_kick_off() 47 return rtwdev->hci.ops->setup(rtwdev); in rtw_hci_setup() 52 return rtwdev->hci.ops->start(rtwdev); in rtw_hci_start() 57 rtwdev->hci.ops->stop(rtwdev); in rtw_hci_stop() 62 rtwdev->hci.ops->deep_ps(rtwdev, enter); in rtw_hci_deep_ps() 67 rtwdev->hci.ops->link_ps(rtwdev, enter); in rtw_hci_link_ps() 72 rtwdev->hci.ops->interface_cfg(rtwdev); in rtw_hci_interface_cfg() 259 return rtwdev->hci.type; in rtw_hci_type() 265 if (rtwdev->hci.ops->flush_queues) in rtw_hci_flush_queues() 271 if (rtwdev->hci.ops->flush_queues) in rtw_hci_flush_all_queues() [all …]
|
A D | ps.c | 73 request = rtw_read8(rtwdev, rtwdev->hci.rpwm_addr); in rtw_power_mode_change() 74 confirm = rtw_read8(rtwdev, rtwdev->hci.cpwm_addr); in rtw_power_mode_change() 86 rtw_write8(rtwdev, rtwdev->hci.rpwm_addr, request); in rtw_power_mode_change() 92 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/i3c/master/ |
A D | Kconfig | 42 https://www.mipi.org/specifications/i3c-hci 45 called mipi-i3c-hci.
|
/linux/drivers/net/wireless/realtek/rtw89/ |
A D | ser.c | 242 if (!rtwdev->hci.ops->mac_lv1_rcvy) in hal_enable_dma() 245 ret = rtwdev->hci.ops->mac_lv1_rcvy(rtwdev, RTW89_LV1_RCVY_STEP_2); in hal_enable_dma() 257 if (!rtwdev->hci.ops->mac_lv1_rcvy) in hal_stop_dma() 260 ret = rtwdev->hci.ops->mac_lv1_rcvy(rtwdev, RTW89_LV1_RCVY_STEP_1); in hal_stop_dma()
|
A D | core.h | 2790 struct rtw89_hci_info hci; member 2870 rtwdev->hci.ops->reset(rtwdev); in rtw89_hci_reset() 2875 return rtwdev->hci.ops->start(rtwdev); in rtw89_hci_start() 2880 rtwdev->hci.ops->stop(rtwdev); in rtw89_hci_stop() 2885 return rtwdev->hci.ops->deinit(rtwdev); in rtw89_hci_deinit() 2890 rtwdev->hci.ops->recalc_int_mit(rtwdev); in rtw89_hci_recalc_int_mit() 2906 if (rtwdev->hci.ops->flush_queues) in rtw89_hci_flush_queues() 2912 return rtwdev->hci.ops->read8(rtwdev, addr); in rtw89_read8() 2917 return rtwdev->hci.ops->read16(rtwdev, addr); in rtw89_read16() 2922 return rtwdev->hci.ops->read32(rtwdev, addr); in rtw89_read32() [all …]
|
/linux/drivers/staging/rtl8712/ |
A D | os_intfs.c | 39 static int hci = RTL8712_USB; variable 95 module_param(hci, int, 0644); 123 registry_par->hci = (u8)hci; in loadparam()
|
/linux/Documentation/devicetree/bindings/ufs/ |
A D | samsung,exynos-ufs.yaml | 35 - const: hci 89 reg-names = "hci", "vs_hci", "unipro", "ufsp";
|