mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +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
(cherry picked from commit 1714d360fc5ae2e0886a69e979095d9c7ff3568a)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
This commit is contained in:
parent
7ac3cae7a2
commit
ed8b0d7318
|
|
@ -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