Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Sep 2009 17:27:46 +0200
From:      Rafal Jaworowski <raj@semihalf.com>
To:        pyunyh@gmail.com
Cc:        Grzegorz Bernacki <gjb@semihalf.com>, current@freebsd.org
Subject:   Re: mge, mii/e1000phy
Message-ID:  <ECDCCF14-8D93-4DA2-B627-472318675CA0@semihalf.com>
In-Reply-To: <20090923170852.GA1099@michelle.cdnetworks.com>
References:  <20090922235350.GB1520@michelle.cdnetworks.com> <97F7ED67-AB93-4897-893B-16D3B22F9EB3@semihalf.com> <4ABA2C08.3070504@semihalf.com> <20090923170852.GA1099@michelle.cdnetworks.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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@gmail.com>
>>>> Date: 23 wrze?nia 2009 01:53:50 CEST
>>>> To: Kristof Provost <kristof@sigsegv.be>
>>>> Cc: current@freebsd.org
>>>> Subject: Re: mge, mii/e1000phy
>>>> Reply-To: pyunyh@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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ECDCCF14-8D93-4DA2-B627-472318675CA0>