On Mon, Jun 15, 2020 at 06:15:47PM +0300, Yehezkel Bernat wrote: > On Mon, Jun 15, 2020 at 5:22 PM Mika Westerberg > <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > > > > On Mon, Jun 15, 2020 at 05:18:38PM +0300, Yehezkel Bernat wrote: > > > On Mon, Jun 15, 2020 at 4:51 PM Greg Kroah-Hartman > > > <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > > > > > > On Mon, Jun 15, 2020 at 04:45:22PM +0300, Yehezkel Bernat wrote: > > > > > On Mon, Jun 15, 2020 at 4:02 PM Mika Westerberg > > > > > <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > > > > > > > > > > > > diff --git a/include/linux/thunderbolt.h b/include/linux/thunderbolt.h > > > > > > index ff397c0d5c07..5db2b11ab085 100644 > > > > > > --- a/include/linux/thunderbolt.h > > > > > > +++ b/include/linux/thunderbolt.h > > > > > > @@ -504,8 +504,6 @@ struct tb_ring { > > > > > > #define RING_FLAG_NO_SUSPEND BIT(0) > > > > > > /* Configure the ring to be in frame mode */ > > > > > > #define RING_FLAG_FRAME BIT(1) > > > > > > -/* Enable end-to-end flow control */ > > > > > > -#define RING_FLAG_E2E BIT(2) > > > > > > > > > > > > > > > > Isn't it better to keep it (or mark it as reserved) so it'll not cause > > > > > compatibility issues with older versions of the driver or with Windows? > > > > > > > > > > > > How can you have "older versions of the driver"? All drivers are in the > > > > kernel tree at the same time, you can't ever mix-and-match drivers and > > > > kernels. > > > > > > > > And how does Windows come into play here? > > > > > > > > > > As much as I remember, this flag is sent as part of creating the > > > interdomain connection. > > > If we reuse this bit to something else, and the other host runs an > > > older kernel or > > > Windows, this seems to be an issue. > > > But maybe I don't remember it correctly. > > > > We never send this flag anywhere. At the moment we do not announce > > support the "full E2E" in the network driver. Basically this is dead > > code what we remove. > > OK, maybe we never sent it, but Windows driver does send such a flag somewhere. It does yes but that is optional and we chose not to support it in Linux TBT network driver. > This is the only way both sides can know both of them support it and that they > should start using it. I'd prefer at least leaving a comment here that mentions > this, so if someone goes to add flags in the future, they will know to > take it into consideration. This flag here (RING_FLAG_E2E) is not exposed anywhere outside of thunderbolt driver. I think you are talking about the "prtstns" property in the network driver. There we only set TBNET_MATCH_FRAGS_ID (bit 1). This is the thing that get exposed to the other side of the connection and we never announced support for full E2E.