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

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

Merge "cnss2: Create target specific ramdump function"

parents 979b3111 70c642c7
Loading
Loading
Loading
Loading
+19 −10
Original line number Diff line number Diff line
@@ -1164,31 +1164,40 @@ static int cnss_shutdown(const struct subsys_desc *subsys_desc, bool force_stop)
	return ret;
}

static int cnss_ramdump(int enable, const struct subsys_desc *subsys_desc)
static int cnss_qca6174_ramdump(struct cnss_plat_data *plat_priv)
{
	int ret = 0;
	struct cnss_plat_data *plat_priv = dev_get_drvdata(subsys_desc->dev);
	struct cnss_ramdump_info *ramdump_info;
	struct ramdump_segment segment;

	ramdump_info = &plat_priv->ramdump_info;
	if (!ramdump_info->ramdump_size)
		return -EINVAL;

	memset(&segment, 0, sizeof(segment));
	segment.v_address = ramdump_info->ramdump_va;
	segment.size = ramdump_info->ramdump_size;
	ret = do_ramdump(ramdump_info->ramdump_dev, &segment, 1);

	return ret;
}

static int cnss_ramdump(int enable, const struct subsys_desc *subsys_desc)
{
	int ret = 0;
	struct cnss_plat_data *plat_priv = dev_get_drvdata(subsys_desc->dev);

	if (!plat_priv) {
		cnss_pr_err("plat_priv is NULL!\n");
		return -ENODEV;
	}

	ramdump_info = &plat_priv->ramdump_info;
	if (!ramdump_info->ramdump_size)
		return -EINVAL;

	if (!enable)
		return 0;

	switch (plat_priv->device_id) {
	case QCA6174_DEVICE_ID:
		memset(&segment, 0, sizeof(segment));
		segment.v_address = ramdump_info->ramdump_va;
		segment.size = ramdump_info->ramdump_size;
		ret = do_ramdump(ramdump_info->ramdump_dev, &segment, 1);
		ret = cnss_qca6174_ramdump(plat_priv);
		break;
	case QCA6290_DEVICE_ID:
		break;