Re: [PATCH v4 09/10] net: eth: altera: add msgdma prefetcher

Westergreen, Dalon
2020-07-14T19:07:57Z

On Tue, 2020-07-14 at 09:29 -0700, Jakub Kicinski wrote:
> On Tue, 14 Jul 2020 15:58:53 +0000 Westergreen, Dalon wrote:
> > On Tue, 2020-07-14 at 08:55 -0700, Jakub Kicinski wrote:
> > > On Tue, 14 Jul 2020 14:35:16 +0000 Ooi, Joyce wrote:
> > > > > I'm no device tree expert but these look like config options rather
> > > > > than
> > > > > HW
> > > > > description. They also don't appear to be documented in the next
> > > > > patch.
> > > >
> > > > The poll_freq are part of the msgdma prefetcher IP, whereby it
> > > > specifies the frequency of descriptor polling operation. I can add
> > > > the poll_freq description in the next patch.
> > >
> > > Is the value decided at the time of synthesis or can the driver choose
> > > the value it wants?
> >
> > It is not controlled at synthesis, this parameter should likely not be a
> > devicetree parameter, perhaps just make it a module parameter with a default
> > value.
>
> Let's see if I understand the feature - instead of using a doorbell the
> HW periodically checks the contents of the next-to-use descriptor to
> see if it contains a valid tx frame or rx buffer?
>

Yes, it checks the next-to-use descriptor to see if the descriptor is valid.

the value specifies the number of cycles to wait before checking again

> I've seen vendors abuse fields of ethtool --coalesce to configure
> similar settings. tx-usecs-irq and rx-usecs-irq, I think. Since this
> part of ethtool API has been ported to netlink, could we perhaps add
> a new field to ethtool --coalesce?

I don't think this is necessary, i think just having a module parameter
meets our needs. I don't see a need for the value to change on a per
interface basis. This was primarily used during testing / bringup.

-dalon