Commit Graph

83 Commits

Author SHA1 Message Date
Marvin 71662b10e4 Add US-200 support with backward compatibility
- Add USB_PID_TASCAM_US200 (0x8034) product ID constant
- Introduce MODE_VAL_STREAM_START_US200 (0x0032) for device-specific stream mode
- Parameterize us144mkii_configure_device_for_rate() to accept stream_mode value
- Extend model naming logic to display "US-200" for US-200 devices
- Add US-200 to USB device ID table for automatic recognition
2026-03-15 15:09:18 -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 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 b013e2e0f8 revert back to stable 2025-11-28 11:59:40 +01:00
Serif fd32af5022 Improve stream management and synchronization 2025-11-17 10:46:43 +01:00
serifpersia 48ffc84846 fix capture in non jack use 2025-11-15 14:54:51 +01:00
Šerif Rami 1670d814ab minor handshake and midi fixes 2025-08-23 18:32:16 +02:00
Šerif Rami b630201c4d intel linux kernel auto report bot ALSA fix 2025-08-19 11:14:40 +02:00
Šerif Rami 51dfafff5f re-adding defaults for digital in/out 2025-08-14 17:08:39 +02:00
Šerif Rami 9f9d3dd6e9 adhere to ALSA standards 2025-08-12 15:01:37 +02:00
Šerif Rami 9a9a957047 usb suspend deep sleep 2025-08-10 10:43:51 +02:00
Šerif Rami f50b96f459 improvements 2025-08-09 20:42:29 +02:00
Šerif Rami bbbfb7e985 5/5 2025-08-09 14:37:48 +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 e4c2b7341b fix for latest 6.16 kernels 2025-08-09 10:25:40 +02:00
Šerif Rami 9ccbea0f11 more stability fixes 2025-08-08 18:40:02 +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 87ac941e35 fix(driver): Remove deep sleep command from suspend
The vendor-specific deep sleep command in the suspend function can cause system freezes when the device is idle. This commit removes the command to prevent these freezes.
2025-08-08 12:24:43 +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
Šerif Rami 652814585c fix N/A driver version 2025-08-03 11:30:25 +02:00
serifpersia b06eca1e68 rename & cleanup for ALSA submission candidate 2025-08-02 15:25:09 +02:00
serifpersia 4a1008d070 more modular refactoring 2025-08-02 11:53:36 +02:00
serifpersia 9f0c814b2d fix incomplete refactor 2025-08-02 00:49:58 +02:00
serifpersia 5675faf5d3 suspend & resume fixes 2025-07-31 15:02:15 +02:00
serifpersia ac0175e10d more midi improvements 2025-07-26 14:31:56 +02:00
serifpersia ea5b6e6b8e fixed capture regression
capture was not working revert fixes this, midi keep alive still to be implemented correctly
2025-07-24 13:55:43 +02:00
serifpersia 9ec14ffdcc better midi handling 2025-07-24 12:13:40 +02:00
serifpersia 60b0430678 more playback/feedback sync up to spec changes 2025-07-22 12:34:38 +02:00
serifpersia 3fc054f4c3 better error handling and midi optimizations 2025-07-22 09:58:04 +02:00
serifpersia 6d4bf9d360 config handshake fix 2025-07-21 18:18:53 +02:00
serifpersia e6b9599f55 major improvements to stability and robustness 2025-07-21 15:05:39 +02:00