aboutsummaryrefslogtreecommitdiffstats
path: root/executor/common_linux.h
diff options
context:
space:
mode:
authorStephen Boyd <swboyd@chromium.org>2023-05-05 08:29:34 -0700
committerGitHub <noreply@github.com>2023-05-05 15:29:34 +0000
commitde870ca5ea0b42afdf670fa407254dc617342cc3 (patch)
treec42e3087758b57a29877c31d3074eeb8afb0c0a2 /executor/common_linux.h
parentc3a7c73bd1b0178b31faabe4b2bc8afc5f0127e2 (diff)
sys/linux: dev_dri.txt updates (#3856)
* sys/linux: fix count_encoders The count_encoders field gives the length of the encoders_ptr field, not count_modes field. * sys/linux: make modes_ptr array of drm_mode_modeinfo structures The modes_ptr is actually some number of drm_mode_modeinfo structures, so make the array be properly sized. * sys/linux: make drm_crtc_id into a resource Calling the DRM_IOCTL_MODE_GETRESOURCES ioctl gets you available crtc ids. Make a resource for drm_crtc_id and use it instead of trying to guess the random number. Mark ioctl$DRM_IOCTL_MODE_GETPLANE as inout as well so that we know it outputs a drm_crtc_id. * sys/linux: make encoder_id into a resource Make a resource for the encoder_id so that the DRM_IOCTL_MODE_GETCONNECTOR ioctl can generate encoder ids. Otherwise you have to hope that the random int32 matches the allocated number from the kernel's idr. * sys/linux: make prop_id into a resource The DRM_IOCTL_MODE_GETCONNECTOR can be used to get available properties and their ids. Otherwise you have to hope that the random int32 matches the allocated number from the kernel's idr. Make this into a resource so it can be used in other places as a known value. * sys/linux: make connector_id into a resource Use the DRM_IOCTL_GETRESOURCES ioctl to get the connector id. Make the id into a resource so it can be used throughout instead of guessing the int32. Similarly mark DRM_IOCTL_GETRESOURCES pointer argument as 'inout' because the whole structure is an output that is used to get the resources associated with a card (or fd_dri). * sys/linux: make fb_id into a resource Use the DRM_IOCTL_GETRESOURCES ioctl to get the framebuffer id. Make the id into a resource so it can be used throughout instead of guessing the int32. * sys/linux: make a resource for base drm mode object The drm UAPI treats an object id as generic int32 in the DRM_IOCTL_MODE_OBJ_GETPROPERTIES ioctl. You use the id along with the type field to find the properties associated with a particular object. Make the object id be the base int32 that all other drm mode objects inherit from. * sys/linux: split DRM get/set crtc ioctls into two These ioctls use the same structure but in the "get" case everything besides the crtc_id is an output and the set_connectors_ptr is unused. Split the ioctls into two so we can describe the differences. * sys/linux: drm's DRM_IOCTL_VERSION takes an inout pointer This is actually an inout pointer. Mark it as such although this probably won't really do much because no resource is created by this ioctl. * sys/linux: indicate in and out for DRM_IOCTL_IRQ_BUSID Mark the structure argument to this ioctl as inout and indicate that the irq is the only element that is an output. This clarifies how this ioctl works, although it is deprecated and is largely useless. * sys/linux: handles for drm_mode_fb_cmd2 are GEM handles The handles member of drm_mode_fb_cmd2 is an array of 4 drm_gem_handle resources. Mark it as such. * sys/linux: mark pointer to DRM_IOCTL_MODE_GETPLANERESOURCES inout This ioctl is inout, because it gets the number of planes and their ids. * sys/linux: add DRM_IOCTL_MODE_GETFB2 ioctl This ioctl is missing from dev_dri.txt
Diffstat (limited to 'executor/common_linux.h')
0 files changed, 0 insertions, 0 deletions