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

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
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include "intel_guc_submission.h" #include "intel_guc_submission.h"
#include "i915_drv.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) static void gen8_guc_raise_irq(struct intel_guc *guc)
{ {
struct drm_i915_private *dev_priv = guc_to_i915(guc); struct drm_i915_private *dev_priv = guc_to_i915(guc);
...@@ -73,7 +75,7 @@ void intel_guc_init_early(struct intel_guc *guc) ...@@ -73,7 +75,7 @@ void intel_guc_init_early(struct intel_guc *guc)
guc->notify = gen8_guc_raise_irq; 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); struct drm_i915_private *dev_priv = guc_to_i915(guc);
...@@ -124,7 +126,7 @@ int intel_guc_init_wq(struct intel_guc *guc) ...@@ -124,7 +126,7 @@ int intel_guc_init_wq(struct intel_guc *guc)
return 0; 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); struct drm_i915_private *dev_priv = guc_to_i915(guc);
...@@ -135,6 +137,24 @@ void intel_guc_fini_wq(struct intel_guc *guc) ...@@ -135,6 +137,24 @@ void intel_guc_fini_wq(struct intel_guc *guc)
destroy_workqueue(guc->log.relay.flush_wq); 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) static int guc_shared_data_create(struct intel_guc *guc)
{ {
struct i915_vma *vma; struct i915_vma *vma;
...@@ -582,13 +602,13 @@ int intel_guc_resume(struct intel_guc *guc) ...@@ -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. * @guc: intel_guc structure.
* *
* This function will calculate and initialize the ggtt_pin_bias value based on * This function will calculate and initialize the ggtt_pin_bias value based on
* overall WOPCM size and GuC WOPCM size. * 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); struct drm_i915_private *i915 = guc_to_i915(guc);
......
...@@ -151,11 +151,10 @@ static inline u32 intel_guc_ggtt_offset(struct intel_guc *guc, ...@@ -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_early(struct intel_guc *guc);
void intel_guc_init_send_regs(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_params(struct intel_guc *guc);
void intel_guc_init_ggtt_pin_bias(struct intel_guc *guc); int intel_guc_init_misc(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(struct intel_guc *guc); int intel_guc_init(struct intel_guc *guc);
void intel_guc_fini(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, int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 len,
u32 *response_buf, u32 response_buf_size); u32 *response_buf, u32 response_buf_size);
int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, u32 len, int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, u32 len,
......
...@@ -257,9 +257,7 @@ int intel_uc_init_misc(struct drm_i915_private *i915) ...@@ -257,9 +257,7 @@ int intel_uc_init_misc(struct drm_i915_private *i915)
if (!USES_GUC(i915)) if (!USES_GUC(i915))
return 0; return 0;
intel_guc_init_ggtt_pin_bias(guc); ret = intel_guc_init_misc(guc);
ret = intel_guc_init_wq(guc);
if (ret) if (ret)
return ret; return ret;
...@@ -273,7 +271,7 @@ void intel_uc_fini_misc(struct drm_i915_private *i915) ...@@ -273,7 +271,7 @@ void intel_uc_fini_misc(struct drm_i915_private *i915)
if (!USES_GUC(i915)) if (!USES_GUC(i915))
return; return;
intel_guc_fini_wq(guc); intel_guc_fini_misc(guc);
} }
int intel_uc_init(struct drm_i915_private *i915) int intel_uc_init(struct drm_i915_private *i915)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment