mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
drm/xe/pat: Use scope-based forcewake
Use scope-based cleanup for forcewake in the PAT code to slightly simplify the code. Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com> Link: https://patch.msgid.link/20251118164338.3572146-37-matthew.d.roper@intel.com Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
This commit is contained in:
parent
008db7d4e1
commit
ba2562a391
|
|
@ -239,11 +239,10 @@ static void program_pat_mcr(struct xe_gt *gt, const struct xe_pat_table_entry ta
|
|||
static int xelp_dump(struct xe_gt *gt, struct drm_printer *p)
|
||||
{
|
||||
struct xe_device *xe = gt_to_xe(gt);
|
||||
unsigned int fw_ref;
|
||||
int i;
|
||||
|
||||
fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref)
|
||||
CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref.domains)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
drm_printf(p, "PAT table:\n");
|
||||
|
|
@ -256,7 +255,6 @@ static int xelp_dump(struct xe_gt *gt, struct drm_printer *p)
|
|||
XELP_MEM_TYPE_STR_MAP[mem_type], pat);
|
||||
}
|
||||
|
||||
xe_force_wake_put(gt_to_fw(gt), fw_ref);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -268,11 +266,10 @@ static const struct xe_pat_ops xelp_pat_ops = {
|
|||
static int xehp_dump(struct xe_gt *gt, struct drm_printer *p)
|
||||
{
|
||||
struct xe_device *xe = gt_to_xe(gt);
|
||||
unsigned int fw_ref;
|
||||
int i;
|
||||
|
||||
fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref)
|
||||
CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref.domains)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
drm_printf(p, "PAT table:\n");
|
||||
|
|
@ -287,7 +284,6 @@ static int xehp_dump(struct xe_gt *gt, struct drm_printer *p)
|
|||
XELP_MEM_TYPE_STR_MAP[mem_type], pat);
|
||||
}
|
||||
|
||||
xe_force_wake_put(gt_to_fw(gt), fw_ref);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -299,11 +295,10 @@ static const struct xe_pat_ops xehp_pat_ops = {
|
|||
static int xehpc_dump(struct xe_gt *gt, struct drm_printer *p)
|
||||
{
|
||||
struct xe_device *xe = gt_to_xe(gt);
|
||||
unsigned int fw_ref;
|
||||
int i;
|
||||
|
||||
fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref)
|
||||
CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref.domains)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
drm_printf(p, "PAT table:\n");
|
||||
|
|
@ -316,7 +311,6 @@ static int xehpc_dump(struct xe_gt *gt, struct drm_printer *p)
|
|||
REG_FIELD_GET(XEHPC_CLOS_LEVEL_MASK, pat), pat);
|
||||
}
|
||||
|
||||
xe_force_wake_put(gt_to_fw(gt), fw_ref);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -328,11 +322,10 @@ static const struct xe_pat_ops xehpc_pat_ops = {
|
|||
static int xelpg_dump(struct xe_gt *gt, struct drm_printer *p)
|
||||
{
|
||||
struct xe_device *xe = gt_to_xe(gt);
|
||||
unsigned int fw_ref;
|
||||
int i;
|
||||
|
||||
fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref)
|
||||
CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref.domains)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
drm_printf(p, "PAT table:\n");
|
||||
|
|
@ -350,7 +343,6 @@ static int xelpg_dump(struct xe_gt *gt, struct drm_printer *p)
|
|||
REG_FIELD_GET(XELPG_INDEX_COH_MODE_MASK, pat), pat);
|
||||
}
|
||||
|
||||
xe_force_wake_put(gt_to_fw(gt), fw_ref);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -367,12 +359,11 @@ static const struct xe_pat_ops xelpg_pat_ops = {
|
|||
static int xe2_dump(struct xe_gt *gt, struct drm_printer *p)
|
||||
{
|
||||
struct xe_device *xe = gt_to_xe(gt);
|
||||
unsigned int fw_ref;
|
||||
u32 pat;
|
||||
int i;
|
||||
|
||||
fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref)
|
||||
CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref.domains)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
drm_printf(p, "PAT table: (* = reserved entry)\n");
|
||||
|
|
@ -412,7 +403,6 @@ static int xe2_dump(struct xe_gt *gt, struct drm_printer *p)
|
|||
REG_FIELD_GET(XE2_COH_MODE, pat),
|
||||
pat);
|
||||
|
||||
xe_force_wake_put(gt_to_fw(gt), fw_ref);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -425,12 +415,11 @@ static const struct xe_pat_ops xe2_pat_ops = {
|
|||
static int xe3p_xpc_dump(struct xe_gt *gt, struct drm_printer *p)
|
||||
{
|
||||
struct xe_device *xe = gt_to_xe(gt);
|
||||
unsigned int fw_ref;
|
||||
u32 pat;
|
||||
int i;
|
||||
|
||||
fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref)
|
||||
CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FW_GT);
|
||||
if (!fw_ref.domains)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
drm_printf(p, "PAT table: (* = reserved entry)\n");
|
||||
|
|
@ -462,7 +451,6 @@ static int xe3p_xpc_dump(struct xe_gt *gt, struct drm_printer *p)
|
|||
REG_FIELD_GET(XE2_COH_MODE, pat),
|
||||
pat);
|
||||
|
||||
xe_force_wake_put(gt_to_fw(gt), fw_ref);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user