Lines Matching refs:component
175 struct vchiq_mmal_component component[VCHIQ_MMAL_MAX_COMPONENTS]; member
417 m.u.buffer_from_host.drvbuf.component_handle = port->component->handle; in buffer_from_host()
787 m.u.port_info_set.component_handle = port->component->handle; in port_info_set()
824 port->component->handle, port->handle); in port_info_set()
843 m.u.port_info_get.component_handle = port->component->handle; in port_info_get()
920 __func__, ret, port->component->handle, port->handle); in port_info_get()
929 struct vchiq_mmal_component *component, in create_component() argument
939 m.u.component_create.client_component = component->client_component; in create_component()
961 component->handle = rmsg->u.component_create_reply.component_handle; in create_component()
962 component->inputs = rmsg->u.component_create_reply.input_num; in create_component()
963 component->outputs = rmsg->u.component_create_reply.output_num; in create_component()
964 component->clocks = rmsg->u.component_create_reply.clock_num; in create_component()
967 component->handle, in create_component()
968 component->inputs, component->outputs, component->clocks); in create_component()
978 struct vchiq_mmal_component *component) in destroy_component() argument
986 m.u.component_destroy.component_handle = component->handle; in destroy_component()
1011 struct vchiq_mmal_component *component) in enable_component() argument
1019 m.u.component_enable.component_handle = component->handle; in enable_component()
1043 struct vchiq_mmal_component *component) in disable_component() argument
1051 m.u.component_disable.component_handle = component->handle; in disable_component()
1117 m.u.port_action_port.component_handle = port->component->handle; in port_action_port()
1139 ret, port->component->handle, port->handle, in port_action_port()
1162 m.u.port_action_handle.component_handle = port->component->handle; in port_action_handle()
1186 ret, port->component->handle, port->handle, in port_action_handle()
1207 m.u.port_parameter_set.component_handle = port->component->handle; in port_parameter_set()
1229 ret, port->component->handle, port->handle, parameter_id); in port_parameter_set()
1248 m.u.port_parameter_get.component_handle = port->component->handle; in port_parameter_get()
1288 ret, port->component->handle, port->handle, parameter_id); in port_parameter_get()
1528 src->connected->component->handle, in vchiq_mmal_port_connect_tunnel()
1573 dst->component->handle, dst->handle); in vchiq_mmal_port_connect_tunnel()
1576 src->component->handle, src->handle, in vchiq_mmal_port_connect_tunnel()
1577 dst->component->handle, dst->handle); in vchiq_mmal_port_connect_tunnel()
1643 struct vchiq_mmal_component *component = NULL; in vchiq_mmal_component_init() local
1649 if (!instance->component[idx].in_use) { in vchiq_mmal_component_init()
1650 component = &instance->component[idx]; in vchiq_mmal_component_init()
1651 component->in_use = true; in vchiq_mmal_component_init()
1656 if (!component) { in vchiq_mmal_component_init()
1665 component->client_component = idx; in vchiq_mmal_component_init()
1667 ret = create_component(instance, component, name); in vchiq_mmal_component_init()
1675 component->control.type = MMAL_PORT_TYPE_CONTROL; in vchiq_mmal_component_init()
1676 component->control.index = 0; in vchiq_mmal_component_init()
1677 component->control.component = component; in vchiq_mmal_component_init()
1678 spin_lock_init(&component->control.slock); in vchiq_mmal_component_init()
1679 INIT_LIST_HEAD(&component->control.buffers); in vchiq_mmal_component_init()
1680 ret = port_info_get(instance, &component->control); in vchiq_mmal_component_init()
1684 for (idx = 0; idx < component->inputs; idx++) { in vchiq_mmal_component_init()
1685 component->input[idx].type = MMAL_PORT_TYPE_INPUT; in vchiq_mmal_component_init()
1686 component->input[idx].index = idx; in vchiq_mmal_component_init()
1687 component->input[idx].component = component; in vchiq_mmal_component_init()
1688 spin_lock_init(&component->input[idx].slock); in vchiq_mmal_component_init()
1689 INIT_LIST_HEAD(&component->input[idx].buffers); in vchiq_mmal_component_init()
1690 ret = port_info_get(instance, &component->input[idx]); in vchiq_mmal_component_init()
1695 for (idx = 0; idx < component->outputs; idx++) { in vchiq_mmal_component_init()
1696 component->output[idx].type = MMAL_PORT_TYPE_OUTPUT; in vchiq_mmal_component_init()
1697 component->output[idx].index = idx; in vchiq_mmal_component_init()
1698 component->output[idx].component = component; in vchiq_mmal_component_init()
1699 spin_lock_init(&component->output[idx].slock); in vchiq_mmal_component_init()
1700 INIT_LIST_HEAD(&component->output[idx].buffers); in vchiq_mmal_component_init()
1701 ret = port_info_get(instance, &component->output[idx]); in vchiq_mmal_component_init()
1706 for (idx = 0; idx < component->clocks; idx++) { in vchiq_mmal_component_init()
1707 component->clock[idx].type = MMAL_PORT_TYPE_CLOCK; in vchiq_mmal_component_init()
1708 component->clock[idx].index = idx; in vchiq_mmal_component_init()
1709 component->clock[idx].component = component; in vchiq_mmal_component_init()
1710 spin_lock_init(&component->clock[idx].slock); in vchiq_mmal_component_init()
1711 INIT_LIST_HEAD(&component->clock[idx].buffers); in vchiq_mmal_component_init()
1712 ret = port_info_get(instance, &component->clock[idx]); in vchiq_mmal_component_init()
1717 *component_out = component; in vchiq_mmal_component_init()
1724 destroy_component(instance, component); in vchiq_mmal_component_init()
1726 if (component) in vchiq_mmal_component_init()
1727 component->in_use = false; in vchiq_mmal_component_init()
1738 struct vchiq_mmal_component *component) in vchiq_mmal_component_finalise() argument
1745 if (component->enabled) in vchiq_mmal_component_finalise()
1746 ret = disable_component(instance, component); in vchiq_mmal_component_finalise()
1748 ret = destroy_component(instance, component); in vchiq_mmal_component_finalise()
1750 component->in_use = false; in vchiq_mmal_component_finalise()
1762 struct vchiq_mmal_component *component) in vchiq_mmal_component_enable() argument
1769 if (component->enabled) { in vchiq_mmal_component_enable()
1774 ret = enable_component(instance, component); in vchiq_mmal_component_enable()
1776 component->enabled = true; in vchiq_mmal_component_enable()
1788 struct vchiq_mmal_component *component) in vchiq_mmal_component_disable() argument
1795 if (!component->enabled) { in vchiq_mmal_component_disable()
1800 ret = disable_component(instance, component); in vchiq_mmal_component_disable()
1802 component->enabled = false; in vchiq_mmal_component_disable()