On 06/30/2014 02:49 PM, Christopher Friedt wrote:
On Mon, Jun 30, 2014 at 8:39 AM, Thomas Hellstrom thellstrom@vmware.com wrote:
xf86-video-vmware in kms mode uses the kernel driver to set these registers. FWIW, the modesetting part of the kernel driver uses SVGA_REG_PITCHLOCK instead of SVGA_REG_BYTES_PER_LINE to set the pitch. That's probably where the clash happens.
That sounds a bit more accurate. Should kms and fbdev be setting both registers then?
From a quick browse of the device code, it looks like
SVGA_REG_BYTES_PER_LINE is intended for reading only, but I've asked the experts that are on US time.
However, since the function vmw_kms_write_svga() should set up the pitch correctly using PITCHLOCK, could you just try reverting the last line of your patch, the one that says
vmw_write(vmw_priv, SVGA_REG_BYTES_PER_LINE, info->fix.line_length);
That should hopefully fix the new bug and leave fbdev working as you intended.
Thanks, Thomas