Lines Matching refs:major
62 u32 *branch, u32 *major, u32 *minor, u32 *patch) in guc_action_match_version() argument
86 *major = FIELD_GET(VF2GUC_MATCH_VERSION_RESPONSE_MSG_1_MAJOR, response[1]); in guc_action_match_version()
93 static void vf_minimum_guc_version(struct xe_gt *gt, u32 *branch, u32 *major, u32 *minor) in vf_minimum_guc_version() argument
101 *major = 1; in vf_minimum_guc_version()
107 *major = 1; in vf_minimum_guc_version()
113 static void vf_wanted_guc_version(struct xe_gt *gt, u32 *branch, u32 *major, u32 *minor) in vf_wanted_guc_version() argument
116 return vf_minimum_guc_version(gt, branch, major, minor); in vf_wanted_guc_version()
124 u32 branch, major, minor, patch; in vf_handshake_with_guc() local
130 if (guc_version->major || guc_version->minor) { in vf_handshake_with_guc()
132 wanted_major = guc_version->major; in vf_handshake_with_guc()
140 &branch, &major, &minor, &patch); in vf_handshake_with_guc()
145 if ((guc_version->major || guc_version->minor) && in vf_handshake_with_guc()
146 (guc_version->branch != branch || guc_version->major != major || in vf_handshake_with_guc()
149 branch, major, minor, patch); in vf_handshake_with_guc()
151 guc_version->branch, guc_version->major, in vf_handshake_with_guc()
158 if (major > wanted_major) { in vf_handshake_with_guc()
164 if (major != wanted_major) { in vf_handshake_with_guc()
171 xe_gt_assert(gt, major != GUC_VERSION_MAJOR_ANY); in vf_handshake_with_guc()
172 if (major < wanted_major || (major == wanted_major && minor < wanted_minor)) { in vf_handshake_with_guc()
178 branch, major, minor, patch); in vf_handshake_with_guc()
181 guc_version->major = major; in vf_handshake_with_guc()
188 branch, major, minor, patch, ERR_PTR(err)); in vf_handshake_with_guc()
196 &branch, &major, &minor, &patch)) in vf_handshake_with_guc()
198 branch, major, minor, patch); in vf_handshake_with_guc()
314 xe_gt_assert(gt, gt->sriov.vf.guc_version.major > 1 || gt->sriov.vf.guc_version.minor >= 2); in xe_gt_sriov_vf_gmdid()
475 xe_gt_assert(gt, gt->sriov.vf.guc_version.major); in xe_gt_sriov_vf_guc_ids()
492 xe_gt_assert(gt, gt->sriov.vf.guc_version.major); in xe_gt_sriov_vf_lmem()
600 static int relay_action_handshake(struct xe_gt *gt, u32 *major, u32 *minor) in relay_action_handshake() argument
606 FIELD_PREP(VF2PF_HANDSHAKE_REQUEST_MSG_1_MAJOR, *major) | in relay_action_handshake()
626 *major = FIELD_GET(VF2PF_HANDSHAKE_RESPONSE_MSG_1_MAJOR, response[1]); in relay_action_handshake()
632 static void vf_connect_pf(struct xe_gt *gt, u16 major, u16 minor) in vf_connect_pf() argument
636 gt->sriov.vf.pf_version.major = major; in vf_connect_pf()
649 u32 major = major_wanted, minor = minor_wanted; in vf_handshake_with_pf() local
652 err = relay_action_handshake(gt, &major, &minor); in vf_handshake_with_pf()
656 if (!major && !minor) { in vf_handshake_with_pf()
661 xe_gt_sriov_dbg(gt, "using VF/PF ABI %u.%u\n", major, minor); in vf_handshake_with_pf()
662 vf_connect_pf(gt, major, minor); in vf_handshake_with_pf()
667 major, minor, ERR_PTR(err)); in vf_handshake_with_pf()
695 static bool vf_is_negotiated(struct xe_gt *gt, u16 major, u16 minor) in vf_is_negotiated() argument
699 return major == gt->sriov.vf.pf_version.major && in vf_is_negotiated()
888 xe_gt_assert(gt, gt->sriov.vf.pf_version.major); in xe_gt_sriov_vf_read32()
995 u32 branch, major, minor; in xe_gt_sriov_vf_print_version() local
1001 vf_minimum_guc_version(gt, &branch, &major, &minor); in xe_gt_sriov_vf_print_version()
1002 drm_printf(p, "\tbase:\t%u.%u.%u.*\n", branch, major, minor); in xe_gt_sriov_vf_print_version()
1004 vf_wanted_guc_version(gt, &branch, &major, &minor); in xe_gt_sriov_vf_print_version()
1005 drm_printf(p, "\twanted:\t%u.%u.%u.*\n", branch, major, minor); in xe_gt_sriov_vf_print_version()
1008 guc_version->branch, guc_version->major, in xe_gt_sriov_vf_print_version()
1018 pf_version->major, pf_version->minor); in xe_gt_sriov_vf_print_version()