Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bfeabcc8 authored by Daniele Ceraolo Spurio's avatar Daniele Ceraolo Spurio Committed by Chris Wilson
Browse files

drm/i915/guc: reserve the doorbell before selecting the cacheline



Cacheline selection is only needed if we actually manage to reserve a
doorbell.

Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20181022230427.5616-2-daniele.ceraolospurio@intel.com
parent 6f1312e6
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -955,6 +955,10 @@ guc_client_alloc(struct drm_i915_private *dev_priv,
	}
	client->vaddr = vaddr;

	ret = reserve_doorbell(client);
	if (ret)
		goto err_vaddr;

	client->doorbell_offset = __select_cacheline(guc);

	/*
@@ -967,10 +971,6 @@ guc_client_alloc(struct drm_i915_private *dev_priv,
	else
		client->proc_desc_offset = (GUC_DB_SIZE / 2);

	ret = reserve_doorbell(client);
	if (ret)
		goto err_vaddr;

	DRM_DEBUG_DRIVER("new priority %u client %p for engine(s) 0x%x: stage_id %u\n",
			 priority, client, client->engines, client->stage_id);
	DRM_DEBUG_DRIVER("doorbell id %u, cacheline offset 0x%lx\n",