253 // complete size in 32 bit blocks, rounded up. |
253 // complete size in 32 bit blocks, rounded up. |
254 complete_offset = remaining_size / 32 + 1; |
254 complete_offset = remaining_size / 32 + 1; |
255 } |
255 } |
256 |
256 |
257 #if EOE_DEBUG_LEVEL > 0 |
257 #if EOE_DEBUG_LEVEL > 0 |
258 EC_INFO("EoE %s TX sending fragment %i%s with %i octets (%i)." |
258 EC_INFO("EoE %s TX sending fragment %u%s with %u octets (%u)." |
259 " %i frames queued.\n", eoe->dev->name, eoe->tx_fragment_number, |
259 " %u frames queued.\n", eoe->dev->name, eoe->tx_fragment_number, |
260 last_fragment ? "" : "+", current_size, complete_offset, |
260 last_fragment ? "" : "+", current_size, complete_offset, |
261 eoe->tx_queued_frames); |
261 eoe->tx_queued_frames); |
262 #endif |
262 #endif |
263 |
263 |
264 #if EOE_DEBUG_LEVEL > 1 |
264 #if EOE_DEBUG_LEVEL > 1 |
447 fragment_number = EC_READ_U16(data + 2) & 0x003F; |
447 fragment_number = EC_READ_U16(data + 2) & 0x003F; |
448 fragment_offset = (EC_READ_U16(data + 2) >> 6) & 0x003F; |
448 fragment_offset = (EC_READ_U16(data + 2) >> 6) & 0x003F; |
449 frame_number = (EC_READ_U16(data + 2) >> 12) & 0x000F; |
449 frame_number = (EC_READ_U16(data + 2) >> 12) & 0x000F; |
450 |
450 |
451 #if EOE_DEBUG_LEVEL > 0 |
451 #if EOE_DEBUG_LEVEL > 0 |
452 EC_INFO("EoE %s RX fragment %i%s, offset %i, frame %i%s," |
452 EC_INFO("EoE %s RX fragment %u%s, offset %u, frame %u%s," |
453 " %i octets\n", eoe->dev->name, fragment_number, |
453 " %u octets\n", eoe->dev->name, fragment_number, |
454 last_fragment ? "" : "+", fragment_offset, frame_number, |
454 last_fragment ? "" : "+", fragment_offset, frame_number, |
455 time_appended ? ", + timestamp" : "", |
455 time_appended ? ", + timestamp" : "", |
456 time_appended ? rec_size - 8 : rec_size - 4); |
456 time_appended ? rec_size - 8 : rec_size - 4); |
457 #endif |
457 #endif |
458 |
458 |
535 eoe->state = ec_eoe_state_tx_start; |
535 eoe->state = ec_eoe_state_tx_start; |
536 } |
536 } |
537 else { |
537 else { |
538 eoe->rx_expected_fragment++; |
538 eoe->rx_expected_fragment++; |
539 #if EOE_DEBUG_LEVEL > 0 |
539 #if EOE_DEBUG_LEVEL > 0 |
540 EC_INFO("EoE %s RX expecting fragment %i\n", |
540 EC_INFO("EoE %s RX expecting fragment %u\n", |
541 eoe->dev->name, eoe->rx_expected_fragment); |
541 eoe->dev->name, eoe->rx_expected_fragment); |
542 #endif |
542 #endif |
543 eoe->state = ec_eoe_state_rx_start; |
543 eoe->state = ec_eoe_state_rx_start; |
544 } |
544 } |
545 } |
545 } |
701 ec_eoe_t *eoe = *((ec_eoe_t **) netdev_priv(dev)); |
701 ec_eoe_t *eoe = *((ec_eoe_t **) netdev_priv(dev)); |
702 ec_eoe_frame_t *frame; |
702 ec_eoe_frame_t *frame; |
703 |
703 |
704 #if 0 |
704 #if 0 |
705 if (skb->len > eoe->slave->sii.tx_mailbox_size - 10) { |
705 if (skb->len > eoe->slave->sii.tx_mailbox_size - 10) { |
706 EC_WARN("EoE TX frame (%i octets) exceeds MTU. dropping.\n", skb->len); |
706 EC_WARN("EoE TX frame (%u octets) exceeds MTU. dropping.\n", skb->len); |
707 dev_kfree_skb(skb); |
707 dev_kfree_skb(skb); |
708 eoe->stats.tx_dropped++; |
708 eoe->stats.tx_dropped++; |
709 return 0; |
709 return 0; |
710 } |
710 } |
711 #endif |
711 #endif |
727 eoe->tx_queue_active = 0; |
727 eoe->tx_queue_active = 0; |
728 } |
728 } |
729 spin_unlock_bh(&eoe->tx_queue_lock); |
729 spin_unlock_bh(&eoe->tx_queue_lock); |
730 |
730 |
731 #if EOE_DEBUG_LEVEL > 0 |
731 #if EOE_DEBUG_LEVEL > 0 |
732 EC_INFO("EoE %s TX queued frame with %i octets (%i frames queued).\n", |
732 EC_INFO("EoE %s TX queued frame with %u octets (%u frames queued).\n", |
733 eoe->dev->name, skb->len, eoe->tx_queued_frames); |
733 eoe->dev->name, skb->len, eoe->tx_queued_frames); |
734 if (!eoe->tx_queue_active) |
734 if (!eoe->tx_queue_active) |
735 EC_WARN("EoE TX queue is now full.\n"); |
735 EC_WARN("EoE TX queue is now full.\n"); |
736 #endif |
736 #endif |
737 |
737 |