@@ -65,9 +65,9 @@ static void do_sp_dma(struct rsp_core* sp, const struct sp_dma* dma)
65
65
dramaddr += skip ;
66
66
}
67
67
68
- sp -> regs [SP_MEM_ADDR_REG ] = memaddr & 0xfff ;
69
- sp -> regs [SP_DRAM_ADDR_REG ] = dramaddr & 0xffffff ;
70
- sp -> regs [SP_RD_LEN_REG ] = 0xff8 ;
68
+ sp -> regs [SP_MEM_ADDR_REG ] = memaddr & 0xfff ;
69
+ sp -> regs [SP_DRAM_ADDR_REG ] = dramaddr & 0xffffff ;
70
+ sp -> regs [SP_RD_LEN_REG ] = 0xff8 ;
71
71
}
72
72
else
73
73
{
@@ -82,9 +82,9 @@ static void do_sp_dma(struct rsp_core* sp, const struct sp_dma* dma)
82
82
dramaddr += skip ;
83
83
}
84
84
85
- sp -> regs [SP_MEM_ADDR_REG ] = memaddr & 0xfff ;
86
- sp -> regs [SP_DRAM_ADDR_REG ] = dramaddr & 0xffffff ;
87
- sp -> regs [SP_RD_LEN_REG ] = 0xff8 ;
85
+ sp -> regs [SP_MEM_ADDR_REG ] = memaddr & 0xfff ;
86
+ sp -> regs [SP_DRAM_ADDR_REG ] = dramaddr & 0xffffff ;
87
+ sp -> regs [SP_RD_LEN_REG ] = 0xff8 ;
88
88
}
89
89
90
90
/* schedule end of dma event */
@@ -172,7 +172,7 @@ static void update_sp_status(struct rsp_core* sp, uint32_t w)
172
172
173
173
/* clear / set signal 0 */
174
174
if ((w & 0x600 ) == 0x200 ) sp -> regs [SP_STATUS_REG ] &= ~SP_STATUS_SIG0 ;
175
- if ((w & 0x600 ) == 0x400 )
175
+ if ((w & 0x600 ) == 0x400 ) sp -> regs [ SP_STATUS_REG ] |= SP_STATUS_SIG0 ;
176
176
177
177
/* clear / set signal 1 */
178
178
if ((w & 0x1800 ) == 0x800 ) sp -> regs [SP_STATUS_REG ] &= ~SP_STATUS_SIG1 ;
@@ -276,7 +276,6 @@ void write_rsp_regs(void* opaque, uint32_t address, uint32_t value, uint32_t mas
276
276
{
277
277
case SP_STATUS_REG :
278
278
update_sp_status (sp , value & mask );
279
- return ;
280
279
case SP_DMA_FULL_REG :
281
280
case SP_DMA_BUSY_REG :
282
281
return ;
@@ -319,7 +318,6 @@ void write_rsp_regs2(void* opaque, uint32_t address, uint32_t value, uint32_t ma
319
318
if (reg == SP_PC_REG )
320
319
mask &= 0xffc ;
321
320
322
-
323
321
masked_write (& sp -> regs2 [reg ], value , mask );
324
322
}
325
323
0 commit comments