qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 15/20] arm: add Faraday FTMAC110 10/100Mbps e


From: Kuo-Jung Su
Subject: Re: [Qemu-devel] [PATCH v3 15/20] arm: add Faraday FTMAC110 10/100Mbps ethernet support
Date: Tue, 19 Feb 2013 09:14:28 +0800

2013/2/18 Stefan Hajnoczi <address@hidden>:
> On Mon, Feb 18, 2013 at 05:44:38PM +0800, Kuo-Jung Su wrote:
>> 2013/2/18 Stefan Hajnoczi <address@hidden>:
>> > On Wed, Feb 06, 2013 at 05:45:19PM +0800, Kuo-Jung Su wrote:
>> >> From: Kuo-Jung Su <address@hidden>
>> >>
>> >> The FTMAC110 is an Ethernet controller that provides AHB master capability
>> >> and is in full compliance with the IEEE 802.3 10/100 Mbps specifications.
>> >> Its DMA controller handles all data transfers between system memory
>> >> and on-chip memories.
>> >> It supports half-word data transfer for Linux. However it has a weird DMA
>> >> alignment issue:
>> >>
>> >> (1) Tx DMA Buffer Address:
>> >>     1 bytes aligned: Invalid
>> >>     2 bytes aligned: O.K
>> >>     4 bytes aligned: O.K
>> >>
>> >> (2) Rx DMA Buffer Address:
>> >>     1 bytes aligned: Invalid
>> >>     2 bytes aligned: O.K
>> >>     4 bytes aligned: Invalid (It means 0x0, 0x4, 0x8, 0xC are invalid)
>> >>
>> >> Signed-off-by: Kuo-Jung Su <address@hidden>
>> >> ---
>> >>  hw/arm/Makefile.objs  |    1 +
>> >>  hw/arm/faraday_a360.c |   10 +
>> >>  hw/arm/ftmac110.c     |  681 
>> >> +++++++++++++++++++++++++++++++++++++++++++++++++
>> >>  hw/arm/ftmac110.h     |  131 ++++++++++
>> >>  4 files changed, 823 insertions(+)
>> >>  create mode 100644 hw/arm/ftmac110.c
>> >>  create mode 100644 hw/arm/ftmac110.h
>> >
>> > Hi Kuo-Jung,
>> > Is there a datasheet and/or driver programming guide for this Ethernet
>> > controller?
>> >
>>
>> The datasheet distribution is prohibited in Faraday, while it's absolutely 
>> O.K
>> to deliver software codes along with register description.
>>
>> So, I can't share the datasheets with you, but I can add register description
>> to the source files. Is this what you need?
>
> I'm asking because I'd like to confirm that the device keeps checking
> for available receive descriptors via DMA reads (owner bit) and there is
> no hw register access to kick the Ethernet controller?
>

In a descriptor based ethernet MAC, there is usually a dedicated
register to kick-off DMA
engine, and of course, FTMAC110/FTGMAC100 has such register, too.

They are:

1. ftgmac100:
    1-1. REG_TXPD (0x18):  Kick-off Tx DMA engine
    1-2. REG_RXPD (0x1c): Kick-off Rx DMA engine
    1-3. REG_HPTXPD (0x28): Kick-off High Priority Tx DMA engine

2. ftmac110:
    2-1. REG_TXPD (0x18):  Kick-off Tx DMA engine
    2-2. REG_RXPD (0x1c): Kick-off Rx DMA engine

Writing an arbitrary value to these registers would trigger the
corresponding DMA engine.

> You work at Faraday, so maybe you have the definitive answer to this :).
>
> Stefan



--
Best wishes,
Kuo-Jung Su



reply via email to

[Prev in Thread] Current Thread [Next in Thread]