Changeset 339737b in rtems


Ignore:
Timestamp:
Aug 10, 1998, 11:20:25 PM (21 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
7d07970
Parents:
0cac61e
Message:

Survives 16-20 packets. Appears to be ok on TX buffer management.
Problem appears to be on the RX buffer initialization side.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/dmv177/sonic/sonic.c

    r0cac61e r339737b  
    477477    free_p ((struct mbuf **)&dp->tdaTail->mbufp);
    478478
     479/*  XXX this does not help when you wrap
     480    dp->tdaTail->frag_count        = 1;
     481    dp->tdaTail->frag[0].frag_link = LSW(dp->tdaTail->link_pad);
     482*/
     483
    479484    /*
    480485     * Move to the next transmit descriptor
     
    640645   * Chain onto list and start transmission.
    641646   */
     647
    642648  tdp->linkp = &(fp+1)->frag_link;
    643649  *tdp->linkp = LSW(tdp->next) | TDA_LINK_EOL;
     
    957963  unsigned char *hwaddr;
    958964  rtems_isr_entry old_handler;
    959   TransmitDescriptorPointer_t otdp, tdp;
     965  TransmitDescriptorPointer_t tdp;
    960966  ReceiveDescriptorPointer_t ordp, rdp;
    961967  ReceiveResourcePointer_t rwp, rea;
     
    988994  printf( "tdaTail = %p\n", dp->tdaTail );
    989995#endif
    990   otdp = tdp = dp->tdaTail;
     996  tdp = dp->tdaTail;
    991997  for (i = 0 ; i < dp->tdaCount ; i++) {
    992998    /*
     
    9951001     */
    9961002
    997 /* XXX not used by other drivers
     1003/* XXX not used by other drivers we looked at
    9981004    if (i & 1)
    9991005      tdp->pkt_config = TDA_CONFIG_PINT;
     
    10031009    tdp->frag[0].frag_link = LSW(tdp + 1);
    10041010    tdp->link_pad          = LSW(tdp + 1) | TDA_LINK_EOL;
    1005     otdp->linkp            = &((tdp + 1)->frag[0].frag_link);
     1011    tdp->linkp             = &((tdp + 1)->frag[0].frag_link);
    10061012    tdp->next              = (TransmitDescriptor_t *)(tdp + 1);
    1007     otdp = tdp;
    10081013    tdp++;
    10091014  }
    1010   dp->tdaHead = otdp;  /* XXX why? */
    1011   otdp->link_pad = LSW(dp->tdaTail) | TDA_LINK_EOL;
    1012   otdp->next = (TransmitDescriptor_t *)dp->tdaTail;
    1013   otdp->linkp = &dp->tdaHead->frag[0].frag_link;
     1015  tdp--;
     1016  dp->tdaHead = tdp;
     1017  tdp->link_pad = LSW(dp->tdaTail) | TDA_LINK_EOL;
     1018  tdp->next = (TransmitDescriptor_t *)dp->tdaTail;
     1019  tdp->linkp = &dp->tdaTail->frag[0].frag_link;
    10141020
    10151021  /*
    10161022   *  Set up circular linked list in Receive Descriptor Area.
    1017    *  Leaves ordp pointing at the `end' of the list and
    1018    *  dp->rda pointing at the `beginning' of the list.
     1023   *  Leaves dp->rda pointing at the `beginning' of the list.
    10191024   *
    10201025   *  NOTE: The RDA and CDP must have the same MSW for their addresses.
Note: See TracChangeset for help on using the changeset viewer.