All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: liguang <lig.fnst@cn.fujitsu.com>
Cc: "Anthony Liguori" <aliguori@us.ibm.com>,
	"Stefan Berger" <stefanb@linux.vnet.ibm.com>,
	qemu-devel@nongnu.org, "Bruce Rogers" <brogers@suse.com>,
	"Joel Schopp" <jschopp@linux.vnet.ibm.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Andreas Färber" <afaerber@suse.de>,
	"Isaku Yamahata" <yamahata@valinux.co.jp>
Subject: Re: [Qemu-devel] [PATCH 3/4] ich9: add notifer for ec to generate sci
Date: Tue, 28 May 2013 09:40:50 +0300	[thread overview]
Message-ID: <20130528064049.GC21270@redhat.com> (raw)
In-Reply-To: <1369194397-608-4-git-send-email-lig.fnst@cn.fujitsu.com>

On Wed, May 22, 2013 at 11:46:36AM +0800, liguang wrote:
> Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
> ---
>  hw/acpi/ich9.c         |   15 +++++++++++++++
>  include/hw/acpi/ich9.h |    1 +
>  2 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c
> index 582dbec..2ecde32 100644
> --- a/hw/acpi/ich9.c
> +++ b/hw/acpi/ich9.c
> @@ -33,6 +33,7 @@
>  #include "exec/address-spaces.h"
>  
>  #include "hw/i386/ich9.h"
> +#include "hw/acpi/ec.h"
>  
>  //#define DEBUG
>  
> @@ -43,6 +44,8 @@ do { printf("%s "fmt, __func__, ## __VA_ARGS__); } while (0)
>  #define ICH9_DEBUG(fmt, ...)    do { } while (0)
>  #endif
>  
> +#define GPE_EC_SCI_STATUS (0x1 << (16 + 1))
> +
>  static void pm_update_sci(ICH9LPCPMRegs *pm)
>  {
>      int sci_level, pm1a_sts;
> @@ -202,6 +205,15 @@ static void pm_powerdown_req(Notifier *n, void *opaque)
>      acpi_pm1_evt_power_down(&pm->acpi_regs);
>  }
>  
> +static void pm_ec_sci_req(Notifier *n, void *opaque)
> +{
> +    ICH9LPCPMRegs *pm = container_of(n, ICH9LPCPMRegs, ec_sci_notifier);
> +    ACPIGPE *gpe = &pm->acpi_regs.gpe;
> +
> +    *gpe->sts |= GPE_EC_SCI_STATUS;
> +    pm_update_sci(pm);
> +}
> +
>  void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm,
>                    qemu_irq sci_irq)
>  {
> @@ -227,4 +239,7 @@ void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm,
>      qemu_register_reset(pm_reset, pm);
>      pm->powerdown_notifier.notify = pm_powerdown_req;
>      qemu_register_powerdown_notifier(&pm->powerdown_notifier);
> +
> +    pm->ec_sci_notifier.notify = pm_ec_sci_req;
> +    qemu_register_ec_sci_notifier(&pm->ec_sci_notifier);
>  }

So an EC is using ICH9 to send SCI to guest,
but ICH9 should not worry about EC that's connected to it.
So it should be something like
qemu_register_sci_notifier
and not make ich9 depend on ec.

> diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h
> index b1fe71f..f358deb 100644
> --- a/include/hw/acpi/ich9.h
> +++ b/include/hw/acpi/ich9.h
> @@ -42,6 +42,7 @@ typedef struct ICH9LPCPMRegs {
>  
>      uint32_t pm_io_base;
>      Notifier powerdown_notifier;
> +    Notifier ec_sci_notifier;
>  } ICH9LPCPMRegs;
>  
>  void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm,
> -- 
> 1.7.2.5

  parent reply	other threads:[~2013-05-28  6:40 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-22  3:46 [Qemu-devel] [PATCH 0/4] add ACPI Embedded Controller liguang
2013-05-22  3:46 ` [Qemu-devel] [PATCH 1/4] acpi: add ACPI Embedded Controller support liguang
2013-05-22  3:46 ` [Qemu-devel] [PATCH 2/4] acpi/gpe: expand bits of gpe register liguang
2013-05-22  5:28   ` Isaku Yamahata
2013-05-22  5:37     ` li guang
2013-05-24  1:24       ` Isaku Yamahata
2013-05-24  2:02         ` li guang
2013-05-27  9:00           ` Gerd Hoffmann
2013-05-28  0:32             ` li guang
2013-05-27  9:06           ` Gerd Hoffmann
2013-05-22  3:46 ` [Qemu-devel] [PATCH 3/4] ich9: add notifer for ec to generate sci liguang
2013-05-27 20:21   ` Michael S. Tsirkin
2013-05-28  0:23     ` li guang
2013-05-28  6:40   ` Michael S. Tsirkin [this message]
2013-05-28  6:44     ` li guang
2013-05-22  3:46 ` [Qemu-devel] [PATCH 4/4][seabios] ec: add ASL for ACPI Embedded Controller liguang
2013-05-23  3:03   ` li guang
2013-05-24  0:34 ` [Qemu-devel] [PATCH 0/4] add " li guang
2013-05-24 11:45 ` Michael S. Tsirkin
2013-05-27  0:20   ` li guang
2013-05-27  0:51     ` Anthony Liguori
2013-05-27  1:22       ` li guang
2013-05-27 11:45         ` Igor Mammedov
2013-05-28  0:28           ` li guang
2013-05-28  8:16             ` Igor Mammedov
2013-05-28  8:34               ` li guang
2013-05-28  9:38                 ` Igor Mammedov
2013-05-29  0:23                   ` li guang
2013-05-27 20:23         ` Michael S. Tsirkin
2013-05-28  0:21           ` li guang
2013-05-28  6:31             ` Michael S. Tsirkin
2013-05-28  6:40               ` li guang
2013-05-28  6:48                 ` Michael S. Tsirkin
2013-05-28  8:26                 ` Igor Mammedov
2013-05-28  8:40                   ` li guang

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=20130528064049.GC21270@redhat.com \
    --to=mst@redhat.com \
    --cc=afaerber@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=brogers@suse.com \
    --cc=jschopp@linux.vnet.ibm.com \
    --cc=kraxel@redhat.com \
    --cc=lig.fnst@cn.fujitsu.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanb@linux.vnet.ibm.com \
    --cc=yamahata@valinux.co.jp \
    /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.