mge, mii/e1000phy

Rafal Jaworowski raj at semihalf.com
Thu Sep 24 15:27:50 UTC 2009


On 2009-09-23, at 19:08, Pyun YongHyeon wrote:

> On Wed, Sep 23, 2009 at 04:09:12PM +0200, Grzegorz Bernacki wrote:
>>>> From: Pyun YongHyeon <pyunyh at gmail.com>
>>>> Date: 23 wrze?nia 2009 01:53:50 CEST
>>>> To: Kristof Provost <kristof at sigsegv.be>
>>>> Cc: current at freebsd.org
>>>> Subject: Re: mge, mii/e1000phy
>>>> Reply-To: pyunyh at gmail.com
>>>>
>>>>> - Forcing the mge driver to IFM_100_TX (in  
>>>>> mge_set_port_serial_control)
>>>>> does work. The system manages to acquire a DHCP address.
>>>>
>>>> Would you also show me the output of "ifconfig -m mge0"?
>>>>
>>>> I'm not author of mge(4) so I'm not familiar with mge(4). But it
>>>> seems that mge(4) lacks link state change handler. Normally NICs
>>>> are required to reprogram MAC to match resolved speed/duplex/
>>>> flow-control of link when it know it established a valid link which
>>>> is notified from mii(4).
>>>
>>
>> Hi,
>>
>> You are right. Link state change handler is missing in mge(4)  
>> driver. It
>> is on our TODO list for this driver and will be implemented soon.
>>
>
> I've briefly looked over MV88F5182 opensource community
> programmer's user guide and found that ENQ bit of TQC register
> should be set again whenever link DOWN/UP event is detected which
> in turn may complicate the driver as it may have to reset its
> descriptor indexes. And I guess it's wrong to spin wait until link
> is established in mge_init_locked(). The datasheet says Rx checksum
> offloading capability but can't find more information for that.
> Another nice looking feature that lacks in mge(4) would be
> interrupt coalescing. And I guess interrupt coalescing feature
> would give better performance than polling(4).


Both interrupt coalescing and RX checksum calculation offload are  
already supported by the driver.

Rafal



More information about the freebsd-current mailing list