From 046452fc56ec6ce6e4598819e84947ca7a02e8cc Mon Sep 17 00:00:00 2001 From: Maxim Poliakovski Date: Tue, 19 Dec 2023 14:53:43 +0100 Subject: [PATCH] mesh: various improvements. --- devices/common/scsi/mesh.cpp | 1 + devices/common/scsi/mesh.h | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/devices/common/scsi/mesh.cpp b/devices/common/scsi/mesh.cpp index 589d1f0..d78b506 100644 --- a/devices/common/scsi/mesh.cpp +++ b/devices/common/scsi/mesh.cpp @@ -175,6 +175,7 @@ void MeshController::perform_command(const uint8_t cmd) break; case SeqCmd::FlushFIFO: LOG_F(INFO, "MESH: FlushFIFO stub invoked"); + this->int_stat |= INT_CMD_DONE; break; default: LOG_F(ERROR, "MESH: unsupported sequencer command 0x%X", this->cur_cmd); diff --git a/devices/common/scsi/mesh.h b/devices/common/scsi/mesh.h index 2695fe0..1909bb7 100644 --- a/devices/common/scsi/mesh.h +++ b/devices/common/scsi/mesh.h @@ -24,6 +24,7 @@ along with this program. If not, see . #ifndef MESH_H #define MESH_H +#include #include #include @@ -133,6 +134,10 @@ public: // HWComponent methods int device_postinit(); + void set_dma_channel(DmaBidirChannel *dma_ch) { + this->dma_ch = dma_ch; + }; + protected: void reset(bool is_hard_reset); void perform_command(const uint8_t cmd); @@ -165,6 +170,9 @@ private: InterruptCtrl* int_ctrl = nullptr; uint32_t irq_id = 0; uint8_t irq = 0; + + // DMA related stuff + DmaBidirChannel* dma_ch; }; #endif // MESH_H