Patch "drm/vmwgfx: Add an option to change assumed FB bpp" has been added to the 4.6-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
drm/vmwgfx: Add an option to change assumed FB bpp
to the 4.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-vmwgfx-add-an-option-to-change-assumed-fb-bpp.patch
and it can be found in the queue-4.6 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
04319d89fbec72dfd60738003c3813b97c1d5f5aMon Sep 17 00:00:00 2001
From: Sinclair Yeh <[email protected]>
Date: Wed, 29 Jun 2016 12:15:48 -0700
Subject: drm/vmwgfx: Add an option to change assumed FB bpp
From: Sinclair Yeh <[email protected]>
commit 04319d89fbec72dfd60738003c3813b97c1d5f5a upstream.
Offer an option for advanced users who want larger modes at 16bpp.
This becomes necessary after the fix: "Work around mode set failure in 2D VMs." Without this patch, there would be no way for existing advanced users to get to a high res mode, and the regression is they will likely get a black screen after a software update on their current VM.
--- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 5 +++++ drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 1 + drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 3 +++ 3 files changed, 9 insertions(+)
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +5 -0
@@ -227,6 +227,7 @@ static int vmw_force_iommu;static int vmw_restrict_iommu;static int vmw_force_coherent;static int vmw_restrict_dma_mask; +static int vmw_assume_16bpp;static int vmw_probe (struct pci_dev *,const struct pci_device_id *);static void vmw_master_init (struct vmw_master *);
@@ -243,6 +244,8 @@ MODULE_PARM_DESC(force_coherent, "Forcemodule_param_named (force_coherent, vmw_force_coherent, int,0600 );MODULE_PARM_DESC (restrict_dma_mask,"Restrict DMA mask to 44 bits with IOMMU" );module_param_named (restrict_dma_mask, vmw_restrict_dma_mask, int,0600 ); +MODULE_PARM_DESC (assume_16bpp,"Assume 16-bpp when filtering modes" ); +module_param_named (assume_16bpp, vmw_assume_16bpp, int,0600 );static void vmw_print_capabilities (uint32_t capabilities)
@@ -653,6 +656,8 @@ static int vmw_driver_load(struct drm_de dev_priv->vram_start =pci_resource_start (dev->pdev,1 ); dev_priv->mmio_start =pci_resource_start (dev->pdev,2 ); + dev_priv->assume_16bpp = !!vmw_assume_16bpp; + dev_priv->enable_fb = enable_fbdev;vmw_write (dev_priv,SVGA_REG_ID ,SVGA_ID_2 );
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h +1 -0
@@ -386,6 +386,7 @@ struct vmw_private {spinlock_t hw_lock;spinlock_t cap_lock;bool has_dx; +bool assume_16bpp;/* * VGA registers.
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +3 -0
@@ -1562,6 +1562,9 @@ int vmw_du_connector_fill_modes(struct dif (dev_priv->active_display_unit == vmw_du_screen_object) assumed_bpp =4 ; +if (dev_priv->assume_16bpp) + assumed_bpp =2 ; +if (dev_priv->active_display_unit == vmw_du_screen_target) { max_width =min (max_width, dev_priv->stdu_max_width); max_height =min (max_height, dev_priv->stdu_max_height);
Patches currently in stable-queue which might be from [email protected] are
queue-4.6/drm-ttm-make-ttm_bo_mem_compat-available.patch queue-4.6/drm-vmwgfx-delay-pinning-fbdev-framebuffer-until-after-mode-set.patch queue-4.6/drm-vmwgfx-add-an-option-to-change-assumed-fb-bpp.patch queue-4.6/drm-vmwgfx-fix-corner-case-screen-target-management.patch queue-4.6/drm-vmwgfx-check-pin-count-before-attempting-to-move-a-buffer.patch queue-4.6/drm-vmwgfx-work-around-mode-set-failure-in-2d-vms.patch queue-4.6/drm-vmwgfx-fix-error-paths-when-mapping-framebuffer.patch