mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 04:34:03 +02:00
drm/xe/pf: Don't attempt to process FAST_REQ or EVENT relays
Currently defined VF/PF relay actions use regular REQUEST messages
only and the PF shouldn't attempt to handle FAST_REQUEST nor EVENT
messages as this would result in breaking the VFPF ABI protocol
and also might trigger an assert on the PF side.
Fixes: 98e6280592 ("drm/xe/pf: Add SR-IOV GuC Relay PF services")
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
Link: https://patch.msgid.link/20260527183735.22616-1-michal.wajdeczko@intel.com
This commit is contained in:
parent
b623bd790d
commit
1714d360fc
|
|
@ -689,12 +689,17 @@ static int relay_action_handler(struct xe_guc_relay *relay, u32 origin,
|
|||
return relay_testloop_action_handler(relay, origin, msg, len, response, size);
|
||||
|
||||
type = FIELD_GET(GUC_HXG_MSG_0_TYPE, msg[0]);
|
||||
relay_assert(relay, guc_hxg_type_is_action(type));
|
||||
|
||||
if (IS_SRIOV_PF(relay_to_xe(relay)))
|
||||
ret = xe_gt_sriov_pf_service_process_request(gt, origin, msg, len, response, size);
|
||||
else
|
||||
if (IS_SRIOV_PF(relay_to_xe(relay))) {
|
||||
if (type == GUC_HXG_TYPE_REQUEST)
|
||||
ret = xe_gt_sriov_pf_service_process_request(gt, origin, msg, len,
|
||||
response, size);
|
||||
else
|
||||
ret = -EOPNOTSUPP;
|
||||
} else {
|
||||
ret = -EOPNOTSUPP;
|
||||
|
||||
}
|
||||
if (type == GUC_HXG_TYPE_EVENT)
|
||||
relay_assert(relay, ret <= 0);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user