All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Dickgreber <tanzy@gmx.de>
To: Kumba <kumba@gentoo.org>
Cc: Linux MIPS List <linux-mips@linux-mips.org>
Subject: Re: Help getting IP30/Octane fixed?
Date: Sun, 10 May 2009 20:06:34 +0200	[thread overview]
Message-ID: <4A0717AA.8060603@gmx.de> (raw)
In-Reply-To: <4A06100F.7020105@gentoo.org>

Kumba schrieb:
> Well, I've been keeping the Octane/IP30 port alive for quite some time
> lately, but the bitrot in the code is making the functionality get
> progressively worse.  As of 2.6.30, the following will _not_ work:
> 
> - SMP capabilities (hangs on boot)
This is whats wrong with SMP: from file include/asm/mach-ip30/heart.h

#define HEART_IMR(x)		((volatile ulong *)0x900000000ff10000 + (8 * (x)))

I schould be

#define HEART_IMR(x)		((volatile ulong *)0x900000000ff10000 + (x))

or it schould be

#define HEART_IMR(x)		((volatile ulong *) (0x900000000ff10000 + (8 * (x))))

The IRQ MASK Register for the different CPUs are side by side.
In your version the factor 8 is used twice. First explicit inside the braces
and second, because of the pointer to ulong implicit done by the
compiler.
I checked it by dissambling the code and my smp-kernel is working if i start
only with one cpu. With 2 cpus the smp-kernel is booting, but the init process
hangs then.


> 5012_2.6.22-ioc3-revert_commit_691cd0c.patch
> 
> This is a reversal of a patch committed to upstream almost 2 years ago
> (possibly longer), which broke IOC3 (when using the above metadriver) by
> making Linux enforce adherence to the PCI specification (I think,
> anyways.  It's been too long).  Without reversing this patch, none of
> the IOC3 sub-devices are accessible.
> 
> Original submission of it (with description) is here:
> http://lkml.org/lkml/2007/1/26/67
> 
the revert is not needed anymore, because of code in arch/mips/pci/ops-bridge.c
look for the function emulate_ioc3_cfg
> 
> 5041_2.6.30-ip30-octane-support-r28.patch
> 
> This is the base code for the Octane port.  I've largely maintained it
> via bandaid fixes, but even bandaids can't keep a ship from sinking
> forever.  I managed to figure out the IRQ stuff to move Octane to using
> set_irq_and_chip_handler, which got it booting again, but this broke the
> Impact video driver, which will oops the kernel on initialization.  SMP
> code broke back in 2.6.24 due to improper conversion to dyntick, and
> I've never been able to figure out why, because my only SMP CPU module
> turned out to have died while in storage.
> 
> 
> So if anyone wants to help, take a look, and let me know if there are
> any questions.  I'll answer what I can.
> 
> Thanks!,
> 
I hope it helps

i have done some more work on the older patches and have a working kernel.
if someone wants this patch, i can send it.


bye  

  reply	other threads:[~2009-05-10 18:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-09 23:21 Help getting IP30/Octane fixed? Kumba
2009-05-10 18:06 ` Johannes Dickgreber [this message]
2009-05-10 18:57   ` Kumba
2009-05-16 19:05     ` Johannes Dickgreber
2009-05-19  7:12       ` Kumba

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=4A0717AA.8060603@gmx.de \
    --to=tanzy@gmx.de \
    --cc=kumba@gentoo.org \
    --cc=linux-mips@linux-mips.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.