Re: [PATCH 0/9] platform/surface: aggregator: Improve target/source handling in SSH messages

From: Maximilian Luz
Date: Thu Dec 08 2022 - 11:49:07 EST


On 12/8/22 17:24, Benjamin Tissoires wrote:
On Thu, Dec 8, 2022 at 5:03 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote:

Hi Maximilian,

On 12/2/22 23:33, Maximilian Luz wrote:
We have some new insights into the Serial Hub protocol, obtained through
reverse engineering. In particular, regarding the command structure. The
input/output target IDs actually represent source and target IDs of
(what looks like) physical entities (specifically: host, SAM EC, KIP EC,
debug connector, and SurfLink connector).

This series aims to improve handling of messages with regards to those
new findings and, mainly, improve clarity of the documentation and usage
around those fields.

See the discussion in

https://github.com/linux-surface/surface-aggregator-module/issues/64

for more details.

There are a couple of standouts:

- Patch 1 ensures that we only handle commands actually intended for us.
It's possible that we receive messages not intended for us when we
enable debugging. I've kept it intentionally minimal to simplify
backporting. The rest of the series patch 9 focuses more on clarity
and documentation, which is probably too much to backport.

- Patch 8 touches on multiple subsystems. The intention is to enforce
proper usage and documentation of target IDs in the SSAM_SDEV() /
SSAM_VDEV() macros. As it directly touches those macros I
unfortunately can't split it up by subsystem.

- Patch 9 is a loosely connected cleanup for consistency.

Thank you for the patches. Unfortunately I don't have time atm to
review this.

And the next 2 weeks are the merge window, followed by 2 weeks
of christmas vacation.

So I'm afraid that I likely won't get around to reviewing
this until the week of January 9th.

Hans, Jiri, Benjamin, Sebastian: While patch 8 ("platform/surface:
aggregator: Enforce use of target-ID enum in device ID macros") touches
multiple subsystems, it should be possible to take the whole series
through the pdx86 tree. The changes in other subsystems are fairly
limited.

I agree that it will be best to take all of this upstream through the
pdx86 tree. Sebastian thank you for the ack for patch 8/9.

Jiri or Benjamin may we have your ack for merging patch 7/9 + 8/9
through the pdx86 tree ?

I can give you an ack for taking those through your tree, but I can
not review the patches themselves because I was only CC-ed to those 2,
and so was linux-input. Given that SSAM_SSH_TID_KIP is not in my
current tree I assume it comes from this series.

Anyway, enough ranting :)

Apologies for that. I should have included you in the CC on at least
patch 2 as well, which introduces this symbol.

FWIW, here's the patchwork link to this series:

https://patchwork.kernel.org/project/platform-driver-x86/list/?series=701392

Regards,
Max