All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: "Cédric Le Goater" <clg@kaod.org>, linuxppc-dev@lists.ozlabs.org
Cc: Michael Ellerman <mpe@ellerman.id.au>,
	Paul Mackerras <paulus@samba.org>,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH v3 4/8] powerpc/xive: introduce xive_esb_write()
Date: Fri, 01 Sep 2017 15:31:20 +1000	[thread overview]
Message-ID: <1504243880.4974.71.camel@kernel.crashing.org> (raw)
In-Reply-To: <20170830194617.26621-5-clg@kaod.org>

On Wed, 2017-08-30 at 21:46 +0200, Cédric Le Goater wrote:
> Some source support MMIO stores on the ESB page to perform EOI. Let's
> introduce a specific routine for this case even if this should be the
> only use of it.
> 
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

> ---
>  arch/powerpc/sysdev/xive/common.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/common.c
> index 8a58662ed793..ac5f18a66742 100644
> --- a/arch/powerpc/sysdev/xive/common.c
> +++ b/arch/powerpc/sysdev/xive/common.c
> @@ -203,6 +203,15 @@ static u8 xive_esb_read(struct xive_irq_data *xd, u32 offset)
>  	return (u8)val;
>  }
>  
> +static void xive_esb_write(struct xive_irq_data *xd, u32 offset, u64 data)
> +{
> +	/* Handle HW errata */
> +	if (xd->flags & XIVE_IRQ_FLAG_SHIFT_BUG)
> +		offset |= offset << 4;
> +
> +	out_be64(xd->eoi_mmio + offset, data);
> +}
> +
>  #ifdef CONFIG_XMON
>  static void xive_dump_eq(const char *name, struct xive_q *q)
>  {
> @@ -297,7 +306,7 @@ void xive_do_source_eoi(u32 hw_irq, struct xive_irq_data *xd)
>  {
>  	/* If the XIVE supports the new "store EOI facility, use it */
>  	if (xd->flags & XIVE_IRQ_FLAG_STORE_EOI)
> -		out_be64(xd->eoi_mmio + XIVE_ESB_STORE_EOI, 0);
> +		xive_esb_write(xd, XIVE_ESB_STORE_EOI, 0);
>  	else if (hw_irq && xd->flags & XIVE_IRQ_FLAG_EOI_FW) {
>  		/*
>  		 * The FW told us to call it. This happens for some

  reply	other threads:[~2017-09-01  5:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-30 19:46 [PATCH v3 0/8] guest exploitation of the XIVE interrupt controller Cédric Le Goater
2017-08-30 19:46 ` [PATCH v3 1/8] powerpc/xive: introduce a common routine xive_queue_page_alloc() Cédric Le Goater
2017-09-01  5:26   ` Benjamin Herrenschmidt
2017-09-06 10:55   ` [v3, " Michael Ellerman
2017-08-30 19:46 ` [PATCH v3 2/8] powerpc/xive: guest exploitation of the XIVE interrupt controller Cédric Le Goater
2017-09-01  5:29   ` Benjamin Herrenschmidt
2017-08-30 19:46 ` [PATCH v3 3/8] powerpc/xive: rename xive_poke_esb() in xive_esb_read() Cédric Le Goater
2017-09-01  5:30   ` Benjamin Herrenschmidt
2017-08-30 19:46 ` [PATCH v3 4/8] powerpc/xive: introduce xive_esb_write() Cédric Le Goater
2017-09-01  5:31   ` Benjamin Herrenschmidt [this message]
2017-08-30 19:46 ` [PATCH v3 5/8] powerpc/xive: add the HW IRQ number under xive_irq_data Cédric Le Goater
2017-09-01  5:34   ` Benjamin Herrenschmidt
2017-08-30 19:46 ` [PATCH v3 6/8] powerpc/xive: introduce H_INT_ESB hcall Cédric Le Goater
2017-09-01  6:01   ` Benjamin Herrenschmidt
2017-08-30 19:46 ` [PATCH v3 7/8] powerpc/xive: add XIVE Exploitation Mode to CAS Cédric Le Goater
2017-08-30 19:46 ` [PATCH v3 8/8] powerpc/xive: improve debugging macros Cédric Le Goater
2017-09-01  5:43   ` Benjamin Herrenschmidt

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=1504243880.4974.71.camel@kernel.crashing.org \
    --to=benh@kernel.crashing.org \
    --cc=clg@kaod.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.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.