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

drm/i915/guc: Unify parameters of public CT functions



There is no need to mix parameter types in public CT functions
as we can always accept intel_guc_ct.

v2: fix 'Return' doc, s/dev_priv/i915 (Sagar)

Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarSagar Arun Kamble <sagar.a.kamble@intel.com>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20180320162020.38672-1-michal.wajdeczko@intel.com
parent e9c7e651
Loading
Loading
Loading
Loading
+27 −14
Original line number Original line Diff line number Diff line
@@ -28,12 +28,21 @@ enum { CTB_SEND = 0, CTB_RECV = 1 };


enum { CTB_OWNER_HOST = 0 };
enum { CTB_OWNER_HOST = 0 };


/**
 * intel_guc_ct_init_early - Initialize CT state without requiring device access
 * @ct: pointer to CT struct
 */
void intel_guc_ct_init_early(struct intel_guc_ct *ct)
void intel_guc_ct_init_early(struct intel_guc_ct *ct)
{
{
	/* we're using static channel owners */
	/* we're using static channel owners */
	ct->host_channel.owner = CTB_OWNER_HOST;
	ct->host_channel.owner = CTB_OWNER_HOST;
}
}


static inline struct intel_guc *ct_to_guc(struct intel_guc_ct *ct)
{
	return container_of(ct, struct intel_guc, ct);
}

static inline const char *guc_ct_buffer_type_to_str(u32 type)
static inline const char *guc_ct_buffer_type_to_str(u32 type)
{
{
	switch (type) {
	switch (type) {
@@ -416,19 +425,21 @@ static int intel_guc_send_ct(struct intel_guc *guc, const u32 *action, u32 len)
}
}


/**
/**
 * Enable buffer based command transport
 * intel_guc_ct_enable - Enable buffer based command transport.
 * @ct: pointer to CT struct
 *
 * Shall only be called for platforms with HAS_GUC_CT.
 * Shall only be called for platforms with HAS_GUC_CT.
 * @guc:	the guc
 *
 * return:	0 on success
 * Return: 0 on success, a negative errno code on failure.
 *		non-zero on failure
 */
 */
int intel_guc_enable_ct(struct intel_guc *guc)
int intel_guc_ct_enable(struct intel_guc_ct *ct)
{
{
	struct drm_i915_private *dev_priv = guc_to_i915(guc);
	struct intel_guc *guc = ct_to_guc(ct);
	struct intel_guc_ct_channel *ctch = &guc->ct.host_channel;
	struct drm_i915_private *i915 = guc_to_i915(guc);
	struct intel_guc_ct_channel *ctch = &ct->host_channel;
	int err;
	int err;


	GEM_BUG_ON(!HAS_GUC_CT(dev_priv));
	GEM_BUG_ON(!HAS_GUC_CT(i915));


	err = ctch_open(guc, ctch);
	err = ctch_open(guc, ctch);
	if (unlikely(err))
	if (unlikely(err))
@@ -441,16 +452,18 @@ int intel_guc_enable_ct(struct intel_guc *guc)
}
}


/**
/**
 * Disable buffer based command transport.
 * intel_guc_ct_disable - Disable buffer based command transport.
 * @ct: pointer to CT struct
 *
 * Shall only be called for platforms with HAS_GUC_CT.
 * Shall only be called for platforms with HAS_GUC_CT.
 * @guc: the guc
 */
 */
void intel_guc_disable_ct(struct intel_guc *guc)
void intel_guc_ct_disable(struct intel_guc_ct *ct)
{
{
	struct drm_i915_private *dev_priv = guc_to_i915(guc);
	struct intel_guc *guc = ct_to_guc(ct);
	struct intel_guc_ct_channel *ctch = &guc->ct.host_channel;
	struct drm_i915_private *i915 = guc_to_i915(guc);
	struct intel_guc_ct_channel *ctch = &ct->host_channel;


	GEM_BUG_ON(!HAS_GUC_CT(dev_priv));
	GEM_BUG_ON(!HAS_GUC_CT(i915));


	if (!ctch_is_open(ctch))
	if (!ctch_is_open(ctch))
		return;
		return;
+2 −4
Original line number Original line Diff line number Diff line
@@ -78,9 +78,7 @@ struct intel_guc_ct {
};
};


void intel_guc_ct_init_early(struct intel_guc_ct *ct);
void intel_guc_ct_init_early(struct intel_guc_ct *ct);

int intel_guc_ct_enable(struct intel_guc_ct *ct);
/* XXX: move to intel_uc.h ? don't fit there either */
void intel_guc_ct_disable(struct intel_guc_ct *ct);
int intel_guc_enable_ct(struct intel_guc *guc);
void intel_guc_disable_ct(struct intel_guc *guc);


#endif /* _INTEL_GUC_CT_H_ */
#endif /* _INTEL_GUC_CT_H_ */
+2 −2
Original line number Original line Diff line number Diff line
@@ -231,7 +231,7 @@ static int guc_enable_communication(struct intel_guc *guc)
	gen9_enable_guc_interrupts(dev_priv);
	gen9_enable_guc_interrupts(dev_priv);


	if (HAS_GUC_CT(dev_priv))
	if (HAS_GUC_CT(dev_priv))
		return intel_guc_enable_ct(guc);
		return intel_guc_ct_enable(&guc->ct);


	guc->send = intel_guc_send_mmio;
	guc->send = intel_guc_send_mmio;
	return 0;
	return 0;
@@ -242,7 +242,7 @@ static void guc_disable_communication(struct intel_guc *guc)
	struct drm_i915_private *dev_priv = guc_to_i915(guc);
	struct drm_i915_private *dev_priv = guc_to_i915(guc);


	if (HAS_GUC_CT(dev_priv))
	if (HAS_GUC_CT(dev_priv))
		intel_guc_disable_ct(guc);
		intel_guc_ct_disable(&guc->ct);


	gen9_disable_guc_interrupts(dev_priv);
	gen9_disable_guc_interrupts(dev_priv);