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$(echo .)com \
--cc=linuxppc-embedded@ozlabs$(echo .)org \
--cc=tnt@246tNt$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox