[PATCH v2 1/1] drm/doc: document drm_mode_get_plane

Daniel Vetter daniel at ffwll.ch
Tue Apr 27 09:00:24 UTC 2021


On Tue, Apr 27, 2021 at 10:40:24AM +0300, Pekka Paalanen wrote:
> On Mon, 26 Apr 2021 14:30:53 -0300
> Leandro Ribeiro <leandro.ribeiro at collabora.com> wrote:
> 
> > On 4/26/21 7:58 AM, Simon Ser wrote:
> > > On Monday, April 26th, 2021 at 9:36 AM, Pekka Paalanen <ppaalanen at gmail.com> wrote:
> > >   
> > >>>> This should probably explain what the bits in the mask correspond to.
> > >>>> As in, which CRTC does bit 0 refer to, and so on.  
> > >>>
> > >>> What about:
> > >>>
> > >>> "possible_crtcs: Bitmask of CRTC's compatible with the plane. CRTC's are
> > >>> created and they receive an index, which corresponds to their position
> > >>> in the bitmask. CRTC with index 0 will be in bit 0, and so on."  
> > >>
> > >> This would still need to explain where can I find this index.  
> > >   
> > 
> > What do you mean?
> > 
> > > This closed merge request had some docs about possible CRTCs:
> > > 
> > > https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/102
> > >   
> > I'm afraid I don't know exactly what you expect to be documented here
> > that is still missing. Could you please elaborate?
> > 
> > Thanks a lot!
> 
> The documentation you add is talking about "CRTC index". What defines a
> CRTC object's index? How do I determine what index a CRTC object has?
> 
> The answer is, AFAIK, that the index is never stored explicitly
> anywhere. You have to get the DRM resources structure, which has an
> array for CRTC IDs. The index is the index to that array, IIRC. So if
> one does not already know this, it is going to be really hard to figure
> out what the "index" is. It might even be confused with the object ID,
> which it is not but the ID might by complete accident be less than 32
> so it would look ok at first glance.
> 
> If the index is already explained somewhere else, a reference to that
> documentation would be enough.

I think if we do this we should have a DOC: section in the drm_mode.h uapi
header which explains how the index is computed, and then we reference
that everywhere. Because otherwise there's going to be a _lot_ of
duplication of this all over. Kernel-internally we solve this by just
referencing drm_foo_index() family of functions, but for the uapi there's
really nothing, so needs text.

-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list