drm_bridge_add
时间: 2023-06-21 11:12:55 浏览: 93
`drm_bridge_add` 是一个函数,用于将一个 DRM 桥连接到 DRM 子系统中。DRM 桥是连接两个不同的显示管道,例如从 HDMI 到 DisplayPort,或者从 LVDS 到 eDP 等。这个函数会将桥连到 DRM 子系统的桥链表中,并将桥的模式设置为默认模式。该函数的原型如下:
```
int drm_bridge_add(struct drm_bridge *bridge);
```
其中,`struct drm_bridge` 是一个表示 DRM 桥的结构体,包含了桥的属性和方法等信息。返回值为 0 表示成功,否则表示失败。
相关问题
drm_bridge_funcs
`drm_bridge_funcs` 是一个结构体,用于定义 DRM 框架中桥接器(bridge)设备的操作函数。它包含一组函数指针,每个指针指向一个特定的操作函数,这些函数可以被桥接器驱动程序实现,以实现特定的操作。
下面是 `drm_bridge_funcs` 结构体的定义:
```
struct drm_bridge_funcs {
int (*attach)(struct drm_bridge *bridge,
enum drm_bridge_attach_flags flags);
void (*mode_set)(struct drm_bridge *bridge,
struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode);
void (*mode_fixup)(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode);
void (*mode_set_nofb)(struct drm_bridge *bridge,
const struct drm_display_mode *mode);
void (*disable)(struct drm_bridge *bridge);
void (*post_disable)(struct drm_bridge *bridge);
void (*pre_enable)(struct drm_bridge *bridge);
void (*enable)(struct drm_bridge *bridge);
void (*post_enable)(struct drm_bridge *bridge);
void (*mode_valid)(struct drm_bridge *bridge,
const struct drm_display_info *info,
const struct drm_display_mode *mode);
enum drm_mode_status (*mode_valid_crts)(struct drm_bridge *bridge,
const struct drm_display_info *info,
const struct drm_display_mode *mode);
};
```
这些操作函数的功能如下:
- `attach`:将桥接器连接到 CRTC,启用桥接器。
- `mode_set`:在 CRTC 上设置显示模式和调整显示模式。
- `mode_fixup`:根据显示模式调整显示模式。
- `mode_set_nofb`:在没有帧缓冲(framebuffer)的情况下设置显示模式。
- `disable`:停用桥接器。
- `post_disable`:桥接器停用后执行的操作。
- `pre_enable`:启用桥接器前执行的操作。
- `enable`:启用桥接器。
- `post_enable`:桥接器启用后执行的操作。
- `mode_valid`:检查显示模式是否有效。
- `mode_valid_crts`:检查显示模式是否有效,并返回相应的 `drm_mode_status`。
这些操作函数是桥接器驱动程序必须实现的函数,以便与 DRM 框架进行交互。
kernel_platform/msm-kernel/drivers/gpu/drm/bridge/drm_bridge.c启动到什么作用
kernel_platform/msm-kernel/drivers/gpu/drm/bridge/drm_bridge.c是DRM桥接器(bridge)核心驱动文件,其作用是提供一种机制,用于将不同的显示管道和输出设备连接起来。
在DRM图形显示框架中,桥接器是一种用于连接不同显示管道的组件。它通常位于显示管道的输出端,用于将图像信号传输到外部显示设备上。例如,如果需要将图像信号从显示控制器传输到HDMI接口,则需要使用一个HDMI桥接器。
drm_bridge.c驱动文件提供了桥接器的核心功能,包括桥接器的注册、初始化、配置等操作。在初始化过程中,它会注册到DRM子系统中,并提供一些桥接器函数接口,例如drm_bridge_attach、drm_bridge_mode_set等,以实现桥接器的连接和配置。
此外,drm_bridge.c还提供了一些桥接器的驱动程序接口,例如drm_bridge_add、drm_bridge_remove等,可以用于注册和注销各种不同类型的桥接器驱动程序。这些驱动程序包含了各种桥接器的特定实现,例如HDMI桥接器驱动程序、DP桥接器驱动程序等。
因此,drm_bridge.c驱动文件为DRM桥接器提供了核心的支持,是DRM图形显示框架中不可或缺的一部分。