[PATCH 06/10] compositor-drm: Handle more than two output crtcs per card

Bill Spitzak spitzak at gmail.com
Tue Jun 30 10:06:24 PDT 2015


On Mon, Jun 29, 2015 at 2:06 PM, Mario Kleiner <mario.kleiner.de at gmail.com>
wrote:

>
> The bits are not a bit mask where a specific bit position corresponds to a
> specific pipe, but those bits encode a 5 bits wide pipe number between 0
> and (2^5)-1 ie. 0-31. The comment in the code snippet you show about bits
> 1-6 is a bit inaccurate, as it is only bits 1-5, looking at the
> DRM_VBLANK_HIGH_CRTC_MASK.
>
> You could address output->pipe 0 and 1 also with that code. The reason for
> the special case of pipe 0 and 1 is backwards compatibility with older
> kernels which didn't support passing in a pipe number, but instead had "no
> special flags" for pipe 0 and the DRM_VBLANK_SECONDARY flag for pipe 1. A
> leftover from the days when there were only single/dual-head graphis cards.
>
> But apart from that this is just code transplanted from the x-org video
> drivers which i tested at some point both on NVidia quad-head (nouveau) and
> AMD six-head gpu's (radeon).
>

Thank you. I can see now that this is a "request" being constructed and
thus it only has to describe one crtc at a time. I was picturing a word of
flags returned from the card that was being masked against and could not
see how using the number as a mask would make any sense.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20150630/1cfa5b7b/attachment-0001.html>


More information about the wayland-devel mailing list