This shows you the differences between two versions of the page.

Link to this comparison view

soc:2011:meteger:journal:week9 [2011/07/22 04:48] (current)
meteger created
Line 1: Line 1:
 +====== Day 0 ( July 17 ) ======
 +Daily meeting, thanks to Stefan transmit seems to work now, even with 1GBit/s.
 +====== Day 1 ( July 18 ) ======
 +In the meeting yesterday we discussed moving all functions relevant to rx ring and other memory allocations to tg3_main.c. I implemented this change today and also implemented the tx completion code. It seems to work so far, but isn't fully tested yet. The NIC hardware forces us to use a ring size of 512 ring entries, I haven'​t transmitted > 512 packets yet to see if wrapping around the end of the ring works.
 +====== Day 2 ( July 19 ) ======
 +Went through tg3_reset_hw() and similar init functions to revisit code parts that have been commented-out so far. I added them back in so we don't accidentally miss some required initializations. After we have a know-working driver we can start removing unnecessary parts again.
 +====== Day 3 ( July 20 ) ======
 +Enabled RX in the NIC registers again. Also re-enabled the rx ring alloc and io_buffer allocation functions. After I tracked down and fixed a memory issue last week there was another similar issue that I fixed today. Started implementing RX completion code.
 +====== Day 4 ( July 21 ) ======
 +The tg3 driver is using a more complex RX ring handling code than other drivers. I initially thought the whole complexity of the linux driver'​s ring handling is required to handle the card properly. While the cards RX ring handling is more complex than for other cards(e.g. the HW requires us to use 2 rings for RX, one to place our io_buffers, and another one to indicate the RX status), I realized that parts of the complexity were introduced by some linux-isms that we already removed earlier.
 +As a consequence I started reimplementing the RX ring handling code from scratch in a simpler way.

QR Code
QR Code soc:2011:meteger:journal:week9 (generated for current page)