Problems with Ethernet on PowerBook Wallstreet G3

Benjamin Herrenschmidt bh40 at calva.net
Thu Apr 13 04:25:47 EST 2000


Browsing the Darwin bmac driver source, I found some interesting comments:

 /*-------------------------------------------------------------------------
 * Work around a hardware bug where the controller will receive
 * unicast packets not directed to the station. The hardware is
 * erroneously using the hash table to qualify the unicast address.
 * This routine will check that the packet is unicast, and if so,
 * makes sure that the unicast address matches the station's address.
 * Thus function returns true if the packet should be rejected.
 *-------------------------------------------------------------------------*/

(This unicast filter workaround is enabled when the PCI device-id of the
chip is 0x10)


      /*
       * On the transmit side, we use the chipset interrupt. Using the
	   * transmit DMA interrupt (or having multiple transmit DMA entries)
	   * would allows us to send the next frame to the chipset prior the
	   * transmit fifo going empty.
       * However, this aggrevates a BMac chipset bug where the next frame
going
	   * out gets corrupted (first two bytes lost) if the chipset had to retry
	   * the previous frame.
       */

/*-------------------------------------------------------------------------
 * _sendDummyPacket
 * ----------------
 * The BMac receiver seems to be locked until we send our first packet.
 *
 *-------------------------------------------------------------------------*/


		/*
		 * The BMac Ethernet controller appends two bytes to each receive
		 * buffer containing the buffer
		 * size and receive frame status.
		 * We locate these bytes by using the DMA residual counts.
		 */


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-dev mailing list