Various GuC (doorbell) related patches, some trivial. The bulk of the changes are in [patch 5/7], but it's mostly just reorganisation of existing code; and [patch 6/7] is just a followup to that, kept as a separate change for reasons of clarity. The new functionality is implemented in a single new function in [patch 7/7]. Background, from v1 of this patchset: The Linux hibernate/resume sequence involves booting one kernel, and then replacing(!) its in-memory image with that of the previously hibernated system. This can lead to inconsistencies in the state of the hardware, in particular where a driver does not or cannot reset it to a well-defined initial state during resume. For i915, the issue is that the doorbell hardware is not reset when the GuC is reset; also, the driver *cannot* directly reprogram it: only the GuC can do that. So this set of patches first reorganises the doorbell handling, and then (in the last patch of the set) ensures that the doorbell hardware is fully (re-)initialised when the GuC is (re-)loaded. v2: Patches reorganised (split), with longer commit message v3: Rebased, patch [6/7] inserted into sequence Dave Gordon (7): drm/i915/guc: add doorbell map to debugfs/i915_guc_info drm/i915/guc: prefer __set/clear_bit() to bitmap_set/clear() drm/i915/guc: remove writes to GEN8_DRBREG registers drm/i915/guc: move guc_ring_doorbell() nearer to callsite drm/i915/guc: refactor doorbell management code drm/i915/guc: replace assign_doorbell() with select_doorbell_register() drm/i915/guc: (re)initialise doorbell h/w when enabling GuC submission drivers/gpu/drm/i915/i915_debugfs.c | 4 + drivers/gpu/drm/i915/i915_guc_submission.c | 301 +++++++++++++++++------------ 2 files changed, 179 insertions(+), 126 deletions(-) -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx