From: Hannes Reinecke <hare@suse.de>
To: Cao jin <caoj.fnst@cn.fujitsu.com>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Marcel Apfelbaum <marcel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v7 09/15] megasas: change msi/msix property type
Date: Mon, 6 Jun 2016 10:27:36 +0200 [thread overview]
Message-ID: <575533F8.2050208@suse.de> (raw)
In-Reply-To: <1465200062-13824-10-git-send-email-caoj.fnst@cn.fujitsu.com>
On 06/06/2016 10:00 AM, Cao jin wrote:
> From bit to enum OnOffAuto.
>
> cc: Hannes Reinecke <hare@suse.de>
> cc: Paolo Bonzini <pbonzini@redhat.com>
> cc: Michael S. Tsirkin <mst@redhat.com>
> cc: Markus Armbruster <armbru@redhat.com>
> cc: Marcel Apfelbaum <marcel@redhat.com>
>
> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> ---
> hw/scsi/megasas.c | 28 +++++++++++-----------------
> 1 file changed, 11 insertions(+), 17 deletions(-)
>
> diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
> index 56fb645..635be13 100644
> --- a/hw/scsi/megasas.c
> +++ b/hw/scsi/megasas.c
> @@ -48,11 +48,7 @@
>
> #define MEGASAS_FLAG_USE_JBOD 0
> #define MEGASAS_MASK_USE_JBOD (1 << MEGASAS_FLAG_USE_JBOD)
> -#define MEGASAS_FLAG_USE_MSI 1
> -#define MEGASAS_MASK_USE_MSI (1 << MEGASAS_FLAG_USE_MSI)
> -#define MEGASAS_FLAG_USE_MSIX 2
> -#define MEGASAS_MASK_USE_MSIX (1 << MEGASAS_FLAG_USE_MSIX)
> -#define MEGASAS_FLAG_USE_QUEUE64 3
> +#define MEGASAS_FLAG_USE_QUEUE64 1
> #define MEGASAS_MASK_USE_QUEUE64 (1 << MEGASAS_FLAG_USE_QUEUE64)
>
> static const char *mfi_frame_desc[] = {
> @@ -96,6 +92,8 @@ typedef struct MegasasState {
> int busy;
> int diag;
> int adp_reset;
> + OnOffAuto msi;
> + OnOffAuto msix;
>
> MegasasCmd *event_cmd;
> int event_locale;
> @@ -159,12 +157,12 @@ static bool megasas_use_queue64(MegasasState *s)
>
> static bool megasas_use_msi(MegasasState *s)
> {
> - return s->flags & MEGASAS_MASK_USE_MSI;
> + return s->msi != ON_OFF_AUTO_OFF;
> }
>
> static bool megasas_use_msix(MegasasState *s)
> {
> - return s->flags & MEGASAS_MASK_USE_MSIX;
> + return s->msix != ON_OFF_AUTO_OFF;
> }
>
> static bool megasas_is_jbod(MegasasState *s)
> @@ -2349,12 +2347,12 @@ static void megasas_scsi_realize(PCIDevice *dev, Error **errp)
>
> if (megasas_use_msi(s) &&
> msi_init(dev, 0x50, 1, true, false) < 0) {
> - s->flags &= ~MEGASAS_MASK_USE_MSI;
> + s->msi = ON_OFF_AUTO_OFF;
> }
> if (megasas_use_msix(s) &&
> msix_init(dev, 15, &s->mmio_io, b->mmio_bar, 0x2000,
> &s->mmio_io, b->mmio_bar, 0x3800, 0x68)) {
> - s->flags &= ~MEGASAS_MASK_USE_MSIX;
> + s->msix = ON_OFF_AUTO_OFF;
> }
> if (pci_is_express(dev)) {
> pcie_endpoint_cap_init(dev, 0xa0);
> @@ -2422,10 +2420,8 @@ static Property megasas_properties_gen1[] = {
> MEGASAS_DEFAULT_FRAMES),
> DEFINE_PROP_STRING("hba_serial", MegasasState, hba_serial),
> DEFINE_PROP_UINT64("sas_address", MegasasState, sas_addr, 0),
> - DEFINE_PROP_BIT("use_msi", MegasasState, flags,
> - MEGASAS_FLAG_USE_MSI, false),
> - DEFINE_PROP_BIT("use_msix", MegasasState, flags,
> - MEGASAS_FLAG_USE_MSIX, false),
> + DEFINE_PROP_ON_OFF_AUTO("msi", MegasasState, msi, ON_OFF_AUTO_AUTO),
> + DEFINE_PROP_ON_OFF_AUTO("msix", MegasasState, msix, ON_OFF_AUTO_AUTO),
> DEFINE_PROP_BIT("use_jbod", MegasasState, flags,
> MEGASAS_FLAG_USE_JBOD, false),
> DEFINE_PROP_END_OF_LIST(),
> @@ -2438,10 +2434,8 @@ static Property megasas_properties_gen2[] = {
> MEGASAS_GEN2_DEFAULT_FRAMES),
> DEFINE_PROP_STRING("hba_serial", MegasasState, hba_serial),
> DEFINE_PROP_UINT64("sas_address", MegasasState, sas_addr, 0),
> - DEFINE_PROP_BIT("use_msi", MegasasState, flags,
> - MEGASAS_FLAG_USE_MSI, true),
> - DEFINE_PROP_BIT("use_msix", MegasasState, flags,
> - MEGASAS_FLAG_USE_MSIX, true),
> + DEFINE_PROP_ON_OFF_AUTO("msi", MegasasState, msi, ON_OFF_AUTO_AUTO),
> + DEFINE_PROP_ON_OFF_AUTO("msix", MegasasState, msix, ON_OFF_AUTO_AUTO),
> DEFINE_PROP_BIT("use_jbod", MegasasState, flags,
> MEGASAS_FLAG_USE_JBOD, false),
> DEFINE_PROP_END_OF_LIST(),
>
What is the default value of 'ON_OFF_AUTO_AUTO'?
Originally we've disabled MSI-X for gen1, and enabled it for gen2.
Is this behaviour carried over?
Cheers,
Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
hare@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
next prev parent reply other threads:[~2016-06-06 8:27 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-06 8:00 [Qemu-devel] [PATCH v7 00/15] Add param Error ** for msi_init() Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 01/15] pci core: assert ENOSPC when add capability Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 02/15] fix some coding style problems Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 03/15] change pvscsi_init_msi() type to void Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 04/15] megasas: Fix check for msi_init() failure Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 05/15] mptsas: change .realize function name Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 06/15] usb xhci: change msi/msix property type Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 07/15] intel-hda: change msi " Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 08/15] mptsas: " Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 09/15] megasas: change msi/msix " Cao jin
2016-06-06 8:27 ` Hannes Reinecke [this message]
2016-06-06 8:43 ` Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 10/15] pci bridge dev: change msi " Cao jin
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 11/15] msi_init: change return value to 0 on success Cao jin
2016-06-06 8:28 ` Hannes Reinecke
2016-06-06 9:19 ` Cao jin
2016-06-09 15:32 ` Markus Armbruster
2016-06-06 8:00 ` [Qemu-devel] [PATCH v7 12/15] pci: Convert msi_init() to Error and fix callers to check it Cao jin
2016-06-06 8:29 ` Hannes Reinecke
2016-06-06 8:30 ` Cao jin
2016-06-09 15:53 ` Markus Armbruster
2016-06-09 15:54 ` Markus Armbruster
2016-06-06 8:01 ` [Qemu-devel] [PATCH v7 13/15] megasas: remove unnecessary megasas_use_msi() Cao jin
2016-06-06 8:31 ` Hannes Reinecke
2016-06-06 8:01 ` [Qemu-devel] [PATCH v7 14/15] mptsas: remove unnecessary internal msi state flag Cao jin
2016-06-06 8:01 ` [Qemu-devel] [PATCH v7 15/15] vmw_pvscsi: " Cao jin
2016-06-09 15:48 ` Markus Armbruster
2016-06-08 10:15 ` [Qemu-devel] [PATCH v7 00/15] Add param Error ** for msi_init() Cao jin
2016-06-09 15:58 ` Markus Armbruster
2016-06-10 7:34 ` Cao jin
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=575533F8.2050208@suse.de \
--to=hare@suse.de \
--cc=armbru@redhat.com \
--cc=caoj.fnst@cn.fujitsu.com \
--cc=marcel@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.