Dispalyport no signal!

I’m working on kernel6.6 for jetson, and have same situations!
when the system quit uefi, enter kernel6.6, the Displayport(DP) is blank.
This is My kernel log:
Ker6.6+Ubuntu无显示启动内核log.txt (78.5 KB)
and i fount that drm does’nt work, so drm no any device at /sys/class/drm.

That’s not we currently used and haven’t try that. If roll back to JP6 GA/K5.15, can issue happen?

All of project is base on Jetpack6/Kernel5.15, I just replace the kernel:
image

and I chenge the kernel5.15(/boot/Image), othe module no change, the displayport is ok.
and I find the error may be at(Linux_for_Tegra/source/nvidia-oot/drivers/gpu/drm/tegra/drm.c) :

static int host1x_drm_probe(struct host1x_device *dev)
{
     ......
}
static struct host1x_driver host1x_drm_driver = {
	.driver = {
		.name = "drm",
		.pm = &host1x_drm_pm_ops,
	},
	.probe = host1x_drm_probe,
	.remove = host1x_drm_remove,
	.subdevs = host1x_drm_subdevs,
};

static int __init host1x_drm_init(void)
{
	int err;

#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
	if (drm_firmware_drivers_only())
		return -ENODEV;
#endif

	err = host1x_driver_register(&host1x_drm_driver);
	if (err < 0)
		return err;

	err = platform_register_drivers(drivers, ARRAY_SIZE(drivers));
	if (err < 0)
		goto unregister_host1x;

	return 0;

unregister_host1x:
	host1x_driver_unregister(&host1x_drm_driver);
	return err;
}
module_init(host1x_drm_init);

funtion: host1x_driver_register has register driver, but the host1x_drm_probe is not runing!
I think device is not register, but I try to print on bus_for_each_dev(kernel6.6/driver/base/bus.c)

int bus_for_each_dev(const struct bus_type *bus, struct device *start,
		     void *data, int (*fn)(struct device *, void *))
{
	struct subsys_private *sp = bus_to_subsys(bus);
	struct klist_iter i;
	struct device *dev;
	int error = 0;

	if (!sp)
		return -EINVAL;

	klist_iter_init_node(&sp->klist_devices, &i,
			     (start ? &start->p->knode_bus : NULL));
	while (!error && (dev = next_device(&i)))
		error = fn(dev, data);
	klist_iter_exit(&i);
	subsys_put(sp);
	return error;
}

I found that host1x_driver_register -> host1x_driver_register_full -> driver_register -> bus_add_driver -> driver_attach -> bus_for_each_dev
on function bus_for_each_dev :
sp->klist_devices is empty。
that means there is no device for host1x_bus_type
image

I solve it partly!
kernel6.6 Can show the desktop on displayport。
But no DRM instance。

I have driver gpu successful on kernel-6.6.29!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.