From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
To: "Tan, Jianfeng" <jianfeng.tan@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [PATCH 2/6] virtio: introduce struct virtio_pci_ops
Date: Wed, 30 Dec 2015 11:45:25 +0800 [thread overview]
Message-ID: <20151230034525.GC26062@yliu-dev.sh.intel.com> (raw)
In-Reply-To: <ED26CBA2FAD1BF48A8719AEF02201E36691A3E@SHSMSX103.ccr.corp.intel.com>
On Tue, Dec 29, 2015 at 11:31:35AM +0000, Tan, Jianfeng wrote:
>
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Yuanhan Liu
> > Sent: Thursday, December 10, 2015 11:54 AM
> > To: dev@dpdk.org
> > Subject: [dpdk-dev] [PATCH 2/6] virtio: introduce struct virtio_pci_ops
> >
> > Introduce struct virtio_pci_ops, to let legacy virtio (v0.95) and
> > modern virtio (1.0) have different implementation regarding to a
> > specific pci action, such as read host status.
> >
> ...
> > +static void
> > +legacy_reset(struct virtio_hw *hw)
> > +{
> > + /*
> > + * Setting the status to RESET sets the host device to
> > + * the original, uninitialized state.
> > + */
> > + legacy_set_status(hw, VIRTIO_CONFIG_STATUS_RESET);
> > + legacy_get_status(hw);
>
>
> May need a comment to explain why here we need to get_status().
I don't know, those are old code; I just moved them into a new
function. Maybe I need look into the spec for answer.
>
>
> > +}
> > +
> > +static uint8_t
> > +legacy_get_isr(struct virtio_hw *hw)
> > +{
>
> Please delete the following blank line.
oops ...
> > +
> > + return VIRTIO_READ_REG_1(hw, VIRTIO_PCI_ISR);
> > +}
> > +
> > +/* Enable one vector (0) for Link State Intrerrupt */
> > +static uint16_t
> > +legacy_set_irq(struct virtio_hw *hw, uint16_t vec)
> > +{
> > + VIRTIO_WRITE_REG_2(hw, VIRTIO_MSI_CONFIG_VECTOR, vec);
> > + return VIRTIO_READ_REG_2(hw, VIRTIO_MSI_CONFIG_VECTOR);
> > +}
> > +
> ...
> > +
> > +struct virtio_pci_ops {
> > + void (*read_dev_cfg)(struct virtio_hw *hw, uint64_t offset,
> > + void *dst, int len);
> > + void (*write_dev_cfg)(struct virtio_hw *hw, uint64_t offset,
> > + void *src, int len);
> > + void (*reset)(struct virtio_hw *hw);
> > +
> > + uint8_t (*get_status)(struct virtio_hw *hw);
> > + void (*set_status)(struct virtio_hw *hw, uint8_t status);
> > +
> > + uint32_t (*get_features)(struct virtio_hw *hw);
> > + void (*set_features)(struct virtio_hw *hw, uint32_t features);
> > +
> > + uint8_t (*get_isr)(struct virtio_hw *hw);
> > +
> > + uint16_t (*set_irq)(struct virtio_hw *hw, uint16_t vec);
> > +
> > + uint16_t (*get_queue_num)(struct virtio_hw *hw, uint16_t
> > queue_id);
>
> How about changing the name into get_queue_size? From my side, queue_num is very confusing.
I agree with you that queue_size is better here, however, queue_num is
taken for being consistent with the virtio spec naming:
static uint16_t
legacy_get_queue_num(struct virtio_hw *hw, uint16_t queue_id)
{
VIRTIO_WRITE_REG_2(hw, VIRTIO_PCI_QUEUE_SEL, queue_id);
return VIRTIO_READ_REG_2(hw, VIRTIO_PCI_QUEUE_NUM);
}
--yliu
next prev parent reply other threads:[~2015-12-30 3:42 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-10 3:54 [PATCH 0/6 for 2.3] initial virtio 1.0 enabling Yuanhan Liu
2015-12-10 3:54 ` [PATCH 1/6] virtio: don't set vring address again at queue startup Yuanhan Liu
2015-12-10 3:54 ` [PATCH 2/6] virtio: introduce struct virtio_pci_ops Yuanhan Liu
2015-12-29 11:31 ` Tan, Jianfeng
2015-12-30 3:45 ` Yuanhan Liu [this message]
2015-12-10 3:54 ` [PATCH 3/6] virtio: move left pci stuff to virtio_pci.c Yuanhan Liu
2015-12-10 3:54 ` [PATCH 4/6] viritio: switch to 64 bit features Yuanhan Liu
2015-12-10 3:54 ` [PATCH 5/6] virtio: set RTE_PCI_DRV_NEED_MAPPING flag Yuanhan Liu
2015-12-10 3:54 ` [PATCH 6/6] virtio: add virtio v1.0 support Yuanhan Liu
2015-12-29 11:39 ` Tan, Jianfeng
2015-12-30 3:40 ` Yuanhan Liu
2015-12-10 3:58 ` [PATCH 0/6 for 2.3] initial virtio 1.0 enabling Yuanhan Liu
2015-12-29 11:19 ` Tan, Jianfeng
2015-12-30 3:53 ` Yuanhan Liu
2016-01-04 3:55 ` Xu, Qian Q
2016-01-04 4:16 ` Yuanhan Liu
2016-01-12 6:58 ` [PATCH v2 0/7] virtio 1.0 enabling for virtio pmd driver Yuanhan Liu
2016-01-12 6:58 ` [PATCH v2 1/7] virtio: don't set vring address again at queue startup Yuanhan Liu
2016-01-12 6:58 ` [PATCH v2 2/7] virtio: introduce struct virtio_pci_ops Yuanhan Liu
2016-01-12 6:59 ` [PATCH v2 3/7] virtio: move left pci stuff to virtio_pci.c Yuanhan Liu
2016-01-12 6:59 ` [PATCH v2 4/7] viritio: switch to 64 bit features Yuanhan Liu
2016-01-12 6:59 ` [PATCH v2 5/7] virtio: retrieve hdr_size from hw->vtnet_hdr_size Yuanhan Liu
2016-01-12 6:59 ` [PATCH v2 6/7] eal: pci: export pci_map_device Yuanhan Liu
2016-01-12 8:31 ` David Marchand
2016-01-12 8:40 ` Yuanhan Liu
2016-01-12 9:05 ` Yuanhan Liu
2016-01-13 14:44 ` Santosh Shukla
2016-01-12 6:59 ` [PATCH v2 7/7] virtio: add 1.0 support Yuanhan Liu
2016-01-13 3:31 ` Tetsuya Mukawa
2016-01-13 9:38 ` Yuanhan Liu
2016-01-14 7:47 ` Xie, Huawei
2016-01-14 7:50 ` Yuanhan Liu
2016-01-14 7:51 ` Xie, Huawei
2016-01-14 7:58 ` Yuanhan Liu
2016-01-14 8:08 ` Xie, Huawei
2016-01-14 8:22 ` Yuanhan Liu
2016-01-14 8:28 ` Xie, Huawei
2016-01-14 7:50 ` Xie, Huawei
2016-01-14 8:38 ` Yuanhan Liu
2016-01-12 7:07 ` [PATCH v2 0/7] virtio 1.0 enabling for virtio pmd driver Yuanhan Liu
2016-01-14 4:27 ` Tetsuya Mukawa
2016-01-14 5:59 ` Yuanhan Liu
2016-01-14 6:09 ` Tan, Jianfeng
2016-01-14 6:41 ` Tetsuya Mukawa
2016-01-18 9:04 ` Tetsuya Mukawa
2016-01-14 6:45 ` Yuanhan Liu
2016-01-14 7:42 ` [PATCH v3 0/8] " Yuanhan Liu
2016-01-14 7:42 ` [PATCH v3 1/8] virtio: don't set vring address again at queue startup Yuanhan Liu
2016-01-14 7:42 ` [PATCH v3 2/8] virtio: introduce struct virtio_pci_ops Yuanhan Liu
2016-01-14 7:42 ` [PATCH v3 3/8] virtio: move left pci stuff to virtio_pci.c Yuanhan Liu
2016-01-14 7:42 ` [PATCH v3 4/8] viritio: switch to 64 bit features Yuanhan Liu
2016-01-14 7:42 ` [PATCH v3 5/8] virtio: retrieve hdr_size from hw->vtnet_hdr_size Yuanhan Liu
2016-01-14 7:42 ` [PATCH v3 6/8] eal: pci: export pci_[un]map_device Yuanhan Liu
2016-01-14 7:45 ` Yuanhan Liu
2016-01-14 7:42 ` [PATCH v3 7/8] virtio: add 1.0 support Yuanhan Liu
2016-01-14 7:42 ` [PATCH v3 8/8] virtio: move VIRTIO_READ/WRITE_REG_X into virtio_pci.c Yuanhan Liu
2016-01-16 10:08 ` Santosh Shukla
2016-01-17 14:07 ` Santosh Shukla
2016-01-15 4:36 ` [PATCH v4 0/8] virtio 1.0 enabling for virtio pmd driver Yuanhan Liu
2016-01-15 4:36 ` [PATCH v4 1/8] virtio: don't set vring address again at queue startup Yuanhan Liu
2016-01-15 4:36 ` [PATCH v4 2/8] virtio: introduce struct virtio_pci_ops Yuanhan Liu
2016-01-18 17:21 ` Xie, Huawei
2016-01-15 4:36 ` [PATCH v4 3/8] virtio: move left pci stuff to virtio_pci.c Yuanhan Liu
2016-01-15 4:36 ` [PATCH v4 4/8] viritio: switch to 64 bit features Yuanhan Liu
2016-01-15 4:36 ` [PATCH v4 5/8] virtio: retrieve hdr_size from hw->vtnet_hdr_size Yuanhan Liu
2016-01-15 4:36 ` [PATCH v4 6/8] eal: pci: export pci_[un]map_device Yuanhan Liu
2016-01-15 4:36 ` [PATCH v4 7/8] virtio: add 1.0 support Yuanhan Liu
2016-01-18 16:38 ` Xie, Huawei
2016-01-18 16:50 ` Xie, Huawei
2016-01-19 5:55 ` Yuanhan Liu
2016-01-19 7:44 ` Xie, Huawei
2016-01-19 7:54 ` Yuanhan Liu
2016-01-19 8:02 ` Xie, Huawei
2016-01-18 17:07 ` Xie, Huawei
2016-01-19 1:36 ` Yuanhan Liu
2016-01-19 1:51 ` Xie, Huawei
2016-01-19 2:46 ` Yuanhan Liu
2016-01-19 2:48 ` Xie, Huawei
2016-01-19 5:54 ` Yuanhan Liu
2016-01-15 4:36 ` [PATCH v4 8/8] virtio: move VIRTIO_READ/WRITE_REG_X into virtio_pci.c Yuanhan Liu
2016-01-15 8:57 ` Xu, Qian Q
2016-01-18 8:04 ` [PATCH v4 0/8] virtio 1.0 enabling for virtio pmd driver Tetsuya Mukawa
2016-01-19 8:11 ` [PATCH v5 0/9] " Yuanhan Liu
2016-01-19 8:11 ` [PATCH v5 1/9] virtio: don't set vring address again at queue startup Yuanhan Liu
2016-01-19 8:11 ` [PATCH v5 2/9] virtio: define offset as size_t type Yuanhan Liu
2016-01-19 8:11 ` [PATCH v5 3/9] virtio: introduce struct virtio_pci_ops Yuanhan Liu
2016-01-19 8:12 ` [PATCH v5 4/9] virtio: move left pci stuff to virtio_pci.c Yuanhan Liu
2016-01-19 8:12 ` [PATCH v5 5/9] viritio: switch to 64 bit features Yuanhan Liu
2016-01-19 8:12 ` [PATCH v5 6/9] virtio: retrieve hdr_size from hw->vtnet_hdr_size Yuanhan Liu
2016-01-19 8:12 ` [PATCH v5 7/9] eal: pci: export pci_[un]map_device Yuanhan Liu
2016-01-19 8:17 ` David Marchand
2016-01-19 8:12 ` [PATCH v5 8/9] virtio: add 1.0 support Yuanhan Liu
2016-01-21 11:37 ` Thomas Monjalon
2016-01-27 3:49 ` Yuanhan Liu
2016-01-21 11:49 ` Thomas Monjalon
2016-01-27 3:46 ` Yuanhan Liu
2016-01-27 8:11 ` Thomas Monjalon
2016-01-19 8:12 ` [PATCH v5 9/9] virtio: move VIRTIO_READ/WRITE_REG_X into virtio_pci.c Yuanhan Liu
2016-01-19 8:55 ` [PATCH v5 0/9] virtio 1.0 enabling for virtio pmd driver Xie, Huawei
2016-01-28 7:54 ` [PATCH v6 " Yuanhan Liu
2016-01-28 7:54 ` [PATCH v6 1/9] virtio: don't set vring address again at queue startup Yuanhan Liu
2016-01-28 7:54 ` [PATCH v6 2/9] virtio: define offset as size_t type Yuanhan Liu
2016-01-28 7:54 ` [PATCH v6 3/9] virtio: introduce struct virtio_pci_ops Yuanhan Liu
2016-01-28 7:54 ` [PATCH v6 4/9] virtio: move left pci stuff to virtio_pci.c Yuanhan Liu
2016-01-28 7:54 ` [PATCH v6 5/9] viritio: switch to 64 bit features Yuanhan Liu
2016-01-28 7:54 ` [PATCH v6 6/9] virtio: retrieve hdr_size from hw->vtnet_hdr_size Yuanhan Liu
2016-01-28 7:54 ` [PATCH v6 7/9] eal: pci: export pci_[un]map_device Yuanhan Liu
2016-01-28 7:54 ` [PATCH v6 8/9] virtio: add 1.0 support Yuanhan Liu
2016-01-28 7:54 ` [PATCH v6 9/9] virtio: move VIRTIO_READ/WRITE_REG_X into virtio_pci.c Yuanhan Liu
2016-02-02 10:46 ` [PATCH v6 0/9] virtio 1.0 enabling for virtio pmd driver Thomas Monjalon
2016-02-02 13:00 ` Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 " Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 1/9] virtio: don't set vring address again at queue startup Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 2/9] virtio: define offset as size_t type Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 3/9] virtio: introduce struct virtio_pci_ops Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 4/9] virtio: move left pci stuff to virtio_pci.c Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 5/9] viritio: switch to 64 bit features Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 6/9] virtio: retrieve hdr_size from hw->vtnet_hdr_size Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 7/9] eal: pci: export pci_[un]map_device Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 8/9] virtio: add 1.0 support Yuanhan Liu
2016-02-02 13:48 ` [PATCH v7 9/9] virtio: move VIRTIO_READ/WRITE_REG_X into virtio_pci.c Yuanhan Liu
2016-02-03 15:09 ` [PATCH v7 0/9] virtio 1.0 enabling for virtio pmd driver Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151230034525.GC26062@yliu-dev.sh.intel.com \
--to=yuanhan.liu@linux.intel.com \
--cc=dev@dpdk.org \
--cc=jianfeng.tan@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.