Merge remote-tracking branch 'remotes/common/tizen' into tizen
authorRicardo Neri <ricardo.neri-calderon@linux.intel.com>
Mon, 29 Sep 2014 18:23:18 +0000 (11:23 -0700)
committerRicardo Neri <ricardo.neri-calderon@linux.intel.com>
Mon, 29 Sep 2014 18:23:18 +0000 (11:23 -0700)
This update makes ivi be based on kernel-common tizen. The objective
is to leverage on the changes from kernel-common (e.g., unified
packaging) while preserving ivi-specific changes:

 * drm/i915 driver updates
 * kernel setting CAN bus bit-timing

1  2 
.gitignore
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/intel_crt.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h

diff --cc .gitignore
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -11199,44 -10990,8 +11229,35 @@@ void intel_modeset_init(struct drm_devi
  
        /* Just in case the BIOS is doing something questionable. */
        intel_disable_fbc(dev);
 +
 +      mutex_lock(&dev->mode_config.mutex);
 +      intel_modeset_setup_hw_state(dev, false);
 +      mutex_unlock(&dev->mode_config.mutex);
 +
 +      list_for_each_entry(crtc, &dev->mode_config.crtc_list,
 +                          base.head) {
 +              if (!crtc->active)
 +                      continue;
 +
 +              /*
 +               * Note that reserving the BIOS fb up front prevents us
 +               * from stuffing other stolen allocations like the ring
 +               * on top.  This prevents some ugliness at boot time, and
 +               * can even allow for smooth boot transitions if the BIOS
 +               * fb is large enough for the active pipe configuration.
 +               */
 +              if (dev_priv->display.get_plane_config) {
 +                      dev_priv->display.get_plane_config(crtc,
 +                                                         &crtc->plane_config);
 +                      /*
 +                       * If the fb is shared between multiple heads, we'll
 +                       * just get the first one.
 +                       */
 +                      intel_find_plane_obj(crtc, &crtc->plane_config);
 +              }
 +      }
  }
  
- static void
- intel_connector_break_all_links(struct intel_connector *connector)
- {
-       connector->base.dpms = DRM_MODE_DPMS_OFF;
-       connector->base.encoder = NULL;
-       connector->encoder->connectors_active = false;
-       connector->encoder->base.crtc = NULL;
- }
  static void intel_enable_pipe_a(struct drm_device *dev)
  {
        struct intel_connector *connector;
@@@ -11595,27 -11362,20 +11629,35 @@@ void intel_modeset_gem_init(struct drm_
  
        intel_setup_overlay(dev);
  
 -      mutex_lock(&dev->mode_config.mutex);
 -      drm_mode_config_reset(dev);
 -      intel_modeset_setup_hw_state(dev, false);
 -      mutex_unlock(&dev->mode_config.mutex);
 +      /*
 +       * Make sure any fbs we allocated at startup are properly
 +       * pinned & fenced.  When we do the allocation it's too early
 +       * for this.
 +       */
 +      mutex_lock(&dev->struct_mutex);
 +      list_for_each_entry(c, &dev->mode_config.crtc_list, head) {
 +              if (!c->fb)
 +                      continue;
 +
 +              fb = to_intel_framebuffer(c->fb);
 +              if (intel_pin_and_fence_fb_obj(dev, fb->obj, NULL)) {
 +                      DRM_ERROR("failed to pin boot fb on pipe %d\n",
 +                                to_intel_crtc(c)->pipe);
 +                      drm_framebuffer_unreference(c->fb);
 +                      c->fb = NULL;
 +              }
 +      }
 +      mutex_unlock(&dev->struct_mutex);
  }
  
+ void intel_connector_unregister(struct intel_connector *intel_connector)
+ {
+       struct drm_connector *connector = &intel_connector->base;
+       intel_panel_destroy_backlight(connector);
+       drm_sysfs_connector_remove(connector);
+ }
  void intel_modeset_cleanup(struct drm_device *dev)
  {
        struct drm_i915_private *dev_priv = dev->dev_private;
Simple merge
Simple merge