All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
To: Joerg Roedel <joerg.roedel@amd.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org, joro@8bytes.org,
	Suresh Siddha <suresh.b.siddha@intel.com>,
	Yinghai Lu <yinghai@kernel.org>
Subject: Re: [PATCH 18/19] x86, io_apic: Introduce eoi_ioapic_pin call-back
Date: Sun, 26 Aug 2012 20:52:33 +0200	[thread overview]
Message-ID: <20120826185233.GJ3690@breakpoint.cc> (raw)
In-Reply-To: <1345470965-24410-19-git-send-email-joerg.roedel@amd.com>

On Mon, Aug 20, 2012 at 03:56:04PM +0200, Joerg Roedel wrote:
> diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
> index aac3f62..d4db390 100644
> --- a/arch/x86/kernel/apic/io_apic.c
> +++ b/arch/x86/kernel/apic/io_apic.c
> @@ -557,19 +557,10 @@ static void unmask_ioapic_irq(struct irq_data *data)
>   * Otherwise, we simulate the EOI message manually by changing the trigger
>   * mode to edge and then back to level, with RTE being masked during this.
>   */
> -static void __eoi_ioapic_pin(int apic, int pin, int vector, struct irq_cfg *cfg)
> +void native_eoi_ioapic_pin(int apic, int pin, int vector)
>  {
>  	if (mpc_ioapic_ver(apic) >= 0x20) {
> -		/*
> -		 * Intr-remapping uses pin number as the virtual vector
> -		 * in the RTE. Actual vector is programmed in
> -		 * intr-remapping table entry. Hence for the io-apic
> -		 * EOI we use the pin number.
> -		 */
> -		if (cfg && irq_remapped(cfg))
> -			io_apic_eoi(apic, pin);
> -		else
> -			io_apic_eoi(apic, vector);
> +		io_apic_eoi(apic, vector);
>  	} else {
>  		struct IO_APIC_route_entry entry, entry1;
>  
> diff --git a/drivers/iommu/irq_remapping.c b/drivers/iommu/irq_remapping.c
> index e61a174..d62e757 100644
> --- a/drivers/iommu/irq_remapping.c
> +++ b/drivers/iommu/irq_remapping.c
> @@ -94,12 +94,24 @@ static void __init irq_remapping_setup_timer_pin(unsigned int ioapic_idx,
>  	/* Not needed with interrupt remapping */
>  }
>  
> +void eoi_ioapic_pin_remapped(int apic, int pin, int vector)
> +{
> +	/*
> +	 * Intr-remapping uses pin number as the virtual vector
> +	 * in the RTE. Actual vector is programmed in
> +	 * intr-remapping table entry. Hence for the io-apic
> +	 * EOI we use the pin number.
> +	 */
> +	io_apic_eoi(apic, pin);
> +}
> +

Basically you shuffle the code from up there, down there and call from behind
a function pointer. There are two things different this time:
- no version check >= 0x20
  I belive this is obsolete since this runs only on x86-64 with x(2)apic
  support and assumes more or less version 0x20+ or we wouldn't be here at
  all.
- the irq_remapped(cfg) check is gone. The cfg thing is per-interrupt basis
  created so you _now_ you act like the interrupt is remapped even if it is
  not. Or am I wrong here?

> @@ -316,3 +328,4 @@ bool setup_remapped_irq(int irq, struct irq_cfg *cfg, struct irq_chip *chip)
>  		return false;
>  	}
>  }
> +
New line and the end? Why would that be?

