基于高通的DRM显示框架 这个函数drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &panel, &panel_bridge);4个参数代表什么
时间: 2024-03-15 07:43:09 浏览: 233
`drm_of_find_panel_or_bridge`是一个函数名,该函数是用于在设备树中查找显示面板或桥的函数。该函数的参数依次是:
1. `dev->of_node`:一个指向设备节点的指针,表示要查找显示面板或桥的设备节点。
2. `1`:一个整数,表示要查找的显示面板或桥的类型,如果传入值为1则查找显示面板,如果传入值为2则查找桥。
3. `0`:一个整数,表示要查找的显示面板或桥的索引号,如果有多个显示面板或桥则可以通过索引号来选择要查找的显示面板或桥。
4. `&panel`和`&panel_bridge`:两个指向指针的指针,表示查找到的显示面板和桥的指针,如果没有查找到则返回`NULL`。
该函数的作用是在设备树中查找指定设备节点的指定类型的显示面板或桥,并返回对应的指针。该函数主要用于在设备驱动程序中获取设备树中的显示面板或桥的信息。
相关问题
基于高通的DRM显示框架 这个函数drm_of_find_panel_or_bridge(dev->of_node, 2, 0, &panel, &panel_bridge);4个参数代表什么
`drm_of_find_panel_or_bridge` 函数的四个参数分别代表:
1. `dev->of_node`:指向设备树节点的指针,表示要查找的节点。
2. `2`:表示要查找的节点类型,即 `drm_panel` 或 `drm_bridge`,这里是 `drm_bridge`。
3. `0`:表示要查找的节点 ID,这里是 `0`。
4. `&panel` 和 `&panel_bridge`:两个指针,分别指向查找到的 `drm_panel` 和 `drm_bridge` 对象。
函数返回值为一个整数,表示查找到的对象的类型,可以是 `DRM_MODE_OBJECT_PANEL` 或 `DRM_MODE_OBJECT_BRIDGE`,也可能是 `DRM_MODE_OBJECT_NONE`。
这个函数的作用是在设备树中查找指定类型、指定 ID 的 `drm_panel` 或 `drm_bridge` 对象,并将它们的指针存储在 `&panel` 和 `&panel_bridge` 变量中。这些指针可以用于后续的显示设备配置和控制。
高通的显示框架中这个是怎么匹配的drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &panel, &panel_bridge);
在高通的DRM显示框架中,`drm_of_find_panel_or_bridge`函数的使用与标准的DRM框架类似,用于在设备树中查找与显示控制器相关的面板或桥接器节点。`drm_of_find_panel_or_bridge`函数的原型如下:
```c
int drm_of_find_panel_or_bridge(struct device_node *np,
int endpoint,
int port,
struct drm_panel **panel,
struct drm_bridge **bridge);
```
其中,`np`参数是要查找的设备树节点;`endpoint`和`port`参数用于指定查找的端口号和端口类型;`panel`和`bridge`参数用于返回查找到的面板和桥接器的指针。
在你提供的代码中,`dev->of_node`是一个指向设备树节点的指针,也就是`drm_of_find_panel_or_bridge`函数的第一个参数`np`。`1`是`endpoint`参数的值,表示查找的端口号为1;`0`是`port`参数的值,表示查找的端口类型为0(即DT_PORT_TYPE_ENDPOINT)。`&panel`和`&panel_bridge`分别是返回查找到的面板和桥接器的指针。
因此,这行代码的作用是在`dev->of_node`节点下查找端口号为1、类型为DT_PORT_TYPE_ENDPOINT的节点,并返回对应的面板和桥接器指针。如果查找成功,则返回0;否则返回负数错误码。
阅读全文