Skip to content

Conversation

@6by9
Copy link
Contributor

@6by9 6by9 commented Oct 15, 2020

Maxime's latest patches for muxing.
Phil's missing patch for disabling HDMI audio.
A new patch that allows dumping out the dlists for debug purposes.

mripard and others added 6 commits October 15, 2020 09:46
The code that assigns HVS channels during atomic_check is starting to grow
a bit big, let's move it into a separate function.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Reviewed-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
We've had a number of muxing corner-cases with specific ways to reproduce
them, so let's document them to make sure they aren't lost and introduce
regressions later on.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
The current HVS muxing code will consider the CRTCs in a given state to
setup their muxing in the HVS, and disable the other CRTCs muxes.

However, it's valid to only update a single CRTC with a state, and in this
situation we would mux out a CRTC that was enabled but left untouched by
the new state.

Fix this by considering all the CRTCs in the state and the ones with a
state and active.

Fixes: 87ebcd4 ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
If a CRTC is enabled but not active, and that we're then doing a page flip
on another CRTC, drm_atomic_get_crtc_state will bring the first CRTC state
into the global state, and will make us wait for its vblank as well, even
though that might never occur.

Fix this by considering all the enabled CRTCs by either using their new
state in the global state, or using their current state if they aren't part
of the new state being checked, to remove their assigned channel from the
pool before started to assign channels to CRTCs enabled by the state.

Fixes: 87ebcd4 ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Overlays are unable to remove properties in the base DTB, but they
can overwrite them. Allow a present but empty 'dmas' property
to also disable the HDMI audio interface.

See: raspberrypi#2489

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
This allows easy analysis of display lists when debugging.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
@popcornmix
Copy link
Collaborator

Works for me. dlist debug is nice to have (need to get a dlist parser...)

@6by9
Copy link
Contributor Author

6by9 commented Oct 15, 2020

(need to get a dlist parser...)

Tim G wrote one for both vc4 and vc5 during bringup, and I've tweaked as it didn't handle all the use cases. We ought to push it somewhere (private or public?)

@pelwell pelwell merged commit e2474e1 into raspberrypi:rpi-5.9.y Oct 15, 2020
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Oct 16, 2020
kernel: configs: Enable exFAT filesystem support
See: raspberrypi/linux#3901

kernel: Rpi 5.9.y - KMS updates
See: raspberrypi/linux#3904
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this pull request Oct 19, 2020
kernel: configs: Enable exFAT filesystem support
See: raspberrypi/linux#3901

kernel: Rpi 5.9.y - KMS updates
See: raspberrypi/linux#3904
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.

4 participants