master/master.c
changeset 1451 78fbafbf08ba
parent 1436 08eaf72409bb
child 1483 43adf48aa157
equal deleted inserted replaced
1450:117f5497efd9 1451:78fbafbf08ba
   553     for (slave = master->slaves;
   553     for (slave = master->slaves;
   554             slave < master->slaves + master->slave_count;
   554             slave < master->slaves + master->slave_count;
   555             slave++) {
   555             slave++) {
   556         ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP);
   556         ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP);
   557     }
   557     }
       
   558 
   558 #ifdef EC_EOE
   559 #ifdef EC_EOE
   559     // ... but set EoE slaves to OP
   560     // ... but set EoE slaves to OP
   560     list_for_each_entry(eoe, &master->eoe_handlers, list) {
   561     list_for_each_entry(eoe, &master->eoe_handlers, list) {
   561         if (ec_eoe_is_open(eoe))
   562         if (ec_eoe_is_open(eoe))
   562             ec_slave_request_state(eoe->slave, EC_SLAVE_STATE_OP);
   563             ec_slave_request_state(eoe->slave, EC_SLAVE_STATE_OP);
  1546             return ret;
  1547             return ret;
  1547         }
  1548         }
  1548         domain_offset += domain->data_size;
  1549         domain_offset += domain->data_size;
  1549     }
  1550     }
  1550     
  1551     
       
  1552     // always set DC reference clock to OP
       
  1553     if (master->dc_ref_clock) {
       
  1554         ec_slave_request_state(master->dc_ref_clock, EC_SLAVE_STATE_OP);
       
  1555     }
       
  1556 
  1551     up(&master->master_sem);
  1557     up(&master->master_sem);
  1552 
  1558 
  1553     // restart EoE process and master thread with new locking
  1559     // restart EoE process and master thread with new locking
  1554 #ifdef EC_EOE
  1560 #ifdef EC_EOE
  1555     ec_master_eoe_stop(master);
  1561     ec_master_eoe_stop(master);