Lines Matching refs:zc
576 static inline struct zcrypt_queue *zcrypt_pick_queue(struct zcrypt_card *zc, in zcrypt_pick_queue() argument
583 zcrypt_card_get(zc); in zcrypt_pick_queue()
586 atomic_add(weight, &zc->load); in zcrypt_pick_queue()
593 static inline void zcrypt_drop_queue(struct zcrypt_card *zc, in zcrypt_drop_queue() argument
599 atomic_sub(weight, &zc->load); in zcrypt_drop_queue()
603 zcrypt_card_put(zc); in zcrypt_drop_queue()
607 static inline bool zcrypt_card_compare(struct zcrypt_card *zc, in zcrypt_card_compare() argument
614 weight += atomic_read(&zc->load); in zcrypt_card_compare()
617 return atomic64_read(&zc->card->total_request_count) < in zcrypt_card_compare()
644 struct zcrypt_card *zc, *pref_zc; in zcrypt_rsa_modexpo() local
677 for_each_zcrypt_card(zc) { in zcrypt_rsa_modexpo()
679 if (!zc->online || !zc->card->config || zc->card->chkstop || in zcrypt_rsa_modexpo()
680 !(zc->card->hwinfo.accel || zc->card->hwinfo.cca)) in zcrypt_rsa_modexpo()
683 if (zc->min_mod_size > mex->inputdatalength || in zcrypt_rsa_modexpo()
684 zc->max_mod_size < mex->inputdatalength) in zcrypt_rsa_modexpo()
687 if (!zcrypt_check_card(perms, zc->card->id)) in zcrypt_rsa_modexpo()
690 wgt = zc->speed_rating[func_code]; in zcrypt_rsa_modexpo()
693 AP_QID_CARD(tr->last_qid) == zc->card->id) ? in zcrypt_rsa_modexpo()
695 if (!zcrypt_card_compare(zc, pref_zc, wgt + cpen, pref_wgt)) in zcrypt_rsa_modexpo()
697 for_each_zcrypt_queue(zq, zc) { in zcrypt_rsa_modexpo()
713 pref_zc = zc; in zcrypt_rsa_modexpo()
750 struct zcrypt_card *zc, *pref_zc; in zcrypt_rsa_crt() local
783 for_each_zcrypt_card(zc) { in zcrypt_rsa_crt()
785 if (!zc->online || !zc->card->config || zc->card->chkstop || in zcrypt_rsa_crt()
786 !(zc->card->hwinfo.accel || zc->card->hwinfo.cca)) in zcrypt_rsa_crt()
789 if (zc->min_mod_size > crt->inputdatalength || in zcrypt_rsa_crt()
790 zc->max_mod_size < crt->inputdatalength) in zcrypt_rsa_crt()
793 if (!zcrypt_check_card(perms, zc->card->id)) in zcrypt_rsa_crt()
796 wgt = zc->speed_rating[func_code]; in zcrypt_rsa_crt()
799 AP_QID_CARD(tr->last_qid) == zc->card->id) ? in zcrypt_rsa_crt()
801 if (!zcrypt_card_compare(zc, pref_zc, wgt + cpen, pref_wgt)) in zcrypt_rsa_crt()
803 for_each_zcrypt_queue(zq, zc) { in zcrypt_rsa_crt()
819 pref_zc = zc; in zcrypt_rsa_crt()
857 struct zcrypt_card *zc, *pref_zc; in _zcrypt_send_cprb() local
905 for_each_zcrypt_card(zc) { in _zcrypt_send_cprb()
907 if (!zc->online || !zc->card->config || zc->card->chkstop || in _zcrypt_send_cprb()
908 !zc->card->hwinfo.cca) in _zcrypt_send_cprb()
912 xcrb->user_defined != zc->card->id) in _zcrypt_send_cprb()
915 if (ap_msg.len > zc->card->maxmsgsize) in _zcrypt_send_cprb()
918 if (!zcrypt_check_card(perms, zc->card->id)) in _zcrypt_send_cprb()
921 wgt = speed_idx_cca(func_code) * zc->speed_rating[SECKEY]; in _zcrypt_send_cprb()
924 AP_QID_CARD(tr->last_qid) == zc->card->id) ? in _zcrypt_send_cprb()
926 if (!zcrypt_card_compare(zc, pref_zc, wgt + cpen, pref_wgt)) in _zcrypt_send_cprb()
928 for_each_zcrypt_queue(zq, zc) { in _zcrypt_send_cprb()
946 pref_zc = zc; in _zcrypt_send_cprb()
1045 struct zcrypt_card *zc, *pref_zc; in _zcrypt_send_ep11_cprb() local
1102 for_each_zcrypt_card(zc) { in _zcrypt_send_ep11_cprb()
1104 if (!zc->online || !zc->card->config || zc->card->chkstop || in _zcrypt_send_ep11_cprb()
1105 !zc->card->hwinfo.ep11) in _zcrypt_send_ep11_cprb()
1109 !is_desired_ep11_card(zc->card->id, target_num, targets)) in _zcrypt_send_ep11_cprb()
1112 if (ap_msg.len > zc->card->maxmsgsize) in _zcrypt_send_ep11_cprb()
1115 if (!zcrypt_check_card(perms, zc->card->id)) in _zcrypt_send_ep11_cprb()
1118 wgt = speed_idx_ep11(func_code) * zc->speed_rating[SECKEY]; in _zcrypt_send_ep11_cprb()
1121 AP_QID_CARD(tr->last_qid) == zc->card->id) ? in _zcrypt_send_ep11_cprb()
1123 if (!zcrypt_card_compare(zc, pref_zc, wgt + cpen, pref_wgt)) in _zcrypt_send_ep11_cprb()
1125 for_each_zcrypt_queue(zq, zc) { in _zcrypt_send_ep11_cprb()
1144 pref_zc = zc; in _zcrypt_send_ep11_cprb()
1218 struct zcrypt_card *zc, *pref_zc; in zcrypt_rng() local
1239 for_each_zcrypt_card(zc) { in zcrypt_rng()
1241 if (!zc->online || !zc->card->config || zc->card->chkstop || in zcrypt_rng()
1242 !zc->card->hwinfo.cca) in zcrypt_rng()
1245 wgt = zc->speed_rating[func_code]; in zcrypt_rng()
1246 if (!zcrypt_card_compare(zc, pref_zc, wgt, pref_wgt)) in zcrypt_rng()
1248 for_each_zcrypt_queue(zq, zc) { in zcrypt_rng()
1255 pref_zc = zc; in zcrypt_rng()
1286 struct zcrypt_card *zc; in zcrypt_device_status_mask() local
1295 for_each_zcrypt_card(zc) { in zcrypt_device_status_mask()
1296 for_each_zcrypt_queue(zq, zc) { in zcrypt_device_status_mask()
1302 stat->hwtype = zc->card->ap_dev.device_type; in zcrypt_device_status_mask()
1303 stat->functions = zc->card->hwinfo.fac >> 26; in zcrypt_device_status_mask()
1314 struct zcrypt_card *zc; in zcrypt_device_status_mask_ext() local
1323 for_each_zcrypt_card(zc) { in zcrypt_device_status_mask_ext()
1324 for_each_zcrypt_queue(zq, zc) { in zcrypt_device_status_mask_ext()
1330 stat->hwtype = zc->card->ap_dev.device_type; in zcrypt_device_status_mask_ext()
1331 stat->functions = zc->card->hwinfo.fac >> 26; in zcrypt_device_status_mask_ext()
1343 struct zcrypt_card *zc; in zcrypt_device_status_ext() local
1349 for_each_zcrypt_card(zc) { in zcrypt_device_status_ext()
1350 for_each_zcrypt_queue(zq, zc) { in zcrypt_device_status_ext()
1353 devstat->hwtype = zc->card->ap_dev.device_type; in zcrypt_device_status_ext()
1354 devstat->functions = zc->card->hwinfo.fac >> 26; in zcrypt_device_status_ext()
1370 struct zcrypt_card *zc; in zcrypt_status_mask() local
1376 for_each_zcrypt_card(zc) { in zcrypt_status_mask()
1377 for_each_zcrypt_queue(zq, zc) { in zcrypt_status_mask()
1382 status[card] = zc->online ? zc->user_space_type : 0x0d; in zcrypt_status_mask()
1390 struct zcrypt_card *zc; in zcrypt_qdepth_mask() local
1397 for_each_zcrypt_card(zc) { in zcrypt_qdepth_mask()
1398 for_each_zcrypt_queue(zq, zc) { in zcrypt_qdepth_mask()
1416 struct zcrypt_card *zc; in zcrypt_perdev_reqcnt() local
1424 for_each_zcrypt_card(zc) { in zcrypt_perdev_reqcnt()
1425 for_each_zcrypt_queue(zq, zc) { in zcrypt_perdev_reqcnt()
1442 struct zcrypt_card *zc; in zcrypt_pendingq_count() local
1449 for_each_zcrypt_card(zc) { in zcrypt_pendingq_count()
1450 for_each_zcrypt_queue(zq, zc) { in zcrypt_pendingq_count()
1465 struct zcrypt_card *zc; in zcrypt_requestq_count() local
1472 for_each_zcrypt_card(zc) { in zcrypt_requestq_count()
1473 for_each_zcrypt_queue(zq, zc) { in zcrypt_requestq_count()