qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 03/10] rocker: add register programming guide


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH v5 03/10] rocker: add register programming guide
Date: Tue, 03 Feb 2015 09:40:32 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 01/22/2015 01:03 AM, address@hidden wrote:
> From: Scott Feldman <address@hidden>
> 
> This is the register programming guide for the Rocker device.  It's intended
> for driver writers and device writers.  It covers the device's PCI space,
> the register set, DMA interface, and interrupts.
> 

In addition to typos already pointed out by Stefan,

> +
> +Writing BASE_ADDR or SIZE will reset HEAD and TAIL to zero.  HEAD cannot be
> +written passed TAIL.  To do so would wrap the ring.  An empty ring is when 
> HEAD

s/passed/past/

> +
> +To support forward- and backward-compatibility, descriptor and completion
> +payloads are specified in TLV format.  Fields are packed with Type=field 
> name,
> +Length=field length, and Value=field value.  Software will ignore unknown 
> fields
> +filled in by the switch.  Likewise, the switch will ignore unknown fields
> +filled in by software.

Is ignoring unknown fields always the wisest action?  If the unknown
fields are supposed to have an impact according the to writer, but get
ignored by the reader, then the two can get out of sync with what they
assume the other end is doing.


> +MSI-X vectors used for descriptor ring completions use a credit mechanism for
> +efficient device, PCIe bus, OS and driver operations.  Each descriptor ring 
> has
> +a credit count which represent the number of outstanding descriptors to be

s/represent/represents/


> +
> +     port                    mapping
> +     -------------------------------------------------------
> +     0                       CPU port (for packets to/from host CPU)
> +     1-62                    front-panel physical ports
> +     63                      loopback port
> +     64-0x0000ffff           RSVD
> +     0x00010000-0x0001ffff   logical tunnel ports
> +        0x00020000-0xffffffff   RSVD

Alignment looks off.


> +Port Settings
> +-------------
> +
> +Links status for all front-panel ports is available via 
> PORT_PHYS_LINK_STATUS:

s/Links/Link/

> +
> +     DESC_COMP_ERR   reason
> +     --------------------------------------------------------------------
> +     0               OK
> +     -ROCKER_ENXIO   address or data read err on desc buf
> +     -ROCKER_ENOMEM  no memory for internal staging desc buf
> +     -ROCKER_EMSGSIZE Rx descriptor buffer wasn't big enough to contain
> +                     pactet data TLV and other TLVs.

s/pactet/packet/

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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