]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Optimization to reduce the sampling time of GuC log buffer
authorAkash Goel <akash.goel@intel.com>
Wed, 12 Oct 2016 16:24:37 +0000 (21:54 +0530)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Tue, 25 Oct 2016 08:34:23 +0000 (09:34 +0100)
commit6311a91293d630229cf6424856a573fcb6f5a00a
treea7c99ceaee72ee3a7366aa428c8d26ac54d657cd
parent0aacc449df3b272e1dbc49c38c294c613a9cb845
drm/i915: Optimization to reduce the sampling time of GuC log buffer

GuC firmware sends an interrupt to flush the log buffer when it becomes
half full, so Driver doesn't really need to sample the complete buffer
and can just copy only the newly written data by GuC into the local
buffer, i.e. as per the read & write pointer values.
Moreover the flush interrupt would generally come for one type of log
buffer, when it becomes half full, so at that time the other 2 types of
log buffer would comparatively have much lesser unread data in them.
In case of overflow reported by GuC, Driver do need to copy the entire
buffer as the whole buffer would contain the unread data.

v2: Rebase.

v3: Fix the blooper of doing the copy twice. (Tvrtko)

v4: Add curlies for 'else' case also, matching the 'if'. (Tvrtko)

Signed-off-by: Akash Goel <akash.goel@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
drivers/gpu/drm/i915/i915_guc_submission.c