diff options
Diffstat (limited to 'drivers/gpu/drm/gma500/framebuffer.c')
-rw-r--r-- | drivers/gpu/drm/gma500/framebuffer.c | 31 |
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 | |||
522 | static void psbfb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, | 520 | static 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 | ||
532 | static void psbfb_gamma_get(struct drm_crtc *crtc, u16 *red, | 530 | static 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 | ||
542 | static int psbfb_probe(struct drm_fb_helper *helper, | 540 | static 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 | ||