Lines Matching full:entity
245 const struct sdca_entity *entity, in find_sdca_control_label() argument
248 switch (SDCA_CTL_TYPE(entity->type, control->sel)) { in find_sdca_control_label()
538 static unsigned int find_sdca_control_bits(const struct sdca_entity *entity, in find_sdca_control_bits() argument
541 switch (SDCA_CTL_TYPE(entity->type, control->sel)) { in find_sdca_control_bits()
607 find_sdca_control_datatype(const struct sdca_entity *entity, in find_sdca_control_datatype() argument
610 switch (SDCA_CTL_TYPE(entity->type, control->sel)) { in find_sdca_control_datatype()
820 static int find_sdca_entity_control(struct device *dev, struct sdca_entity *entity, in find_sdca_entity_control() argument
830 entity->label, control->sel, ret); in find_sdca_entity_control()
839 entity->label, control->sel, ret); in find_sdca_entity_control()
852 entity->label, control->sel, ret); in find_sdca_entity_control()
876 entity->label, control->sel); in find_sdca_entity_control()
894 entity->label, control->sel, ret); in find_sdca_entity_control()
905 entity->label, control->sel, ret); in find_sdca_entity_control()
915 control->label = find_sdca_control_label(dev, entity, control); in find_sdca_entity_control()
919 control->type = find_sdca_control_datatype(entity, control); in find_sdca_entity_control()
920 control->nbits = find_sdca_control_bits(entity, control); in find_sdca_entity_control()
923 entity->label, control->label, control->sel, in find_sdca_entity_control()
933 struct sdca_entity *entity) in find_sdca_entity_controls() argument
944 dev_warn(dev, "%s: missing control list\n", entity->label); in find_sdca_entity_controls()
947 dev_err(dev, "%s: failed to read control list: %d\n", entity->label, ret); in find_sdca_entity_controls()
971 entity->label, control_property); in find_sdca_entity_controls()
977 ret = find_sdca_entity_control(dev, entity, control_node, &controls[i]); in find_sdca_entity_controls()
985 entity->num_controls = num_controls; in find_sdca_entity_controls()
986 entity->controls = controls; in find_sdca_entity_controls()
1017 struct sdca_entity *entity) in find_sdca_entity_iot() argument
1019 struct sdca_entity_iot *terminal = &entity->iot; in find_sdca_entity_iot()
1025 dev_err(dev, "%s: terminal type missing: %d\n", entity->label, ret); in find_sdca_entity_iot()
1048 entity->label, terminal->type, terminal->reference, in find_sdca_entity_iot()
1056 struct sdca_entity *entity) in find_sdca_entity_cs() argument
1058 struct sdca_entity_cs *clock = &entity->cs; in find_sdca_entity_cs()
1064 dev_err(dev, "%s: clock type missing: %d\n", entity->label, ret); in find_sdca_entity_cs()
1075 dev_info(dev, "%s: clock type %#x delay %d\n", entity->label, in find_sdca_entity_cs()
1083 struct sdca_entity *entity) in find_sdca_entity_pde() argument
1086 struct sdca_entity_pde *power = &entity->pde; in find_sdca_entity_pde()
1096 entity->label, num_delays); in find_sdca_entity_pde()
1100 entity->label, mult_delay); in find_sdca_entity_pde()
1104 entity->label); in find_sdca_entity_pde()
1129 dev_info(dev, "%s: from %#x to %#x delay %dus\n", entity->label, in find_sdca_entity_pde()
1152 struct sdca_entity *entity) in find_sdca_entity_ge() argument
1154 struct sdca_entity_ge *group = &entity->ge; in find_sdca_entity_ge()
1166 entity->label, num_affected); in find_sdca_entity_ge()
1170 entity->label); in find_sdca_entity_ge()
1221 dev_err(dev, "%s: malformed affected controls list\n", entity->label); in find_sdca_entity_ge()
1228 struct sdca_entity *entity) in find_sdca_entity() argument
1233 ret = fwnode_property_read_string(entity_node, "mipi-sdca-entity-label", in find_sdca_entity()
1234 &entity->label); in find_sdca_entity()
1236 dev_err(dev, "%pfwP: entity %#x: label missing: %d\n", in find_sdca_entity()
1237 function_node, entity->id, ret); in find_sdca_entity()
1241 ret = fwnode_property_read_u32(entity_node, "mipi-sdca-entity-type", &tmp); in find_sdca_entity()
1243 dev_err(dev, "%s: type missing: %d\n", entity->label, ret); in find_sdca_entity()
1247 entity->type = tmp; in find_sdca_entity()
1249 dev_info(dev, "%s: entity %#x type %#x\n", in find_sdca_entity()
1250 entity->label, entity->id, entity->type); in find_sdca_entity()
1252 switch (entity->type) { in find_sdca_entity()
1255 ret = find_sdca_entity_iot(dev, entity_node, entity); in find_sdca_entity()
1258 ret = find_sdca_entity_cs(dev, entity_node, entity); in find_sdca_entity()
1261 ret = find_sdca_entity_pde(dev, entity_node, entity); in find_sdca_entity()
1264 ret = find_sdca_entity_ge(dev, entity_node, entity); in find_sdca_entity()
1272 ret = find_sdca_entity_controls(dev, entity_node, entity); in find_sdca_entity()
1289 "mipi-sdca-entity-id-list"); in find_sdca_entities()
1291 dev_err(dev, "%pfwP: entity id list missing: %d\n", in find_sdca_entities()
1300 /* Add 1 to make space for Entity 0 */ in find_sdca_entities()
1309 fwnode_property_read_u32_array(function_node, "mipi-sdca-entity-id-list", in find_sdca_entities()
1322 "mipi-sdca-entity-id-0x%X-subproperties", entities[i].id); in find_sdca_entities()
1326 dev_err(dev, "%pfwP: entity node %s not found\n", in find_sdca_entities()
1338 * Add Entity 0 at end of the array, makes it easy to skip during in find_sdca_entities()
1339 * all the Entity searches involved in creating connections. in find_sdca_entities()
1359 struct sdca_entity *entity = &function->entities[i]; in find_sdca_entity_by_label() local
1361 if (!strcmp(entity->label, entity_label)) in find_sdca_entity_by_label()
1362 return entity; in find_sdca_entity_by_label()
1374 struct sdca_entity *entity = &function->entities[i]; in find_sdca_entity_by_id() local
1376 if (entity->id == id) in find_sdca_entity_by_id()
1377 return entity; in find_sdca_entity_by_id()
1386 struct sdca_entity *entity) in find_sdca_entity_connection_iot() argument
1388 struct sdca_entity_iot *terminal = &entity->iot; in find_sdca_entity_connection_iot()
1399 ret = fwnode_property_read_string(clock_node, "mipi-sdca-entity-label", in find_sdca_entity_connection_iot()
1402 dev_err(dev, "%s: clock label missing: %d\n", entity->label, ret); in find_sdca_entity_connection_iot()
1410 entity->label, clock_label); in find_sdca_entity_connection_iot()
1417 dev_info(dev, "%s -> %s\n", clock_entity->label, entity->label); in find_sdca_entity_connection_iot()
1426 struct sdca_entity *entity) in find_sdca_entity_connection_pde() argument
1428 struct sdca_entity_pde *power = &entity->pde; in find_sdca_entity_connection_pde()
1439 dev_err(dev, "%s: managed list missing: %d\n", entity->label, num_managed); in find_sdca_entity_connection_pde()
1443 entity->label); in find_sdca_entity_connection_pde()
1462 dev_err(dev, "%s: failed to find entity with id %#x\n", in find_sdca_entity_connection_pde()
1463 entity->label, managed_list[i]); in find_sdca_entity_connection_pde()
1467 dev_info(dev, "%s -> %s\n", managed[i]->label, entity->label); in find_sdca_entity_connection_pde()
1479 struct sdca_entity *entity) in find_sdca_entity_connection_ge() argument
1483 for (i = 0; i < entity->ge.num_modes; i++) { in find_sdca_entity_connection_ge()
1484 struct sdca_ge_mode *mode = &entity->ge.modes[i]; in find_sdca_entity_connection_ge()
1492 dev_err(dev, "%s: failed to find entity with id %#x\n", in find_sdca_entity_connection_ge()
1493 entity->label, affected->id); in find_sdca_entity_connection_ge()
1497 if (managed->group && managed->group != entity) { in find_sdca_entity_connection_ge()
1499 "%s: entity controlled by two groups %s, %s\n", in find_sdca_entity_connection_ge()
1501 entity->label); in find_sdca_entity_connection_ge()
1505 managed->group = entity; in find_sdca_entity_connection_ge()
1515 struct sdca_entity *entity) in find_sdca_entity_connection() argument
1522 switch (entity->type) { in find_sdca_entity_connection()
1526 entity_node, entity); in find_sdca_entity_connection()
1530 entity_node, entity); in find_sdca_entity_connection()
1534 entity_node, entity); in find_sdca_entity_connection()
1546 dev_warn(dev, "%s: missing pin list\n", entity->label); in find_sdca_entity_connection()
1549 dev_err(dev, "%s: failed to read pin list: %d\n", entity->label, ret); in find_sdca_entity_connection()
1554 * Function. Entity 0 is an illegal connection since it is used in find_sdca_entity_connection()
1557 dev_err(dev, "%s: pin 0 used as input\n", entity->label); in find_sdca_entity_connection()
1580 entity->label, pin_property); in find_sdca_entity_connection()
1584 ret = fwnode_property_read_string(connected_node, "mipi-sdca-entity-label", in find_sdca_entity_connection()
1588 entity->label, pin, ret); in find_sdca_entity_connection()
1595 dev_err(dev, "%s: failed to find entity with label %s\n", in find_sdca_entity_connection()
1596 entity->label, connected_label); in find_sdca_entity_connection()
1603 dev_info(dev, "%s -> %s\n", connected_entity->label, entity->label); in find_sdca_entity_connection()
1609 entity->num_sources = num_pins; in find_sdca_entity_connection()
1610 entity->sources = pins; in find_sdca_entity_connection()
1621 /* Entity 0 cannot have connections */ in find_sdca_connections()
1623 struct sdca_entity *entity = &function->entities[i]; in find_sdca_connections() local
1630 "mipi-sdca-entity-id-0x%X-subproperties", in find_sdca_connections()
1631 entity->id); in find_sdca_connections()
1635 dev_err(dev, "%pfwP: entity node %s not found\n", in find_sdca_connections()
1640 ret = find_sdca_entity_connection(dev, function, entity_node, entity); in find_sdca_connections()