feat: audio stack performance improvements

This commit is contained in:
2026-05-19 18:13:37 +02:00
parent 2340ad3d91
commit de4e996f3f
4 changed files with 86 additions and 15 deletions
+16
View File
@@ -1074,6 +1074,22 @@ namespace Drivers::Audio::IntelHda {
KernelLogStream(OK, "HDA") << "Stream closed";
}
uint32_t GetWriteSpace(int handle) {
if (handle != 0 || !g_stream.Active) return 0;
uint32_t hwPos = g_dmaPos[g_stream.StreamIndex * 2];
uint32_t writePos = g_stream.WritePos;
uint32_t available;
if (writePos >= hwPos) {
available = TOTAL_BUFFER_SIZE - (writePos - hwPos);
} else {
available = hwPos - writePos;
}
if (available > 64) available -= 64;
else available = 0;
return available;
}
int Write(int handle, const uint8_t* data, uint32_t size) {
if (handle != 0 || !g_stream.Active || !data || size == 0)
return -1;