Exemple #1
0
/**
 * hns_ppe_init - init ppe device
 * @dsaf_dev: dasf device
 * retuen 0 - success , negative --fail
 */
int hns_ppe_init(struct dsaf_device *dsaf_dev)
{
	int i, k;
	int ret;

	for (i = 0; i < HNS_PPE_COM_NUM; i++) {
		ret = hns_ppe_common_get_cfg(dsaf_dev, i);
		if (ret)
			goto get_ppe_cfg_fail;

		ret = hns_rcb_common_get_cfg(dsaf_dev, i);
		if (ret)
			goto get_rcb_cfg_fail;

		hns_ppe_get_cfg(dsaf_dev->ppe_common[i]);

		hns_rcb_get_cfg(dsaf_dev->rcb_common[i]);
	}

	for (i = 0; i < HNS_PPE_COM_NUM; i++)
		hns_ppe_reset_common(dsaf_dev, i);

	return 0;

get_rcb_cfg_fail:
	hns_ppe_common_free_cfg(dsaf_dev, i);
get_ppe_cfg_fail:
	for (k = i - 1; k >= 0; k--) {
		hns_rcb_common_free_cfg(dsaf_dev, k);
		hns_ppe_common_free_cfg(dsaf_dev, k);
	}
	return ret;
}
Exemple #2
0
void hns_ppe_uninit(struct dsaf_device *dsaf_dev)
{
	u32 i;

	for (i = 0; i < HNS_PPE_COM_NUM; i++) {
		if (dsaf_dev->ppe_common[i])
			hns_ppe_uninit_ex(dsaf_dev->ppe_common[i]);
		hns_rcb_common_free_cfg(dsaf_dev, i);
		hns_ppe_common_free_cfg(dsaf_dev, i);
	}
}