Messages in this thread | | | Date | Thu, 19 Jan 2023 13:32:59 -0500 | Subject | Re: [PATCH net-next v5 4/4] phy: aquantia: Determine rate adaptation support from registers | From | Sean Anderson <> |
| |
On 1/6/23 18:29, Vladimir Oltean wrote: > On Fri, Jan 06, 2023 at 06:21:26PM -0500, Sean Anderson wrote: >> On 1/6/23 18:03, Vladimir Oltean wrote: >> > On Thu, Jan 05, 2023 at 05:46:48PM +0000, Russell King (Oracle) wrote: >> >> On Thu, Jan 05, 2023 at 07:34:45PM +0200, Vladimir Oltean wrote: >> >> > So we lose the advertisement of 5G and 2.5G, even if the firmware is >> >> > provisioned for them via 10GBASE-R rate adaptation, right? Because when >> >> > asked "What kind of rate matching is supported for 10GBASE-R?", the >> >> > Aquantia driver will respond "None". >> >> >> >> The code doesn't have the ability to do any better right now - since >> >> we don't know what sets of interface modes _could_ be used by the PHY >> >> and whether each interface mode may result in rate adaption. >> >> >> >> To achieve that would mean reworking yet again all the phylink >> >> validation from scratch, and probably reworking phylib and most of >> >> the PHY drivers too so that they provide a lot more information >> >> about their host interface behaviour. >> >> >> >> I don't think there is an easy way to have a "perfect" solution >> >> immediately - it's going to take a while to evolve - and probably >> >> painfully evolve due to the slowness involved in updating all the >> >> drivers that make use of phylink in some way. >> > >> > Serious question. What do we gain in practical terms with this patch set >> > applied? With certain firmware provisioning, some unsupported link modes >> > won't be advertised anymore. But also, with other firmware, some supported >> > link modes won't be advertised anymore. >> >> Well, before the rate adaptation series, none of this would be >> advertised. I would rather add advertisement only for what we can >> actually support. We can always come back later and add additional >> support. > > Well, yes. But practically, does it matter that we are negotiating a > link speed that we don't support, when the effect is the same (link > doesn't come up)? The only practical case I see is where advertising > e.g. an unsupported 2.5G would cause the link to not establish at a > supported 1G. But as you say, I don't think this will be the case with > the firmware provisioning that Tim gave as an example?
I suppose.
I still think we should try to prevent bad firmware from tripping us up. At the very least, I think we could detect bad configurations and warn about them, so the user knows it's the firmware and not us.
--Sean
>> > IIUC, Tim Harvey's firmware ultimately had incorrect provisioning, it's >> > not like the existing code prevents his use case from working. >> >> The existing code isn't great as-is, since all the user sees is that we >> e.g. negotiated for 1G, but the link never came up. >> >> --Sean
| |