====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
soc:2008:mdeck:journal:week3 [2008/06/15 08:49] mdeck |
soc:2008:mdeck:journal:week3 [2008/06/15 14:00] (current) mdeck |
||
---|---|---|---|
Line 125: | Line 125: | ||
* [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=b7ff5f923bdc7970839819c48942c22ac79c7454|[Drivers-eepro100] Purely formatting changes. New header. IFEC.]] | * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=b7ff5f923bdc7970839819c48942c22ac79c7454|[Drivers-eepro100] Purely formatting changes. New header. IFEC.]] | ||
I removed the description of operation as it's all changing. I'll write in a new description once the final driver operation is set. IFEC = Intel Fast Ethernet Controller. From what I can find, it seems only these controllers are referred to as Fast Ethernet Controllers by Intel. It's short and simple. | I removed the description of operation as it's all changing. I'll write in a new description once the final driver operation is set. IFEC = Intel Fast Ethernet Controller. From what I can find, it seems only these controllers are referred to as Fast Ethernet Controllers by Intel. It's short and simple. | ||
+ | |||
+ | === 15 June === | ||
+ | |||
+ | I rewrote ''ifec_scb_cmd_wait()''. Now it returns an error code if the command unit doesn't become ready within a timeout interval. The timeout is a configurable ''#define CU_CMD_TIMEOUT''. The return code is propagated through ''ifec_scb_cmd()'', so the caller can check that if they want. | ||
+ | * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=e629a17b8b74b74a759a5ef4bfe971976837cce3|[Drivers-eepro100] Update ifec_scb_cmd_wait, more formatting.]] | ||
+ | I rearranged operations in ''ifec_net_open()'', to give a seemingly more logical order. It seems to work the same, I wonder if this makes a difference. | ||
+ | * Commit: [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=c7e921e8b2dba0d40a81cbee32f5dd265b86dae1|[Drivers-eepro100] Rearranged ifec_net_open() operations.]] | ||
+ | After the last commit, I considered there may be some nuance to the hardware design that makes the original ordering always work, and the new ordering occasionally fail. I wouldn't notice this for a while. | ||
+ | |||
+ | This got me wondering if I should strive to keep the drivers as close to the original Linux version as possible. This could take advantage of any subtle hardware problems that their code has evolved to avert. | ||
+ | |||
+ | Although I may just be over-thinking things. One would hope any hardware defects would be clearly identified. Would the Intel engineers releasing open-source drivers for their hardware spell out how they worked around hardware bugs..? I wonder if my work over the past few days hasn't been a waste. | ||
+ | |||
+ | I haven't spoken to Marty since making these changes, so we'll see what he says. | ||
+ | |||
+ | Tomorrow I hope to integrate dynamic allocation for the tx & rx, as well as expand tx to multiple descriptors. |