]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'drm/drm-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Mon, 29 Feb 2016 23:54:12 +0000 (10:54 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Mon, 29 Feb 2016 23:54:16 +0000 (10:54 +1100)
51 files changed:
1  2 
MAINTAINERS
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
drivers/gpu/drm/amd/amdgpu/cik.c
drivers/gpu/drm/amd/amdgpu/cik_sdma.c
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c
drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
drivers/gpu/drm/amd/amdgpu/vce_v2_0.c
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
drivers/gpu/drm/amd/amdgpu/vi.c
drivers/gpu/drm/amd/include/amd_shared.h
drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_atomic_helper.c
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_irq.c
drivers/gpu/drm/exynos/exynos_drm_dsi.c
drivers/gpu/drm/exynos/exynos_drm_g2d.c
drivers/gpu/drm/exynos/exynos_drm_ipp.c
drivers/gpu/drm/exynos/exynos_drm_vidi.c
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_csr.c
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_dsi.c
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
drivers/gpu/drm/i915/intel_hdmi.c
drivers/gpu/drm/i915/intel_lvds.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/i915/intel_runtime_pm.c
drivers/gpu/drm/radeon/radeon_display.c
drivers/gpu/drm/tegra/drm.h
drivers/gpu/drm/vc4/vc4_drv.h
drivers/media/i2c/adv7604.c
include/drm/drm_crtc.h

diff --cc MAINTAINERS
Simple merge
index 5e7770f9a415be24140df77708e9d9d39dee7faa,f5bac97a438b09123cd1446ce118ed45f979d6ff..75fcbdb884489286f71bc087dbed301b712b9195
@@@ -82,13 -82,9 +82,11 @@@ extern int amdgpu_vm_size
  extern int amdgpu_vm_block_size;
  extern int amdgpu_vm_fault_stop;
  extern int amdgpu_vm_debug;
- extern int amdgpu_enable_scheduler;
  extern int amdgpu_sched_jobs;
  extern int amdgpu_sched_hw_submission;
- extern int amdgpu_enable_semaphores;
  extern int amdgpu_powerplay;
 +extern unsigned amdgpu_pcie_gen_cap;
 +extern unsigned amdgpu_pcie_lane_cap;
  
  #define AMDGPU_WAIT_IDLE_TIMEOUT_IN_MS                3000
  #define AMDGPU_MAX_USEC_TIMEOUT                       100000  /* 100 ms */
index 8297bc319369d6e4e4dd1579195ca1b6161a57d1,2cb53c24dec01bfdc648708acd4a30703fda71e3..6548ff4ccbfc161d952e406a671048b48977eaec
@@@ -72,13 -70,16 +70,16 @@@ static void amdgpu_flip_work_func(struc
  
        struct drm_crtc *crtc = &amdgpuCrtc->base;
        unsigned long flags;
 -      unsigned i;
 -      int vpos, hpos, stat, min_udelay;
 +      unsigned i, repcnt = 4;
 +      int vpos, hpos, stat, min_udelay = 0;
        struct drm_vblank_crtc *vblank = &crtc->dev->vblank[work->crtc_id];
  
-       amdgpu_flip_wait_fence(adev, &work->excl);
+       if (amdgpu_flip_handle_fence(work, &work->excl))
+               return;
        for (i = 0; i < work->shared_count; ++i)
-               amdgpu_flip_wait_fence(adev, &work->shared[i]);
+               if (amdgpu_flip_handle_fence(work, &work->shared[i]))
+                       return;
  
        /* We borrow the event spin lock for protecting flip_status */
        spin_lock_irqsave(&crtc->dev->event_lock, flags);
                spin_lock_irqsave(&crtc->dev->event_lock, flags);
        };
  
-       /* do the flip (mmio) */
-       adev->mode_info.funcs->page_flip(adev, work->crtc_id, work->base);
 +      if (!repcnt)
 +              DRM_DEBUG_DRIVER("Delay problem on crtc %d: min_udelay %d, "
 +                               "framedur %d, linedur %d, stat %d, vpos %d, "
 +                               "hpos %d\n", work->crtc_id, min_udelay,
 +                               vblank->framedur_ns / 1000,
 +                               vblank->linedur_ns / 1000, stat, vpos, hpos);
 +
        /* set the flip status */
        amdgpuCrtc->pflip_status = AMDGPU_FLIP_SUBMITTED;
        spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
+       /* Do the flip (mmio) */
+       adev->mode_info.funcs->page_flip(adev, work->crtc_id, work->base);
  }
  
  /*
index 9ef1db87cf260c2a6a8abd423dde4be313f355ae,ce79a8b605a0664a26ac2b42c56f06538fcaf9b8..c1182ec4d676f3c2df919a48ff6c22717bdecd0e
@@@ -78,13 -77,9 +77,11 @@@ int amdgpu_vm_block_size = -1
  int amdgpu_vm_fault_stop = 0;
  int amdgpu_vm_debug = 0;
  int amdgpu_exp_hw_support = 0;
- int amdgpu_enable_scheduler = 1;
  int amdgpu_sched_jobs = 32;
  int amdgpu_sched_hw_submission = 2;
- int amdgpu_enable_semaphores = 0;
  int amdgpu_powerplay = -1;
 +unsigned amdgpu_pcie_gen_cap = 0;
 +unsigned amdgpu_pcie_lane_cap = 0;
  
  MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in megabytes");
  module_param_named(vramlimit, amdgpu_vram_limit, int, 0600);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 46947fffd5998074555c95ce8d373343aac20bd6,e1e7cdee3bbd6f3f2148fad011f507924a7c7918..cd94e5b4e91681b486457302cb041f67b0b6e21b
@@@ -10049,16 -10055,11 +10081,17 @@@ static bool haswell_get_pipe_config(str
                pipe_config->pixel_multiplier = 1;
        }
  
 -      return true;
 +      ret = true;
 +
 +out:
 +      for_each_power_domain(power_domain, power_domain_mask)
 +              intel_display_power_put(dev_priv, power_domain);
 +
 +      return ret;
  }
  
- static void i845_update_cursor(struct drm_crtc *crtc, u32 base, bool on)
+ static void i845_update_cursor(struct drm_crtc *crtc, u32 base,
+                              const struct intel_plane_state *plane_state)
  {
        struct drm_device *dev = crtc->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
Simple merge
Simple merge
Simple merge
index cb5d1b15755c3b19a496105c7a8df99982e83cb9,8698a643d027f70f5dd9a212c8b13eaa8f220e0e..3796f57714733e2327842eaeeedfa85a93116086
mode 100644,100755..100755
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge