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

Commit 8be05ea1 authored by Ashok Raj Deenadayalan's avatar Ashok Raj Deenadayalan Committed by Swetha Chikkaboraiah
Browse files

msm: ipa2: Add changes compatible to kernel-4.14



Add following changes,
	- Include dependent files.
	- Handle buffer recycling in new kernel.
	- Add WLAN endpoints for IPA_v2_6.
	- Fix indentation errors.
	- Add structure, api changes in QMI files compatible
	  with kernel 4.14.
	- Add changes to support late clk initialization.
	- Add IPA_v2_6 support for platform probing.
        - Add locking mechanism as per the new kernel.

Change-Id: I6f153398f9a11026744c076a67a609cf7af807ba
Signed-off-by: default avatarPraveen Kurapati <pkurapat@codeaurora.org>
Signed-off-by: default avatarAshok Raj Deenadayalan <adeenada@codeaurora.org>
Signed-off-by: default avatarSwetha Chikkaboraiah <schikk@codeaurora.org>
parent 670dc321
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3187,6 +3187,10 @@ static int ipa_generic_plat_drv_probe(struct platform_device *pdev_p)

	/* call probe based on IPA HW version */
	switch (ipa_api_hw_type) {
	case IPA_HW_v2_6L:
		result = ipa_plat_drv_probe(pdev_p, ipa_api_ctrl,
			ipa_plat_drv_match);
		break;
	case IPA_HW_v3_0:
	case IPA_HW_v3_1:
	case IPA_HW_v3_5:
+20 −1
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
 */

#include <linux/ipa_mhi.h>
@@ -12,6 +12,12 @@
#define _IPA_API_H_

struct ipa_api_controller {

	int (*ipa_connect)(const struct ipa_connect_params *in,
		struct ipa_sps_params *sps, u32 *clnt_hdl);

	int (*ipa_disconnect)(u32 clnt_hdl);

	int (*ipa_reset_endpoint)(u32 clnt_hdl);

	int (*ipa_clear_endpoint_delay)(u32 clnt_hdl);
@@ -484,6 +490,19 @@ struct ipa_api_controller {
	int (*ipa_get_prot_id)(enum ipa_client_type client);
};

#ifdef CONFIG_IPA
int ipa_plat_drv_probe(struct platform_device *pdev_p,
	struct ipa_api_controller *api_ctrl,
	const struct of_device_id *pdrv_match);
#else
static inline int ipa_plat_drv_probe(struct platform_device *pdev_p,
	struct ipa_api_controller *api_ctrl,
	const struct of_device_id *pdrv_match)
{
	return -ENODEV;
}
#endif /* (CONFIG_IPA) */

#ifdef CONFIG_IPA3
int ipa3_plat_drv_probe(struct platform_device *pdev_p,
	struct ipa_api_controller *api_ctrl,
+1 −1
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2012-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
 */

#include <linux/ipa_mhi.h>
+130 −122

File changed.

Preview size limit exceeded, changes collapsed.

+53 −53

File changed.

Preview size limit exceeded, changes collapsed.

Loading