Lines Matching full:controls
3 * uvc_ctrl.c -- USB Video Class driver - Controls
36 * Controls
377 * For controls of type UVC_CTRL_DATA_TYPE_BITMASK, the UVC control value is
381 * control, which includes all controls whose type isn't UVC_CTRL_DATA_TYPE_ENUM
898 * UVC Controls
913 ctrl = &entity->controls[i]; in __uvc_find_control()
1000 * GET_RES is mandatory for XU controls, but some in uvc_ctrl_populate_cache()
1145 * For set operations on slave controls, check if the master's value is set to
1146 * manual, either in the others controls set in the same ioctl call, or from
1185 if (ctrls->controls[i].id == mapping->master_id) in uvc_ctrl_is_accessible()
1186 return ctrls->controls[i].value == in uvc_ctrl_is_accessible()
1221 * Some controls, like CT_AE_MODE_CONTROL, use GET_RES to represent in uvc_get_ctrl_bitmap()
1222 * the number of bits supported. Those controls do not list GET_MAX in uvc_get_ctrl_bitmap()
1383 * Mapping V4L2 controls to UVC controls can be straightforward if done well.
1384 * Most of the UVC controls exist in V4L2, and can be mapped directly. Some
1386 * Balance V4L2 controls use the White Balance Component UVC control) or
1388 * table for the controls that can be mapped directly, and handle the others
1488 * @handle can be NULL for asynchronous events related to auto-update controls,
1773 * To make extended set operations as atomic as the hardware allows, controls
1785 * After processing all controls in the transaction, uvc_ctrl_commit or
1787 * hardware or revert them. When applying changes, all controls marked as
1789 * cleared. When reverting controls, the control data field
1791 * (UVC_CTRL_DATA_BACKUP) for all dirty controls. Both functions release the
1813 ctrl = &entity->controls[i]; in uvc_ctrl_commit_entity()
1818 * Reset the loaded flag for auto-update controls that were in uvc_ctrl_commit_entity()
1821 * controls to prevent uvc_ctrl_set from setting bits not in uvc_ctrl_commit_entity()
1872 __uvc_find_control(entity, ctrls->controls[i].id, &mapping, in uvc_ctrl_find_ctrl_idx()
1903 uvc_ctrl_send_events(handle, ctrls->controls, ctrls->count); in __uvc_ctrl_commit()
2001 * UVC controls that support it. in uvc_ctrl_set()
2048 * Dynamic controls
2132 * Query control information (size and flags) for XU controls.
2242 ctrl = &entity->controls[i]; in uvc_xu_ctrl_query()
2339 * Restore control values after resume, skipping controls that haven't been
2343 * - Don't restore modified controls that are back to their default value.
2354 /* Walk the entities list and restore controls when possible. */ in uvc_ctrl_restore_values()
2358 ctrl = &entity->controls[i]; in uvc_ctrl_restore_values()
2509 ctrl = &entity->controls[i]; in uvc_ctrl_add_mapping()
2525 /* Perform delayed initialization of XU controls */ in uvc_ctrl_add_mapping()
2569 * Prune an entity of its bogus controls using a blacklist. Bogus controls
2594 u8 *controls; in uvc_ctrl_prune_entity() local
2600 controls = entity->processing.bmControls; in uvc_ctrl_prune_entity()
2607 controls = entity->camera.bmControls; in uvc_ctrl_prune_entity()
2620 !uvc_test_bit(controls, blacklist[i].index)) in uvc_ctrl_prune_entity()
2627 uvc_clear_bit(controls, blacklist[i].index); in uvc_ctrl_prune_entity()
2642 * XU controls initialization requires querying the device for control in uvc_ctrl_init_ctrl()
2644 * repeatedly in a tight loop, delay XU controls initialization until in uvc_ctrl_init_ctrl()
2660 * GET_INFO on standard controls. in uvc_ctrl_init_ctrl()
2718 * Initialize device controls.
2725 /* Walk the entities list and instantiate controls */ in uvc_ctrl_init_chain()
2745 /* Remove bogus/blacklisted controls */ in uvc_ctrl_init_chain()
2748 /* Count supported controls and allocate the controls array */ in uvc_ctrl_init_chain()
2753 entity->controls = kcalloc(ncontrols, sizeof(*ctrl), in uvc_ctrl_init_chain()
2755 if (entity->controls == NULL) in uvc_ctrl_init_chain()
2759 /* Initialize all supported controls */ in uvc_ctrl_init_chain()
2760 ctrl = entity->controls; in uvc_ctrl_init_chain()
2803 if (entity->controls[i].handle != handle) in uvc_ctrl_cleanup_fh()
2805 uvc_ctrl_set_handle(handle, &entity->controls[i], NULL); in uvc_ctrl_cleanup_fh()
2813 * Cleanup device controls.
2838 /* Free controls and control mappings for all entities. */ in uvc_ctrl_cleanup_device()
2841 struct uvc_control *ctrl = &entity->controls[i]; in uvc_ctrl_cleanup_device()
2850 kfree(entity->controls); in uvc_ctrl_cleanup_device()