aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/gma500/framebuffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/gma500/framebuffer.c')
-rw-r--r--drivers/gpu/drm/gma500/framebuffer.c31
1 files changed, 14 insertions, 17 deletions
diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c
index 8b1b6d923abe..01dd7d225762 100644
--- a/drivers/gpu/drm/gma500/framebuffer.c
+++ b/drivers/gpu/drm/gma500/framebuffer.c
@@ -321,10 +321,8 @@ static struct gtt_range *psbfb_alloc(struct drm_device *dev, int aligned_size)
321 /* Begin by trying to use stolen memory backing */ 321 /* Begin by trying to use stolen memory backing */
322 backing = psb_gtt_alloc_range(dev, aligned_size, "fb", 1); 322 backing = psb_gtt_alloc_range(dev, aligned_size, "fb", 1);
323 if (backing) { 323 if (backing) {
324 if (drm_gem_private_object_init(dev, 324 drm_gem_private_object_init(dev, &backing->gem, aligned_size);
325 &backing->gem, aligned_size) == 0) 325 return backing;
326 return backing;
327 psb_gtt_free_range(dev, backing);
328 } 326 }
329 return NULL; 327 return NULL;
330} 328}
@@ -522,21 +520,21 @@ static struct drm_framebuffer *psb_user_framebuffer_create
522static void psbfb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, 520static void psbfb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
523 u16 blue, int regno) 521 u16 blue, int regno)
524{ 522{
525 struct psb_intel_crtc *intel_crtc = to_psb_intel_crtc(crtc); 523 struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
526 524
527 intel_crtc->lut_r[regno] = red >> 8; 525 gma_crtc->lut_r[regno] = red >> 8;
528 intel_crtc->lut_g[regno] = green >> 8; 526 gma_crtc->lut_g[regno] = green >> 8;
529 intel_crtc->lut_b[regno] = blue >> 8; 527 gma_crtc->lut_b[regno] = blue >> 8;
530} 528}
531 529
532static void psbfb_gamma_get(struct drm_crtc *crtc, u16 *red, 530static void psbfb_gamma_get(struct drm_crtc *crtc, u16 *red,
533 u16 *green, u16 *blue, int regno) 531 u16 *green, u16 *blue, int regno)
534{ 532{
535 struct psb_intel_crtc *intel_crtc = to_psb_intel_crtc(crtc); 533 struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
536 534
537 *red = intel_crtc->lut_r[regno] << 8; 535 *red = gma_crtc->lut_r[regno] << 8;
538 *green = intel_crtc->lut_g[regno] << 8; 536 *green = gma_crtc->lut_g[regno] << 8;
539 *blue = intel_crtc->lut_b[regno] << 8; 537 *blue = gma_crtc->lut_b[regno] << 8;
540} 538}
541 539
542static int psbfb_probe(struct drm_fb_helper *helper, 540static int psbfb_probe(struct drm_fb_helper *helper,
@@ -705,13 +703,12 @@ static void psb_setup_outputs(struct drm_device *dev)
705 703
706 list_for_each_entry(connector, &dev->mode_config.connector_list, 704 list_for_each_entry(connector, &dev->mode_config.connector_list,
707 head) { 705 head) {
708 struct psb_intel_encoder *psb_intel_encoder = 706 struct gma_encoder *gma_encoder = gma_attached_encoder(connector);
709 psb_intel_attached_encoder(connector); 707 struct drm_encoder *encoder = &gma_encoder->base;
710 struct drm_encoder *encoder = &psb_intel_encoder->base;
711 int crtc_mask = 0, clone_mask = 0; 708 int crtc_mask = 0, clone_mask = 0;
712 709
713 /* valid crtcs */ 710 /* valid crtcs */
714 switch (psb_intel_encoder->type) { 711 switch (gma_encoder->type) {
715 case INTEL_OUTPUT_ANALOG: 712 case INTEL_OUTPUT_ANALOG:
716 crtc_mask = (1 << 0); 713 crtc_mask = (1 << 0);
717 clone_mask = (1 << INTEL_OUTPUT_ANALOG); 714 clone_mask = (1 << INTEL_OUTPUT_ANALOG);
@@ -746,7 +743,7 @@ static void psb_setup_outputs(struct drm_device *dev)
746 } 743 }
747 encoder->possible_crtcs = crtc_mask; 744 encoder->possible_crtcs = crtc_mask;
748 encoder->possible_clones = 745 encoder->possible_clones =
749 psb_intel_connector_clones(dev, clone_mask); 746 gma_connector_clones(dev, clone_mask);
750 } 747 }
751} 748}
752 749