Lines Matching full:major
86 u32 *branch, u32 *major, u32 *minor, u32 *patch) in guc_action_match_version() argument
110 *major = FIELD_GET(VF2GUC_MATCH_VERSION_RESPONSE_MSG_1_MAJOR, response[1]); in guc_action_match_version()
117 static void vf_minimum_guc_version(struct xe_gt *gt, u32 *branch, u32 *major, u32 *minor) in vf_minimum_guc_version() argument
125 *major = 1; in vf_minimum_guc_version()
131 *major = 1; in vf_minimum_guc_version()
137 static void vf_wanted_guc_version(struct xe_gt *gt, u32 *branch, u32 *major, u32 *minor) in vf_wanted_guc_version() argument
140 return vf_minimum_guc_version(gt, branch, major, minor); in vf_wanted_guc_version()
148 u32 branch, major, minor, patch; in vf_handshake_with_guc() local
154 if (guc_version->major || guc_version->minor) { in vf_handshake_with_guc()
156 wanted_major = guc_version->major; in vf_handshake_with_guc()
164 &branch, &major, &minor, &patch); in vf_handshake_with_guc()
169 if ((guc_version->major || guc_version->minor) && in vf_handshake_with_guc()
170 (guc_version->branch != branch || guc_version->major != major || in vf_handshake_with_guc()
173 branch, major, minor, patch); in vf_handshake_with_guc()
175 guc_version->branch, guc_version->major, in vf_handshake_with_guc()
182 if (major > wanted_major) { in vf_handshake_with_guc()
187 /* there's no fallback on major version. */ in vf_handshake_with_guc()
188 if (major != wanted_major) { in vf_handshake_with_guc()
195 xe_gt_assert(gt, major != GUC_VERSION_MAJOR_ANY); in vf_handshake_with_guc()
196 if (major < wanted_major || (major == wanted_major && minor < wanted_minor)) { in vf_handshake_with_guc()
202 branch, major, minor, patch); in vf_handshake_with_guc()
205 guc_version->major = major; in vf_handshake_with_guc()
212 branch, major, minor, patch, ERR_PTR(err)); in vf_handshake_with_guc()
220 &branch, &major, &minor, &patch)) in vf_handshake_with_guc()
222 branch, major, minor, patch); in vf_handshake_with_guc()
379 xe_gt_assert(gt, gt->sriov.vf.guc_version.major > 1 || gt->sriov.vf.guc_version.minor >= 2); in xe_gt_sriov_vf_gmdid()
540 xe_gt_assert(gt, gt->sriov.vf.guc_version.major); in xe_gt_sriov_vf_guc_ids()
557 xe_gt_assert(gt, gt->sriov.vf.guc_version.major); in xe_gt_sriov_vf_lmem()
665 static int relay_action_handshake(struct xe_gt *gt, u32 *major, u32 *minor) in relay_action_handshake() argument
671 FIELD_PREP(VF2PF_HANDSHAKE_REQUEST_MSG_1_MAJOR, *major) | in relay_action_handshake()
691 *major = FIELD_GET(VF2PF_HANDSHAKE_RESPONSE_MSG_1_MAJOR, response[1]); in relay_action_handshake()
697 static void vf_connect_pf(struct xe_gt *gt, u16 major, u16 minor) in vf_connect_pf() argument
701 gt->sriov.vf.pf_version.major = major; in vf_connect_pf()
714 u32 major = major_wanted, minor = minor_wanted; in vf_handshake_with_pf() local
717 err = relay_action_handshake(gt, &major, &minor); in vf_handshake_with_pf()
721 if (!major && !minor) { in vf_handshake_with_pf()
726 xe_gt_sriov_dbg(gt, "using VF/PF ABI %u.%u\n", major, minor); in vf_handshake_with_pf()
727 vf_connect_pf(gt, major, minor); in vf_handshake_with_pf()
732 major, minor, ERR_PTR(err)); in vf_handshake_with_pf()
784 static bool vf_is_negotiated(struct xe_gt *gt, u16 major, u16 minor) in vf_is_negotiated() argument
788 return major == gt->sriov.vf.pf_version.major && in vf_is_negotiated()
977 xe_gt_assert(gt, gt->sriov.vf.pf_version.major); in xe_gt_sriov_vf_read32()
1084 u32 branch, major, minor; in xe_gt_sriov_vf_print_version() local
1090 vf_minimum_guc_version(gt, &branch, &major, &minor); in xe_gt_sriov_vf_print_version()
1091 drm_printf(p, "\tbase:\t%u.%u.%u.*\n", branch, major, minor); in xe_gt_sriov_vf_print_version()
1093 vf_wanted_guc_version(gt, &branch, &major, &minor); in xe_gt_sriov_vf_print_version()
1094 drm_printf(p, "\twanted:\t%u.%u.%u.*\n", branch, major, minor); in xe_gt_sriov_vf_print_version()
1097 guc_version->branch, guc_version->major, in xe_gt_sriov_vf_print_version()
1107 pf_version->major, pf_version->minor); in xe_gt_sriov_vf_print_version()