Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/soft 4831 HDMI #299

Open
wants to merge 9 commits into
base: dev/v6.8
Choose a base branch
from
Open

Conversation

taraant
Copy link

@taraant taraant commented Feb 19, 2025

Добавил поддержку HDMI на основе патчей Armbian.

Патчи Armbian взяты за основу, так как в ядре mainline еще нет полной поддержки HDMI для нашего чипа (только DE33).
HDMI с данными патчами работает из коробки (консоль по HDMI запускается при загрузке), для поддержки Xorg нужно поставить соответствующие пакеты. После установки Xorg также работает с HDMI из коробки.

Ondrej Jirman and others added 8 commits February 17, 2025 09:40
These structs are identical, use a single struct to represent private
data for the DRM plane. This is a preparation for configuring layer
routing from the CRTC (mixer) instead of current approach of setting
up routing from individual layer's atomic_update callback.

Signed-off-by: Ondrej Jirman <[email protected]>

file: drm-sun4i-Unify-sun8i_-_layer-structs.patch
These will be needed later on when we move layer configuration to
crtc update.

Signed-off-by: Ondrej Jirman <[email protected]>

file: drm-sun4i-Add-more-parameters-to-sunxi_engine-commit-callback.patch
Identical configurations of planes can lead to different (and wrong)
layer -> pipe routing at HW level, depending on the order of atomic
plane changes.

For example:

- Layer 1 is configured to zpos 0 and thus uses pipe 0. No other layer
  is enabled. This is a typical situation at boot.

- When a compositor takes over and layer 3 is enabled,
  sun8i_ui_layer_enable() will get called with old_zpos=0 zpos=1, which
  will lead to incorrect disabling of pipe 0 and enabling of pipe 1.

What happens is that sun8i_ui_layer_enable() function may disable
blender pipes even if it is no longer assigned to its layer.

To correct this, move the routing setup out of individual plane's
atomic_update into crtc's atomic_update, where it can be calculated
and updated all at once.

Remove the atomic_disable callback because it is no longer needed.

Signed-off-by: Ondrej Jirman <[email protected]>

file: drm-sun4i-Fix-layer-zpos-change-atomic-modesetting.patch
Add support for gamma corretion to sun4i TCON driver. Its LUT has 256
entries and can be updated only when gamma correction is disabled.

Signed-off-by: Vasily Khoruzhick <[email protected]>

file: drm-sun4i-Implement-gamma-correction.patch
For perfect, flickerless and fast boot.

Signed-off-by: Ondrej Jirman <[email protected]>

file: drm-sun4i-Support-taking-over-display-pipeline-state-from-p-boo.patch
file: drivers-hack-for-h616-hdmi-video-output.patch
Signed-off-by: Jernej Skrabec <[email protected]>

file: drv-soc-sunxi-sram-Add-SRAM-C1-H616-handling.patch
@taraant taraant requested a review from vdromanov February 19, 2025 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants