master/domain.c
changeset 1543 373cd456dc26
parent 1363 11c0b2caa253
child 1553 4e8d56d6f12a
equal deleted inserted replaced
1528:dbc617badc33 1543:373cd456dc26
   116 
   116 
   117     domain->data_size += fmmu->data_size;
   117     domain->data_size += fmmu->data_size;
   118     list_add_tail(&fmmu->list, &domain->fmmu_configs);
   118     list_add_tail(&fmmu->list, &domain->fmmu_configs);
   119 
   119 
   120     if (domain->master->debug_level)
   120     if (domain->master->debug_level)
   121         EC_DBG("Domain %u: Added %u bytes, total %u.\n", domain->index,
   121         EC_DBG("Domain %u: Added %u bytes, total %zu.\n", domain->index,
   122                 fmmu->data_size, domain->data_size);
   122                 fmmu->data_size, domain->data_size);
   123 }
   123 }
   124 
   124 
   125 /*****************************************************************************/
   125 /*****************************************************************************/
   126 
   126 
   211     domain->logical_base_address = base_address;
   211     domain->logical_base_address = base_address;
   212 
   212 
   213     if (domain->data_size && domain->data_origin == EC_ORIG_INTERNAL) {
   213     if (domain->data_size && domain->data_origin == EC_ORIG_INTERNAL) {
   214         if (!(domain->data =
   214         if (!(domain->data =
   215                     (uint8_t *) kmalloc(domain->data_size, GFP_KERNEL))) {
   215                     (uint8_t *) kmalloc(domain->data_size, GFP_KERNEL))) {
   216             EC_ERR("Failed to allocate %u bytes internal memory for"
   216             EC_ERR("Failed to allocate %zu bytes internal memory for"
   217                     " domain %u!\n", domain->data_size, domain->index);
   217                     " domain %u!\n", domain->data_size, domain->index);
   218             return -ENOMEM;
   218             return -ENOMEM;
   219         }
   219         }
   220     }
   220     }
   221 
   221 
   265         if (ret < 0)
   265         if (ret < 0)
   266             return ret;
   266             return ret;
   267         datagram_count++;
   267         datagram_count++;
   268     }
   268     }
   269 
   269 
   270     EC_INFO("Domain%u: Logical address 0x%08x, %u byte, "
   270     EC_INFO("Domain%u: Logical address 0x%08x, %zu byte, "
   271             "expected working counter %u.\n", domain->index,
   271             "expected working counter %u.\n", domain->index,
   272             domain->logical_base_address, domain->data_size,
   272             domain->logical_base_address, domain->data_size,
   273             domain->expected_working_counter);
   273             domain->expected_working_counter);
   274     list_for_each_entry(datagram, &domain->datagrams, list) {
   274     list_for_each_entry(datagram, &domain->datagrams, list) {
   275         EC_INFO("  Datagram %s: Logical offset 0x%08x, %u byte, type %s.\n",
   275         EC_INFO("  Datagram %s: Logical offset 0x%08x, %zu byte, type %s.\n",
   276                 datagram->name, EC_READ_U32(datagram->address),
   276                 datagram->name, EC_READ_U32(datagram->address),
   277                 datagram->data_size, ec_datagram_type_string(datagram));
   277                 datagram->data_size, ec_datagram_type_string(datagram));
   278     }
   278     }
   279     
   279     
   280     return 0;
   280     return 0;
   326     const ec_pdo_entry_reg_t *reg;
   326     const ec_pdo_entry_reg_t *reg;
   327     ec_slave_config_t *sc;
   327     ec_slave_config_t *sc;
   328     int ret;
   328     int ret;
   329     
   329     
   330     if (domain->master->debug_level)
   330     if (domain->master->debug_level)
   331         EC_DBG("ecrt_domain_reg_pdo_entry_list(domain = 0x%x, regs = 0x%x)\n",
   331         EC_DBG("ecrt_domain_reg_pdo_entry_list(domain = 0x%p, regs = 0x%p)\n",
   332                 (u32) domain, (u32) regs);
   332                 domain, regs);
   333 
   333 
   334     for (reg = regs; reg->index; reg++) {
   334     for (reg = regs; reg->index; reg++) {
   335         sc = ecrt_master_slave_config_err(domain->master, reg->alias,
   335         sc = ecrt_master_slave_config_err(domain->master, reg->alias,
   336                 reg->position, reg->vendor_id, reg->product_code);
   336                 reg->position, reg->vendor_id, reg->product_code);
   337         if (IS_ERR(sc))
   337         if (IS_ERR(sc))
   358 /*****************************************************************************/
   358 /*****************************************************************************/
   359 
   359 
   360 void ecrt_domain_external_memory(ec_domain_t *domain, uint8_t *mem)
   360 void ecrt_domain_external_memory(ec_domain_t *domain, uint8_t *mem)
   361 {
   361 {
   362     if (domain->master->debug_level)
   362     if (domain->master->debug_level)
   363         EC_DBG("ecrt_domain_external_memory(domain = 0x%x, mem = 0x%x)\n",
   363         EC_DBG("ecrt_domain_external_memory(domain = 0x%p, mem = 0x%p)\n",
   364                 (u32) domain, (u32) mem);
   364                 domain, mem);
   365 
   365 
   366     down(&domain->master->master_sem);
   366     down(&domain->master->master_sem);
   367 
   367 
   368     ec_domain_clear_data(domain);
   368     ec_domain_clear_data(domain);
   369 
   369