mirror of
https://github.com/lupyuen/nuttx-star64.git
synced 2025-01-13 05:08:31 +08:00
HDMI
This commit is contained in:
parent
8ab23b0deb
commit
815dd0a23f
1 changed files with 54 additions and 9 deletions
63
README.md
63
README.md
|
@ -5004,13 +5004,7 @@ TODO: What's inside the modetest app? [modetest.c](https://gitlab.freedesktop.or
|
||||||
|
|
||||||
# Call Flow for DC8200 Display Controller Driver
|
# Call Flow for DC8200 Display Controller Driver
|
||||||
|
|
||||||
TODO
|
Let's walk through the code in the Linux Driver for DC8200 Display Controller, to understand how we'll implement it in NuttX.
|
||||||
|
|
||||||
[dc_bind](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1421-L1573) calls..
|
|
||||||
|
|
||||||
- dc_init, which calls...
|
|
||||||
|
|
||||||
- dc_hw_init
|
|
||||||
|
|
||||||
```c
|
```c
|
||||||
struct platform_driver dc_platform_driver = {
|
struct platform_driver dc_platform_driver = {
|
||||||
|
@ -5020,7 +5014,22 @@ struct platform_driver dc_platform_driver = {
|
||||||
|
|
||||||
[(Source)](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1642-L1649)
|
[(Source)](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1642-L1649)
|
||||||
|
|
||||||
[dc_probe](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1595-L1629)
|
Probe for Display Controller: [dc_probe](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1595-L1629)
|
||||||
|
|
||||||
|
```c
|
||||||
|
const struct component_ops dc_component_ops = {
|
||||||
|
.bind = dc_bind,
|
||||||
|
.unbind = dc_unbind,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
[(Source)](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1584-L1587)
|
||||||
|
|
||||||
|
Bind to Display Controller: [dc_bind](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1421-L1573) calls..
|
||||||
|
|
||||||
|
- [dc_init](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L644-L722), which calls...
|
||||||
|
|
||||||
|
- [dc_hw_init](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L1301-L1361)
|
||||||
|
|
||||||
```c
|
```c
|
||||||
static const struct vs_crtc_funcs dc_crtc_funcs = {
|
static const struct vs_crtc_funcs dc_crtc_funcs = {
|
||||||
|
@ -5036,6 +5045,8 @@ static const struct vs_crtc_funcs dc_crtc_funcs = {
|
||||||
|
|
||||||
[(Source)](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1400-L1408)
|
[(Source)](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1400-L1408)
|
||||||
|
|
||||||
|
Enable Display Pipeline: [vs_dc_enable](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L740-L826)
|
||||||
|
|
||||||
```c
|
```c
|
||||||
static const struct vs_plane_funcs dc_plane_funcs = {
|
static const struct vs_plane_funcs dc_plane_funcs = {
|
||||||
.update = vs_dc_update_plane,
|
.update = vs_dc_update_plane,
|
||||||
|
@ -5046,7 +5057,41 @@ static const struct vs_plane_funcs dc_plane_funcs = {
|
||||||
|
|
||||||
[(Source)](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1410-L1414)
|
[(Source)](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1410-L1414)
|
||||||
|
|
||||||
[DRM Internals](https://www.kernel.org/doc/html/v4.15/gpu/drm-internals.html)
|
Update Display Plane: [vs_dc_update_plane](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1262-L1280) calls...
|
||||||
|
|
||||||
|
- [update_plane](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc.c#L1153-L1196)
|
||||||
|
|
||||||
|
Refer to [Linux DRM Internals](https://www.kernel.org/doc/html/v4.15/gpu/drm-internals.html)
|
||||||
|
|
||||||
|
# Call Flow for DC8200 Display Hardware Driver
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
Display Planes Info: [dc_hw_planes](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L472-L1084)
|
||||||
|
|
||||||
|
Display Controller Info: [dc_info](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L1086-L1150)
|
||||||
|
|
||||||
|
Update Display Plane: [dc_hw_update_plane](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L1368-L1399)
|
||||||
|
|
||||||
|
```c
|
||||||
|
static const struct dc_hw_funcs hw_func = {
|
||||||
|
.gamma = &gamma_ex_commit,
|
||||||
|
.plane = &plane_ex_commit,
|
||||||
|
.display = setup_display_ex,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
[(Source)](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L2032-L2036)
|
||||||
|
|
||||||
|
Setup Display: [setup_display_ex](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L1971-L2030)
|
||||||
|
|
||||||
|
[setup_display](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L1865-L1969)
|
||||||
|
|
||||||
|
Commit Display Plane: [plane_ex_commit](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L1768-L1863)
|
||||||
|
|
||||||
|
[plane_commit](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L1576-L1766)
|
||||||
|
|
||||||
|
Commit Display: [dc_hw_commit](https://github.com/starfive-tech/linux/blob/JH7110_VisionFive2_devel/drivers/gpu/drm/verisilicon/vs_dc_hw.c#L2038-L2076)
|
||||||
|
|
||||||
# Call Flow for HDMI Controller Driver
|
# Call Flow for HDMI Controller Driver
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue