100,7 → 100,7 |
/** |
* Send the fifo command to create a screen. |
*/ |
int vmw_sou_fifo_create(struct vmw_private *dev_priv, |
static int vmw_sou_fifo_create(struct vmw_private *dev_priv, |
struct vmw_screen_object_unit *sou, |
uint32_t x, uint32_t y, |
struct drm_display_mode *mode) |
114,10 → 114,8 |
SVGAScreenObject obj; |
} *cmd; |
|
// BUG_ON(!sou->buffer); |
BUG_ON(!sou->buffer); |
|
ENTER(); |
|
fifo_size = sizeof(*cmd); |
cmd = vmw_fifo_reserve(dev_priv, fifo_size); |
/* The hardware has hung, nothing we can do about it here. */ |
143,10 → 141,7 |
} |
|
/* Ok to assume that buffer is pinned in vram */ |
// vmw_bo_get_guest_ptr(&sou->buffer->base, &cmd->obj.backingStore.ptr); |
|
cmd->obj.backingStore.ptr.gmrId = SVGA_GMR_FRAMEBUFFER; |
cmd->obj.backingStore.ptr.offset = 0; |
vmw_bo_get_guest_ptr(&sou->buffer->base, &cmd->obj.backingStore.ptr); |
cmd->obj.backingStore.pitch = mode->hdisplay * 4; |
|
vmw_fifo_commit(dev_priv, fifo_size); |
153,8 → 148,6 |
|
sou->defined = true; |
|
LEAVE(); |
|
return 0; |
} |
|
314,7 → 307,7 |
|
connector->encoder = NULL; |
encoder->crtc = NULL; |
crtc->fb = NULL; |
crtc->primary->fb = NULL; |
crtc->x = 0; |
crtc->y = 0; |
crtc->enabled = false; |
375,7 → 368,7 |
|
connector->encoder = NULL; |
encoder->crtc = NULL; |
crtc->fb = NULL; |
crtc->primary->fb = NULL; |
crtc->x = 0; |
crtc->y = 0; |
crtc->enabled = false; |
388,7 → 381,7 |
connector->encoder = encoder; |
encoder->crtc = crtc; |
crtc->mode = *mode; |
crtc->fb = fb; |
crtc->primary->fb = fb; |
crtc->x = set->x; |
crtc->y = set->y; |
crtc->enabled = true; |
447,8 → 440,6 |
struct drm_encoder *encoder; |
struct drm_crtc *crtc; |
|
ENTER(); |
|
sou = kzalloc(sizeof(*sou), GFP_KERNEL); |
if (!sou) |
return -ENOMEM; |
476,6 → 467,8 |
encoder->possible_crtcs = (1 << unit); |
encoder->possible_clones = 0; |
|
(void) drm_connector_register(connector); |
|
drm_crtc_init(dev, crtc, &vmw_screen_object_crtc_funcs); |
|
drm_mode_crtc_set_gamma_size(crtc, 256); |
483,7 → 476,7 |
drm_object_attach_property(&connector->base, |
dev->mode_config.dirty_info_property, |
1); |
LEAVE(); |
|
return 0; |
} |
|
492,8 → 485,6 |
struct drm_device *dev = dev_priv->dev; |
int i, ret; |
|
ENTER(); |
|
if (dev_priv->sou_priv) { |
DRM_INFO("sou system already on\n"); |
return -EINVAL; |
523,7 → 514,6 |
|
DRM_INFO("Screen objects system initialized\n"); |
|
LEAVE(); |
return 0; |
|
err_vblank_cleanup: |
579,7 → 569,7 |
BUG_ON(!sou->base.is_implicit); |
|
dev_priv->sou_priv->implicit_fb = |
vmw_framebuffer_to_vfb(sou->base.crtc.fb); |
vmw_framebuffer_to_vfb(sou->base.crtc.primary->fb); |
} |
|
#include "bitmap.h" |
639,8 → 629,6 |
|
bool ret = false; |
|
ENTER(); |
|
// dbgprintf("width %d height %d vrefresh %d\n", |
// reqmode->width, reqmode->height, reqmode->freq); |
|
718,6 → 706,7 |
vmw_write(dev_priv,SVGA_REG_WIDTH, mode->hdisplay); |
vmw_write(dev_priv,SVGA_REG_HEIGHT, mode->vdisplay); |
vmw_write(dev_priv,SVGA_REG_BITS_PER_PIXEL, 32); |
os_display->select_cursor(os_display->cursor); |
ret = 0; |
#endif |
if (ret == 0) |
737,6 → 726,5 |
os_display->width, os_display->height, crtc); |
} |
|
LEAVE(); |
return ret; |
}; |