diff --git a/patches/4.19/0001-surface3-power.patch b/patches/4.19/0001-surface3-power.patch index 9884d26db..083318b76 100644 --- a/patches/4.19/0001-surface3-power.patch +++ b/patches/4.19/0001-surface3-power.patch @@ -1,4 +1,4 @@ -From 642ccc9a85515f6330b90ec2e8024af737b165ab Mon Sep 17 00:00:00 2001 +From 76c7ae03b16a0e7d36eac430ec7215c36f79c9c9 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 28 Sep 2019 18:00:43 +0200 Subject: [PATCH 01/10] surface3-power diff --git a/patches/4.19/0002-surface3-touchscreen-dma-fix.patch b/patches/4.19/0002-surface3-touchscreen-dma-fix.patch index 97104600e..c7a42873a 100644 --- a/patches/4.19/0002-surface3-touchscreen-dma-fix.patch +++ b/patches/4.19/0002-surface3-touchscreen-dma-fix.patch @@ -1,4 +1,4 @@ -From ace1524a2a614b411772973a07a0f9894db71527 Mon Sep 17 00:00:00 2001 +From c6e0ef58982bb6be1928ba874e031ac433d9cdcc Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Sun, 5 Jul 2020 14:56:20 +0300 Subject: [PATCH 02/10] surface3-touchscreen-dma-fix diff --git a/patches/4.19/0003-surface3-oemb.patch b/patches/4.19/0003-surface3-oemb.patch index d78c7a9da..6aa0e249a 100644 --- a/patches/4.19/0003-surface3-oemb.patch +++ b/patches/4.19/0003-surface3-oemb.patch @@ -1,4 +1,4 @@ -From 3e7fd7e46281ea36ec0b3f7f75e32ba0dc4a2b41 Mon Sep 17 00:00:00 2001 +From afbf6d8351de940f35369169ab9a8380f764428a Mon Sep 17 00:00:00 2001 From: Chih-Wei Huang Date: Tue, 18 Sep 2018 11:01:37 +0800 Subject: [PATCH 03/10] surface3-oemb diff --git a/patches/4.19/0004-surface-buttons.patch b/patches/4.19/0004-surface-buttons.patch index 5709ffeac..946c22b18 100644 --- a/patches/4.19/0004-surface-buttons.patch +++ b/patches/4.19/0004-surface-buttons.patch @@ -1,4 +1,4 @@ -From 44ae2b5f2dec6f2bca7381728a0ebfde27efad17 Mon Sep 17 00:00:00 2001 +From 2fc20021f9dcaaefbb8cf62c6e08297dbb881a5d Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 27 Jul 2019 17:51:37 +0200 Subject: [PATCH 04/10] surface-buttons diff --git a/patches/4.19/0005-suspend.patch b/patches/4.19/0005-suspend.patch index 9f065e138..0deb6cc4b 100644 --- a/patches/4.19/0005-suspend.patch +++ b/patches/4.19/0005-suspend.patch @@ -1,4 +1,4 @@ -From f8393b3a5b16f19cc9af9bc171f65187a9a2c54e Mon Sep 17 00:00:00 2001 +From 4b6fec80690909e7a8ab733ebd56224510865677 Mon Sep 17 00:00:00 2001 From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com> Date: Sat, 28 Sep 2019 17:48:21 +0200 Subject: [PATCH 05/10] suspend diff --git a/patches/4.19/0006-ipts.patch b/patches/4.19/0006-ipts.patch index 0400fdb71..ddf3c5957 100644 --- a/patches/4.19/0006-ipts.patch +++ b/patches/4.19/0006-ipts.patch @@ -1,4 +1,4 @@ -From a330d174c772715c1f6979cc9e8ec8268d1b85e2 Mon Sep 17 00:00:00 2001 +From 4874eb199e3a0f1421fe34e1dbb75fc5030b6c34 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 28 Sep 2019 17:58:17 +0200 Subject: [PATCH 06/10] ipts diff --git a/patches/4.19/0007-wifi.patch b/patches/4.19/0007-wifi.patch index 8f339dca6..84f035f73 100644 --- a/patches/4.19/0007-wifi.patch +++ b/patches/4.19/0007-wifi.patch @@ -1,4 +1,4 @@ -From d37d94b2f9fbd5ca3529b3b8590a212a3a1a2dd7 Mon Sep 17 00:00:00 2001 +From 68e5be59b042a57c6b50d980817298078e14f573 Mon Sep 17 00:00:00 2001 From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com> Date: Thu, 20 Feb 2020 16:51:11 +0900 Subject: [PATCH 07/10] wifi diff --git a/patches/4.19/0008-surface-sam.patch b/patches/4.19/0008-surface-sam.patch index d4361656a..5e596f02f 100644 --- a/patches/4.19/0008-surface-sam.patch +++ b/patches/4.19/0008-surface-sam.patch @@ -1,4 +1,4 @@ -From 79253929affbf21d8c4b085e8b62de72dc30f8fe Mon Sep 17 00:00:00 2001 +From a4b7ecf94d88bff17296438e13ddf67b4f54dc93 Mon Sep 17 00:00:00 2001 From: qzed Date: Mon, 26 Aug 2019 01:15:40 +0200 Subject: [PATCH 08/10] surface-sam @@ -37,8 +37,11 @@ Subject: [PATCH 08/10] surface-sam drivers/misc/surface_sam/ssh_request_layer.c | 1074 ++++++++++ drivers/misc/surface_sam/ssh_request_layer.h | 91 + drivers/tty/serdev/core.c | 111 +- + include/linux/mod_devicetable.h | 17 + include/linux/surface_aggregator_module.h | 892 +++++++++ - 34 files changed, 13411 insertions(+), 29 deletions(-) + scripts/mod/devicetable-offsets.c | 7 + + scripts/mod/file2alias.c | 21 + + 37 files changed, 13456 insertions(+), 29 deletions(-) create mode 100644 drivers/misc/surface_sam/Kconfig create mode 100644 drivers/misc/surface_sam/Makefile create mode 100644 drivers/misc/surface_sam/bus.c @@ -12884,6 +12887,32 @@ index c66a04d24f1d3..1b18d12d217f8 100644 if (!ctrl->serdev) return -ENODEV; +diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h +index 610cdf8082f2e..69f4527315e71 100644 +--- a/include/linux/mod_devicetable.h ++++ b/include/linux/mod_devicetable.h +@@ -768,4 +768,21 @@ struct typec_device_id { + kernel_ulong_t driver_data; + }; + ++/* Surface System Aggregator Module */ ++ ++#define SSAM_MATCH_CHANNEL 0x1 ++#define SSAM_MATCH_INSTANCE 0x2 ++#define SSAM_MATCH_FUNCTION 0x4 ++ ++struct ssam_device_id { ++ __u8 match_flags; ++ ++ __u8 category; ++ __u8 channel; ++ __u8 instance; ++ __u8 function; ++ ++ kernel_ulong_t driver_data; ++}; ++ + #endif /* LINUX_MOD_DEVICETABLE_H */ diff --git a/include/linux/surface_aggregator_module.h b/include/linux/surface_aggregator_module.h new file mode 100644 index 0000000000000..81e54e5c8f9e9 @@ -13782,6 +13811,62 @@ index 0000000000000..81e54e5c8f9e9 +} + +#endif /* _SURFACE_AGGREGATOR_MODULE_H */ +diff --git a/scripts/mod/devicetable-offsets.c b/scripts/mod/devicetable-offsets.c +index 293004499b4db..13acbf55c6fd9 100644 +--- a/scripts/mod/devicetable-offsets.c ++++ b/scripts/mod/devicetable-offsets.c +@@ -225,5 +225,12 @@ int main(void) + DEVID_FIELD(typec_device_id, svid); + DEVID_FIELD(typec_device_id, mode); + ++ DEVID(ssam_device_id); ++ DEVID_FIELD(ssam_device_id, match_flags); ++ DEVID_FIELD(ssam_device_id, category); ++ DEVID_FIELD(ssam_device_id, channel); ++ DEVID_FIELD(ssam_device_id, instance); ++ DEVID_FIELD(ssam_device_id, function); ++ + return 0; + } +diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c +index 7f40b6aab689b..76e3b1d7db453 100644 +--- a/scripts/mod/file2alias.c ++++ b/scripts/mod/file2alias.c +@@ -1276,6 +1276,26 @@ static int do_typec_entry(const char *filename, void *symval, char *alias) + return 1; + } + ++/* Looks like: ssam:cNtNiNfN ++ * ++ * N is exactly 2 digits, where each is an upper-case hex digit. ++ */ ++static int do_ssam_entry(const char *filename, void *symval, char *alias) ++{ ++ DEF_FIELD(symval, ssam_device_id, match_flags); ++ DEF_FIELD(symval, ssam_device_id, category); ++ DEF_FIELD(symval, ssam_device_id, channel); ++ DEF_FIELD(symval, ssam_device_id, instance); ++ DEF_FIELD(symval, ssam_device_id, function); ++ ++ sprintf(alias, "ssam:c%02X", category); ++ ADD(alias, "t", match_flags & SSAM_MATCH_CHANNEL, channel); ++ ADD(alias, "i", match_flags & SSAM_MATCH_INSTANCE, instance); ++ ADD(alias, "f", match_flags & SSAM_MATCH_FUNCTION, function); ++ ++ return 1; ++} ++ + /* Does namelen bytes of name exactly match the symbol? */ + static bool sym_is(const char *name, unsigned namelen, const char *symbol) + { +@@ -1346,6 +1366,7 @@ static const struct devtable devtable[] = { + {"fslmc", SIZE_fsl_mc_device_id, do_fsl_mc_entry}, + {"tbsvc", SIZE_tb_service_id, do_tbsvc_entry}, + {"typec", SIZE_typec_device_id, do_typec_entry}, ++ {"ssam", SIZE_ssam_device_id, do_ssam_entry}, + }; + + /* Create MODULE_ALIAS() statements. -- 2.28.0 diff --git a/patches/4.19/0009-surface-sam-over-hid.patch b/patches/4.19/0009-surface-sam-over-hid.patch index d399e4af8..d2845a374 100644 --- a/patches/4.19/0009-surface-sam-over-hid.patch +++ b/patches/4.19/0009-surface-sam-over-hid.patch @@ -1,4 +1,4 @@ -From 6ee10706e5bf1737d7757a14f3ed97fab6fa269c Mon Sep 17 00:00:00 2001 +From 8f6f115599cd67333e37069ea4fd16f8367b1885 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 25 Jul 2020 17:19:53 +0200 Subject: [PATCH 09/10] surface-sam-over-hid diff --git a/patches/4.19/0010-surface-gpe.patch b/patches/4.19/0010-surface-gpe.patch index 3da06066a..bdef8d2c5 100644 --- a/patches/4.19/0010-surface-gpe.patch +++ b/patches/4.19/0010-surface-gpe.patch @@ -1,4 +1,4 @@ -From 77983168ece982bcb6aa6940d778f408d0005b6c Mon Sep 17 00:00:00 2001 +From d3155cfe94e1745f43bbaacc7ed37d178a13ceeb Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sun, 16 Aug 2020 23:39:56 +0200 Subject: [PATCH 10/10] surface-gpe