Skip to content
  • Mikulas Patocka's avatar
    matroxfb: perform a dummy read of M_STATUS · 972754cf
    Mikulas Patocka authored
    
    
    I had occasional screen corruption with the matrox framebuffer driver and
    I found out that the reason for the corruption is that the hardware
    blitter accesses the videoram while it is being written to.
    
    The matrox driver has a macro WaitTillIdle() that should wait until the
    blitter is idle, but it sometimes doesn't work. I added a dummy read
    mga_inl(M_STATUS) to WaitTillIdle() to fix the problem. The dummy read
    will flush the write buffer in the PCI chipset, and the next read of
    M_STATUS will return the hardware status.
    
    Since applying this patch, I had no screen corruption at all.
    
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    972754cf