Home | History | Annotate | Download | only in dist

Lines Matching defs:conn

510 	struct drm_mode_get_connector conn, counts;
514 memclear(conn);
515 conn.connector_id = connector_id;
517 conn.count_modes = 1;
518 conn.modes_ptr = VOID2U64(&stack_mode);
521 if (drmIoctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, &conn))
525 counts = conn;
527 if (conn.count_props) {
528 conn.props_ptr = VOID2U64(drmMalloc(conn.count_props*sizeof(uint32_t)));
529 if (!conn.props_ptr)
531 conn.prop_values_ptr = VOID2U64(drmMalloc(conn.count_props*sizeof(uint64_t)));
532 if (!conn.prop_values_ptr)
536 if (conn.count_modes) {
537 conn.modes_ptr = VOID2U64(drmMalloc(conn.count_modes*sizeof(struct drm_mode_modeinfo)));
538 if (!conn.modes_ptr)
541 conn.count_modes = 1;
542 conn.modes_ptr = VOID2U64(&stack_mode);
545 if (conn.count_encoders) {
546 conn.encoders_ptr = VOID2U64(drmMalloc(conn.count_encoders*sizeof(uint32_t)));
547 if (!conn.encoders_ptr)
551 if (drmIoctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, &conn))
558 if (counts.count_props < conn.count_props ||
559 counts.count_modes < conn.count_modes ||
560 counts.count_encoders < conn.count_encoders) {
561 drmFree(U642VOID(conn.props_ptr));
562 drmFree(U642VOID(conn.prop_values_ptr));
563 if (U642VOID(conn.modes_ptr) != &stack_mode)
564 drmFree(U642VOID(conn.modes_ptr));
565 drmFree(U642VOID(conn.encoders_ptr));
574 r->connector_id = conn.connector_id;
575 r->encoder_id = conn.encoder_id;
576 r->connection = conn.connection;
577 r->mmWidth = conn.mm_width;
578 r->mmHeight = conn.mm_height;
580 r->subpixel = conn.subpixel + 1;
581 r->count_modes = conn.count_modes;
582 r->count_props = conn.count_props;
583 r->props = drmAllocCpy(U642VOID(conn.props_ptr), conn.count_props, sizeof(uint32_t));
584 r->prop_values = drmAllocCpy(U642VOID(conn.prop_values_ptr), conn.count_props, sizeof(uint64_t));
585 r->modes = drmAllocCpy(U642VOID(conn.modes_ptr), conn.count_modes, sizeof(struct drm_mode_modeinfo));
586 r->count_encoders = conn.count_encoders;
587 r->encoders = drmAllocCpy(U642VOID(conn.encoders_ptr), conn.count_encoders, sizeof(uint32_t));
588 r->connector_type = conn.connector_type;
589 r->connector_type_id = conn.connector_type_id;
604 drmFree(U642VOID(conn.prop_values_ptr));
605 drmFree(U642VOID(conn.props_ptr));
606 if (U642VOID(conn.modes_ptr) != &stack_mode)
607 drmFree(U642VOID(conn.modes_ptr));
608 drmFree(U642VOID(conn.encoders_ptr));