根据邮件列表显示,NVIDIA 工程师提出了一项在 Linux 内核中引入硬件时间戳引擎(HTE)子系统的提案。
某些设备具有内置的硬件时间戳引擎,可以实时监测系统信号、线路、总线等的状态变化;在检测到变化时,它可以自动存储发生时的时间戳。因此该功能可能有助于在获得时间戳方面得到比使用软件对应物(如 ktime 和 friends)更高的精确度。
该提案来自 NVIDIA 的 Tegra/嵌入式方面团队,而不是图形团队。根据提案描述,该 HTE 子系统通过硬件手段提供实时的时间戳等功能,并集中了 HTE 的提供者和消费者。提供者在子系统中注册,消费者是感兴趣的实体,包括线路、GPIO、信号或总线。HTE 子系统提供纳秒级的时间戳,如果时间戳不是这个单位,提供者会进行转换。
事实上,此前上游已经有关于这个问题的讨论。讨论中,Linus 和 Kent 非常赞成扩展 GPIOLIB 和支持的 GPIO 驱动以增加 HTE 功能,并讨论了将 HTE 提供者添加为 irqchip 的可能性,然而有人反对,因为 HTE 设备不一定是发射事件的设备。此外还讨论了 HTE 设备被添加为 posix 时钟类型的可能性,如 PTP 时钟。不过也被反对,因为 HTE 设备不一定与硬件时钟紧密结合。
目前,该补丁系列实现并扩展了 GPIOLIB 和 GPIO tegra 驱动,注册了 Tegra194(Xavier)作为内核提供者,并拥有一个测试驱动程序。
猜你喜欢:暂无回复。