/** * xe_gt_sriov_pf_monitor_flr - Cleanup VF data after VF FLR. * @gt: the &xe_gt * @vfid: the VF identifier * * On FLR this function will reset all event data related to the VF. * This function is for PF only.
*/ void xe_gt_sriov_pf_monitor_flr(struct xe_gt *gt, u32 vfid)
{ int e;
e = xe_guc_klv_threshold_key_to_index(threshold);
xe_sriov_function_name(vfid, origin, sizeof(origin));
/* was there a new KEY added that we missed? */ if (unlikely(e < 0)) {
xe_gt_sriov_notice(gt, "unknown threshold key %#x reported for %s\n",
threshold, origin); return -ENOTCONN;
}
/** * xe_gt_sriov_pf_monitor_process_guc2pf - Handle adverse event notification from the GuC. * @gt: the &xe_gt * @msg: G2H event message * @len: length of the message * * This function is intended for PF only. * * Return: 0 on success or a negative error code on failure.
*/ int xe_gt_sriov_pf_monitor_process_guc2pf(struct xe_gt *gt, const u32 *msg, u32 len)
{ struct xe_device *xe = gt_to_xe(gt);
u32 vfid;
u32 threshold;
/** * xe_gt_sriov_pf_monitor_print_events - Print adverse events counters. * @gt: the &xe_gt to print events from * @p: the &drm_printer * * Print adverse events counters for all VFs. * VFs with no events are not printed. * * This function can only be called on PF.
*/ void xe_gt_sriov_pf_monitor_print_events(struct xe_gt *gt, struct drm_printer *p)
{ unsignedint n, total_vfs = xe_gt_sriov_pf_get_totalvfs(gt); conststruct xe_gt_sriov_monitor *data; int e;
xe_gt_assert(gt, IS_SRIOV_PF(gt_to_xe(gt)));
for (n = 1; n <= total_vfs; n++) {
data = >->sriov.pf.vfs[n].monitor;
for (e = 0; e < XE_GUC_KLV_NUM_THRESHOLDS; e++) if (data->guc.events[e]) break;
/* skip empty unless in debug mode */ if (e >= XE_GUC_KLV_NUM_THRESHOLDS &&
!IS_ENABLED(CONFIG_DRM_XE_DEBUG_SRIOV)) continue;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.