All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Mikulas Patocka <mpatocka@redhat.com>
Cc: Meelis Roos <mroos@ut.ee>, Bjorn Helgaas <bhelgaas@google.com>,
	Richard Henderson <rth@twiddle.net>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	linux-alpha@vger.kernel.org
Subject: Re: the patch "alpha/PCI: Replace pci_fixup_irqs()" breaks networking
Date: Thu, 4 Jan 2018 10:46:48 +0000	[thread overview]
Message-ID: <20180104104648.GA9230@red-moon> (raw)
In-Reply-To: <alpine.LRH.2.02.1801031403150.28965@file01.intranet.prod.int.rdu2.redhat.com>

On Wed, Jan 03, 2018 at 02:05:16PM -0500, Mikulas Patocka wrote:
> 
> 
> On Wed, 3 Jan 2018, Lorenzo Pieralisi wrote:
> 
> > On Tue, Jan 02, 2018 at 11:54:47PM +0200, Meelis Roos wrote:
> > > > The patch 0e4c2eeb758a91e68b9eaf7a4bee9bd5ed97ff2b ("alpha/PCI: Replace 
> > > > pci_fixup_irqs() call with host bridge IRQ mapping hooks") breaks 
> > > > networking on Alpha for me. I have an Alpha Avanti server with tulip 
> > > > network card.
> > > 
> > > Matbe the map is wrong for Avanti? Is there some way to check that?
> > 
> > I think the problem is in noname_init_pci(), that, AFAICS, in order to set-up
> > the IRQ level, it requires IRQ mapping to be carried out. Joy.
> > 
> > See:
> > 
> > sio_fixup_irq_levels()
> > 
> > and in particular
> > 
> > sio_collect_irq_levels()
> > 
> > Does this horrid hack help (to understand where the problem is - how to
> > fix it that's another story) ? Compile tested only.
> > 
> > -- >8 --
> > diff --git a/arch/alpha/kernel/sys_sio.c b/arch/alpha/kernel/sys_sio.c
> > index 37bd6d9b8eb9..ca090307ff54 100644
> > --- a/arch/alpha/kernel/sys_sio.c
> > +++ b/arch/alpha/kernel/sys_sio.c
> > @@ -120,7 +120,7 @@ sio_collect_irq_levels(void)
> >  	return level_bits;
> >  }
> >  
> > -static void __init
> > +static void
> >  sio_fixup_irq_levels(unsigned int level_bits)
> >  {
> >  	unsigned int old_level_bits;
> > @@ -181,6 +181,14 @@ noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
> >  	const long min_idsel = 6, max_idsel = 14, irqs_per_slot = 5;
> >  	int irq = COMMON_TABLE_LOOKUP, tmp;
> >  	tmp = __kernel_extbl(alpha_mv.sys.sio.route_tab, irq);
> > +
> > +	if ((dev->class >> 16 != PCI_BASE_CLASS_BRIDGE) ||
> > +		    (dev->class >> 8 == PCI_CLASS_BRIDGE_PCMCIA)) {
> > +
> > +		if (irq >= 0)
> > +			sio_fixup_irq_levels(1 << tmp);
> > +	}
> > +
> >  	return irq >= 0 ? tmp : -1;
> >  }
> >  
> 
> This patch breaks it even more - so that the IDE controller doesn't 
> receive any interrupts. I can't tell if the netowrk card receives 
> interrupts or not, because it doesn't mount the root filesystem.

Yes, I expected that after having a more thorough look, that's why
I posted another patch.

Thanks,
Lorenzo

  reply	other threads:[~2018-01-04 10:46 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-02 21:32 the patch "alpha/PCI: Replace pci_fixup_irqs()" breaks networking Mikulas Patocka
2018-01-02 21:50 ` Bjorn Helgaas
2018-01-02 21:54 ` Meelis Roos
2018-01-03 10:38   ` Lorenzo Pieralisi
2018-01-03 19:05     ` Mikulas Patocka
2018-01-04 10:46       ` Lorenzo Pieralisi [this message]
2018-01-03 19:05   ` Mikulas Patocka
2018-01-03 14:55 ` Lorenzo Pieralisi
2018-01-03 19:03   ` Mikulas Patocka
2018-01-04 10:58     ` Lorenzo Pieralisi
2018-01-03 19:50   ` Meelis Roos
2018-01-04 11:00     ` Lorenzo Pieralisi
2018-01-04 12:17 ` Lorenzo Pieralisi
2018-01-04 18:06   ` Mikulas Patocka
2018-01-04 18:49     ` Lorenzo Pieralisi
2018-01-05 11:23 ` Lorenzo Pieralisi
2018-01-05 18:49   ` Mikulas Patocka
2018-01-08 10:18     ` Lorenzo Pieralisi
2018-01-08 18:35       ` Mikulas Patocka
2018-01-09 12:16         ` Lorenzo Pieralisi
2018-01-09 19:13           ` Mikulas Patocka

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=20180104104648.GA9230@red-moon \
    --to=lorenzo.pieralisi@arm.com \
    --cc=bhelgaas@google.com \
    --cc=ink@jurassic.park.msu.ru \
    --cc=linux-alpha@vger.kernel.org \
    --cc=mattst88@gmail.com \
    --cc=mpatocka@redhat.com \
    --cc=mroos@ut.ee \
    --cc=rth@twiddle.net \
    /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.