control: Mask unmodifiable bits.

This commit is contained in:
joevt 2024-01-24 00:55:40 -08:00 committed by dingusdev
parent 98e1787f93
commit b42437c458

View File

@ -337,6 +337,7 @@ void ControlVideo::write(uint32_t rgn_start, uint32_t offset, uint32_t value, in
LOG_F(WARNING, "%s: CNTTST set to 0x%X", this->name.c_str(), value); LOG_F(WARNING, "%s: CNTTST set to 0x%X", this->name.c_str(), value);
break; break;
case ControlRegs::SWATCH_CTRL: case ControlRegs::SWATCH_CTRL:
value &= 0x7FF;
if ((this->swatch_ctrl ^ value) & DISABLE_TIMING) { if ((this->swatch_ctrl ^ value) & DISABLE_TIMING) {
this->swatch_ctrl = value; this->swatch_ctrl = value;
this->strobe_counter = 0; this->strobe_counter = 0;
@ -375,7 +376,7 @@ void ControlVideo::write(uint32_t rgn_start, uint32_t offset, uint32_t value, in
this->blank_display(); this->blank_display();
} }
} }
this->enables = value; this->enables = value & 0xFFF;
if (this->enables & FB_ENDIAN_LITTLE) if (this->enables & FB_ENDIAN_LITTLE)
ABORT_F("%s: little-endian framebuffer is not implemented yet", ABORT_F("%s: little-endian framebuffer is not implemented yet",
this->name.c_str()); this->name.c_str());