]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Implement drivers for NVIDIA tegra124 display controller, HDMI source
authorMichal Meloun <mmel@FreeBSD.org>
Mon, 26 Dec 2016 14:36:05 +0000 (14:36 +0000)
committerMichal Meloun <mmel@FreeBSD.org>
Mon, 26 Dec 2016 14:36:05 +0000 (14:36 +0000)
commita0a23564a31e5cf25bc898b2c339e39b4836a440
treebad9cd5ca195bc5e864d84c5f576368aa45bb4a7
parent02fe53a49ff700498b98ebbd0157fbbb1f3db8e7
Implement drivers for NVIDIA tegra124 display controller, HDMI source
and host1x module. Unfortunately, tegra124 SoC doesn't have 2D acceleration
engine and 3D requires not yet started nouveau driver.

These drivers forms a first non-x86 DRM2 enabled graphic stack.

Note, there are 2 outstanding issues:
 - The code uses gross hack in order to be comply with
   OBJT_MGTDEVICE pager. (See tegra_bo_init_pager() in tegra_bo.c)
 - Due to improper(probably) refcounting in drm_gem_mmap_single()
   (in drm_gem.c), the gem objects are never released.
I hope that I will be able to address both issues in finite time,
but I don't want to touch x86 world now.

MFC after: 1 month
15 files changed:
sys/arm/conf/TEGRA124
sys/arm/nvidia/drm2/hdmi.c [new file with mode: 0644]
sys/arm/nvidia/drm2/hdmi.h [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_bo.c [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_dc.c [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_dc_if.m [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_dc_reg.h [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_drm.h [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_drm_if.m [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_drm_subr.c [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_fb.c [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_hdmi.c [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_hdmi_reg.h [new file with mode: 0644]
sys/arm/nvidia/drm2/tegra_host1x.c [new file with mode: 0644]
sys/arm/nvidia/tegra124/files.tegra124