drmModeAtomicMerge
drmModeAtomicSetCursor
drmModeAttachMode
+drmModeConnectorGetPossibleCrtcs
drmModeConnectorSetProperty
drmModeCreateLease
drmModeCreatePropertyBlob
return _drmModeGetConnector(fd, connector_id, 0);
}
+drm_public uint32_t drmModeConnectorGetPossibleCrtcs(int fd,
+ const drmModeConnector *connector)
+{
+ drmModeEncoder *encoder;
+ int i;
+ uint32_t possible_crtcs;
+
+ possible_crtcs = 0;
+ for (i = 0; i < connector->count_encoders; i++) {
+ encoder = drmModeGetEncoder(fd, connector->encoders[i]);
+ if (!encoder) {
+ return 0;
+ }
+
+ possible_crtcs |= encoder->possible_crtcs;
+ drmModeFreeEncoder(encoder);
+ }
+
+ if (possible_crtcs == 0)
+ errno = ENOENT;
+ return possible_crtcs;
+}
+
drm_public int drmModeAttachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_info)
{
struct drm_mode_mode_cmd res;
uint32_t connector_id);
/**
+ * Get a bitmask of CRTCs a connector is compatible with.
+ *
+ * The bits reference CRTC indices. If the n-th CRTC is compatible with the
+ * connector, the n-th bit will be set. The indices are taken from the array
+ * returned by drmModeGetResources(). The indices are different from the object
+ * IDs.
+ *
+ * Zero is returned on error.
+ */
+extern uint32_t drmModeConnectorGetPossibleCrtcs(int fd,
+ const drmModeConnector *connector);
+
+/**
* Attaches the given mode to an connector.
*/
extern int drmModeAttachMode(int fd, uint32_t connectorId, drmModeModeInfoPtr mode_info);