Lines Matching full:hci
7 * I3C HCI v1.0/v1.1 Command Descriptor Handling
13 #include "hci.h"
122 static enum hci_cmd_mode get_i3c_mode(struct i3c_hci *hci) in get_i3c_mode() argument
124 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i3c_mode()
137 static enum hci_cmd_mode get_i2c_mode(struct i3c_hci *hci) in get_i2c_mode() argument
139 struct i3c_bus *bus = i3c_master_get_bus(&hci->master); in get_i2c_mode()
170 static int hci_cmd_v1_prep_ccc(struct i3c_hci *hci, in hci_cmd_v1_prep_ccc() argument
175 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_ccc()
186 ret = mipi_i3c_hci_dat_v1.get_index(hci, ccc_addr); in hci_cmd_v1_prep_ccc()
220 static void hci_cmd_v1_prep_i3c_xfer(struct i3c_hci *hci, in hci_cmd_v1_prep_i3c_xfer() argument
226 enum hci_cmd_mode mode = get_i3c_mode(hci); in hci_cmd_v1_prep_i3c_xfer()
255 static void hci_cmd_v1_prep_i2c_xfer(struct i3c_hci *hci, in hci_cmd_v1_prep_i2c_xfer() argument
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()
315 ret = i3c_master_get_free_addr(&hci->master, next_addr); in hci_cmd_v1_daa()
321 mipi_i3c_hci_dat_v1.set_dynamic_addr(hci, dat_idx, next_addr); 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()
362 ret = i3c_master_add_i3c_dev_locked(&hci->master, next_addr); in hci_cmd_v1_daa()
368 mipi_i3c_hci_dat_v1.free_entry(hci, dat_idx); in hci_cmd_v1_daa()