5e4e06e...
by
Andrzej Hajda <email address hidden>
drm/i915: Track gt pm wakerefs
Track every intel_gt_pm_get() until its corresponding release in
intel_gt_pm_put() by returning a cookie to the caller for acquire that
must be passed by on released. When there is an imbalance, we can see who
either tried to free a stale wakeref, or who forgot to free theirs.
v2: track recently added calls in gen8_ggtt_bind_get_ce and
destroyed_worker_func
b49e894...
by
Andrzej Hajda <email address hidden>
drm/i915: Replace custom intel runtime_pm tracker with ref_tracker library
Beside reusing existing code, the main advantage of ref_tracker is
tracking per instance of wakeref. It allows also to catch double
put.
On the other side we lose information about the first acquire and
the last release, but the advantages outweigh it.
dfed6b5...
by
Tvrtko Ursulin <email address hidden>
drm/i915/gsc: Mark internal GSC engine with reserved uabi class
The GSC CS is not exposed to the user, so we skipped assigning a uabi
class number for it. However, the trace logs use the uabi class and
instance to identify the engine, so leaving uabi class unset makes the
GSC CS show up as the RCS in those logs.
Given that the engine is not exposed to the user, we can't add a new
case in the uabi enum, so we insted internally define a kernel
internal class as -1.
At the same time remove special handling for the name and complete
the uabi_classes array so internal class is automatically correctly
assigned.
Engine will show as 65535:0 other0 in the logs/traces which should
be unique enough.
44eea8d...
by
Tvrtko Ursulin <email address hidden>
drm/i915: Remove return type from i915_drm_client_remove_object
There is no need to return anything in the version which was merged and
also the implementation of the !CONFIG_PROC_FS wasn't returning anything,
causing a build failure there.
3c7a5eb...
by
Radhakrishna Sripada <email address hidden>
drm/i915/mtl: Update Wa_22018931422
Commit 78cc55e0b64c ("drm/i915/mcr: Hold GT forcewake during steering
operations") introduced the workaround which was in early stages. With a
valid lineage number update Workaround for future tracking.
Cc: Matt Roper <email address hidden>
Signed-off-by: Radhakrishna Sripada <email address hidden>
Reviewed-by: Matt Roper <email address hidden>
Signed-off-by: Matt Roper <email address hidden>
Link: https://patchwork.freedesktop<email address hidden>
d3715a6...
by
Daniele Ceraolo Spurio <email address hidden>
drm/i915/huc: Stop printing about unsupported HuC on MTL
On MTL, the HuC is only supported on the media GT, so our validation
check on the module parameter detects an inconsistency on the root GT
(the modparams asks to enable HuC, but the support is not there) and
prints the following info message:
[drm] GT0: Incompatible option enable_guc=3 - HuC is not supported!
This can be confusing to the user and make them think that something is
wrong when it isn't, so we need to silence it.
Given that any platform that supports HuC also supports GuC, if a user
tries to enable HuC on a platform that really doesn't support it they'll
already see a message about GuC not being supported, so instead of just
silencing the HuC message on newer platforms we can just get rid of it
entirely.
Signed-off-by: Daniele Ceraolo Spurio <email address hidden>
Cc: John Harrison <email address hidden>
Reviewed-by: John Harrison <email address hidden>
Link: https://patchwork.freedesktop<email address hidden>
e899505...
by
Andrzej Hajda <email address hidden>
drm/i915: do not clean GT table on error path
The only task of intel_gt_release_all is to zero gt table. Calling
it on error path prevents intel_gt_driver_late_release_all (called from
i915_driver_late_release) to cleanup GTs, causing leakage.
After i915_driver_late_release GT array is not used anymore so
it does not need cleaning at all.