Re: [PATCH v3 19/27] thunderbolt: Add new Thunderbolt PCI IDs

From: Mika Westerberg
Date: Mon Jun 05 2017 - 09:36:15 EST


On Mon, Jun 05, 2017 at 03:55:07PM +0300, Mika Westerberg wrote:
> > Yes, it's useful to have ICM-based Thunderbolt on Macs and personally
> > I'm totally fine with making it the default for Macs which support it.
> > (I can't speak for Andreas, obviously.)
> >
> > However it would be great to give people the *choice* between ICM versus
> > native mode, for at least two reasons:
> >
> > (1) Native mode uses free software. (I assume the ICM firmware remains
> > closed source.)
> >
> > (2) Native mode allows more versatility, e.g. how PCI tunnels are set up
> > to chained devices: PCI fanout or PCI direct routing, see:
> > https://developer.apple.com/library/content/documentation/HardwareDrivers/Conceptual/ThunderboltDevGuide/Basics/Basics.html
> >
> > Apple supports traffic prioritization to enable audio over Thunderbolt
> > with higher accuracy / minimal skew, I assume their choice to use
> > native mode was largely motivated by being able to support specialized
> > applications like that which are difficult or perhaps impossible to
> > implement in firmware:
> > http://pdfpiw.uspto.gov/.piw?Docid=09015384
>
> Right, but do we need to do it now before we have got any feedback from
> users using Macs with Alpine Ridge and ICM? We can always add the module
> parameter later if really needed.

It turns out that this is not too big change after all so I think it can
be included in the ICM patch if you want.

Basically we would have module parameter:

cm=auto|native|icm

where auto is the default.

Does that work?