Thread (1 message) 1 message, 1 author, 2014-11-18

[PATCH 00/10] Save MSI chip in pci_sys_data

From: Marc Zyngier <hidden>
Date: 2014-11-18 17:53:47
Also in: linux-pci, lkml

On Mon, Nov 17 2014 at  9:02:46 pm GMT, Thomas Gleixner [off-list ref] wrote:
On Mon, 17 Nov 2014, Bjorn Helgaas wrote:
quoted
On Mon, Nov 17, 2014 at 2:38 AM, Thomas Gleixner [off-list ref] wrote:
quoted
The simplest way to dead with it is that I pull in pci/msi (assuming
that it contains only the above) and base the rest of it on top, so I
can deal with the resulting conflicts. So you still can keep that in
your pile and no matter who sends the pull request first everything
will just fall in place.
In addition to the ("Save MSI chip in pci_sys_data") series, my
pci/msi branch contains these:

  f83386942702 s390/MSI: Use __msi_mask_irq() instead of default_msi_mask_irq()
  03f56e42d03e Revert "PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq()"
  38737d82f9f0 PCI/MSI: Add pci_msi_ignore_mask to prevent writes to
MSI/MSI-X Mask Bits

but I don't think it will hurt if you pull in those as well.
They are blessed by you, so I don't worry :)
quoted
The bigger problem might be the first patch of the "Save MSI chip in
pci_sys_data", which renames "struct msi_chip" to "struct
msi_controller".  I asked Yijing to do that because I didn't think
"_chip" really conveyed any information.  I didn't know we were going
to have quite this many MSI-related patches to fix up.
Not a big deal at all. I pulled your branch and fixed up the pending
mess on top of it. Not a really big deal.
quoted
So I'll just leave my pci/msi branch as-is for now.  If the rename is
too painful, let me know and I'll drop the branch and we can rework
the rest of the "Save MSI chip in pci_sys_data" series to match.
No, not a problem at all. If I can carry your branch and it is
immutable then I think we are fine.

The changes we have stashed on top of this which touch linux/msi.h and
pci/msi.c are at the end of this mail. But most of this is
selfcontained and wont hurt anything which does not enable the
required config options. The diffstat is:

 drivers/pci/msi.c   |  334 +++++++++++++++++++++++++++++++++++++++++-----------
 include/linux/msi.h |  158 +++++++++++++++++++++++-
 2 files changed, 422 insertions(+), 70 deletions(-)

Looks large, but it provides common infrastructure which allows ARM64
to implement MSI support w/o any of the gazillion weak arch
callbacks. Jiangs x86 work distangles the convoluted mess we have with
irq remapping etc. and we can have non PCI based MSI interrupts as a
bonus.

So I'm pretty happy with the outcome now. The stacked irqdomains
really worked out well so far. I don't think that the pci/msi.c side
will see much updates on that in the next weeks. Though based on that
we'll try to get rid of the whole weak arch_xxx in the long run, but
that's a different issue and nothing we need to worry about now.

I'm going to push out the current state of affairs soon and will ask
all involved folks to have a look on that. If I don't hear someone
crying murder I'm going to make the branch immutable and push it into
next so that ARM and x86 can follow up with their stuff which depends
on that whole endavour.
I rebased my ITS series on top of this, and gave it a good
shake. Nothing fell out, so I'm inclined to say it is perfect.

I'll post the updated series for everyone's enjoyment...

Thanks for having put all that together!

	M.
-- 
Jazz is not dead. It just smells funny.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help