Lines Matching refs:msix_num

79 static int generate_msix(const struct device *dev, const uint32_t msix_num)  in generate_msix()  argument
85 addr = sys_read64(MSIX_VECTOR_OFF(msix_num) + MSIX_TBL_ADDR_OFF); in generate_msix()
98 data = sys_read32(MSIX_VECTOR_OFF(msix_num) + MSIX_TBL_DATA_OFF); in generate_msix()
108 LOG_DBG("msix %d generated\n", msix_num); in generate_msix()
123 static bool is_msix_vector_mask(const int msix_num) in is_msix_vector_mask() argument
127 data = sys_read32(MSIX_VECTOR_OFF(msix_num) + MSIX_TBL_VECTOR_CTRL_OFF); in is_msix_vector_mask()
133 static int generate_pending_msix(const struct device *dev, const int msix_num) in generate_pending_msix() argument
141 LOG_DBG("function mask set! %d\n", msix_num); in generate_pending_msix()
147 is_msix_pending = sys_test_bit(PBA_OFFSET(msix_num), in generate_pending_msix()
148 PENDING_BIT(msix_num)); in generate_pending_msix()
151 if (is_msix_pending && !(is_msix_vector_mask(msix_num))) { in generate_pending_msix()
152 LOG_DBG("msix %d unmasked\n", msix_num); in generate_pending_msix()
154 generate_msix(dev, msix_num); in generate_pending_msix()
155 sys_clear_bit(PBA_OFFSET(msix_num), PENDING_BIT(msix_num)); in generate_pending_msix()
210 int iproc_pcie_generate_msix(const struct device *dev, const uint32_t msix_num) in iproc_pcie_generate_msix() argument
212 if (msix_num >= MSIX_TABLE_SIZE) { in iproc_pcie_generate_msix()
231 if (is_pcie_function_mask(dev) || is_msix_vector_mask(msix_num)) { in iproc_pcie_generate_msix()
232 LOG_DBG("msix %d masked\n", msix_num); in iproc_pcie_generate_msix()
234 sys_set_bit(PBA_OFFSET(msix_num), PENDING_BIT(msix_num)); in iproc_pcie_generate_msix()
241 return generate_msix(dev, msix_num); in iproc_pcie_generate_msix()