Hi.

 82571/82572 spec update (I have Revision 6.9, December 2014) says:

        12: TCP Segmentation Offload Operations with Both Transmit Queues 
Enabled

        Clarification:

        When using TCP Segmentation Offload (TSO) with both Transmit Queues
        enabled, bits 6:0 “COUNT”in the TARC0 (0x03840) and TARC1 (0x3940)
        register must be set to 1 for proper operation. Failure to set COUNT=1
        can result in the Transmit flow of the 82571/82572 halting unexpectedly.

But, netdev.c in e1000e driver says:

>         /* errata: program both queues to unweighted RR */
>         if (adapter->flags & FLAG_TARC_SET_BIT_ZERO) {
>                 tarc = er32(TARC(0));
>                 tarc |= 1;
>                 ew32(TARC(0), tarc);
>                 tarc = er32(TARC(1));
>                 tarc |= 1;
>                 ew32(TARC(1), tarc);
>         }
> 
>         /* Setup Transmit Descriptor Settings for eop descriptor */
>         adapter->txd_cmd = E1000_TXD_CMD_EOP | E1000_TXD_CMD_IFCS;

Which is correct? The document says set "COUNT" to 1, but the code just set bit 
0 only.

 Is the clarification is not related to this code?

-- 
-----------------------------------------------
                SAITOH Masanobu (msai...@execsw.org
                                 msai...@netbsd.org)

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to