From: Babarovic Ivica <ivica@asist-traffic.com>
To: ppcembed <linuxppc-embedded@ozlabs.org>
Cc: tnt@246tNt.com
Subject: FEC_IEVENT_RFIFO_ERROR
Date: Thu, 03 Mar 2005 14:14:54 +0100 [thread overview]
Message-ID: <42270DCE.8060703@asist-traffic.com> (raw)
Hi!
I run 2.6.10-rc2 kernel (http://www.246tNt.com/mpc52xx/)
for MPC5200 chip on a custom board that is almost lite5200 compatible.
I noticed a couple of times I have a strange error at bootup.
It was FEC_IEVENT_RFIFO_ERROR. Most of the times this
went trough without problems but since today system just hangs.
Sometimes with several printouts of this error.
---boot sequence ------
FEC_IEVENT_RFIFO_ERROR
FEC_IEVENT_RFIFO_ERROR
FEC_IEVENT_RFIFO_ERROR
....
I traced a problem a bit and found that this happenes at
mpc52xx_fec_probe() function in fec.c at this point:
-----------------------------------------------------------------------------------------
/* Get the IRQ we need one by one */
/* Control */
dev->irq = ocp->def->irq;
--> if (request_irq(dev->irq, &fec_interrupt, SA_INTERRUPT,
"mpc52xx_fec_ctrl", dev)) {
printk(KERN_ERR "mpc52xx_fec: ctrl interrupt request
failed\n");
ret = -EBUSY;
dev->irq = -1; /* Don't try to free it */
goto probe_error;
}
------------------------------------------------------------------------------------------
When fec_interrupt() is called also from fec.c.
------------------------------------------------------------------------------------------
static irqreturn_t fec_interrupt(int irq, void *dev_id, struct pt_regs
*regs)
{
struct net_device *dev = (struct net_device *)dev_id;
struct fec_priv *priv = (struct fec_priv *)dev->priv;
struct mpc52xx_fec *fec = priv->fec;
int ievent;
ievent = in_be32(&fec->ievent);
out_be32(&fec->ievent, ievent); /* clear pending events */
if (ievent & (FEC_IEVENT_RFIFO_ERROR | FEC_IEVENT_XFIFO_ERROR)) {
if (ievent & FEC_IEVENT_RFIFO_ERROR)
--> printk(KERN_WARNING "FEC_IEVENT_RFIFO_ERROR\n");
if (ievent & FEC_IEVENT_XFIFO_ERROR)
printk(KERN_WARNING "FEC_IEVENT_XFIFO_ERROR\n");
fec_reinit(dev);
}
else if (ievent & FEC_IEVENT_MII)
fec_mii(dev);
return IRQ_HANDLED;
}
-------------------------------------------------------------------------------------------------
This is what I found in MPC5200 Users Manual:
Receive FIFO Error--indicates error occurred within the forest green version
RX FIFO. When RFIFO_ERROR bit is set, ECNTRL.ETHER_EN is cleared,
halting FEC frame processing. When this occurs, software must ensure both
the FIFO Controller and BestComm are soft-reset.
Any ideas on what could be causing this?
next reply other threads:[~2005-03-03 13:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-03 13:14 Babarovic Ivica [this message]
2005-03-03 15:08 ` FEC_IEVENT_RFIFO_ERROR Sylvain Munaut
2005-03-03 15:52 ` FEC_IEVENT_RFIFO_ERROR Babarovic Ivica
2005-03-03 16:13 ` FEC_IEVENT_RFIFO_ERROR Babarovic Ivica
2005-03-03 16:59 ` FEC_IEVENT_RFIFO_ERROR Dale Farnsworth
2005-03-03 18:10 ` FEC_IEVENT_RFIFO_ERROR Babarovic Ivica
2005-03-03 19:11 ` FEC_IEVENT_RFIFO_ERROR Sylvain Munaut
-- strict thread matches above, loose matches on Subject: below --
2005-03-03 20:07 FEC_IEVENT_RFIFO_ERROR Babarovic Ivica
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=42270DCE.8060703@asist-traffic.com \
--to=ivica@asist-traffic.com \
--cc=linuxppc-embedded@ozlabs.org \
--cc=tnt@246tNt.com \
/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.