All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joerg Roedel <joerg.roedel@amd.com>
To: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
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 17/19] x86, msi: Introduce x86_msi.compose_msi_msg call-back
Date: Tue, 25 Sep 2012 15:59:05 +0200	[thread overview]
Message-ID: <20120925135905.GC2505@amd.com> (raw)
In-Reply-To: <20120826184140.GI3690@breakpoint.cc>

On Sun, Aug 26, 2012 at 08:41:40PM +0200, Sebastian Andrzej Siewior wrote:
> On Mon, Aug 20, 2012 at 03:56:03PM +0200, Joerg Roedel wrote:
> > This call-back points to the right function for initializing
> > the msi_msg structure.
> 
> So you pull out the compose_remapped_msi_msg() out of msi_compose_msg() and
> put this in a callback. Such information is good since you don't see this in
> diff and even --patience does not help here.

Added that to the commit message.

> 
> > --- a/drivers/iommu/irq_remapping.c
> > +++ b/drivers/iommu/irq_remapping.c
> > @@ -242,10 +243,12 @@ void compose_remapped_msi_msg(struct pci_dev *pdev,
> >  			      unsigned int irq, unsigned int dest,
> >  			      struct msi_msg *msg, u8 hpet_id)
> >  {
> > -	if (!remap_ops || !remap_ops->compose_msi_msg)
> > -		return;
> > +	struct irq_cfg *cfg = irq_get_chip_data(irq);
> >  
> > -	remap_ops->compose_msi_msg(pdev, irq, dest, msg, hpet_id);
> > +	if (cfg && !irq_remapped(cfg))
> > +		native_compose_msi_msg(pdev, irq, dest, msg, hpet_id);
> > +	else if (remap_ops && remap_ops->compose_msi_msg)
> > +		remap_ops->compose_msi_msg(pdev, irq, dest, msg, hpet_id);
> 
> cfg _has_ to be valid here and if it is not than you shouldn't assume that
> this irq is remapped.
> Also remap_ops has to be set here. And ->compose_msi_msg() should be set
> here as well. Would it make sense if it is not set?

I removed the check for cfg, but I am still conservative on calling
function pointers without checking them first.


	Joerg

-- 
AMD Operating System Research Center

Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632


  reply	other threads:[~2012-09-25 14:00 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 [this message]
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
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 17/19] x86, msi: Introduce x86_msi.compose_msi_msg 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 17/19] x86, msi: Introduce x86_msi.compose_msi_msg 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 17/19] x86, msi: Introduce x86_msi.compose_msi_msg 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=20120925135905.GC2505@amd.com \
    --to=joerg.roedel@amd.com \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sebastian@breakpoint.cc \
    --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.