[PATCH 0/9] Ensure xe_force_wake_put is always called after xe_force_wake_get
Nirmoy Das
nirmoy.das at intel.com
Tue Jun 4 11:02:16 UTC 2024
Cuurently there is inconsistency how we handle force wake get and put
calls. We have three cases:
1 Return value of xe_force_wake_get is not checked.
2 Return value of xe_force_wake_get is checked but continue.
3 Return value of xe_force_wake_get is checked but the caller returns
without calling xe_force_wake_put.
2nd case is perfectly valid but 1st and 3rd cases shouldn't happen. As
xe_force_wake_get() will increment the ref count regardless of success
or failure so xe_force_wake_get() should be followed by a
xe_force_wake_put().
For case 1, the last patch added __must_check attribute and rest of
patches are making sure we always call get and put in pairs even if
xe_force_wake_get() returns error.
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray at intel.com>
Cc: Matthew Brost <matthew.brost at intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Nirmoy Das (9):
drm/xe/display: Always call xe_force_wake_put/get in pairs
drm/xe/pat: Always call xe_force_wake_put/get in pairs
drm/xe/xe_reg_sr: Always call xe_force_wake_put/get in pairs
drm/xe/xe_gt: Always call xe_force_wake_put/get in pairs
drm/xe/uc: Always call xe_force_wake_put/get in pairs
drm/xe: Add xe_force_wake_tryget to simplify forcewake handling
drm/xe: Use xe_force_wake_tryget when possible
drm/xe/client: Check return value of xe_force_wake_get
drm/xe: Add __must_check for xe_force_wake_get
drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 2 +-
drivers/gpu/drm/xe/xe_device.c | 4 +-
drivers/gpu/drm/xe/xe_drm_client.c | 10 +++--
drivers/gpu/drm/xe/xe_force_wake.c | 49 +++++++++++++++++++++++-
drivers/gpu/drm/xe/xe_force_wake.h | 6 ++-
drivers/gpu/drm/xe/xe_gsc_proxy.c | 3 +-
drivers/gpu/drm/xe/xe_gt.c | 27 ++++++-------
drivers/gpu/drm/xe/xe_gt_debugfs.c | 10 ++---
drivers/gpu/drm/xe/xe_guc.c | 2 +-
drivers/gpu/drm/xe/xe_guc_pc.c | 8 ++--
drivers/gpu/drm/xe/xe_huc.c | 2 +-
drivers/gpu/drm/xe/xe_pat.c | 10 ++---
drivers/gpu/drm/xe/xe_query.c | 2 +-
drivers/gpu/drm/xe/xe_reg_sr.c | 20 ++++------
drivers/gpu/drm/xe/xe_vram.c | 2 +-
15 files changed, 98 insertions(+), 59 deletions(-)
--
2.42.0
More information about the Intel-xe
mailing list