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

Commit c39d2e7e authored by Michal Wajdeczko's avatar Michal Wajdeczko Committed by Chris Wilson
Browse files

drm/i915/guc: Use intel_guc_init_misc to hide GuC internals



We will add more init steps to misc phase and there is no need
to expose them separately for use in uc_init_misc function.

Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Reviewed-by: default avatarMichel Thierry <michel.thierry@intel.com>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20180628141522.62788-1-michal.wajdeczko@intel.com
parent e3be4079
Loading
Loading
Loading
Loading
+24 −4
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@
#include "intel_guc_submission.h"
#include "i915_drv.h"

static void guc_init_ggtt_pin_bias(struct intel_guc *guc);

static void gen8_guc_raise_irq(struct intel_guc *guc)
{
	struct drm_i915_private *dev_priv = guc_to_i915(guc);
@@ -73,7 +75,7 @@ void intel_guc_init_early(struct intel_guc *guc)
	guc->notify = gen8_guc_raise_irq;
}

int intel_guc_init_wq(struct intel_guc *guc)
static int guc_init_wq(struct intel_guc *guc)
{
	struct drm_i915_private *dev_priv = guc_to_i915(guc);

@@ -124,7 +126,7 @@ int intel_guc_init_wq(struct intel_guc *guc)
	return 0;
}

void intel_guc_fini_wq(struct intel_guc *guc)
static void guc_fini_wq(struct intel_guc *guc)
{
	struct drm_i915_private *dev_priv = guc_to_i915(guc);

@@ -135,6 +137,24 @@ void intel_guc_fini_wq(struct intel_guc *guc)
	destroy_workqueue(guc->log.relay.flush_wq);
}

int intel_guc_init_misc(struct intel_guc *guc)
{
	int ret;

	guc_init_ggtt_pin_bias(guc);

	ret = guc_init_wq(guc);
	if (ret)
		return ret;

	return 0;
}

void intel_guc_fini_misc(struct intel_guc *guc)
{
	guc_fini_wq(guc);
}

static int guc_shared_data_create(struct intel_guc *guc)
{
	struct i915_vma *vma;
@@ -582,13 +602,13 @@ int intel_guc_resume(struct intel_guc *guc)
 */

/**
 * intel_guc_init_ggtt_pin_bias() - Initialize the GuC ggtt_pin_bias value.
 * guc_init_ggtt_pin_bias() - Initialize the GuC ggtt_pin_bias value.
 * @guc: intel_guc structure.
 *
 * This function will calculate and initialize the ggtt_pin_bias value based on
 * overall WOPCM size and GuC WOPCM size.
 */
void intel_guc_init_ggtt_pin_bias(struct intel_guc *guc)
static void guc_init_ggtt_pin_bias(struct intel_guc *guc)
{
	struct drm_i915_private *i915 = guc_to_i915(guc);

+2 −3
Original line number Diff line number Diff line
@@ -151,11 +151,10 @@ static inline u32 intel_guc_ggtt_offset(struct intel_guc *guc,
void intel_guc_init_early(struct intel_guc *guc);
void intel_guc_init_send_regs(struct intel_guc *guc);
void intel_guc_init_params(struct intel_guc *guc);
void intel_guc_init_ggtt_pin_bias(struct intel_guc *guc);
int intel_guc_init_wq(struct intel_guc *guc);
void intel_guc_fini_wq(struct intel_guc *guc);
int intel_guc_init_misc(struct intel_guc *guc);
int intel_guc_init(struct intel_guc *guc);
void intel_guc_fini(struct intel_guc *guc);
void intel_guc_fini_misc(struct intel_guc *guc);
int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 len,
		       u32 *response_buf, u32 response_buf_size);
int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, u32 len,
+2 −4
Original line number Diff line number Diff line
@@ -257,9 +257,7 @@ int intel_uc_init_misc(struct drm_i915_private *i915)
	if (!USES_GUC(i915))
		return 0;

	intel_guc_init_ggtt_pin_bias(guc);

	ret = intel_guc_init_wq(guc);
	ret = intel_guc_init_misc(guc);
	if (ret)
		return ret;

@@ -273,7 +271,7 @@ void intel_uc_fini_misc(struct drm_i915_private *i915)
	if (!USES_GUC(i915))
		return;

	intel_guc_fini_wq(guc);
	intel_guc_fini_misc(guc);
}

int intel_uc_init(struct drm_i915_private *i915)