When I want to Register a camera device I see this error “iso bandwidth %uKB is not available”

Hello

I tried to update imx219 Driver module to L4T R32.2 in my customize Evaluation Board,But Boot fails with this error:

iso bandwidth %uKB is not available

I think the emc feature is added in kernel 4.9

How can I disable this feature like kernel 4.4 or is there any solution to solve this problem.

hello mtk.tavassoli,

this is a warning message and it should be harmless.
may I know had the board boot into ubuntu system and detect your imx219 driver as /dev/video* successfully?
thanks

the board boot into ubuntu system and I got Kernel Panic

The warning “iso bandwidth %uKB is not available, client” shows when the below function is called

static bool pre_t19x_iso_plat_register(u32 dedi_bw, enum tegra_iso_client client)
{
        if (unlikely(dedi_bw > isomgr.max_iso_bw - isomgr.dedi_bw)) {
                pr_err("iso bandwidth %uKB is not available, client %s\n",
                        dedi_bw, cname[client]);
                return false;
        }
        return true;
}

and pre_t19x_iso_plat_register
call by this function

int __init isomgr_init(void)
{
	int i;

	mutex_init(&isomgr.lock);

	if (tegra_get_chip_id() == TEGRA194)
		isomgr.ops = t19x_isomgr_init();
	else
		isomgr.ops = pre_t19x_isomgr_init
();

	for (i = 0; ; i++) {
		if (isoclient_info[i].name)
			client_valid[isoclient_info[i].client] = true;
		else
			break;
	}

#ifdef CONFIG_COMMON_CLK
	isomgr.bwmgr_handle = tegra_bwmgr_register(TEGRA_BWMGR_CLIENT_ISOMGR);
	if (IS_ERR_OR_NULL(isomgr.bwmgr_handle)) {
		pr_err("couldn't get handle from bwmgr. disabling isomgr.\n");
#else
	isomgr.emc_clk = clk_get_sys("iso", "emc");
	if (IS_ERR_OR_NULL(isomgr.emc_clk)) {
		pr_err("couldn't find iso emc clock. disabling isomgr.\n");
#endif
		test_mode = 1;
		return 0;
	}

	isomgr.ops->isomgr_plat_init();

	for (i = 0; i < isoclients; i++) {
		if (isoclient_info[i].name) {
			enum tegra_iso_client c = isoclient_info[i].client;

			OBJ_REF_SET(&isomgr_clients[c].kref.refcount, 0);
			init_completion(&isomgr_clients[c].cmpl);
#ifdef CONFIG_COMMON_CLK
			isomgr_clients[c].bwmgr_handle = tegra_bwmgr_register(
					isoclient_info[i].bwmgr_id);

			if (IS_ERR_OR_NULL(isomgr_clients[c].bwmgr_handle)) {
				pr_err("couldn't get %s's bwmgr handle\n",
						isoclient_info[i].name);
				isomgr_clients[c].bwmgr_handle = NULL;
#else
			isomgr_clients[c].emc_clk = clk_get_sys(
					isoclient_info[i].dev_name,
					isoclient_info[i].emc_clk_name);

			if (IS_ERR_OR_NULL(isomgr_clients[c].emc_clk)) {
				pr_err("couldn't find %s %s clock",
					isoclient_info[i].dev_name,
					isoclient_info[i].emc_clk_name);

				isomgr_clients[c].emc_clk = NULL;
#endif
				return 0;
			}
		}
	}

	isomgr_create_sysfs();
	return 0;
}
#ifdef CONFIG_COMMON_CLK

fs_initcall(isomgr_init);
#endif

whats is the CONFIG_COMMON_CLK ?
and what doesn’t have my custom carrier board so I got this warning?

hello mtk.tavassoli,

you should solve below failures.

misc tegra_camera_ctrl: tegra_camera_isomgr_register: unable to register to isomgr
misc tegra_camera_ctrl: tegra_camera_probe: failed to register CAMERA as isomgr client

you should access Jetson TX2 Series OEM Product Design Guide due to you’re working with customize board.
please also refer to similar discussion thread for reference, Topic 1009011.
thanks