Commit Graph

32 Commits

Author SHA1 Message Date
Marvin 7af9b97e67 Fix compilation: use asm/unaligned.h instead of linux/unaligned.h
The unaligned access functions (get_unaligned_le64, put_unaligned_le32)
are now in asm-generic/unaligned.h and must be included via <asm/unaligned.h>
in newer kernel versions.
2026-03-15 16:49:14 -03:00
Šerif Rami 8299661b7b codebase refactor & cleanup
- MIDI working without active audio streaming
- overall refactor and cleanup
- card & devices naming fixes
2026-01-19 17:34:06 +01:00
Šerif Rami 6a39e6fd6d driver safety & efficiency improvements
- implement MIDI input batching for reduced ALSA core overhead
- minimize playback spinlock scope by moving memcpy outside the lock
- optimize capture bit-transposition using 8x8 Butterfly algorithm
- use put_unaligned_le32 for safe capture DMA writes
- add defensive checks for stream validity in URB completion handlers
2026-01-19 14:57:47 +01:00
Šerif Rami 2f53fd05bc fix recording while using different playback device 2026-01-19 12:21:42 +01:00
Šerif Rami e12821f31c frame size fixes 2026-01-07 13:46:09 +01:00
Šerif Rami c379dc65c1 improvements 2026-01-06 20:01:07 +01:00
Šerif Rami 7716f17b21 kernel safety fixes 2025-12-05 23:29:07 +01:00
Šerif Rami d199e9ccaf more fixes & formatting 2025-12-02 16:18:33 +01:00
Šerif Rami 557c55d56b style: Fix checkpatch.pl issues and add Kdocs
Fixed all coding style issues reported by checkpatch.pl.
This includes:
- Trailing statements on new lines.
- Added missing blank lines after declarations.
- Corrected indentation of switch/case statements and labels.
- Added comments for memory barriers.
- Removed unnecessary braces.

Added Kdocs to all public functions and data structures to
improve code documentation.
2025-12-01 09:49:35 +01:00
Šerif Rami 63053cac3f important performance, stability & safety fixes 2025-12-01 09:17:25 +01:00
Šerif Rami d05f560d71 Complete driver refactor 2025-12-01 00:39:35 +01:00
Šerif Rami 88d48174eb performance optimizations 2025-10-14 17:52:09 +02:00
Šerif Rami d708eb3f65 v6 patch series fixes 2025-08-14 19:32:57 +02:00
Šerif Rami a3f45537b6 v5 patch series fixes 2025-08-14 16:48:11 +02:00
Šerif Rami f50b96f459 improvements 2025-08-09 20:42:29 +02:00
Šerif Rami 1ef1c1ae28 4/5 2025-08-09 14:24:54 +02:00
Šerif Rami 9862f9da7f 3/5 2025-08-09 14:13:58 +02:00
Šerif Rami c8eb8e1adf 2/5 2025-08-09 14:01:39 +02:00
Šerif Rami 7fd61770fc 1/5 2025-08-09 13:55:57 +02:00
Šerif Rami 196cd55787 midi parsing fixes 2025-08-08 16:37:17 +02:00
Šerif Rami f4b17d24c8 code safety improvements 2025-08-08 15:57:06 +02:00
Šerif Rami ba4e73b926 stability and midi fixes 2025-08-08 09:17:05 +02:00
Šerif Rami cc31e81f60 feat: Implement dynamic feedback and align URB configuration 2025-08-07 19:21:49 +02:00
Šerif Rami d35da0e547 feat: Refactor and optimize TASCAM US-144MKII driver
This commit includes:
- Reverted audio stream decoupling to restore original behavior.
- Implemented SysEx state machine and error retry for MIDI handling.
- Performed memory leak audit and confirmed no obvious leaks.
- Optimized playback and capture data copying for efficiency.
- Reordered `tascam_card` structure for improved cache locality.
- Fixed `active_urbs` counter management to prevent "URBs still active" errors.
2025-08-06 17:35:22 +02:00
Šerif Rami db5df99677 Merge branch 'main' of https://github.com/serifpersia/us144mkii 2025-08-06 13:48:31 +02:00
Šerif Rami fcfad9bfc2 proper kernel code formatting 2025-08-06 13:40:07 +02:00
Šerif Rami f44b75094c proper kernel code formatting 2025-08-06 13:25:01 +02:00
Šerif Rami 5777265466 Reapply "GUI fixes"
This reverts commit f861106f1b22a2819f88389742569e99ff646f27.
2025-08-06 13:24:59 +02:00
Šerif Rami 8c047e6f7e Revert "GUI fixes"
This reverts commit 8b522452ed8bda17033d02620b72a406adb248ec. Driver logic caused capture regression.
2025-08-06 13:24:59 +02:00
serifpersia 81c133fb52 GUI fixes 2025-08-06 13:24:59 +02:00
Šerif Rami 1f8b9c3fd9 potential support for US-144 2025-08-06 13:24:43 +02:00
serifpersia b06eca1e68 rename & cleanup for ALSA submission candidate 2025-08-02 15:25:09 +02:00