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

Commit 7191b281 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: Reset uC ready cb"

parents 2794aa9a ec9b2a71
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -1442,6 +1442,22 @@ int ipa_uc_reg_rdyCB(
}
EXPORT_SYMBOL(ipa_uc_reg_rdyCB);

/**
 * ipa_uc_dereg_rdyCB() - To de-register uC ready CB
 *
 * Returns:	0 on success, negative on failure
 *
 */
int ipa_uc_dereg_rdyCB(void)
{
	int ret;

	IPA_API_DISPATCH_RETURN(ipa_uc_dereg_rdyCB);

	return ret;
}
EXPORT_SYMBOL(ipa_uc_dereg_rdyCB);

/**
 * ipa_rm_create_resource() - create resource
 * @create_params: [in] parameters needed
+3 −1
Original line number Diff line number Diff line
/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -181,6 +181,8 @@ struct ipa_api_controller {

	int (*ipa_uc_reg_rdyCB)(struct ipa_wdi_uc_ready_params *param);

	int (*ipa_uc_dereg_rdyCB)(void);

	int (*ipa_rm_create_resource)(
		struct ipa_rm_create_params *create_params);

+5 −1
Original line number Diff line number Diff line
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -1763,6 +1763,10 @@ int ipa2_uc_wdi_get_dbpa(struct ipa_wdi_db_params *out);
 * if uC not ready only, register callback
 */
int ipa2_uc_reg_rdyCB(struct ipa_wdi_uc_ready_params *param);
/*
 * To de-register uC ready callback
 */
int ipa2_uc_dereg_rdyCB(void);

/*
 * Resource manager
+23 −2
Original line number Diff line number Diff line
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -1450,6 +1450,20 @@ int ipa2_uc_reg_rdyCB(
	return 0;
}

/**
 * ipa2_uc_dereg_rdyCB() - To de-register uC ready CB
 *
 * Returns:	0 on success, negative on failure
 *
 */
int ipa2_uc_dereg_rdyCB(void)
{
	ipa_ctx->uc_wdi_ctx.uc_ready_cb = NULL;
	ipa_ctx->uc_wdi_ctx.priv = NULL;

	return 0;
}


/**
 * ipa2_uc_wdi_get_dbpa() - To retrieve
@@ -1519,9 +1533,16 @@ static void ipa_uc_wdi_loaded_handler(void)
		return;
	}

	if (ipa_ctx->uc_wdi_ctx.uc_ready_cb)
	if (ipa_ctx->uc_wdi_ctx.uc_ready_cb) {
		ipa_ctx->uc_wdi_ctx.uc_ready_cb(
			ipa_ctx->uc_wdi_ctx.priv);

		ipa_ctx->uc_wdi_ctx.uc_ready_cb =
			NULL;
		ipa_ctx->uc_wdi_ctx.priv = NULL;
	}

	return;
}

int ipa2_create_wdi_mapping(u32 num_buffers, struct ipa_wdi_buffer_info *info)
+2 −1
Original line number Diff line number Diff line
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -5008,6 +5008,7 @@ int ipa2_bind_api_controller(enum ipa_hw_type ipa_hw_type,
	api_ctrl->ipa_get_smem_restr_bytes = ipa2_get_smem_restr_bytes;
	api_ctrl->ipa_uc_wdi_get_dbpa = ipa2_uc_wdi_get_dbpa;
	api_ctrl->ipa_uc_reg_rdyCB = ipa2_uc_reg_rdyCB;
	api_ctrl->ipa_uc_dereg_rdyCB = ipa2_uc_dereg_rdyCB;
	api_ctrl->ipa_create_wdi_mapping = ipa2_create_wdi_mapping;
	api_ctrl->ipa_release_wdi_mapping = ipa2_release_wdi_mapping;
	api_ctrl->ipa_rm_create_resource = ipa2_rm_create_resource;
Loading