Forcewake improvements needed
https://lore.kernel.org/all/Y9hw0sSC58B32yPg@mdroper-desk1.amr.corp.intel.com/
- }
I don't think it's a great idea to wait for the power domain to go back
to sleep; as long as we've cleared our wake bit, we should be free to
move on with other work and not wait around for the punit to get around
to taking action. We only need to make sure that the sleep has taken
effect before the next time we grab the forcewake.
and
+static int gt_fw_domain_init(struct xe_gt *gt)
Personally I find this name a bit confusing. I keep expecting this to
be initialization of the GT forcewake domain, but it actually winds up
being a subset of GT initialization that you want to do while holding
the GT wake (the domain itself was already initialized earlier). Same
comment for the all_fw_domain_init() farther down.
and
- xe_force_wake_get(gt_to_fw(&xe->gt[0]), XE_FORCEWAKE_ALL);
Everywhere in this function is using xe->gt[0] or to_gt(xe), so it
doesn't seem like this will work with multi-tile platforms.