Differences

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

Link to this comparison view

Next revision
Previous revision
soc:2008:mdeck:journal:week4 [2008/06/17 10:17]
mdeck created
soc:2008:mdeck:journal:week4 [2008/06/25 10:34] (current)
mdeck
Line 3: Line 3:
 ---- ----
  
-=== 16 June ===+=== 16 & 17 June ===
  
 I added dynamic allocation of RFDs today. I added dynamic allocation of RFDs today.
Line 22: Line 22:
  
 Also, since RFDs are initialized both in ''​ifec_net_open()''​ as well as ''​ifec_net_poll()'',​ I moved the initialization code for RFDs into ''​ifec_rfd_init()''​. ​ And of course I added code in ''​ifec_net_close()''​ to free the io_buffers in the ''​rx_iobs''​ array. Also, since RFDs are initialized both in ''​ifec_net_open()''​ as well as ''​ifec_net_poll()'',​ I moved the initialization code for RFDs into ''​ifec_rfd_init()''​. ​ And of course I added code in ''​ifec_net_close()''​ to free the io_buffers in the ''​rx_iobs''​ array.
 +
 +=== 18 June ===
 +
 +I spent today implementing **multiple TCB support**. It involved setting the final TCB to enter suspend mode, and each transmit request would issue a start command. ​ Unfortunately,​ I didn't make a commit at this point, which I should have.
 +
 +=== 19 June ===
 +
 +I spent today attempting to rewrite the tx support such that the card never entered suspend mode.  I hoped to keep the card in a loop processing NOP commands while nothing was ready to transmit. ​ After many attempts I found it appears that the card will enter the idle state if it receives a command with the OK and C bits set.  These bits are set after a command is processed. ​ Thus, it won't remain active while processing NOP commands unless I clear certain bits after it processes them the first time.
 +
 +So it would seem either suspending the card or setting it idle is necessary, unless you have enough TCBs to keep the card busy between calls to ''​ifec_net_poll()''​. ​ I'm not sure what the difference between suspend mode and idle mode is, aside from a resume command affecting them differently.
 +
 +I'll have to work on this some more when I get back from my cousin'​s wedding. ​ It seems that both Linux drivers place the card into suspend mode when the end of the transmit ring is reached, so that seems the feasible way to go.

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code soc:2008:mdeck:journal:week4 (generated for current page)