summaryrefslogtreecommitdiff
path: root/quantum/split_common
diff options
context:
space:
mode:
authorNoOne2246 <NoOne2246@users.noreply.github.com>2024-04-09 04:55:42 +1000
committerGitHub <noreply@github.com>2024-04-08 12:55:42 -0600
commitb99143fdd2637f573bb8c2632a38b84acc1945a0 (patch)
tree017fde6c69fcb6866ce03cb778b0bca0b3027db9 /quantum/split_common
parentcd94664d1514cb7095b24f28574390498fb2c036 (diff)
Oneshot locked mods split transaction (#23434)
Diffstat (limited to 'quantum/split_common')
-rw-r--r--quantum/split_common/transactions.c5
-rw-r--r--quantum/split_common/transport.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c
index 33bc9e9f57..decf5e5ede 100644
--- a/quantum/split_common/transactions.c
+++ b/quantum/split_common/transactions.c
@@ -419,6 +419,10 @@ static bool mods_handlers_master(matrix_row_t master_matrix[], matrix_row_t slav
419 if (!mods_need_sync && new_mods.oneshot_mods != split_shmem->mods.oneshot_mods) { 419 if (!mods_need_sync && new_mods.oneshot_mods != split_shmem->mods.oneshot_mods) {
420 mods_need_sync = true; 420 mods_need_sync = true;
421 } 421 }
422 new_mods.oneshot_locked_mods = get_oneshot_locked_mods();
423 if (!mods_need_sync && new_mods.oneshot_locked_mods != split_shmem->mods.oneshot_locked_mods) {
424 mods_need_sync = true;
425 }
422# endif // NO_ACTION_ONESHOT 426# endif // NO_ACTION_ONESHOT
423 427
424 bool okay = true; 428 bool okay = true;
@@ -442,6 +446,7 @@ static void mods_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave
442 set_weak_mods(mods.weak_mods); 446 set_weak_mods(mods.weak_mods);
443# ifndef NO_ACTION_ONESHOT 447# ifndef NO_ACTION_ONESHOT
444 set_oneshot_mods(mods.oneshot_mods); 448 set_oneshot_mods(mods.oneshot_mods);
449 set_oneshot_locked_mods(mods.oneshot_locked_mods);
445# endif 450# endif
446} 451}
447 452
diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h
index 4f6b968fa8..fbd87ca312 100644
--- a/quantum/split_common/transport.h
+++ b/quantum/split_common/transport.h
@@ -101,6 +101,7 @@ typedef struct _split_mods_sync_t {
101 uint8_t weak_mods; 101 uint8_t weak_mods;
102# ifndef NO_ACTION_ONESHOT 102# ifndef NO_ACTION_ONESHOT
103 uint8_t oneshot_mods; 103 uint8_t oneshot_mods;
104 uint8_t oneshot_locked_mods;
104# endif // NO_ACTION_ONESHOT 105# endif // NO_ACTION_ONESHOT
105} split_mods_sync_t; 106} split_mods_sync_t;
106#endif // SPLIT_MODS_ENABLE 107#endif // SPLIT_MODS_ENABLE