aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/gma500/framebuffer.c
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-04-25 09:38:07 -0400
committerDave Airlie <airlied@redhat.com>2012-04-27 04:24:16 -0400
commitd235e64a4367ad3ff204309490c4325b4f89b25b (patch)
tree33e84fdfc41628f78c5183f04e450d396c1cbc38 /drivers/gpu/drm/gma500/framebuffer.c
parentb60bfb6585bcda7bc7abd32ce9a14d4c8a6acc8e (diff)
cdv: continue synching up with updated reference code
In particular clean up the errata handling and correct the crtc masks. We do this a bit differently using our device abstraction for neatness. This doesn't address the ACPI opregion and hotplug plumbing, nor the IRQ related changes that will need. It touches on backlight init but the full backlight support is not in this change set. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/gma500/framebuffer.c')
-rw-r--r--drivers/gpu/drm/gma500/framebuffer.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c
index c2cf6bf217dd..c9fe4bdeb681 100644
--- a/drivers/gpu/drm/gma500/framebuffer.c
+++ b/drivers/gpu/drm/gma500/framebuffer.c
@@ -748,10 +748,7 @@ static void psb_setup_outputs(struct drm_device *dev)
748 clone_mask = (1 << INTEL_OUTPUT_SDVO); 748 clone_mask = (1 << INTEL_OUTPUT_SDVO);
749 break; 749 break;
750 case INTEL_OUTPUT_LVDS: 750 case INTEL_OUTPUT_LVDS:
751 if (IS_MRST(dev)) 751 crtc_mask = dev_priv->ops->lvds_mask;
752 crtc_mask = (1 << 0);
753 else
754 crtc_mask = (1 << 1);
755 clone_mask = (1 << INTEL_OUTPUT_LVDS); 752 clone_mask = (1 << INTEL_OUTPUT_LVDS);
756 break; 753 break;
757 case INTEL_OUTPUT_MIPI: 754 case INTEL_OUTPUT_MIPI:
@@ -763,10 +760,7 @@ static void psb_setup_outputs(struct drm_device *dev)
763 clone_mask = (1 << INTEL_OUTPUT_MIPI2); 760 clone_mask = (1 << INTEL_OUTPUT_MIPI2);
764 break; 761 break;
765 case INTEL_OUTPUT_HDMI: 762 case INTEL_OUTPUT_HDMI:
766 if (IS_MFLD(dev)) 763 crtc_mask = dev_priv->ops->hdmi_mask;
767 crtc_mask = (1 << 1);
768 else
769 crtc_mask = (1 << 0);
770 clone_mask = (1 << INTEL_OUTPUT_HDMI); 764 clone_mask = (1 << INTEL_OUTPUT_HDMI);
771 break; 765 break;
772 } 766 }
@@ -802,6 +796,9 @@ void psb_modeset_init(struct drm_device *dev)
802 dev->mode_config.max_height = 2048; 796 dev->mode_config.max_height = 2048;
803 797
804 psb_setup_outputs(dev); 798 psb_setup_outputs(dev);
799
800 if (dev_priv->ops->errata)
801 dev_priv->ops->errata(dev);
805} 802}
806 803
807void psb_modeset_cleanup(struct drm_device *dev) 804void psb_modeset_cleanup(struct drm_device *dev)