Commit f03d97b0 authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu/psp: drop load/unload/init_shared_buf wrappers



Just call the load/unload/init_shared_buf functions
directly.  Makes the code easier to follow.

Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 57301181
Loading
Loading
Loading
Loading
+21 −122
Original line number Diff line number Diff line
@@ -866,11 +866,6 @@ static int psp_rl_load(struct amdgpu_device *adev)
	return ret;
}

static int psp_asd_load(struct psp_context *psp)
{
	return psp_ta_load(psp, &psp->asd_context);
}

static int psp_asd_initialize(struct psp_context *psp)
{
	int ret;
@@ -886,7 +881,7 @@ static int psp_asd_initialize(struct psp_context *psp)
	psp->asd_context.mem_context.shared_mem_size = PSP_ASD_SHARED_MEM_SIZE;
	psp->asd_context.ta_load_type                = GFX_CMD_ID_LOAD_ASD;

	ret = psp_asd_load(psp);
	ret = psp_ta_load(psp, &psp->asd_context);
	if (!ret)
		psp->asd_context.initialized = true;

@@ -914,11 +909,6 @@ int psp_ta_unload(struct psp_context *psp, struct ta_context *context)
	return ret;
}

static int psp_asd_unload(struct psp_context *psp)
{
	return psp_ta_unload(psp, &psp->asd_context);
}

static int psp_asd_terminate(struct psp_context *psp)
{
	int ret;
@@ -929,8 +919,7 @@ static int psp_asd_terminate(struct psp_context *psp)
	if (!psp->asd_context.initialized)
		return 0;

	ret = psp_asd_unload(psp);

	ret = psp_ta_unload(psp, &psp->asd_context);
	if (!ret)
		psp->asd_context.initialized = false;

@@ -1002,11 +991,6 @@ void psp_ta_free_shared_buf(struct ta_mem_context *mem_ctx)
			      &mem_ctx->shared_buf);
}

static int psp_xgmi_init_shared_buf(struct psp_context *psp)
{
	return psp_ta_init_shared_buf(psp, &psp->xgmi_context.context.mem_context);
}

static void psp_prep_ta_invoke_indirect_cmd_buf(struct psp_gfx_cmd_resp *cmd,
				       uint32_t ta_cmd_id,
				       struct ta_context *context)
@@ -1097,16 +1081,6 @@ int psp_ta_load(struct psp_context *psp, struct ta_context *context)
	return ret;
}

static int psp_xgmi_load(struct psp_context *psp)
{
	return psp_ta_load(psp, &psp->xgmi_context.context);
}

static int psp_xgmi_unload(struct psp_context *psp)
{
	return psp_ta_unload(psp, &psp->xgmi_context.context);
}

