Re: [PATCH net-next-2.6 v2] can: Topcliff: PCH_CAN driver: Add Flow control,

From: Tomoya MORINAGA
Date: Tue Nov 16 2010 - 03:25:33 EST


On Monday, November 15, 2010 11:21 PM, Wolfgang Grandegger wrote:

>
> More comments to the lec handling below.
>
> > + cf->data[6] = ioread32(&priv->regs->errc) & PCH_TEC;
> > + cf->data[7] = (ioread32(&priv->regs->errc) & PCH_REC) >> 8;
>
> Could be handle with just *one* register access.

I will modify.

> if (reg_stat & PCH_BUS_OFF ||
> (reg_stat & PCH_LEC_ALL) != PCH_LEC_ALL) {
>
> Your lec handling is still not correc,

I will modify like above.

> I believe. The driver needs to
> write PCH_LEC_ALL to the "stat" register once in the initialization code
This is NOT true.
I heard even if CAN driver detects PCH_LEC_ALL, the driver doesn't have to
write PCH_LEC_ALL to LEC.
"PCH_LEC_ALL" means there is no error event.
In case error is occurred, lec value is updated automatically.


> and then after each error observed (lec != PCH_LEC_ALL). I still do not
> find such code. Could you show us the output of
>
> "# candump any,0:0,#FFFFFFFF"
>
> when yo send CAN messages *without* a cable connected?.


[root@localhost can-utils]# ./candump any,0:0,#FFFFFFFF
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME
can0 20000024 [8] 00 28 00 00 00 00 88 00 ERRORFRAME

......It seems the same line continues forever.

---
Thanks,

Tomoya MORINAGA
OKI SEMICONDUCTOR CO., LTD.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/