Lines Matching defs:hci

15 #include "hci.h"
38 #define dat_w0_read(i) readl(hci->DAT_regs + (i) * 8)
39 #define dat_w1_read(i) readl(hci->DAT_regs + (i) * 8 + 4)
40 #define dat_w0_write(i, v) writel(v, hci->DAT_regs + (i) * 8)
41 #define dat_w1_write(i, v) writel(v, hci->DAT_regs + (i) * 8 + 4)
52 static int hci_dat_v1_init(struct i3c_hci *hci)
56 if (!hci->DAT_regs) {
57 dev_err(&hci->master.dev,
61 if (hci->DAT_entry_size != 8) {
62 dev_err(&hci->master.dev,
67 if (!hci->DAT_data) {
69 hci->DAT_data = bitmap_zalloc(hci->DAT_entries, GFP_KERNEL);
70 if (!hci->DAT_data)
74 for (dat_idx = 0; dat_idx < hci->DAT_entries; dat_idx++) {
83 static void hci_dat_v1_cleanup(struct i3c_hci *hci)
85 bitmap_free(hci->DAT_data);
86 hci->DAT_data = NULL;
89 static int hci_dat_v1_alloc_entry(struct i3c_hci *hci)
94 if (!hci->DAT_data) {
95 ret = hci_dat_v1_init(hci);
99 dat_idx = find_first_zero_bit(hci->DAT_data, hci->DAT_entries);
100 if (dat_idx >= hci->DAT_entries)
102 __set_bit(dat_idx, hci->DAT_data);
110 static void hci_dat_v1_free_entry(struct i3c_hci *hci, unsigned int dat_idx)
114 if (hci->DAT_data)
115 __clear_bit(dat_idx, hci->DAT_data);
118 static void hci_dat_v1_set_dynamic_addr(struct i3c_hci *hci,
130 static void hci_dat_v1_set_static_addr(struct i3c_hci *hci,
141 static void hci_dat_v1_set_flags(struct i3c_hci *hci, unsigned int dat_idx,
154 static void hci_dat_v1_clear_flags(struct i3c_hci *hci, unsigned int dat_idx,
167 static int hci_dat_v1_get_index(struct i3c_hci *hci, u8 dev_addr)
172 for_each_set_bit(dat_idx, hci->DAT_data, hci->DAT_entries) {