int psp_xgmi_invoke(struct psp_context *psp, uint32_t ta_cmd_id)
{
	return psp_ta_invoke(psp, ta_cmd_id, &psp->xgmi_context.context);
@@ -1126,7 +1100,7 @@ int psp_xgmi_terminate(struct psp_context *psp)
	if (!psp->xgmi_context.context.initialized)
		return 0;

	ret = psp_xgmi_unload(psp);
	ret = psp_ta_unload(psp, &psp->xgmi_context.context);
	if (ret)
		return ret;

@@ -1155,13 +1129,13 @@ int psp_xgmi_initialize(struct psp_context *psp, bool set_extended_data, bool lo
	psp->xgmi_context.context.ta_load_type = GFX_CMD_ID_LOAD_TA;

	if (!psp->xgmi_context.context.initialized) {
		ret = psp_xgmi_init_shared_buf(psp);
		ret = psp_ta_init_shared_buf(psp, &psp->xgmi_context.context.mem_context);
		if (ret)
			return ret;
	}

	/* Load XGMI TA */
	ret = psp_xgmi_load(psp);
	ret = psp_ta_load(psp, &psp->xgmi_context.context);
	if (!ret)
		psp->xgmi_context.context.initialized = true;
	else
@@ -1384,21 +1358,6 @@ int psp_xgmi_set_topology_info(struct psp_context *psp,
}

// ras begin
static int psp_ras_init_shared_buf(struct psp_context *psp)
{
	return psp_ta_init_shared_buf(psp, &psp->ras_context.context.mem_context);
}

static int psp_ras_load(struct psp_context *psp)
{
	return psp_ta_load(psp, &psp->ras_context.context);
}

static int psp_ras_unload(struct psp_context *psp)
{
	return psp_ta_unload(psp, &psp->ras_context.context);
}

static void psp_ras_ta_check_status(struct psp_context *psp)
{
	struct ta_ras_shared_memory *ras_cmd =
@@ -1506,7 +1465,7 @@ int psp_ras_terminate(struct psp_context *psp)
	if (!psp->ras_context.context.initialized)
		return 0;

	ret = psp_ras_unload(psp);
	ret = psp_ta_unload(psp, &psp->ras_context.context);
	if (ret)
		return ret;

@@ -1582,7 +1541,7 @@ static int psp_ras_initialize(struct psp_context *psp)
	psp->ras_context.context.ta_load_type = GFX_CMD_ID_LOAD_TA;

	if (!psp->ras_context.context.initialized) {
		ret = psp_ras_init_shared_buf(psp);
		ret = psp_ta_init_shared_buf(psp, &psp->ras_context.context.mem_context);
		if (ret)
			return ret;
	}
@@ -1595,7 +1554,7 @@ static int psp_ras_initialize(struct psp_context *psp)
	if (!adev->gmc.xgmi.connected_to_cpu)
		ras_cmd->ras_in_message.init_flags.dgpu_mode = 1;

	ret = psp_ras_load(psp);
	ret = psp_ta_load(psp, &psp->ras_context.context);

	if (!ret && !ras_cmd->ras_status)
		psp->ras_context.context.initialized = true;
@@ -1642,16 +1601,6 @@ int psp_ras_trigger_error(struct psp_context *psp,
// ras end

// HDCP start
static int psp_hdcp_init_shared_buf(struct psp_context *psp)
{
	return psp_ta_init_shared_buf(psp, &psp->hdcp_context.context.mem_context);
}

static int psp_hdcp_load(struct psp_context *psp)
{
	return psp_ta_load(psp, &psp->hdcp_context.context);
}

static int psp_hdcp_initialize(struct psp_context *psp)
{
	int ret;
@@ -1672,12 +1621,12 @@ static int psp_hdcp_initialize(struct psp_context *psp)
	psp->hdcp_context.context.ta_load_type = GFX_CMD_ID_LOAD_TA;

	if (!psp->hdcp_context.context.initialized) {
		ret = psp_hdcp_init_shared_buf(psp);
		ret = psp_ta_init_shared_buf(psp, &psp->hdcp_context.context.mem_context);
		if (ret)
			return ret;
	}

	ret = psp_hdcp_load(psp);
	ret = psp_ta_load(psp, &psp->hdcp_context.context);
	if (!ret) {
		psp->hdcp_context.context.initialized = true;
		mutex_init(&psp->hdcp_context.mutex);
@@ -1686,11 +1635,6 @@ static int psp_hdcp_initialize(struct psp_context *psp)
	return ret;
}

static int psp_hdcp_unload(struct psp_context *psp)
{
	return psp_ta_unload(psp, &psp->hdcp_context.context);
}

int psp_hdcp_invoke(struct psp_context *psp, uint32_t ta_cmd_id)
{
	/*
@@ -1719,7 +1663,7 @@ static int psp_hdcp_terminate(struct psp_context *psp)
			return 0;
	}

	ret = psp_hdcp_unload(psp);
	ret = psp_ta_unload(psp, &psp->hdcp_context.context);
	if (ret)
		return ret;

@@ -1734,16 +1678,6 @@ static int psp_hdcp_terminate(struct psp_context *psp)
// HDCP end

// DTM start
static int psp_dtm_init_shared_buf(struct psp_context *psp)
{
	return psp_ta_init_shared_buf(psp, &psp->dtm_context.context.mem_context);
}

static int psp_dtm_load(struct psp_context *psp)
{
	return psp_ta_load(psp, &psp->dtm_context.context);
}

static int psp_dtm_initialize(struct psp_context *psp)
{
	int ret;
@@ -1764,12 +1698,12 @@ static int psp_dtm_initialize(struct psp_context *psp)
	psp->dtm_context.context.ta_load_type = GFX_CMD_ID_LOAD_TA;

	if (!psp->dtm_context.context.initialized) {
		ret = psp_dtm_init_shared_buf(psp);
		ret = psp_ta_init_shared_buf(psp, &psp->dtm_context.context.mem_context);
		if (ret)
			return ret;
	}

	ret = psp_dtm_load(psp);
	ret = psp_ta_load(psp, &psp->dtm_context.context);
	if (!ret) {
		psp->dtm_context.context.initialized = true;
		mutex_init(&psp->dtm_context.mutex);
@@ -1778,11 +1712,6 @@ static int psp_dtm_initialize(struct psp_context *psp)
	return ret;
}

static int psp_dtm_unload(struct psp_context *psp)
{
	return psp_ta_unload(psp, &psp->dtm_context.context);
}

int psp_dtm_invoke(struct psp_context *psp, uint32_t ta_cmd_id)
{
	/*
@@ -1811,7 +1740,7 @@ static int psp_dtm_terminate(struct psp_context *psp)
			return 0;
	}

	ret = psp_dtm_unload(psp);
	ret = psp_ta_unload(psp, &psp->dtm_context.context);
	if (ret)
		return ret;

@@ -1826,21 +1755,6 @@ static int psp_dtm_terminate(struct psp_context *psp)
// DTM end

// RAP start
static int psp_rap_init_shared_buf(struct psp_context *psp)
{
	return psp_ta_init_shared_buf(psp, &psp->rap_context.context.mem_context);
}

static int psp_rap_load(struct psp_context *psp)
{
	return psp_ta_load(psp, &psp->rap_context.context);
}

static int psp_rap_unload(struct psp_context *psp)
{
	return psp_ta_unload(psp, &psp->rap_context.context);
}

static int psp_rap_initialize(struct psp_context *psp)
{
	int ret;
@@ -1862,12 +1776,12 @@ static int psp_rap_initialize(struct psp_context *psp)
	psp->rap_context.context.ta_load_type = GFX_CMD_ID_LOAD_TA;

	if (!psp->rap_context.context.initialized) {
		ret = psp_rap_init_shared_buf(psp);
		ret = psp_ta_init_shared_buf(psp, &psp->rap_context.context.mem_context);
		if (ret)
			return ret;
	}

	ret = psp_rap_load(psp);
	ret = psp_ta_load(psp, &psp->rap_context.context);
	if (!ret) {
		psp->rap_context.context.initialized = true;
		mutex_init(&psp->rap_context.mutex);
@@ -1894,7 +1808,7 @@ static int psp_rap_terminate(struct psp_context *psp)
	if (!psp->rap_context.context.initialized)
		return 0;

	ret = psp_rap_unload(psp);
	ret = psp_ta_unload(psp, &psp->rap_context.context);

	psp->rap_context.context.initialized = false;

@@ -1940,22 +1854,6 @@ int psp_rap_invoke(struct psp_context *psp, uint32_t ta_cmd_id, enum ta_rap_stat
// RAP end

/* securedisplay start */
static int psp_securedisplay_init_shared_buf(struct psp_context *psp)
{
	return psp_ta_init_shared_buf(
		psp, &psp->securedisplay_context.context.mem_context);
}

static int psp_securedisplay_load(struct psp_context *psp)
{
	return psp_ta_load(psp, &psp->securedisplay_context.context);
}

static int psp_securedisplay_unload(struct psp_context *psp)
{
	return psp_ta_unload(psp, &psp->securedisplay_context.context);
}

static int psp_securedisplay_initialize(struct psp_context *psp)
{
	int ret;
@@ -1978,12 +1876,13 @@ static int psp_securedisplay_initialize(struct psp_context *psp)
	psp->securedisplay_context.context.ta_load_type = GFX_CMD_ID_LOAD_TA;

	if (!psp->securedisplay_context.context.initialized) {
		ret = psp_securedisplay_init_shared_buf(psp);
		ret = psp_ta_init_shared_buf(psp,
					     &psp->securedisplay_context.context.mem_context);
		if (ret)
			return ret;
	}

	ret = psp_securedisplay_load(psp);
	ret = psp_ta_load(psp, &psp->securedisplay_context.context);
	if (!ret) {
		psp->securedisplay_context.context.initialized = true;
		mutex_init(&psp->securedisplay_context.mutex);
@@ -2022,7 +1921,7 @@ static int psp_securedisplay_terminate(struct psp_context *psp)
	if (!psp->securedisplay_context.context.initialized)
		return 0;

	ret = psp_securedisplay_unload(psp);
	ret = psp_ta_unload(psp, &psp->securedisplay_context.context);
	if (ret)
		return ret;