Lines Matching refs:matrix

157 		if (test_bit_inv(AP_QID_CARD(apqn), matrix_mdev->matrix.apm) &&  in get_update_locks_by_apqn()
158 test_bit_inv(AP_QID_QUEUE(apqn), matrix_mdev->matrix.aqm)) { in get_update_locks_by_apqn()
631 struct ap_matrix *matrix) in vfio_ap_matrix_init() argument
633 matrix->apm_max = info->apxa ? info->na : 63; in vfio_ap_matrix_init()
634 matrix->aqm_max = info->apxa ? info->nd : 15; in vfio_ap_matrix_init()
635 matrix->adm_max = info->apxa ? info->nd : 15; in vfio_ap_matrix_init()
652 bitmap_and(matrix_mdev->shadow_apcb.adm, matrix_mdev->matrix.adm, in vfio_ap_mdev_filter_cdoms()
699 bitmap_and(matrix_mdev->shadow_apcb.apm, matrix_mdev->matrix.apm, in vfio_ap_mdev_filter_matrix()
701 bitmap_and(matrix_mdev->shadow_apcb.aqm, matrix_mdev->matrix.aqm, in vfio_ap_mdev_filter_matrix()
745 vfio_ap_matrix_init(&matrix_dev->info, &matrix_mdev->matrix); in vfio_ap_mdev_init_dev()
810 for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, AP_DEVICES) { in vfio_ap_mdev_unlink_fr_queues()
811 for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, in vfio_ap_mdev_unlink_fr_queues()
877 if (mdev_apm == matrix_mdev->matrix.apm && in vfio_ap_mdev_verify_no_sharing()
878 mdev_aqm == matrix_mdev->matrix.aqm) in vfio_ap_mdev_verify_no_sharing()
888 if (!bitmap_and(apm, mdev_apm, matrix_mdev->matrix.apm, in vfio_ap_mdev_verify_no_sharing()
892 if (!bitmap_and(aqm, mdev_aqm, matrix_mdev->matrix.aqm, in vfio_ap_mdev_verify_no_sharing()
921 if (ap_apqn_in_matrix_owned_by_def_drv(matrix_mdev->matrix.apm, in vfio_ap_mdev_validate_masks()
922 matrix_mdev->matrix.aqm)) in vfio_ap_mdev_validate_masks()
925 return vfio_ap_mdev_verify_no_sharing(matrix_mdev->matrix.apm, in vfio_ap_mdev_validate_masks()
926 matrix_mdev->matrix.aqm); in vfio_ap_mdev_validate_masks()
934 for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, AP_DOMAINS) in vfio_ap_mdev_link_adapter()
1030 if (apid > matrix_mdev->matrix.apm_max) { in assign_adapter_store()
1035 if (test_bit_inv(apid, matrix_mdev->matrix.apm)) { in assign_adapter_store()
1040 set_bit_inv(apid, matrix_mdev->matrix.apm); in assign_adapter_store()
1044 clear_bit_inv(apid, matrix_mdev->matrix.apm); in assign_adapter_store()
1094 for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, AP_DOMAINS) { in vfio_ap_mdev_unlink_adapter()
1156 if (apid > matrix_mdev->matrix.apm_max) { in unassign_adapter_store()
1161 if (!test_bit_inv(apid, matrix_mdev->matrix.apm)) { in unassign_adapter_store()
1166 clear_bit_inv((unsigned long)apid, matrix_mdev->matrix.apm); in unassign_adapter_store()
1180 for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, AP_DEVICES) in vfio_ap_mdev_link_domain()
1235 if (apqi > matrix_mdev->matrix.aqm_max) { in assign_domain_store()
1240 if (test_bit_inv(apqi, matrix_mdev->matrix.aqm)) { in assign_domain_store()
1245 set_bit_inv(apqi, matrix_mdev->matrix.aqm); in assign_domain_store()
1249 clear_bit_inv(apqi, matrix_mdev->matrix.aqm); in assign_domain_store()
1276 for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, AP_DEVICES) { in vfio_ap_mdev_unlink_domain()
1338 if (apqi > matrix_mdev->matrix.aqm_max) { in unassign_domain_store()
1343 if (!test_bit_inv(apqi, matrix_mdev->matrix.aqm)) { in unassign_domain_store()
1348 clear_bit_inv((unsigned long)apqi, matrix_mdev->matrix.aqm); in unassign_domain_store()
1386 if (id > matrix_mdev->matrix.adm_max) { in assign_control_domain_store()
1391 if (test_bit_inv(id, matrix_mdev->matrix.adm)) { in assign_control_domain_store()
1401 set_bit_inv(id, matrix_mdev->matrix.adm); in assign_control_domain_store()
1440 if (domid > matrix_mdev->matrix.adm_max) { in unassign_control_domain_store()
1445 if (!test_bit_inv(domid, matrix_mdev->matrix.adm)) { in unassign_control_domain_store()
1450 clear_bit_inv(domid, matrix_mdev->matrix.adm); in unassign_control_domain_store()
1473 unsigned long max_domid = matrix_mdev->matrix.adm_max; in control_domains_show()
1476 for_each_set_bit_inv(id, matrix_mdev->matrix.adm, max_domid + 1) { in control_domains_show()
1487 static ssize_t vfio_ap_mdev_matrix_show(struct ap_matrix *matrix, char *buf) in vfio_ap_mdev_matrix_show() argument
1494 unsigned long napm_bits = matrix->apm_max + 1; in vfio_ap_mdev_matrix_show()
1495 unsigned long naqm_bits = matrix->aqm_max + 1; in vfio_ap_mdev_matrix_show()
1499 apid1 = find_first_bit_inv(matrix->apm, napm_bits); in vfio_ap_mdev_matrix_show()
1500 apqi1 = find_first_bit_inv(matrix->aqm, naqm_bits); in vfio_ap_mdev_matrix_show()
1503 for_each_set_bit_inv(apid, matrix->apm, napm_bits) { in vfio_ap_mdev_matrix_show()
1504 for_each_set_bit_inv(apqi, matrix->aqm, in vfio_ap_mdev_matrix_show()
1513 for_each_set_bit_inv(apid, matrix->apm, napm_bits) { in vfio_ap_mdev_matrix_show()
1519 for_each_set_bit_inv(apqi, matrix->aqm, naqm_bits) { in vfio_ap_mdev_matrix_show()
1536 nchars = vfio_ap_mdev_matrix_show(&matrix_mdev->matrix, buf); in matrix_show()
1541 static DEVICE_ATTR_RO(matrix);
2033 if (test_bit_inv(apid, matrix_mdev->matrix.apm) && in vfio_ap_mdev_for_queue()
2034 test_bit_inv(apqi, matrix_mdev->matrix.aqm)) in vfio_ap_mdev_for_queue()
2348 matrix_mdev->matrix.apm, in vfio_ap_mdev_cfg_remove()
2351 matrix_mdev->matrix.aqm, in vfio_ap_mdev_cfg_remove()
2354 matrix_mdev->matrix.adm, in vfio_ap_mdev_cfg_remove()
2488 matrix_mdev->matrix.apm, apm_add, AP_DEVICES); in vfio_ap_mdev_cfg_add()
2490 matrix_mdev->matrix.aqm, aqm_add, AP_DOMAINS); in vfio_ap_mdev_cfg_add()
2492 matrix_mdev->matrix.adm, adm_add, AP_DEVICES); in vfio_ap_mdev_cfg_add()
2562 filter_adapters = bitmap_intersects(matrix_mdev->matrix.apm, in vfio_ap_mdev_hot_plug_cfg()
2564 filter_domains = bitmap_intersects(matrix_mdev->matrix.aqm, in vfio_ap_mdev_hot_plug_cfg()
2566 filter_cdoms = bitmap_intersects(matrix_mdev->matrix.adm, in vfio_ap_mdev_hot_plug_cfg()