Sebastian

  reply	other threads:[~2012-08-26 18:52 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-20 13:55 [PATCH 00/19 v2] Improve IRQ remapping abstraction in x86 core code Joerg Roedel
2012-08-20 13:55 ` [PATCH 01/19] x86, apic: Move irq_remapping_enabled checks into IRQ-remapping code Joerg Roedel
2012-08-20 13:55 ` [PATCH 02/19] [RFC] x86, apic: Mask IO-APIC and PIC unconditionally on LAPIC resume Joerg Roedel
2012-08-23 20:58   ` Sebastian Andrzej Siewior
2012-08-20 13:55 ` [PATCH 03/19] x86, io_apic: Introduce x86_io_apic_ops.disable() Joerg Roedel
2012-08-23 21:11   ` Sebastian Andrzej Siewior
2012-08-24 12:22     ` Joerg Roedel
2012-08-25 17:17       ` Sebastian Andrzej Siewior
2012-08-26  9:56         ` Joerg Roedel
2012-08-20 13:55 ` [PATCH 04/19] x86, io_apic: Introduce x86_io_apic_ops.print_entries for debugging Joerg Roedel
2012-08-26 18:03   ` Sebastian Andrzej Siewior
2012-08-20 13:55 ` [PATCH 05/19] x86, hpet: Introduce x86_msi_ops.setup_hpet_msi Joerg Roedel
2012-08-20 13:55 ` [PATCH 06/19] x86, msi: Use IRQ remapping specific setup_msi_irqs routine Joerg Roedel
2012-08-26 18:10   ` Sebastian Andrzej Siewior
2012-08-20 13:55 ` [PATCH 07/19] x86, io_apic: Introduce set_affinity function pointer Joerg Roedel
2012-08-20 13:55 ` [PATCH 08/19] x86, io_apic: Convert setup_ioapic_entry to " Joerg Roedel
2012-08-20 13:55 ` [PATCH 09/19] x86, io_apic: Move irq_remapping_enabled checks out of check_timer() Joerg Roedel
2012-08-20 13:55 ` [PATCH 10/19] x86, io_apic: Introduce function pointer for setup_timer_IRQ0_pin Joerg Roedel
2012-08-26 18:16   ` Sebastian Andrzej Siewior
2012-09-25 12:57     ` Joerg Roedel
2012-08-20 13:55 ` [PATCH 11/19] x86, irq: Move irq_remapping_enabled declaration to iommu code Joerg Roedel
2012-08-20 13:55 ` [PATCH 12/19] x86, irq: Add data structure to keep AMD specific irq remapping information Joerg Roedel
2012-08-26 18:21   ` Sebastian Andrzej Siewior
2012-09-25 13:04     ` Joerg Roedel
2012-08-20 13:55 ` [PATCH 13/19] x86, io-apic: Move CONFIG_IRQ_REMAP code out of x86 core Joerg Roedel
2012-08-26 18:23   ` Sebastian Andrzej Siewior
2012-08-20 13:56 ` [PATCH 14/19] x86, io-apic: Remove !irq_remapped() check from __target_IO_APIC_irq() Joerg Roedel
2012-08-26 18:26   ` Sebastian Andrzej Siewior
2012-08-20 13:56 ` [PATCH 15/19] x86, irq: Move irq_remapped() check into free_remapped_irq Joerg Roedel
2012-08-26 18:27   ` Sebastian Andrzej Siewior
2012-09-25 13:29     ` Joerg Roedel
2012-08-20 13:56 ` [PATCH 16/19] x86, irq: Introduce setup_remapped_irq() Joerg Roedel
2012-08-26 18:30   ` Sebastian Andrzej Siewior
2012-09-25 13:43     ` Joerg Roedel
2012-08-20 13:56 ` [PATCH 17/19] x86, msi: Introduce x86_msi.compose_msi_msg call-back Joerg Roedel
2012-08-20 14:08   ` Konrad Rzeszutek Wilk
2012-08-21  8:40     ` Joerg Roedel
2012-08-21 14:42       ` Konrad Rzeszutek Wilk
2012-08-21 15:29         ` Joerg Roedel
2012-08-21 15:41         ` Joerg Roedel
2012-08-22 14:41         ` Joerg Roedel
2012-08-26 18:41   ` Sebastian Andrzej Siewior
2012-09-25 13:59     ` Joerg Roedel
2012-08-20 13:56 ` [PATCH 18/19] x86, io_apic: Introduce eoi_ioapic_pin call-back Joerg Roedel
2012-08-26 18:52   ` Sebastian Andrzej Siewior [this message]
2012-09-25 15:09     ` Joerg Roedel
2012-08-20 13:56 ` [PATCH 19/19] x86, irq: Move irq_remapped out of x86 core code Joerg Roedel
2012-08-26 19:17 ` [PATCH 00/19 v2] Improve IRQ remapping abstraction in " Sebastian Andrzej Siewior
2012-09-19 14:52   ` Joerg Roedel
2012-11-01 18:49     ` Sebastian Andrzej Siewior
  -- strict thread matches above, loose matches on Subject: below --
2012-11-20 13:12 [PATCH 00/19 v4] " Joerg Roedel
     [not found] ` <1353417176-18945-1-git-send-email-joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2012-11-20 13:12   ` [PATCH 18/19] x86, io_apic: Introduce eoi_ioapic_pin call-back Joerg Roedel
2012-11-20 13:12     ` Joerg Roedel
2012-09-26 10:44 [PATCH 00/19 v3] Improve IRQ remapping abstraction in x86 core code Joerg Roedel
2012-09-26 10:44 ` [PATCH 18/19] x86, io_apic: Introduce eoi_ioapic_pin call-back Joerg Roedel
2012-08-07 15:43 [PATCH 0/19] Improve IRQ remapping abstraction in x86 core code Joerg Roedel
2012-08-07 15:43 ` [PATCH 18/19] x86, io_apic: Introduce eoi_ioapic_pin call-back Joerg Roedel

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=20120826185233.GJ3690@breakpoint.cc \
    --to=sebastian@breakpoint.cc \
    --cc=joerg.roedel@amd.com \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=suresh.b.siddha@intel.com \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.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.