Unverified Commit 3541e19d authored by Himal Prasad Ghimiray's avatar Himal Prasad Ghimiray Committed by Rodrigo Vivi
Browse files

drm/xe: Ensure caller uses sole domain for xe_force_wake_assert_held



xe_force_wake_assert_held() is designed to confirm a particular
forcewake domain's wakefulness; it doesn't verify the wakefulness of
multiple domains. Make sure the caller doesn't input multiple
domains(XE_FORCEWAKE_ALL) as a parameter.

v2
- use domain != XE_FORCEWAKE_ALL (Michal)

v3
- Add kernel-doc

Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Badal Nilawar <badal.nilawar@intel.com>
Signed-off-by: default avatarHimal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240607125741.1407331-1-himal.prasad.ghimiray@intel.com


Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 34385582
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -28,10 +28,21 @@ xe_force_wake_ref(struct xe_force_wake *fw,
	return fw->domains[ffs(domain) - 1].ref;
}

/**
 * xe_force_wake_assert_held - asserts domain is awake
 * @fw : xe_force_wake structure
 * @domain: xe_force_wake_domains apart from XE_FORCEWAKE_ALL
 *
 * xe_force_wake_assert_held() is designed to confirm a particular
 * forcewake domain's wakefulness; it doesn't verify the wakefulness of
 * multiple domains. Make sure the caller doesn't input multiple
 * domains(XE_FORCEWAKE_ALL) as a parameter.
 */
static inline void
xe_force_wake_assert_held(struct xe_force_wake *fw,
			  enum xe_force_wake_domains domain)
{
	xe_gt_assert(fw->gt, domain != XE_FORCEWAKE_ALL);
	xe_gt_assert(fw->gt, fw->awake_domains & domain);
}