Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Marvell if_mvgbe



On 13/10/2012, at 1:42 AM, Robert Swindells <rjs%fdy2.co.uk@localhost> wrote:

> I have been using the following patch for a while now on the
> SheevaPlug, it should reduce the number of receive interrupts
> generated by the ethernet controllers.

Great. The interrupt load on some of my older gear was so bad that I had to 
retire that gear, so I approve of fewer interrupts.

> +static uint32_t
> +mvgbe_ipg_rx(struct mvgbec_softc *csc, struct mvgbe_softc *sc)
> +{
> +
> +     if (csc->sc_flags & FLAGS_IPG2)
> +             return (((sc->sc_ipg_rx & 0x8000) << 10) |
> +                     ((sc->sc_ipg_rx & 0x7fff) << 7));
> +     else if (csc->sc_flags & FLAGS_IPG1)
> +             return ((sc->sc_ipg_rx & 0x3fff) << 8);
> +     else
> +             return 0;
> +}
...
> +     if ((csc->sc_flags & FLAGS_IPG1) || (csc->sc_flags & FLAGS_IPG2))
> +             sc->sc_ipg_rx = 768;

You need to replace all the numeric constants with #defines though. I can read 
and write network device drivers (that aren't too complicated), but I don't 
know what this code does without referring to the Marvell data sheets.

Cheers,
Lloyd



Home | Main Index | Thread Index | Old Index