diff options
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 6 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 16 |
2 files changed, 18 insertions, 4 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index 7197af157313..25f3c250fd98 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | |||
| @@ -688,7 +688,11 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset) | |||
| 688 | goto out_err0; | 688 | goto out_err0; |
| 689 | } | 689 | } |
| 690 | 690 | ||
| 691 | if (unlikely(dev_priv->prim_bb_mem < dev_priv->vram_size)) | 691 | /* |
| 692 | * Limit back buffer size to VRAM size. Remove this once | ||
| 693 | * screen targets are implemented. | ||
| 694 | */ | ||
| 695 | if (dev_priv->prim_bb_mem > dev_priv->vram_size) | ||
| 692 | dev_priv->prim_bb_mem = dev_priv->vram_size; | 696 | dev_priv->prim_bb_mem = dev_priv->vram_size; |
| 693 | 697 | ||
| 694 | mutex_unlock(&dev_priv->hw_mutex); | 698 | mutex_unlock(&dev_priv->hw_mutex); |
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c index 8fc1e38bbe44..941a7bc0b791 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | |||
| @@ -1950,6 +1950,14 @@ int vmw_du_connector_fill_modes(struct drm_connector *connector, | |||
| 1950 | DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) | 1950 | DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) |
| 1951 | }; | 1951 | }; |
| 1952 | int i; | 1952 | int i; |
| 1953 | u32 assumed_bpp = 2; | ||
| 1954 | |||
| 1955 | /* | ||
| 1956 | * If using screen objects, then assume 32-bpp because that's what the | ||
| 1957 | * SVGA device is assuming | ||
| 1958 | */ | ||
| 1959 | if (dev_priv->sou_priv) | ||
| 1960 | assumed_bpp = 4; | ||
| 1953 | 1961 | ||
| 1954 | /* Add preferred mode */ | 1962 | /* Add preferred mode */ |
| 1955 | { | 1963 | { |
| @@ -1960,8 +1968,9 @@ int vmw_du_connector_fill_modes(struct drm_connector *connector, | |||
| 1960 | mode->vdisplay = du->pref_height; | 1968 | mode->vdisplay = du->pref_height; |
| 1961 | vmw_guess_mode_timing(mode); | 1969 | vmw_guess_mode_timing(mode); |
| 1962 | 1970 | ||
| 1963 | if (vmw_kms_validate_mode_vram(dev_priv, mode->hdisplay * 2, | 1971 | if (vmw_kms_validate_mode_vram(dev_priv, |
| 1964 | mode->vdisplay)) { | 1972 | mode->hdisplay * assumed_bpp, |
| 1973 | mode->vdisplay)) { | ||
| 1965 | drm_mode_probed_add(connector, mode); | 1974 | drm_mode_probed_add(connector, mode); |
| 1966 | } else { | 1975 | } else { |
| 1967 | drm_mode_destroy(dev, mode); | 1976 | drm_mode_destroy(dev, mode); |
| @@ -1983,7 +1992,8 @@ int vmw_du_connector_fill_modes(struct drm_connector *connector, | |||
| 1983 | bmode->vdisplay > max_height) | 1992 | bmode->vdisplay > max_height) |
| 1984 | continue; | 1993 | continue; |
| 1985 | 1994 | ||
| 1986 | if (!vmw_kms_validate_mode_vram(dev_priv, bmode->hdisplay * 2, | 1995 | if (!vmw_kms_validate_mode_vram(dev_priv, |
| 1996 | bmode->hdisplay * assumed_bpp, | ||
| 1987 | bmode->vdisplay)) | 1997 | bmode->vdisplay)) |
| 1988 | continue; | 1998 | continue; |
| 1989 | 1999 | ||
