diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-01-09 17:25:31 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-01-09 17:25:31 -0800 |
commit | d23a9b6caf604d279aa43103018ca0176c373a66 (patch) | |
tree | 0cf686ee969289043c797255d558719e80e28cdb | |
parent | 0940ed184a0a982ed02b2122c3ae11e8b21a3d4d (diff) | |
download | ltsi-kernel-d23a9b6caf604d279aa43103018ca0176c373a66.tar.gz |
Update to 3.10.26
Removed one patch already upstream, and lots of fuzz cleanups
93 files changed, 1656 insertions, 2092 deletions
diff --git a/KERNEL_VERSION b/KERNEL_VERSION index 8e8781cd1090b4..dce139be4e3892 100644 --- a/KERNEL_VERSION +++ b/KERNEL_VERSION @@ -1 +1 @@ -3.10.25 +3.10.26 diff --git a/patches.baytrail/0025-drm-i915-drop-init_dpio-shouldn-t-be-needed.patch b/patches.baytrail/0025-drm-i915-drop-init_dpio-shouldn-t-be-needed.patch index 487f18df6af352..a58c40455b0a3a 100644 --- a/patches.baytrail/0025-drm-i915-drop-init_dpio-shouldn-t-be-needed.patch +++ b/patches.baytrail/0025-drm-i915-drop-init_dpio-shouldn-t-be-needed.patch @@ -12,14 +12,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 78c9b7e71d90f32ce19d4a575a1a206cfe7c6a00) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/intel_display.c | 14 -------------- + drivers/gpu/drm/i915/intel_display.c | 14 -------------- 1 file changed, 14 deletions(-) -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 7b52c0f729d5..9a284ac81c34 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -467,17 +467,6 @@ void intel_dpio_write(struct drm_i915_private *dev_priv, int reg, u32 val) +@@ -467,17 +467,6 @@ void intel_dpio_write(struct drm_i915_pr DRM_ERROR("DPIO write wait timed out\n"); } @@ -37,7 +35,7 @@ index 7b52c0f729d5..9a284ac81c34 100644 static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc, int refclk) { -@@ -9484,9 +9473,6 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -9486,9 +9475,6 @@ void intel_modeset_cleanup(struct drm_de ironlake_teardown_rc6(dev); @@ -47,6 +45,3 @@ index 7b52c0f729d5..9a284ac81c34 100644 mutex_unlock(&dev->struct_mutex); /* Disable the irq before mode object teardown, for the irq might --- -1.8.5.rc3 - diff --git a/patches.baytrail/0041-drm-i915-Turn-DEV_INFO_FLAGS-into-a-foreach-style-ma.patch b/patches.baytrail/0041-drm-i915-Turn-DEV_INFO_FLAGS-into-a-foreach-style-ma.patch index 5b8f97b363983a..18261af217a71d 100644 --- a/patches.baytrail/0041-drm-i915-Turn-DEV_INFO_FLAGS-into-a-foreach-style-ma.patch +++ b/patches.baytrail/0041-drm-i915-Turn-DEV_INFO_FLAGS-into-a-foreach-style-ma.patch @@ -22,16 +22,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 79fc46dfd0c7cc68442554a428e03a3b7e0d44aa) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_debugfs.c | 10 ++++---- - drivers/gpu/drm/i915/i915_dma.c | 10 ++++---- - drivers/gpu/drm/i915/i915_drv.h | 50 ++++++++++++++++++------------------- + drivers/gpu/drm/i915/i915_debugfs.c | 10 +++---- + drivers/gpu/drm/i915/i915_dma.c | 10 +++---- + drivers/gpu/drm/i915/i915_drv.h | 50 ++++++++++++++++++------------------ 3 files changed, 35 insertions(+), 35 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index d195d097cbb7..a55630a80f83 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c -@@ -61,11 +61,11 @@ static int i915_capabilities(struct seq_file *m, void *data) +@@ -61,11 +61,11 @@ static int i915_capabilities(struct seq_ seq_printf(m, "gen: %d\n", info->gen); seq_printf(m, "pch: %d\n", INTEL_PCH_TYPE(dev)); @@ -48,11 +46,9 @@ index d195d097cbb7..a55630a80f83 100644 return 0; } -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 17d9b0b6afc5..120e1fc4890f 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1445,15 +1445,15 @@ static void i915_dump_device_info(struct drm_i915_private *dev_priv) +@@ -1453,15 +1453,15 @@ static void i915_dump_device_info(struct { const struct intel_device_info *info = dev_priv->info; @@ -73,8 +69,6 @@ index 17d9b0b6afc5..120e1fc4890f 100644 } /** -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 698da6dbdb32..c6179c8bea21 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -333,31 +333,31 @@ struct drm_i915_gt_funcs { @@ -134,6 +128,3 @@ index 698da6dbdb32..c6179c8bea21 100644 struct intel_device_info { u32 display_mmio_offset; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0042-drm-i915-Replace-the-line-of-s-by-a-DEV_INFO_FOR_EAC.patch b/patches.baytrail/0042-drm-i915-Replace-the-line-of-s-by-a-DEV_INFO_FOR_EAC.patch index 3d436f63006ee3..ff416fa979a1dd 100644 --- a/patches.baytrail/0042-drm-i915-Replace-the-line-of-s-by-a-DEV_INFO_FOR_EAC.patch +++ b/patches.baytrail/0042-drm-i915-Replace-the-line-of-s-by-a-DEV_INFO_FOR_EAC.patch @@ -15,14 +15,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit e2a5800a14abcf861b9d6565de2a22bd6e9ae0ef) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 6 +++++- + drivers/gpu/drm/i915/i915_dma.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 120e1fc4890f..579654d89ac3 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1445,13 +1445,17 @@ static void i915_dump_device_info(struct drm_i915_private *dev_priv) +@@ -1453,13 +1453,17 @@ static void i915_dump_device_info(struct { const struct intel_device_info *info = dev_priv->info; @@ -41,6 +39,3 @@ index 120e1fc4890f..579654d89ac3 100644 #undef PRINT_FLAG #undef SEP_COMMA } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0045-drm-i915-Introduce-HAS_FPGA_DBG_UNCLAIMED.patch b/patches.baytrail/0045-drm-i915-Introduce-HAS_FPGA_DBG_UNCLAIMED.patch index 514a96396d6f55..792a77826945e1 100644 --- a/patches.baytrail/0045-drm-i915-Introduce-HAS_FPGA_DBG_UNCLAIMED.patch +++ b/patches.baytrail/0045-drm-i915-Introduce-HAS_FPGA_DBG_UNCLAIMED.patch @@ -16,16 +16,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit e76ebff887e9cc4a8448a0fc6abbb1925291f38b) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - drivers/gpu/drm/i915/i915_drv.c | 4 ++-- - drivers/gpu/drm/i915/i915_drv.h | 1 + + drivers/gpu/drm/i915/i915_dma.c | 2 +- + drivers/gpu/drm/i915/i915_drv.c | 4 ++-- + drivers/gpu/drm/i915/i915_drv.h | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 579654d89ac3..f7b85e1a1ba7 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1472,7 +1472,7 @@ static void intel_early_sanitize_regs(struct drm_device *dev) +@@ -1480,7 +1480,7 @@ static void intel_early_sanitize_regs(st { struct drm_i915_private *dev_priv = dev->dev_private; @@ -34,11 +32,9 @@ index 579654d89ac3..f7b85e1a1ba7 100644 I915_WRITE_NOTRACE(FPGA_DBG, FPGA_DBG_RM_NOCLAIM); } -diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c -index 7d4a284487ee..97858c71b3f7 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c -@@ -1229,7 +1229,7 @@ ilk_dummy_write(struct drm_i915_private *dev_priv) +@@ -1229,7 +1229,7 @@ ilk_dummy_write(struct drm_i915_private static void hsw_unclaimed_reg_clear(struct drm_i915_private *dev_priv, u32 reg) { @@ -47,7 +43,7 @@ index 7d4a284487ee..97858c71b3f7 100644 (I915_READ_NOTRACE(FPGA_DBG) & FPGA_DBG_RM_NOCLAIM)) { DRM_ERROR("Unknown unclaimed register before writing to %x\n", reg); -@@ -1240,7 +1240,7 @@ hsw_unclaimed_reg_clear(struct drm_i915_private *dev_priv, u32 reg) +@@ -1240,7 +1240,7 @@ hsw_unclaimed_reg_clear(struct drm_i915_ static void hsw_unclaimed_reg_check(struct drm_i915_private *dev_priv, u32 reg) { @@ -56,8 +52,6 @@ index 7d4a284487ee..97858c71b3f7 100644 (I915_READ_NOTRACE(FPGA_DBG) & FPGA_DBG_RM_NOCLAIM)) { DRM_ERROR("Unclaimed write to %x\n", reg); I915_WRITE_NOTRACE(FPGA_DBG, FPGA_DBG_RM_NOCLAIM); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 15951914a65b..99d744441ad6 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1371,6 +1371,7 @@ struct drm_i915_file_private { @@ -68,6 +62,3 @@ index 15951914a65b..99d744441ad6 100644 #define INTEL_PCH_DEVICE_ID_MASK 0xff00 #define INTEL_PCH_IBX_DEVICE_ID_TYPE 0x3b00 --- -1.8.5.rc3 - diff --git a/patches.baytrail/0050-drm-i915-disable-interrupts-earlier-in-the-driver-un.patch b/patches.baytrail/0050-drm-i915-disable-interrupts-earlier-in-the-driver-un.patch index 196d56902db749..9978ccf70ee161 100644 --- a/patches.baytrail/0050-drm-i915-disable-interrupts-earlier-in-the-driver-un.patch +++ b/patches.baytrail/0050-drm-i915-disable-interrupts-earlier-in-the-driver-un.patch @@ -25,15 +25,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit fd0c06420d39958032655a04cfd194d5a7b38f83) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/intel_display.c | 19 ++++++++++++------- - drivers/gpu/drm/i915/intel_pm.c | 3 +++ + drivers/gpu/drm/i915/intel_display.c | 19 ++++++++++++------- + drivers/gpu/drm/i915/intel_pm.c | 3 +++ 2 files changed, 15 insertions(+), 7 deletions(-) -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 0db840241690..df0d00df3532 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -9585,12 +9585,23 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -9587,12 +9587,23 @@ void intel_modeset_cleanup(struct drm_de struct drm_crtc *crtc; struct intel_crtc *intel_crtc; @@ -58,7 +56,7 @@ index 0db840241690..df0d00df3532 100644 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { /* Skip inactive CRTCs */ if (!crtc->fb) -@@ -9608,12 +9619,6 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -9610,12 +9621,6 @@ void intel_modeset_cleanup(struct drm_de mutex_unlock(&dev->struct_mutex); @@ -71,11 +69,9 @@ index 0db840241690..df0d00df3532 100644 /* flush any delayed tasks or pending work */ flush_scheduled_work(); -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 789710624d75..ad9d622c55af 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -3671,6 +3671,9 @@ void intel_disable_gt_powersave(struct drm_device *dev) +@@ -3671,6 +3671,9 @@ void intel_disable_gt_powersave(struct d { struct drm_i915_private *dev_priv = dev->dev_private; @@ -85,6 +81,3 @@ index 789710624d75..ad9d622c55af 100644 if (IS_IRONLAKE_M(dev)) { ironlake_disable_drps(dev); ironlake_disable_rc6(dev); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0054-drm-i915-protect-backlight-registers-and-data-with-a.patch b/patches.baytrail/0054-drm-i915-protect-backlight-registers-and-data-with-a.patch index c8a1bd3911c014..13fd1dd8babf21 100644 --- a/patches.baytrail/0054-drm-i915-protect-backlight-registers-and-data-with-a.patch +++ b/patches.baytrail/0054-drm-i915-protect-backlight-registers-and-data-with-a.patch @@ -24,17 +24,15 @@ Conflicts: drivers/gpu/drm/i915/i915_dma.c Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 1 + - drivers/gpu/drm/i915/i915_drv.h | 1 + - drivers/gpu/drm/i915/i915_suspend.c | 10 ++++++++++ - drivers/gpu/drm/i915/intel_panel.c | 30 +++++++++++++++++++++++++++++- + drivers/gpu/drm/i915/i915_dma.c | 1 + + drivers/gpu/drm/i915/i915_drv.h | 1 + + drivers/gpu/drm/i915/i915_suspend.c | 10 ++++++++++ + drivers/gpu/drm/i915/intel_panel.c | 30 +++++++++++++++++++++++++++++- 4 files changed, 41 insertions(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index f7b85e1a1ba7..68a57031db2c 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1519,6 +1519,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1527,6 +1527,7 @@ int i915_driver_load(struct drm_device * spin_lock_init(&dev_priv->gpu_error.lock); spin_lock_init(&dev_priv->rps.lock); spin_lock_init(&dev_priv->gt_lock); @@ -42,8 +40,6 @@ index f7b85e1a1ba7..68a57031db2c 100644 mutex_init(&dev_priv->dpio_lock); mutex_init(&dev_priv->rps.hw_lock); mutex_init(&dev_priv->modeset_restore_lock); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index c123e9e0cd12..8a8e8dc5c2e1 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -961,6 +961,7 @@ typedef struct drm_i915_private { @@ -54,11 +50,9 @@ index c123e9e0cd12..8a8e8dc5c2e1 100644 struct backlight_device *device; } backlight; -diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c -index 369b3d8776ab..70db618989c4 100644 --- a/drivers/gpu/drm/i915/i915_suspend.c +++ b/drivers/gpu/drm/i915/i915_suspend.c -@@ -192,6 +192,7 @@ static void i915_restore_vga(struct drm_device *dev) +@@ -192,6 +192,7 @@ static void i915_restore_vga(struct drm_ static void i915_save_display(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; @@ -66,7 +60,7 @@ index 369b3d8776ab..70db618989c4 100644 /* Display arbitration control */ if (INTEL_INFO(dev)->gen <= 4) -@@ -202,6 +203,8 @@ static void i915_save_display(struct drm_device *dev) +@@ -202,6 +203,8 @@ static void i915_save_display(struct drm if (!drm_core_check_feature(dev, DRIVER_MODESET)) i915_save_display_reg(dev); @@ -75,7 +69,7 @@ index 369b3d8776ab..70db618989c4 100644 /* LVDS state */ if (HAS_PCH_SPLIT(dev)) { dev_priv->regfile.savePP_CONTROL = I915_READ(PCH_PP_CONTROL); -@@ -222,6 +225,8 @@ static void i915_save_display(struct drm_device *dev) +@@ -222,6 +225,8 @@ static void i915_save_display(struct drm dev_priv->regfile.saveLVDS = I915_READ(LVDS); } @@ -84,7 +78,7 @@ index 369b3d8776ab..70db618989c4 100644 if (!IS_I830(dev) && !IS_845G(dev) && !HAS_PCH_SPLIT(dev)) dev_priv->regfile.savePFIT_CONTROL = I915_READ(PFIT_CONTROL); -@@ -257,6 +262,7 @@ static void i915_restore_display(struct drm_device *dev) +@@ -257,6 +262,7 @@ static void i915_restore_display(struct { struct drm_i915_private *dev_priv = dev->dev_private; u32 mask = 0xffffffff; @@ -92,7 +86,7 @@ index 369b3d8776ab..70db618989c4 100644 /* Display arbitration */ if (INTEL_INFO(dev)->gen <= 4) -@@ -265,6 +271,8 @@ static void i915_restore_display(struct drm_device *dev) +@@ -265,6 +271,8 @@ static void i915_restore_display(struct if (!drm_core_check_feature(dev, DRIVER_MODESET)) i915_restore_display_reg(dev); @@ -101,7 +95,7 @@ index 369b3d8776ab..70db618989c4 100644 /* LVDS state */ if (INTEL_INFO(dev)->gen >= 4 && !HAS_PCH_SPLIT(dev)) I915_WRITE(BLC_PWM_CTL2, dev_priv->regfile.saveBLC_PWM_CTL2); -@@ -304,6 +312,8 @@ static void i915_restore_display(struct drm_device *dev) +@@ -304,6 +312,8 @@ static void i915_restore_display(struct I915_WRITE(PP_CONTROL, dev_priv->regfile.savePP_CONTROL); } @@ -110,11 +104,9 @@ index 369b3d8776ab..70db618989c4 100644 /* only restore FBC info on the platform that supports FBC*/ intel_disable_fbc(dev); if (I915_HAS_FBC(dev)) { -diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c -index 3df5931e638f..4c49b3f77455 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c -@@ -138,6 +138,8 @@ static u32 i915_read_blc_pwm_ctl(struct drm_device *dev) +@@ -138,6 +138,8 @@ static u32 i915_read_blc_pwm_ctl(struct struct drm_i915_private *dev_priv = dev->dev_private; u32 val; @@ -123,7 +115,7 @@ index 3df5931e638f..4c49b3f77455 100644 /* Restore the CTL value if it lost, e.g. GPU reset */ if (HAS_PCH_SPLIT(dev_priv->dev)) { -@@ -218,6 +220,9 @@ static u32 intel_panel_get_backlight(struct drm_device *dev) +@@ -218,6 +220,9 @@ static u32 intel_panel_get_backlight(str { struct drm_i915_private *dev_priv = dev->dev_private; u32 val; @@ -133,7 +125,7 @@ index 3df5931e638f..4c49b3f77455 100644 if (HAS_PCH_SPLIT(dev)) { val = I915_READ(BLC_PWM_CPU_CTL) & BACKLIGHT_DUTY_CYCLE_MASK; -@@ -235,6 +240,9 @@ static u32 intel_panel_get_backlight(struct drm_device *dev) +@@ -235,6 +240,9 @@ static u32 intel_panel_get_backlight(str } val = intel_panel_compute_brightness(dev, val); @@ -143,7 +135,7 @@ index 3df5931e638f..4c49b3f77455 100644 DRM_DEBUG_DRIVER("get backlight PWM = %d\n", val); return val; } -@@ -282,11 +290,14 @@ void intel_panel_set_backlight(struct drm_device *dev, u32 level, u32 max) +@@ -282,11 +290,14 @@ void intel_panel_set_backlight(struct dr { struct drm_i915_private *dev_priv = dev->dev_private; u32 freq; @@ -159,7 +151,7 @@ index 3df5931e638f..4c49b3f77455 100644 } /* scale to hardware */ -@@ -298,11 +309,16 @@ void intel_panel_set_backlight(struct drm_device *dev, u32 level, u32 max) +@@ -298,11 +309,16 @@ void intel_panel_set_backlight(struct dr if (dev_priv->backlight.enabled) intel_panel_actually_set_backlight(dev, level); @@ -176,7 +168,7 @@ index 3df5931e638f..4c49b3f77455 100644 dev_priv->backlight.enabled = false; intel_panel_actually_set_backlight(dev, 0); -@@ -320,12 +336,17 @@ void intel_panel_disable_backlight(struct drm_device *dev) +@@ -320,12 +336,17 @@ void intel_panel_disable_backlight(struc I915_WRITE(BLC_PWM_PCH_CTL1, tmp); } } @@ -203,7 +195,7 @@ index 3df5931e638f..4c49b3f77455 100644 } static void intel_panel_init_backlight(struct drm_device *dev) -@@ -433,6 +456,7 @@ int intel_panel_setup_backlight(struct drm_connector *connector) +@@ -433,6 +456,7 @@ int intel_panel_setup_backlight(struct d struct drm_device *dev = connector->dev; struct drm_i915_private *dev_priv = dev->dev_private; struct backlight_properties props; @@ -211,7 +203,7 @@ index 3df5931e638f..4c49b3f77455 100644 intel_panel_init_backlight(dev); -@@ -442,7 +466,11 @@ int intel_panel_setup_backlight(struct drm_connector *connector) +@@ -442,7 +466,11 @@ int intel_panel_setup_backlight(struct d memset(&props, 0, sizeof(props)); props.type = BACKLIGHT_RAW; props.brightness = dev_priv->backlight.level; @@ -223,6 +215,3 @@ index 3df5931e638f..4c49b3f77455 100644 if (props.max_brightness == 0) { DRM_DEBUG_DRIVER("Failed to get maximum backlight value\n"); return -ENODEV; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0104-drm-i915-reference-count-for-i915_hw_contexts.patch b/patches.baytrail/0104-drm-i915-reference-count-for-i915_hw_contexts.patch index fd715fdd0ba087..8858591470218a 100644 --- a/patches.baytrail/0104-drm-i915-reference-count-for-i915_hw_contexts.patch +++ b/patches.baytrail/0104-drm-i915-reference-count-for-i915_hw_contexts.patch @@ -41,12 +41,10 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit dce3271b1ee05ca01ebdde50d613d7b33ef178a9) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_drv.h | 12 ++++++++++++ - drivers/gpu/drm/i915/i915_gem_context.c | 28 ++++++++++++++-------------- + drivers/gpu/drm/i915/i915_drv.h | 12 ++++++++++++ + drivers/gpu/drm/i915/i915_gem_context.c | 28 ++++++++++++++-------------- 2 files changed, 26 insertions(+), 14 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index c5a31c628ab3..aac5740f1ee9 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -452,6 +452,7 @@ struct i915_hw_ppgtt { @@ -57,7 +55,7 @@ index c5a31c628ab3..aac5740f1ee9 100644 int id; bool is_initialized; struct drm_i915_file_private *file_priv; -@@ -1701,6 +1702,17 @@ void i915_gem_context_fini(struct drm_device *dev); +@@ -1701,6 +1702,17 @@ void i915_gem_context_fini(struct drm_de void i915_gem_context_close(struct drm_device *dev, struct drm_file *file); int i915_switch_context(struct intel_ring_buffer *ring, struct drm_file *file, int to_id); @@ -75,11 +73,9 @@ index c5a31c628ab3..aac5740f1ee9 100644 int i915_gem_context_create_ioctl(struct drm_device *dev, void *data, struct drm_file *file); int i915_gem_context_destroy_ioctl(struct drm_device *dev, void *data, -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 3bc8a58a8d5f..47ffea61c9fa 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -124,10 +124,10 @@ static int get_context_size(struct drm_device *dev) +@@ -124,10 +124,10 @@ static int get_context_size(struct drm_d return ret; } @@ -93,7 +89,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644 drm_gem_object_unreference(&ctx->obj->base); kfree(ctx); -@@ -145,6 +145,7 @@ create_hw_context(struct drm_device *dev, +@@ -145,6 +145,7 @@ create_hw_context(struct drm_device *dev if (ctx == NULL) return ERR_PTR(-ENOMEM); @@ -101,7 +97,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644 ctx->obj = i915_gem_alloc_object(dev, dev_priv->hw_context_size); if (ctx->obj == NULL) { kfree(ctx); -@@ -169,18 +170,18 @@ create_hw_context(struct drm_device *dev, +@@ -169,18 +170,18 @@ create_hw_context(struct drm_device *dev if (file_priv == NULL) return ctx; @@ -123,7 +119,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644 return ERR_PTR(ret); } -@@ -226,7 +227,7 @@ static int create_default_context(struct drm_i915_private *dev_priv) +@@ -226,7 +227,7 @@ static int create_default_context(struct err_unpin: i915_gem_object_unpin(ctx->obj); err_destroy: @@ -132,7 +128,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644 return ret; } -@@ -262,6 +263,7 @@ void i915_gem_context_init(struct drm_device *dev) +@@ -262,6 +263,7 @@ void i915_gem_context_init(struct drm_de void i915_gem_context_fini(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; @@ -140,7 +136,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644 if (dev_priv->hw_contexts_disabled) return; -@@ -271,9 +273,8 @@ void i915_gem_context_fini(struct drm_device *dev) +@@ -271,9 +273,8 @@ void i915_gem_context_fini(struct drm_de * other code, leading to spurious errors. */ intel_gpu_reset(dev); @@ -152,7 +148,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644 } static int context_idr_cleanup(int id, void *p, void *data) -@@ -282,8 +283,7 @@ static int context_idr_cleanup(int id, void *p, void *data) +@@ -282,8 +283,7 @@ static int context_idr_cleanup(int id, v BUG_ON(id == DEFAULT_CONTEXT_ID); @@ -162,7 +158,7 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644 return 0; } -@@ -512,8 +512,8 @@ int i915_gem_context_destroy_ioctl(struct drm_device *dev, void *data, +@@ -510,8 +510,8 @@ int i915_gem_context_destroy_ioctl(struc return -ENOENT; } @@ -173,6 +169,3 @@ index 3bc8a58a8d5f..47ffea61c9fa 100644 mutex_unlock(&dev->struct_mutex); DRM_DEBUG_DRIVER("HW context %d destroyed\n", args->ctx_id); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0109-drm-i915-put-context-upon-switching.patch b/patches.baytrail/0109-drm-i915-put-context-upon-switching.patch index ac7c0bc5986fda..d61ca23cbc9c3b 100644 --- a/patches.baytrail/0109-drm-i915-put-context-upon-switching.patch +++ b/patches.baytrail/0109-drm-i915-put-context-upon-switching.patch @@ -16,15 +16,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 112522f6789581824903f6f72082b5b841a7f0f9) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_gem_context.c | 37 +++++++++++++++++++++------------ - drivers/gpu/drm/i915/intel_ringbuffer.h | 2 +- + drivers/gpu/drm/i915/i915_gem_context.c | 37 ++++++++++++++++++++------------ + drivers/gpu/drm/i915/intel_ringbuffer.h | 2 - 2 files changed, 25 insertions(+), 14 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index fa7d4a74af22..0407e0a39987 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -361,13 +361,13 @@ mi_set_context(struct intel_ring_buffer *ring, +@@ -359,13 +359,13 @@ mi_set_context(struct intel_ring_buffer static int do_switch(struct i915_hw_context *to) { struct intel_ring_buffer *ring = to->ring; @@ -41,7 +39,7 @@ index fa7d4a74af22..0407e0a39987 100644 return 0; ret = i915_gem_object_pin(to->obj, CONTEXT_ALIGN, false, false); -@@ -390,7 +390,7 @@ static int do_switch(struct i915_hw_context *to) +@@ -388,7 +388,7 @@ static int do_switch(struct i915_hw_cont if (!to->is_initialized || is_default_context(to)) hw_flags |= MI_RESTORE_INHIBIT; @@ -50,7 +48,7 @@ index fa7d4a74af22..0407e0a39987 100644 hw_flags |= MI_FORCE_RESTORE; ret = mi_set_context(ring, to, hw_flags); -@@ -405,9 +405,9 @@ static int do_switch(struct i915_hw_context *to) +@@ -403,9 +403,9 @@ static int do_switch(struct i915_hw_cont * is a bit suboptimal because the retiring can occur simply after the * MI_SET_CONTEXT instead of when the next seqno has completed. */ @@ -63,7 +61,7 @@ index fa7d4a74af22..0407e0a39987 100644 /* As long as MI_SET_CONTEXT is serializing, ie. it flushes the * whole damn pipeline, we don't need to explicitly mark the * object dirty. The only exception is that the context must be -@@ -415,15 +415,26 @@ static int do_switch(struct i915_hw_context *to) +@@ -413,15 +413,26 @@ static int do_switch(struct i915_hw_cont * able to defer doing this until we know the object would be * swapped, but there is no way to do that yet. */ @@ -72,7 +70,8 @@ index fa7d4a74af22..0407e0a39987 100644 - i915_gem_object_unpin(from_obj); + from->obj->dirty = 1; + BUG_ON(from->obj->ring != ring); -+ + +- drm_gem_object_unreference(&from_obj->base); + ret = i915_add_request(ring, NULL, NULL); + if (ret) { + /* Too late, we've already scheduled a context switch. @@ -83,8 +82,7 @@ index fa7d4a74af22..0407e0a39987 100644 + WARN_ON(mi_set_context(ring, from, MI_RESTORE_INHIBIT)); + return ret; + } - -- drm_gem_object_unreference(&from_obj->base); ++ + i915_gem_object_unpin(from->obj); + i915_gem_context_unreference(from); } @@ -96,8 +94,6 @@ index fa7d4a74af22..0407e0a39987 100644 to->is_initialized = true; return 0; -diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h -index d66208c2c48b..dac1614a1bca 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h @@ -135,7 +135,7 @@ struct intel_ring_buffer { @@ -109,6 +105,3 @@ index d66208c2c48b..dac1614a1bca 100644 void *private; }; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0117-drm-i915-Assert-mutex_is_locked-on-context-lookup.patch b/patches.baytrail/0117-drm-i915-Assert-mutex_is_locked-on-context-lookup.patch index c5bde4458de57c..be69cbcf3d3292 100644 --- a/patches.baytrail/0117-drm-i915-Assert-mutex_is_locked-on-context-lookup.patch +++ b/patches.baytrail/0117-drm-i915-Assert-mutex_is_locked-on-context-lookup.patch @@ -19,14 +19,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 186507e9e8e89d5920305fdffd8cbba6366da795) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_gem_context.c | 2 ++ + drivers/gpu/drm/i915/i915_gem_context.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 0407e0a39987..604ecd3e3a7f 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -463,6 +463,8 @@ int i915_switch_context(struct intel_ring_buffer *ring, +@@ -461,6 +461,8 @@ int i915_switch_context(struct intel_rin if (dev_priv->hw_contexts_disabled) return 0; @@ -35,6 +33,3 @@ index 0407e0a39987..604ecd3e3a7f 100644 if (ring != &dev_priv->ring[RCS]) return 0; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0126-drm-i915-add-power-well-and-cpu-transcoder-info-to-t.patch b/patches.baytrail/0126-drm-i915-add-power-well-and-cpu-transcoder-info-to-t.patch index 449b3c094ffd51..4a090e6597ea5e 100644 --- a/patches.baytrail/0126-drm-i915-add-power-well-and-cpu-transcoder-info-to-t.patch +++ b/patches.baytrail/0126-drm-i915-add-power-well-and-cpu-transcoder-info-to-t.patch @@ -12,14 +12,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit ff57f1b095e7c3ad0720193cd341d8ac1c781156) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/intel_display.c | 13 +++++++++++++ + drivers/gpu/drm/i915/intel_display.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 4978de91fa5d..35fc69351889 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -9811,6 +9811,9 @@ int intel_modeset_vga_set_state(struct drm_device *dev, bool state) +@@ -9814,6 +9814,9 @@ int intel_modeset_vga_set_state(struct d #include <linux/seq_file.h> struct intel_display_error_state { @@ -29,7 +27,7 @@ index 4978de91fa5d..35fc69351889 100644 struct intel_cursor_error_state { u32 control; u32 position; -@@ -9819,6 +9822,7 @@ struct intel_display_error_state { +@@ -9822,6 +9825,7 @@ struct intel_display_error_state { } cursor[I915_MAX_PIPES]; struct intel_pipe_error_state { @@ -37,7 +35,7 @@ index 4978de91fa5d..35fc69351889 100644 u32 conf; u32 source; -@@ -9853,8 +9857,12 @@ intel_display_capture_error_state(struct drm_device *dev) +@@ -9856,8 +9860,12 @@ intel_display_capture_error_state(struct if (error == NULL) return NULL; @@ -50,7 +48,7 @@ index 4978de91fa5d..35fc69351889 100644 if (INTEL_INFO(dev)->gen <= 6 || IS_VALLEYVIEW(dev)) { error->cursor[i].control = I915_READ(CURCNTR(i)); -@@ -9900,8 +9908,13 @@ intel_display_print_error_state(struct seq_file *m, +@@ -9903,8 +9911,13 @@ intel_display_print_error_state(struct s int i; seq_printf(m, "Num Pipes: %d\n", INTEL_INFO(dev)->num_pipes); @@ -64,6 +62,3 @@ index 4978de91fa5d..35fc69351889 100644 seq_printf(m, " CONF: %08x\n", error->pipe[i].conf); seq_printf(m, " SRC: %08x\n", error->pipe[i].source); seq_printf(m, " HTOTAL: %08x\n", error->pipe[i].htotal); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0127-drm-i915-clear-FPGA_DBG_RM_NOCLAIM-when-capturing-er.patch b/patches.baytrail/0127-drm-i915-clear-FPGA_DBG_RM_NOCLAIM-when-capturing-er.patch index bc37343093d4c1..69dadfa696de01 100644 --- a/patches.baytrail/0127-drm-i915-clear-FPGA_DBG_RM_NOCLAIM-when-capturing-er.patch +++ b/patches.baytrail/0127-drm-i915-clear-FPGA_DBG_RM_NOCLAIM-when-capturing-er.patch @@ -19,14 +19,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 12d217c795071bfee483158e1397c57e8dc3cb76) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/intel_display.c | 7 +++++++ + drivers/gpu/drm/i915/intel_display.c | 7 +++++++ 1 file changed, 7 insertions(+) -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 35fc69351889..7e3b4663e51d 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -9897,6 +9897,13 @@ intel_display_capture_error_state(struct drm_device *dev) +@@ -9900,6 +9900,13 @@ intel_display_capture_error_state(struct error->pipe[i].vsync = I915_READ(VSYNC(cpu_transcoder)); } @@ -40,6 +38,3 @@ index 35fc69351889..7e3b4663e51d 100644 return error; } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0131-drm-i915-Add-references-to-some-workaround-we-implem.patch b/patches.baytrail/0131-drm-i915-Add-references-to-some-workaround-we-implem.patch index 0f3d10b5adffc1..c5a7d6301a8eb8 100644 --- a/patches.baytrail/0131-drm-i915-Add-references-to-some-workaround-we-implem.patch +++ b/patches.baytrail/0131-drm-i915-Add-references-to-some-workaround-we-implem.patch @@ -12,18 +12,16 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 8693a824873a0a97be77c1d5f1e98777f06f7305) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_gem_context.c | 1 + - drivers/gpu/drm/i915/intel_ddi.c | 2 ++ - drivers/gpu/drm/i915/intel_display.c | 4 ++-- - drivers/gpu/drm/i915/intel_pm.c | 3 +++ - drivers/gpu/drm/i915/intel_ringbuffer.c | 2 ++ + drivers/gpu/drm/i915/i915_gem_context.c | 1 + + drivers/gpu/drm/i915/intel_ddi.c | 2 ++ + drivers/gpu/drm/i915/intel_display.c | 4 ++-- + drivers/gpu/drm/i915/intel_pm.c | 3 +++ + drivers/gpu/drm/i915/intel_ringbuffer.c | 2 ++ 5 files changed, 10 insertions(+), 2 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 604ecd3e3a7f..59b536a7f773 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -333,6 +333,7 @@ mi_set_context(struct intel_ring_buffer *ring, +@@ -331,6 +331,7 @@ mi_set_context(struct intel_ring_buffer if (ret) return ret; @@ -31,11 +29,9 @@ index 604ecd3e3a7f..59b536a7f773 100644 if (IS_GEN7(ring->dev)) intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_DISABLE); else -diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c -index 46181000f6bd..217308ec3b3d 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c -@@ -174,6 +174,8 @@ void hsw_fdi_link_train(struct drm_crtc *crtc) +@@ -174,6 +174,8 @@ void hsw_fdi_link_train(struct drm_crtc * mode set "sequence for CRT port" document: * - TP1 to TP2 time with the default value * - FDI delay to 90h @@ -44,11 +40,9 @@ index 46181000f6bd..217308ec3b3d 100644 */ I915_WRITE(_FDI_RXA_MISC, FDI_RX_PWRDN_LANE1_VAL(2) | FDI_RX_PWRDN_LANE0_VAL(2) | -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index f3d8e0915d7f..e43dad8d28bb 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -4121,8 +4121,8 @@ static int intel_crtc_compute_config(struct drm_crtc *crtc, +@@ -4121,8 +4121,8 @@ static int intel_crtc_compute_config(str if (!pipe_config->timings_set) drm_mode_set_crtcinfo(adjusted_mode, 0); @@ -59,11 +53,9 @@ index f3d8e0915d7f..e43dad8d28bb 100644 */ if ((INTEL_INFO(dev)->gen > 4 || IS_G4X(dev)) && adjusted_mode->hsync_start == adjusted_mode->hdisplay) -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 89fe32002246..f88cfbedc90e 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -4586,6 +4586,7 @@ static void __gen6_gt_force_wake_get(struct drm_i915_private *dev_priv) +@@ -4586,6 +4586,7 @@ static void __gen6_gt_force_wake_get(str FORCEWAKE_ACK_TIMEOUT_MS)) DRM_ERROR("Timed out waiting for forcewake to ack request.\n"); @@ -71,7 +63,7 @@ index 89fe32002246..f88cfbedc90e 100644 __gen6_gt_wait_for_thread_c0(dev_priv); } -@@ -4617,6 +4618,7 @@ static void __gen6_gt_force_wake_mt_get(struct drm_i915_private *dev_priv) +@@ -4617,6 +4618,7 @@ static void __gen6_gt_force_wake_mt_get( FORCEWAKE_ACK_TIMEOUT_MS)) DRM_ERROR("Timed out waiting for forcewake to ack request.\n"); @@ -79,7 +71,7 @@ index 89fe32002246..f88cfbedc90e 100644 __gen6_gt_wait_for_thread_c0(dev_priv); } -@@ -4720,6 +4722,7 @@ static void vlv_force_wake_get(struct drm_i915_private *dev_priv) +@@ -4720,6 +4722,7 @@ static void vlv_force_wake_get(struct dr FORCEWAKE_ACK_TIMEOUT_MS)) DRM_ERROR("Timed out waiting for media to ack forcewake request.\n"); @@ -87,11 +79,9 @@ index 89fe32002246..f88cfbedc90e 100644 __gen6_gt_wait_for_thread_c0(dev_priv); } -diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c -index 48fe23e8d180..d99ff99b07b2 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c -@@ -511,6 +511,8 @@ static int init_render_ring(struct intel_ring_buffer *ring) +@@ -511,6 +511,8 @@ static int init_render_ring(struct intel /* We need to disable the AsyncFlip performance optimisations in order * to use MI_WAIT_FOR_EVENT within the CS. It should already be * programmed to '1' on all products. @@ -100,6 +90,3 @@ index 48fe23e8d180..d99ff99b07b2 100644 */ if (INTEL_INFO(dev)->gen >= 6) I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_DISABLE)); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0150-drm-i915-Organize-VBT-stuff-inside-drm_i915_private.patch b/patches.baytrail/0150-drm-i915-Organize-VBT-stuff-inside-drm_i915_private.patch index bb98dfe1a1bfb5..1dedd067edbc9a 100644 --- a/patches.baytrail/0150-drm-i915-Organize-VBT-stuff-inside-drm_i915_private.patch +++ b/patches.baytrail/0150-drm-i915-Organize-VBT-stuff-inside-drm_i915_private.patch @@ -18,23 +18,21 @@ Conflicts: drivers/gpu/drm/i915/intel_sdvo.c Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 8 +-- - drivers/gpu/drm/i915/i915_drv.h | 57 +++++++++++--------- - drivers/gpu/drm/i915/intel_bios.c | 100 +++++++++++++++++------------------ - drivers/gpu/drm/i915/intel_crt.c | 4 +- - drivers/gpu/drm/i915/intel_display.c | 12 ++--- - drivers/gpu/drm/i915/intel_dp.c | 18 +++---- - drivers/gpu/drm/i915/intel_lvds.c | 16 +++--- - drivers/gpu/drm/i915/intel_pm.c | 2 +- - drivers/gpu/drm/i915/intel_sdvo.c | 24 ++++----- - drivers/gpu/drm/i915/intel_tv.c | 8 +-- + drivers/gpu/drm/i915/i915_dma.c | 8 +- + drivers/gpu/drm/i915/i915_drv.h | 57 +++++++++++-------- + drivers/gpu/drm/i915/intel_bios.c | 100 +++++++++++++++++------------------ + drivers/gpu/drm/i915/intel_crt.c | 4 - + drivers/gpu/drm/i915/intel_display.c | 12 ++-- + drivers/gpu/drm/i915/intel_dp.c | 18 +++--- + drivers/gpu/drm/i915/intel_lvds.c | 16 ++--- + drivers/gpu/drm/i915/intel_pm.c | 2 + drivers/gpu/drm/i915/intel_sdvo.c | 24 +++----- + drivers/gpu/drm/i915/intel_tv.c | 8 +- 10 files changed, 127 insertions(+), 122 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 68a57031db2c..18caacf647d0 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1744,10 +1744,10 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1752,10 +1752,10 @@ int i915_driver_unload(struct drm_device * free the memory space allocated for the child device * config parsed from VBT */ @@ -49,8 +47,6 @@ index 68a57031db2c..18caacf647d0 100644 } vga_switcheroo_unregister_client(dev->pdev); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 05752eb2eb0c..dc2997828af1 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -892,6 +892,37 @@ enum modeset_restore { @@ -140,11 +136,9 @@ index 05752eb2eb0c..dc2997828af1 100644 bool mchbar_need_disable; -diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c -index 95070b2124c6..53f2bed8bc5f 100644 --- a/drivers/gpu/drm/i915/intel_bios.c +++ b/drivers/gpu/drm/i915/intel_bios.c -@@ -212,7 +212,7 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv, +@@ -212,7 +212,7 @@ parse_lfp_panel_data(struct drm_i915_pri if (!lvds_options) return; @@ -153,7 +147,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 if (lvds_options->panel_type == 0xff) return; -@@ -226,7 +226,7 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv, +@@ -226,7 +226,7 @@ parse_lfp_panel_data(struct drm_i915_pri if (!lvds_lfp_data_ptrs) return; @@ -162,7 +156,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 panel_dvo_timing = get_lvds_dvo_timing(lvds_lfp_data, lvds_lfp_data_ptrs, -@@ -238,7 +238,7 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv, +@@ -238,7 +238,7 @@ parse_lfp_panel_data(struct drm_i915_pri fill_detail_timing_data(panel_fixed_mode, panel_dvo_timing); @@ -171,7 +165,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 DRM_DEBUG_KMS("Found panel mode in BIOS VBT tables:\n"); drm_mode_debug_printmodeline(panel_fixed_mode); -@@ -274,9 +274,9 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv, +@@ -274,9 +274,9 @@ parse_lfp_panel_data(struct drm_i915_pri /* check the resolution, just to be sure */ if (fp_timing->x_res == panel_fixed_mode->hdisplay && fp_timing->y_res == panel_fixed_mode->vdisplay) { @@ -183,7 +177,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 } } } -@@ -316,7 +316,7 @@ parse_sdvo_panel_data(struct drm_i915_private *dev_priv, +@@ -316,7 +316,7 @@ parse_sdvo_panel_data(struct drm_i915_pr fill_detail_timing_data(panel_fixed_mode, dvo_timing + index); @@ -192,7 +186,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 DRM_DEBUG_KMS("Found SDVO panel mode in BIOS VBT tables:\n"); drm_mode_debug_printmodeline(panel_fixed_mode); -@@ -345,20 +345,20 @@ parse_general_features(struct drm_i915_private *dev_priv, +@@ -345,20 +345,20 @@ parse_general_features(struct drm_i915_p general = find_section(bdb, BDB_GENERAL_FEATURES); if (general) { @@ -225,7 +219,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 } } -@@ -375,7 +375,7 @@ parse_general_definitions(struct drm_i915_private *dev_priv, +@@ -375,7 +375,7 @@ parse_general_definitions(struct drm_i91 int bus_pin = general->crt_ddc_gmbus_pin; DRM_DEBUG_KMS("crt_ddc_bus_pin: %d\n", bus_pin); if (intel_gmbus_is_port_valid(bus_pin)) @@ -234,7 +228,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 } else { DRM_DEBUG_KMS("BDB_GD too small (%d). Invalid.\n", block_size); -@@ -486,7 +486,7 @@ parse_driver_features(struct drm_i915_private *dev_priv, +@@ -486,7 +486,7 @@ parse_driver_features(struct drm_i915_pr if (SUPPORTS_EDP(dev) && driver->lvds_config == BDB_DRIVER_FEATURE_EDP) @@ -243,7 +237,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 if (driver->dual_frequency) dev_priv->render_reclock_avail = true; -@@ -501,20 +501,20 @@ parse_edp(struct drm_i915_private *dev_priv, struct bdb_header *bdb) +@@ -501,20 +501,20 @@ parse_edp(struct drm_i915_private *dev_p edp = find_section(bdb, BDB_EDP); if (!edp) { @@ -268,7 +262,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 break; } -@@ -522,48 +522,48 @@ parse_edp(struct drm_i915_private *dev_priv, struct bdb_header *bdb) +@@ -522,48 +522,48 @@ parse_edp(struct drm_i915_private *dev_p edp_pps = &edp->power_seqs[panel_type]; edp_link_params = &edp->link_params[panel_type]; @@ -330,7 +324,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 break; } } -@@ -611,13 +611,13 @@ parse_device_mapping(struct drm_i915_private *dev_priv, +@@ -611,13 +611,13 @@ parse_device_mapping(struct drm_i915_pri DRM_DEBUG_KMS("no child dev is parsed from VBT\n"); return; } @@ -347,7 +341,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 count = 0; for (i = 0; i < child_device_num; i++) { p_child = &(p_defs->devices[i]); -@@ -625,7 +625,7 @@ parse_device_mapping(struct drm_i915_private *dev_priv, +@@ -625,7 +625,7 @@ parse_device_mapping(struct drm_i915_pri /* skip the device block if device type is invalid */ continue; } @@ -356,7 +350,7 @@ index 95070b2124c6..53f2bed8bc5f 100644 count++; memcpy((void *)child_dev_ptr, (void *)p_child, sizeof(*p_child)); -@@ -638,23 +638,23 @@ init_vbt_defaults(struct drm_i915_private *dev_priv) +@@ -638,23 +638,23 @@ init_vbt_defaults(struct drm_i915_privat { struct drm_device *dev = dev_priv->dev; @@ -389,11 +383,9 @@ index 95070b2124c6..53f2bed8bc5f 100644 } static int __init intel_no_opregion_vbt_callback(const struct dmi_system_id *id) -diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c -index 1b9ebf4b77fc..66a0c6f0bb81 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c -@@ -435,7 +435,7 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector) +@@ -435,7 +435,7 @@ static bool intel_crt_detect_ddc(struct BUG_ON(crt->base.type != INTEL_OUTPUT_ANALOG); @@ -402,7 +394,7 @@ index 1b9ebf4b77fc..66a0c6f0bb81 100644 edid = intel_crt_get_edid(connector, i2c); if (edid) { -@@ -641,7 +641,7 @@ static int intel_crt_get_modes(struct drm_connector *connector) +@@ -641,7 +641,7 @@ static int intel_crt_get_modes(struct dr int ret; struct i2c_adapter *i2c; @@ -411,11 +403,9 @@ index 1b9ebf4b77fc..66a0c6f0bb81 100644 ret = intel_crt_ddc_get_modes(connector, i2c); if (ret || !IS_G4X(dev)) return ret; -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 0cfe23a65439..cd9600956dd7 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -4248,7 +4248,7 @@ static inline bool intel_panel_use_ssc(struct drm_i915_private *dev_priv) +@@ -4248,7 +4248,7 @@ static inline bool intel_panel_use_ssc(s { if (i915_panel_use_ssc >= 0) return i915_panel_use_ssc != 0; @@ -424,7 +414,7 @@ index 0cfe23a65439..cd9600956dd7 100644 && !(dev_priv->quirks & QUIRK_LVDS_SSC_DISABLE); } -@@ -4284,7 +4284,7 @@ static int i9xx_get_refclk(struct drm_crtc *crtc, int num_connectors) +@@ -4284,7 +4284,7 @@ static int i9xx_get_refclk(struct drm_cr refclk = vlv_get_refclk(crtc); } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) && intel_panel_use_ssc(dev_priv) && num_connectors < 2) { @@ -433,7 +423,7 @@ index 0cfe23a65439..cd9600956dd7 100644 DRM_DEBUG_KMS("using SSC reference clock of %d MHz\n", refclk / 1000); } else if (!IS_GEN2(dev)) { -@@ -5036,7 +5036,7 @@ static void ironlake_init_pch_refclk(struct drm_device *dev) +@@ -5036,7 +5036,7 @@ static void ironlake_init_pch_refclk(str } if (HAS_PCH_IBX(dev)) { @@ -442,7 +432,7 @@ index 0cfe23a65439..cd9600956dd7 100644 can_ssc = has_ck505; } else { has_ck505 = false; -@@ -5348,8 +5348,8 @@ static int ironlake_get_refclk(struct drm_crtc *crtc) +@@ -5348,8 +5348,8 @@ static int ironlake_get_refclk(struct dr if (is_lvds && intel_panel_use_ssc(dev_priv) && num_connectors < 2) { DRM_DEBUG_KMS("using SSC reference clock of %d MHz\n", @@ -453,7 +443,7 @@ index 0cfe23a65439..cd9600956dd7 100644 } return 120000; -@@ -5628,7 +5628,7 @@ static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc, +@@ -5628,7 +5628,7 @@ static uint32_t ironlake_compute_dpll(st factor = 21; if (is_lvds) { if ((intel_panel_use_ssc(dev_priv) && @@ -462,11 +452,9 @@ index 0cfe23a65439..cd9600956dd7 100644 (HAS_PCH_IBX(dev) && intel_is_dual_link_lvds(dev))) factor = 25; } else if (intel_crtc->config.sdvo_tv_clock) -diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c -index 58186ba367d1..848d3d436f7e 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c -@@ -738,10 +738,10 @@ intel_dp_compute_config(struct intel_encoder *encoder, +@@ -738,10 +738,10 @@ intel_dp_compute_config(struct intel_enc * recomments. This means we'll up-dither 16bpp framebuffers on * high-depth panels. */ @@ -480,7 +468,7 @@ index 58186ba367d1..848d3d436f7e 100644 } for (; bpp >= 6*3; bpp -= 2*3) { -@@ -2795,11 +2795,11 @@ bool intel_dpd_is_edp(struct drm_device *dev) +@@ -2795,11 +2795,11 @@ bool intel_dpd_is_edp(struct drm_device struct child_device_config *p_child; int i; @@ -495,7 +483,7 @@ index 58186ba367d1..848d3d436f7e 100644 if (p_child->dvo_port == PORT_IDPD && p_child->device_type == DEVICE_TYPE_eDP) -@@ -2877,7 +2877,7 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev, +@@ -2877,7 +2877,7 @@ intel_dp_init_panel_power_sequencer(stru DRM_DEBUG_KMS("cur t1_t3 %d t8 %d t9 %d t10 %d t11_t12 %d\n", cur.t1_t3, cur.t8, cur.t9, cur.t10, cur.t11_t12); @@ -504,7 +492,7 @@ index 58186ba367d1..848d3d436f7e 100644 /* Upper limits from eDP 1.3 spec. Note that we use the clunky units of * our hw here, which are all in 100usec. */ -@@ -3147,8 +3147,8 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port, +@@ -3147,8 +3147,8 @@ intel_dp_init_connector(struct intel_dig } /* fallback to VBT if available for eDP */ @@ -515,11 +503,9 @@ index 58186ba367d1..848d3d436f7e 100644 if (fixed_mode) fixed_mode->type |= DRM_MODE_TYPE_PREFERRED; } -diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c -index b314ef3ee644..04da66914757 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c -@@ -767,11 +767,11 @@ static bool lvds_is_present_in_vbt(struct drm_device *dev, +@@ -767,11 +767,11 @@ static bool lvds_is_present_in_vbt(struc struct drm_i915_private *dev_priv = dev->dev_private; int i; @@ -534,7 +520,7 @@ index b314ef3ee644..04da66914757 100644 /* If the device type is not LFP, continue. * We have to check both the new identifiers as well as the -@@ -859,7 +859,7 @@ static bool compute_is_dual_link_lvds(struct intel_lvds_encoder *lvds_encoder) +@@ -859,7 +859,7 @@ static bool compute_is_dual_link_lvds(st */ val = I915_READ(lvds_encoder->reg); if (!(val & ~(LVDS_PIPE_MASK | LVDS_DETECTED))) @@ -543,7 +529,7 @@ index b314ef3ee644..04da66914757 100644 return (val & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP; } -@@ -919,7 +919,7 @@ bool intel_lvds_init(struct drm_device *dev) +@@ -919,7 +919,7 @@ bool intel_lvds_init(struct drm_device * if (HAS_PCH_SPLIT(dev)) { if ((I915_READ(PCH_LVDS) & LVDS_DETECTED) == 0) return false; @@ -552,7 +538,7 @@ index b314ef3ee644..04da66914757 100644 DRM_DEBUG_KMS("disable LVDS for eDP support\n"); return false; } -@@ -1037,11 +1037,11 @@ bool intel_lvds_init(struct drm_device *dev) +@@ -1037,11 +1037,11 @@ bool intel_lvds_init(struct drm_device * } /* Failed to get EDID, what about VBT? */ @@ -567,11 +553,9 @@ index b314ef3ee644..04da66914757 100644 if (fixed_mode) { fixed_mode->type |= DRM_MODE_TYPE_PREFERRED; goto out; -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 787813bb61c2..df200a67492f 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -3889,7 +3889,7 @@ static void cpt_init_clock_gating(struct drm_device *dev) +@@ -3889,7 +3889,7 @@ static void cpt_init_clock_gating(struct val = I915_READ(TRANS_CHICKEN2(pipe)); val |= TRANS_CHICKEN2_TIMING_OVERRIDE; val &= ~TRANS_CHICKEN2_FDI_POLARITY_REVERSED; @@ -580,11 +564,9 @@ index 787813bb61c2..df200a67492f 100644 val |= TRANS_CHICKEN2_FDI_POLARITY_REVERSED; val &= ~TRANS_CHICKEN2_FRAME_START_DELAY_MASK; val &= ~TRANS_CHICKEN2_DISABLE_DEEP_COLOR_COUNTER; -diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c -index 03831c95b228..474fa8addab1 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c -@@ -1526,7 +1526,7 @@ intel_sdvo_get_analog_edid(struct drm_connector *connector) +@@ -1526,7 +1526,7 @@ intel_sdvo_get_analog_edid(struct drm_co return drm_get_edid(connector, intel_gmbus_get_adapter(dev_priv, @@ -593,7 +575,7 @@ index 03831c95b228..474fa8addab1 100644 } static enum drm_connector_status -@@ -1800,21 +1800,12 @@ static void intel_sdvo_get_lvds_modes(struct drm_connector *connector) +@@ -1800,21 +1800,12 @@ static void intel_sdvo_get_lvds_modes(st struct drm_display_mode *newmode; /* @@ -618,7 +600,7 @@ index 03831c95b228..474fa8addab1 100644 if (newmode != NULL) { /* Guarantee the mode is preferred */ newmode->type = (DRM_MODE_TYPE_PREFERRED | -@@ -1823,6 +1814,13 @@ static void intel_sdvo_get_lvds_modes(struct drm_connector *connector) +@@ -1823,6 +1814,13 @@ static void intel_sdvo_get_lvds_modes(st } } @@ -632,11 +614,9 @@ index 03831c95b228..474fa8addab1 100644 list_for_each_entry(newmode, &connector->probed_modes, head) { if (newmode->type & DRM_MODE_TYPE_PREFERRED) { intel_sdvo->sdvo_lvds_fixed_mode = -diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c -index a202d8d08c56..a2fb39dede3c 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c -@@ -1529,12 +1529,12 @@ static int tv_is_present_in_vbt(struct drm_device *dev) +@@ -1529,12 +1529,12 @@ static int tv_is_present_in_vbt(struct d struct child_device_config *p_child; int i, ret; @@ -661,6 +641,3 @@ index a202d8d08c56..a2fb39dede3c 100644 return; /* --- -1.8.5.rc3 - diff --git a/patches.baytrail/0166-i915-Use-arch_phys_wc_-add-del.patch b/patches.baytrail/0166-i915-Use-arch_phys_wc_-add-del.patch index 55bf6ae2d3f696..8ed8881275efa2 100644 --- a/patches.baytrail/0166-i915-Use-arch_phys_wc_-add-del.patch +++ b/patches.baytrail/0166-i915-Use-arch_phys_wc_-add-del.patch @@ -11,11 +11,9 @@ Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 1c0f6749e86a990eca10499c8da2b04888ce4560) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 42 ++++------------------------------------- + drivers/gpu/drm/i915/i915_dma.c | 42 +++------------------------------------- 1 file changed, 4 insertions(+), 38 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 18caacf647d0..29bb1303e662 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c @@ -42,7 +42,6 @@ @@ -26,7 +24,7 @@ index 18caacf647d0..29bb1303e662 100644 #define LP_RING(d) (&((struct drm_i915_private *)(d))->ring[RCS]) -@@ -1397,29 +1396,6 @@ void i915_master_destroy(struct drm_device *dev, struct drm_master *master) +@@ -1405,29 +1404,6 @@ void i915_master_destroy(struct drm_devi master->driver_priv = NULL; } @@ -56,7 +54,7 @@ index 18caacf647d0..29bb1303e662 100644 static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv) { struct apertures_struct *ap; -@@ -1587,8 +1563,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1595,8 +1571,8 @@ int i915_driver_load(struct drm_device * goto out_rmmap; } @@ -67,7 +65,7 @@ index 18caacf647d0..29bb1303e662 100644 /* The i915 workqueue is primarily used for batched retirement of * requests (and thus managing bo) once the task has been completed -@@ -1686,12 +1662,7 @@ out_gem_unload: +@@ -1694,12 +1670,7 @@ out_gem_unload: intel_teardown_mchbar(dev); destroy_workqueue(dev_priv->wq); out_mtrrfree: @@ -81,7 +79,7 @@ index 18caacf647d0..29bb1303e662 100644 io_mapping_free(dev_priv->gtt.mappable); dev_priv->gtt.gtt_remove(dev); out_rmmap: -@@ -1726,12 +1697,7 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1734,12 +1705,7 @@ int i915_driver_unload(struct drm_device cancel_delayed_work_sync(&dev_priv->mm.retire_work); io_mapping_free(dev_priv->gtt.mappable); @@ -95,6 +93,3 @@ index 18caacf647d0..29bb1303e662 100644 acpi_video_unregister(); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0182-drm-i915-avoid-big-kmallocs-on-reading-error-state.patch b/patches.baytrail/0182-drm-i915-avoid-big-kmallocs-on-reading-error-state.patch index 7c60b13b812ba9..16b52dbdba2b70 100644 --- a/patches.baytrail/0182-drm-i915-avoid-big-kmallocs-on-reading-error-state.patch +++ b/patches.baytrail/0182-drm-i915-avoid-big-kmallocs-on-reading-error-state.patch @@ -21,17 +21,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit edc3d8848dc9fe2a470316363dab8ef211d77e01) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_debugfs.c | 242 ++++++++++++++++++++++++++--------- - drivers/gpu/drm/i915/i915_drv.h | 16 ++- - drivers/gpu/drm/i915/intel_display.c | 54 ++++---- - drivers/gpu/drm/i915/intel_overlay.c | 13 +- - 4 files changed, 232 insertions(+), 93 deletions(-) + drivers/gpu/drm/i915/i915_debugfs.c | 242 ++++++++++++++++++++++++++--------- + drivers/gpu/drm/i915/i915_drv.h | 16 ++ + drivers/gpu/drm/i915/intel_display.c | 52 +++---- + drivers/gpu/drm/i915/intel_overlay.c | 13 + + 4 files changed, 231 insertions(+), 92 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index a55630a80f83..3a8409a31266 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c -@@ -604,15 +604,80 @@ static const char *purgeable_flag(int purgeable) +@@ -604,15 +604,80 @@ static const char *purgeable_flag(int pu return purgeable ? " purgeable" : ""; } @@ -115,7 +113,7 @@ index a55630a80f83..3a8409a31266 100644 err->gtt_offset, err->size, err->read_domains, -@@ -627,50 +692,50 @@ static void print_error_buffers(struct seq_file *m, +@@ -627,50 +692,50 @@ static void print_error_buffers(struct s cache_level_str(err->cache_level)); if (err->name) @@ -204,7 +202,7 @@ index a55630a80f83..3a8409a31266 100644 struct drm_device *dev = error_priv->dev; drm_i915_private_t *dev_priv = dev->dev_private; struct drm_i915_error_state *error = error_priv->error; -@@ -688,34 +755,35 @@ static int i915_error_state(struct seq_file *m, void *unused) +@@ -688,34 +755,35 @@ static int i915_error_state(struct seq_f int i, j, page, offset, elt; if (!error) { @@ -255,7 +253,7 @@ index a55630a80f83..3a8409a31266 100644 for_each_ring(ring, dev_priv, i) i915_ring_error_state(m, dev, error, i); -@@ -734,24 +802,25 @@ static int i915_error_state(struct seq_file *m, void *unused) +@@ -734,24 +802,25 @@ static int i915_error_state(struct seq_f struct drm_i915_error_object *obj; if ((obj = error->ring[i].batchbuffer)) { @@ -285,7 +283,7 @@ index a55630a80f83..3a8409a31266 100644 error->ring[i].requests[j].seqno, error->ring[i].requests[j].jiffies, error->ring[i].requests[j].tail); -@@ -759,13 +828,13 @@ static int i915_error_state(struct seq_file *m, void *unused) +@@ -759,13 +828,13 @@ static int i915_error_state(struct seq_f } if ((obj = error->ring[i].ringbuffer)) { @@ -301,7 +299,7 @@ index a55630a80f83..3a8409a31266 100644 offset, obj->pages[page][elt]); offset += 4; -@@ -775,12 +844,12 @@ static int i915_error_state(struct seq_file *m, void *unused) +@@ -775,12 +844,12 @@ static int i915_error_state(struct seq_f obj = error->ring[i].ctx; if (obj) { @@ -316,7 +314,7 @@ index a55630a80f83..3a8409a31266 100644 offset, obj->pages[0][elt], obj->pages[0][elt+1], -@@ -806,8 +875,7 @@ i915_error_state_write(struct file *filp, +@@ -806,8 +875,7 @@ i915_error_state_write(struct file *filp size_t cnt, loff_t *ppos) { @@ -326,7 +324,7 @@ index a55630a80f83..3a8409a31266 100644 struct drm_device *dev = error_priv->dev; int ret; -@@ -842,25 +910,81 @@ static int i915_error_state_open(struct inode *inode, struct file *file) +@@ -842,25 +910,81 @@ static int i915_error_state_open(struct kref_get(&error_priv->error->ref); spin_unlock_irqrestore(&dev_priv->gpu_error.lock, flags); @@ -413,8 +411,6 @@ index a55630a80f83..3a8409a31266 100644 .write = i915_error_state_write, .llseek = default_llseek, .release = i915_error_state_release, -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 4ab1e4266da0..e8c1ffbc9db3 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -827,6 +827,15 @@ struct i915_gem_mm { @@ -433,7 +429,7 @@ index 4ab1e4266da0..e8c1ffbc9db3 100644 struct i915_gpu_error { /* For hangcheck timer */ #define DRM_I915_HANGCHECK_PERIOD 1500 /* in ms */ -@@ -1822,6 +1831,8 @@ void i915_gem_dump_object(struct drm_i915_gem_object *obj, int len, +@@ -1822,6 +1831,8 @@ void i915_gem_dump_object(struct drm_i91 /* i915_debugfs.c */ int i915_debugfs_init(struct drm_minor *minor); void i915_debugfs_cleanup(struct drm_minor *minor); @@ -442,7 +438,7 @@ index 4ab1e4266da0..e8c1ffbc9db3 100644 /* i915_suspend.c */ extern int i915_save_state(struct drm_device *dev); -@@ -1903,10 +1914,11 @@ int i915_reg_read_ioctl(struct drm_device *dev, void *data, +@@ -1903,10 +1914,11 @@ int i915_reg_read_ioctl(struct drm_devic /* overlay */ #ifdef CONFIG_DEBUG_FS extern struct intel_overlay_error_state *intel_overlay_capture_error_state(struct drm_device *dev); @@ -456,11 +452,9 @@ index 4ab1e4266da0..e8c1ffbc9db3 100644 struct drm_device *dev, struct intel_display_error_state *error); #endif -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index e62a9770cf71..121fc5d31c7d 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -9905,48 +9905,50 @@ intel_display_capture_error_state(struct drm_device *dev) +@@ -9908,48 +9908,50 @@ intel_display_capture_error_state(struct return error; } @@ -494,10 +488,6 @@ index e62a9770cf71..121fc5d31c7d 100644 - seq_printf(m, " VTOTAL: %08x\n", error->pipe[i].vtotal); - seq_printf(m, " VBLANK: %08x\n", error->pipe[i].vblank); - seq_printf(m, " VSYNC: %08x\n", error->pipe[i].vsync); -- -- seq_printf(m, "Plane [%d]:\n", i); -- seq_printf(m, " CNTR: %08x\n", error->plane[i].control); -- seq_printf(m, " STRIDE: %08x\n", error->plane[i].stride); + err_printf(m, " CONF: %08x\n", error->pipe[i].conf); + err_printf(m, " SRC: %08x\n", error->pipe[i].source); + err_printf(m, " HTOTAL: %08x\n", error->pipe[i].htotal); @@ -506,7 +496,10 @@ index e62a9770cf71..121fc5d31c7d 100644 + err_printf(m, " VTOTAL: %08x\n", error->pipe[i].vtotal); + err_printf(m, " VBLANK: %08x\n", error->pipe[i].vblank); + err_printf(m, " VSYNC: %08x\n", error->pipe[i].vsync); -+ + +- seq_printf(m, "Plane [%d]:\n", i); +- seq_printf(m, " CNTR: %08x\n", error->plane[i].control); +- seq_printf(m, " STRIDE: %08x\n", error->plane[i].stride); + err_printf(m, "Plane [%d]:\n", i); + err_printf(m, " CNTR: %08x\n", error->plane[i].control); + err_printf(m, " STRIDE: %08x\n", error->plane[i].stride); @@ -537,8 +530,6 @@ index e62a9770cf71..121fc5d31c7d 100644 } } #endif -diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c -index 67a2501d519d..836794b68fc6 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c @@ -1485,14 +1485,15 @@ err: @@ -563,6 +554,3 @@ index 67a2501d519d..836794b68fc6 100644 P(OBUF_0Y); P(OBUF_1Y); P(OBUF_0U); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0195-drm-i915-use-mappable-size-for-fb-kickout.patch b/patches.baytrail/0195-drm-i915-use-mappable-size-for-fb-kickout.patch index fdd1d5ca3ede71..44cc4e91daa467 100644 --- a/patches.baytrail/0195-drm-i915-use-mappable-size-for-fb-kickout.patch +++ b/patches.baytrail/0195-drm-i915-use-mappable-size-for-fb-kickout.patch @@ -24,14 +24,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit f64e29227d80cc15c37c7dbf7030ffc8c415cbd4) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 29bb1303e662..09233f9c5640 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1407,7 +1407,7 @@ static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv) +@@ -1415,7 +1415,7 @@ static void i915_kick_out_firmware_fb(st return; ap->ranges[0].base = dev_priv->gtt.mappable_base; @@ -40,6 +38,3 @@ index 29bb1303e662..09233f9c5640 100644 primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0196-drm-i915-use-drm_mm_takedown.patch b/patches.baytrail/0196-drm-i915-use-drm_mm_takedown.patch index 19b33c92b22da2..4a6531de605193 100644 --- a/patches.baytrail/0196-drm-i915-use-drm_mm_takedown.patch +++ b/patches.baytrail/0196-drm-i915-use-drm_mm_takedown.patch @@ -11,14 +11,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit dd62eabd1d54336a2d5d3758ab4393cd13254102) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 2 ++ + drivers/gpu/drm/i915/i915_dma.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 09233f9c5640..d9ee7e82a4a1 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1360,6 +1360,7 @@ cleanup_gem: +@@ -1368,6 +1368,7 @@ cleanup_gem: i915_gem_cleanup_ringbuffer(dev); mutex_unlock(&dev->struct_mutex); i915_gem_cleanup_aliasing_ppgtt(dev); @@ -26,7 +24,7 @@ index 09233f9c5640..d9ee7e82a4a1 100644 cleanup_irq: drm_irq_uninstall(dev); cleanup_gem_stolen: -@@ -1746,6 +1747,7 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1754,6 +1755,7 @@ int i915_driver_unload(struct drm_device i915_free_hws(dev); } @@ -34,6 +32,3 @@ index 09233f9c5640..d9ee7e82a4a1 100644 if (dev_priv->regs != NULL) pci_iounmap(dev->pdev, dev_priv->regs); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0198-drm-i915-Call-context-fini-at-cleanup.patch b/patches.baytrail/0198-drm-i915-Call-context-fini-at-cleanup.patch index 77cbcc20aa202f..1bf6bd5446dbd0 100644 --- a/patches.baytrail/0198-drm-i915-Call-context-fini-at-cleanup.patch +++ b/patches.baytrail/0198-drm-i915-Call-context-fini-at-cleanup.patch @@ -16,14 +16,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 55d23285745b1be7bd25a2a4ba5ba79e05ab843a) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 1 + + drivers/gpu/drm/i915/i915_dma.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index d9ee7e82a4a1..57198f4bdf2c 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1358,6 +1358,7 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1366,6 +1366,7 @@ static int i915_load_modeset_init(struct cleanup_gem: mutex_lock(&dev->struct_mutex); i915_gem_cleanup_ringbuffer(dev); @@ -31,6 +29,3 @@ index d9ee7e82a4a1..57198f4bdf2c 100644 mutex_unlock(&dev->struct_mutex); i915_gem_cleanup_aliasing_ppgtt(dev); drm_mm_takedown(&dev_priv->mm.gtt_space); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0199-drm-i915-release-scratch-page-at-module-unload.patch b/patches.baytrail/0199-drm-i915-release-scratch-page-at-module-unload.patch index 5a7777c86eb532..fe1d00b46e33fa 100644 --- a/patches.baytrail/0199-drm-i915-release-scratch-page-at-module-unload.patch +++ b/patches.baytrail/0199-drm-i915-release-scratch-page-at-module-unload.patch @@ -9,14 +9,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 6640aab6f2aed89470bc44c7450b7573659e651e) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 2 ++ + drivers/gpu/drm/i915/i915_dma.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 57198f4bdf2c..0a61f6f6948d 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1758,6 +1758,8 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1766,6 +1766,8 @@ int i915_driver_unload(struct drm_device destroy_workqueue(dev_priv->wq); pm_qos_remove_request(&dev_priv->pm_qos); @@ -25,6 +23,3 @@ index 57198f4bdf2c..0a61f6f6948d 100644 if (dev_priv->slab) kmem_cache_destroy(dev_priv->slab); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0233-drm-i915-add-I915_PARAM_HAS_VEBOX-to-i915_getparam.patch b/patches.baytrail/0233-drm-i915-add-I915_PARAM_HAS_VEBOX-to-i915_getparam.patch index a3170676b8c777..893008dbf3b5d1 100644 --- a/patches.baytrail/0233-drm-i915-add-I915_PARAM_HAS_VEBOX-to-i915_getparam.patch +++ b/patches.baytrail/0233-drm-i915-add-I915_PARAM_HAS_VEBOX-to-i915_getparam.patch @@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit a1f2cc73c762868435ae6ec9126bb2240337c61c) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 3 +++ - include/uapi/drm/i915_drm.h | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 3 +++ + include/uapi/drm/i915_drm.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 0a61f6f6948d..d392d8fb146e 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -955,6 +955,9 @@ static int i915_getparam(struct drm_device *dev, void *data, +@@ -963,6 +963,9 @@ static int i915_getparam(struct drm_devi case I915_PARAM_HAS_BLT: value = intel_ring_initialized(&dev_priv->ring[BCS]); break; @@ -31,8 +29,6 @@ index 0a61f6f6948d..d392d8fb146e 100644 case I915_PARAM_HAS_RELAXED_FENCING: value = 1; break; -diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h -index 81b99817198e..923ed7fe5775 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -305,7 +305,7 @@ typedef struct drm_i915_irq_wait { @@ -44,6 +40,3 @@ index 81b99817198e..923ed7fe5775 100644 #define I915_PARAM_HAS_SECURE_BATCHES 23 #define I915_PARAM_HAS_PINNED_BATCHES 24 #define I915_PARAM_HAS_EXEC_NO_RELOC 25 --- -1.8.5.rc3 - diff --git a/patches.baytrail/0239-drm-i915-Demote-unknown-param-to-DRM_DEBUG.patch b/patches.baytrail/0239-drm-i915-Demote-unknown-param-to-DRM_DEBUG.patch index 6ce398e8ca735f..fded118987bd28 100644 --- a/patches.baytrail/0239-drm-i915-Demote-unknown-param-to-DRM_DEBUG.patch +++ b/patches.baytrail/0239-drm-i915-Demote-unknown-param-to-DRM_DEBUG.patch @@ -13,14 +13,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit e29c32da531dfd94cffb150fd69760605739fb3a) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 3 +-- + drivers/gpu/drm/i915/i915_dma.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index d392d8fb146e..cd2a5f3f7db6 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1001,8 +1001,7 @@ static int i915_getparam(struct drm_device *dev, void *data, +@@ -1009,8 +1009,7 @@ static int i915_getparam(struct drm_devi value = 1; break; default: @@ -30,6 +28,3 @@ index d392d8fb146e..cd2a5f3f7db6 100644 return -EINVAL; } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0278-i915-drm-Add-private-api-for-power-well-usage.patch b/patches.baytrail/0278-i915-drm-Add-private-api-for-power-well-usage.patch index 1f88ead4270faf..03652575967991 100644 --- a/patches.baytrail/0278-i915-drm-Add-private-api-for-power-well-usage.patch +++ b/patches.baytrail/0278-i915-drm-Add-private-api-for-power-well-usage.patch @@ -16,19 +16,17 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit a38911a3fede294e2adfd2deea8104dfbbd760c5) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 6 +++ - drivers/gpu/drm/i915/i915_drv.h | 12 ++++++ - drivers/gpu/drm/i915/intel_drv.h | 4 ++ - drivers/gpu/drm/i915/intel_pm.c | 81 ++++++++++++++++++++++++++++++++++++---- - include/drm/i915_powerwell.h | 36 ++++++++++++++++++ + drivers/gpu/drm/i915/i915_dma.c | 6 ++ + drivers/gpu/drm/i915/i915_drv.h | 12 +++++ + drivers/gpu/drm/i915/intel_drv.h | 4 + + drivers/gpu/drm/i915/intel_pm.c | 81 +++++++++++++++++++++++++++++++++++---- + include/drm/i915_powerwell.h | 36 +++++++++++++++++ 5 files changed, 132 insertions(+), 7 deletions(-) create mode 100644 include/drm/i915_powerwell.h -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index cd2a5f3f7db6..628f797358bb 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1634,6 +1634,9 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1642,6 +1642,9 @@ int i915_driver_load(struct drm_device * /* Start out suspended */ dev_priv->mm.suspended = 1; @@ -38,7 +36,7 @@ index cd2a5f3f7db6..628f797358bb 100644 if (drm_core_check_feature(dev, DRIVER_MODESET)) { ret = i915_load_modeset_init(dev); if (ret < 0) { -@@ -1685,6 +1688,9 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1693,6 +1696,9 @@ int i915_driver_unload(struct drm_device intel_gpu_ips_teardown(); @@ -48,8 +46,6 @@ index cd2a5f3f7db6..628f797358bb 100644 i915_teardown_sysfs(dev); if (dev_priv->mm.inactive_shrinker.shrink) -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 5297b1fe3a2c..fec0c8f56e05 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -741,6 +741,15 @@ struct intel_ilk_power_mgmt { @@ -78,11 +74,9 @@ index 5297b1fe3a2c..fec0c8f56e05 100644 enum no_fbc_reason no_fbc_reason; struct drm_mm_node *compressed_fb; -diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index 915d2693e1a0..0e5897cb8d48 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -768,6 +768,10 @@ extern void intel_update_fbc(struct drm_device *dev); +@@ -768,6 +768,10 @@ extern void intel_update_fbc(struct drm_ extern void intel_gpu_ips_init(struct drm_i915_private *dev_priv); extern void intel_gpu_ips_teardown(void); @@ -93,11 +87,9 @@ index 915d2693e1a0..0e5897cb8d48 100644 extern bool intel_display_power_enabled(struct drm_device *dev, enum intel_display_power_domain domain); extern void intel_init_power_well(struct drm_device *dev); -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index da49e46062e1..e3aa054417d6 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -5024,18 +5024,12 @@ bool intel_display_power_enabled(struct drm_device *dev, +@@ -5024,18 +5024,12 @@ bool intel_display_power_enabled(struct } } @@ -117,7 +109,7 @@ index da49e46062e1..e3aa054417d6 100644 tmp = I915_READ(HSW_PWR_WELL_DRIVER); is_enabled = tmp & HSW_PWR_WELL_STATE; enable_requested = tmp & HSW_PWR_WELL_ENABLE; -@@ -5058,6 +5052,79 @@ void intel_set_power_well(struct drm_device *dev, bool enable) +@@ -5058,6 +5052,79 @@ void intel_set_power_well(struct drm_dev } } @@ -197,9 +189,6 @@ index da49e46062e1..e3aa054417d6 100644 /* * Starting with Haswell, we have a "Power Down Well" that can be turned off * when not needed anymore. We have 4 registers that can request the power well -diff --git a/include/drm/i915_powerwell.h b/include/drm/i915_powerwell.h -new file mode 100644 -index 000000000000..cfdc884405b7 --- /dev/null +++ b/include/drm/i915_powerwell.h @@ -0,0 +1,36 @@ @@ -239,6 +228,3 @@ index 000000000000..cfdc884405b7 +extern void i915_release_power_well(void); + +#endif /* _I915_POWERWELL_H_ */ --- -1.8.5.rc3 - diff --git a/patches.baytrail/0319-drm-i915-add-struct-i915_ctx_hang_stats.patch b/patches.baytrail/0319-drm-i915-add-struct-i915_ctx_hang_stats.patch index 4ac351ce39f8ef..98406176eb939d 100644 --- a/patches.baytrail/0319-drm-i915-add-struct-i915_ctx_hang_stats.patch +++ b/patches.baytrail/0319-drm-i915-add-struct-i915_ctx_hang_stats.patch @@ -16,15 +16,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit e59ec13de40ed1edd19940322ebd009423fd716d) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - drivers/gpu/drm/i915/i915_drv.h | 10 ++++++++++ + drivers/gpu/drm/i915/i915_dma.c | 2 +- + drivers/gpu/drm/i915/i915_drv.h | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 628f797358bb..f4669802a0fb 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1782,7 +1782,7 @@ int i915_driver_open(struct drm_device *dev, struct drm_file *file) +@@ -1790,7 +1790,7 @@ int i915_driver_open(struct drm_device * struct drm_i915_file_private *file_priv; DRM_DEBUG_DRIVER("\n"); @@ -33,8 +31,6 @@ index 628f797358bb..f4669802a0fb 100644 if (!file_priv) return -ENOMEM; -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 0b7d8fd1685b..95b19a53aa26 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -508,6 +508,13 @@ struct i915_hw_ppgtt { @@ -68,6 +64,3 @@ index 0b7d8fd1685b..95b19a53aa26 100644 }; #define INTEL_INFO(dev) (((struct drm_i915_private *) (dev)->dev_private)->info) --- -1.8.5.rc3 - diff --git a/patches.baytrail/0321-drm-i915-change-i915_add_request-to-macro.patch b/patches.baytrail/0321-drm-i915-change-i915_add_request-to-macro.patch index fbdf526bcd2f72..ec740edf51fb93 100644 --- a/patches.baytrail/0321-drm-i915-change-i915_add_request-to-macro.patch +++ b/patches.baytrail/0321-drm-i915-change-i915_add_request-to-macro.patch @@ -20,19 +20,17 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 0025c0772de7451c2302fa628f038b213a0783bf) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_drv.h | 8 +++++--- - drivers/gpu/drm/i915/i915_gem.c | 11 +++++------ - drivers/gpu/drm/i915/i915_gem_context.c | 2 +- - drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- - drivers/gpu/drm/i915/intel_overlay.c | 4 ++-- - drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +- + drivers/gpu/drm/i915/i915_drv.h | 8 +++++--- + drivers/gpu/drm/i915/i915_gem.c | 11 +++++------ + drivers/gpu/drm/i915/i915_gem_context.c | 2 +- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- + drivers/gpu/drm/i915/intel_overlay.c | 4 ++-- + drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +- 6 files changed, 15 insertions(+), 14 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index dcf5db4c0d8f..3d8ae61ffe3b 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h -@@ -1758,9 +1758,11 @@ void i915_gem_init_swizzling(struct drm_device *dev); +@@ -1758,9 +1758,11 @@ void i915_gem_init_swizzling(struct drm_ void i915_gem_cleanup_ringbuffer(struct drm_device *dev); int __must_check i915_gpu_idle(struct drm_device *dev); int __must_check i915_gem_idle(struct drm_device *dev); @@ -47,11 +45,9 @@ index dcf5db4c0d8f..3d8ae61ffe3b 100644 int __must_check i915_wait_seqno(struct intel_ring_buffer *ring, uint32_t seqno); int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf); -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 694af6db61a2..6671b8e11e55 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -956,7 +956,7 @@ i915_gem_check_olr(struct intel_ring_buffer *ring, u32 seqno) +@@ -956,7 +956,7 @@ i915_gem_check_olr(struct intel_ring_buf ret = 0; if (seqno == ring->outstanding_lazy_request) @@ -60,7 +56,7 @@ index 694af6db61a2..6671b8e11e55 100644 return ret; } -@@ -2011,10 +2011,9 @@ i915_gem_get_seqno(struct drm_device *dev, u32 *seqno) +@@ -2011,10 +2011,9 @@ i915_gem_get_seqno(struct drm_device *de return 0; } @@ -74,7 +70,7 @@ index 694af6db61a2..6671b8e11e55 100644 { drm_i915_private_t *dev_priv = ring->dev->dev_private; struct drm_i915_gem_request *request; -@@ -2290,7 +2289,7 @@ i915_gem_retire_work_handler(struct work_struct *work) +@@ -2290,7 +2289,7 @@ i915_gem_retire_work_handler(struct work idle = true; for_each_ring(ring, dev_priv, i) { if (ring->gpu_caches_dirty) @@ -83,11 +79,9 @@ index 694af6db61a2..6671b8e11e55 100644 idle &= list_empty(&ring->request_list); } -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index e3e62aac413c..51b7a2171cae 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -455,7 +455,7 @@ static int do_switch(struct i915_hw_context *to) +@@ -453,7 +453,7 @@ static int do_switch(struct i915_hw_cont from->obj->dirty = 1; BUG_ON(from->obj->ring != ring); @@ -96,11 +90,9 @@ index e3e62aac413c..51b7a2171cae 100644 if (ret) { /* Too late, we've already scheduled a context switch. * Try to undo the change so that the hw state is -diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -index c98333d74111..d79ac7aa55d4 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -@@ -802,7 +802,7 @@ i915_gem_execbuffer_retire_commands(struct drm_device *dev, +@@ -802,7 +802,7 @@ i915_gem_execbuffer_retire_commands(stru ring->gpu_caches_dirty = true; /* Add a breadcrumb for the completion of the batch buffer */ @@ -109,11 +101,9 @@ index c98333d74111..d79ac7aa55d4 100644 } static int -diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c -index 836794b68fc6..a3698812e9c7 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c -@@ -217,7 +217,7 @@ static int intel_overlay_do_wait_request(struct intel_overlay *overlay, +@@ -217,7 +217,7 @@ static int intel_overlay_do_wait_request int ret; BUG_ON(overlay->last_flip_req); @@ -122,7 +112,7 @@ index 836794b68fc6..a3698812e9c7 100644 if (ret) return ret; -@@ -286,7 +286,7 @@ static int intel_overlay_continue(struct intel_overlay *overlay, +@@ -286,7 +286,7 @@ static int intel_overlay_continue(struct intel_ring_emit(ring, flip_addr); intel_ring_advance(ring); @@ -131,11 +121,9 @@ index 836794b68fc6..a3698812e9c7 100644 } static void intel_overlay_release_old_vid_tail(struct intel_overlay *overlay) -diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c -index 1d4a7ee41881..a81647023139 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c -@@ -1523,7 +1523,7 @@ int intel_ring_idle(struct intel_ring_buffer *ring) +@@ -1523,7 +1523,7 @@ int intel_ring_idle(struct intel_ring_bu /* We need to add any requests required to flush the objects and ring */ if (ring->outstanding_lazy_request) { @@ -144,6 +132,3 @@ index 1d4a7ee41881..a81647023139 100644 if (ret) return ret; } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0385-drm-i915-Don-t-deref-pipe-cpu_transcoder-in-the-hang.patch b/patches.baytrail/0385-drm-i915-Don-t-deref-pipe-cpu_transcoder-in-the-hang.patch index 1faf287650019a..446628842e38a6 100644 --- a/patches.baytrail/0385-drm-i915-Don-t-deref-pipe-cpu_transcoder-in-the-hang.patch +++ b/patches.baytrail/0385-drm-i915-Don-t-deref-pipe-cpu_transcoder-in-the-hang.patch @@ -51,14 +51,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 63b66e5ba54b15a6592be00555d762db6db739ce) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/intel_display.c | 86 ++++++++++++++++++++++++------------ + drivers/gpu/drm/i915/intel_display.c | 86 +++++++++++++++++++++++------------ 1 file changed, 57 insertions(+), 29 deletions(-) -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index f0701147a68a..bde6a5547568 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -10046,6 +10046,8 @@ struct intel_display_error_state { +@@ -10049,6 +10049,8 @@ struct intel_display_error_state { u32 power_well_driver; @@ -67,7 +65,7 @@ index f0701147a68a..bde6a5547568 100644 struct intel_cursor_error_state { u32 control; u32 position; -@@ -10054,16 +10056,7 @@ struct intel_display_error_state { +@@ -10057,16 +10059,7 @@ struct intel_display_error_state { } cursor[I915_MAX_PIPES]; struct intel_pipe_error_state { @@ -84,7 +82,7 @@ index f0701147a68a..bde6a5547568 100644 } pipe[I915_MAX_PIPES]; struct intel_plane_error_state { -@@ -10075,6 +10068,19 @@ struct intel_display_error_state { +@@ -10078,6 +10071,19 @@ struct intel_display_error_state { u32 surface; u32 tile_offset; } plane[I915_MAX_PIPES]; @@ -104,7 +102,7 @@ index f0701147a68a..bde6a5547568 100644 }; struct intel_display_error_state * -@@ -10082,9 +10088,17 @@ intel_display_capture_error_state(struct drm_device *dev) +@@ -10085,9 +10091,17 @@ intel_display_capture_error_state(struct { drm_i915_private_t *dev_priv = dev->dev_private; struct intel_display_error_state *error; @@ -123,7 +121,7 @@ index f0701147a68a..bde6a5547568 100644 error = kmalloc(sizeof(*error), GFP_ATOMIC); if (error == NULL) return NULL; -@@ -10093,9 +10107,6 @@ intel_display_capture_error_state(struct drm_device *dev) +@@ -10096,9 +10110,6 @@ intel_display_capture_error_state(struct error->power_well_driver = I915_READ(HSW_PWR_WELL_DRIVER); for_each_pipe(i) { @@ -133,7 +131,7 @@ index f0701147a68a..bde6a5547568 100644 if (INTEL_INFO(dev)->gen <= 6 || IS_VALLEYVIEW(dev)) { error->cursor[i].control = I915_READ(CURCNTR(i)); error->cursor[i].position = I915_READ(CURPOS(i)); -@@ -10119,14 +10130,25 @@ intel_display_capture_error_state(struct drm_device *dev) +@@ -10122,14 +10133,25 @@ intel_display_capture_error_state(struct error->plane[i].tile_offset = I915_READ(DSPTILEOFF(i)); } @@ -166,7 +164,7 @@ index f0701147a68a..bde6a5547568 100644 } /* In the code above we read the registers without checking if the power -@@ -10148,22 +10170,16 @@ intel_display_print_error_state(struct drm_i915_error_state_buf *m, +@@ -10151,22 +10173,16 @@ intel_display_print_error_state(struct d { int i; @@ -192,7 +190,7 @@ index f0701147a68a..bde6a5547568 100644 err_printf(m, "Plane [%d]:\n", i); err_printf(m, " CNTR: %08x\n", error->plane[i].control); -@@ -10184,5 +10200,17 @@ intel_display_print_error_state(struct drm_i915_error_state_buf *m, +@@ -10187,5 +10203,17 @@ intel_display_print_error_state(struct d err_printf(m, " POS: %08x\n", error->cursor[i].position); err_printf(m, " BASE: %08x\n", error->cursor[i].base); } @@ -210,6 +208,3 @@ index f0701147a68a..bde6a5547568 100644 + } } #endif --- -1.8.5.rc3 - diff --git a/patches.baytrail/0411-drm-i915-Move-gtt_mtrr-to-i915_gtt.patch b/patches.baytrail/0411-drm-i915-Move-gtt_mtrr-to-i915_gtt.patch index c27f6e2737de22..4c5edbcb50dfd6 100644 --- a/patches.baytrail/0411-drm-i915-Move-gtt_mtrr-to-i915_gtt.patch +++ b/patches.baytrail/0411-drm-i915-Move-gtt_mtrr-to-i915_gtt.patch @@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from drm-intel-next-queued) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 8 ++++---- - drivers/gpu/drm/i915/i915_drv.h | 4 ++-- + drivers/gpu/drm/i915/i915_dma.c | 8 ++++---- + drivers/gpu/drm/i915/i915_drv.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index f4669802a0fb..6995baca9b62 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1567,8 +1567,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1575,8 +1575,8 @@ int i915_driver_load(struct drm_device * goto out_rmmap; } @@ -32,7 +30,7 @@ index f4669802a0fb..6995baca9b62 100644 /* The i915 workqueue is primarily used for batched retirement of * requests (and thus managing bo) once the task has been completed -@@ -1669,7 +1669,7 @@ out_gem_unload: +@@ -1677,7 +1677,7 @@ out_gem_unload: intel_teardown_mchbar(dev); destroy_workqueue(dev_priv->wq); out_mtrrfree: @@ -41,7 +39,7 @@ index f4669802a0fb..6995baca9b62 100644 io_mapping_free(dev_priv->gtt.mappable); dev_priv->gtt.gtt_remove(dev); out_rmmap: -@@ -1707,7 +1707,7 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1715,7 +1715,7 @@ int i915_driver_unload(struct drm_device cancel_delayed_work_sync(&dev_priv->mm.retire_work); io_mapping_free(dev_priv->gtt.mappable); @@ -50,8 +48,6 @@ index f4669802a0fb..6995baca9b62 100644 acpi_video_unregister(); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 4bd72bf26049..cd31abf92e1d 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -470,6 +470,8 @@ struct i915_gtt { @@ -72,6 +68,3 @@ index 4bd72bf26049..cd31abf92e1d 100644 /** PPGTT used for aliasing the PPGTT with the GTT */ struct i915_hw_ppgtt *aliasing_ppgtt; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0431-drm-i915-Getter-setter-for-object-attributes.patch b/patches.baytrail/0431-drm-i915-Getter-setter-for-object-attributes.patch index 1c59991fab57d9..ec92148bee3b75 100644 --- a/patches.baytrail/0431-drm-i915-Getter-setter-for-object-attributes.patch +++ b/patches.baytrail/0431-drm-i915-Getter-setter-for-object-attributes.patch @@ -33,28 +33,26 @@ Conflicts: e13af9a8340685cfe25d0c9f708da7121e0f51dd) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_debugfs.c | 26 +++++---- - drivers/gpu/drm/i915/i915_drv.h | 31 +++++++++++ - drivers/gpu/drm/i915/i915_gem.c | 89 +++++++++++++++--------------- - drivers/gpu/drm/i915/i915_gem_context.c | 2 +- - drivers/gpu/drm/i915/i915_gem_execbuffer.c | 19 ++++--- - drivers/gpu/drm/i915/i915_gem_gtt.c | 8 +-- - drivers/gpu/drm/i915/i915_gem_tiling.c | 14 ++--- - drivers/gpu/drm/i915/i915_irq.c | 15 +++-- - drivers/gpu/drm/i915/i915_trace.h | 8 +-- - drivers/gpu/drm/i915/intel_display.c | 28 +++++----- - drivers/gpu/drm/i915/intel_fb.c | 8 +-- - drivers/gpu/drm/i915/intel_overlay.c | 14 ++--- - drivers/gpu/drm/i915/intel_pm.c | 8 +-- - drivers/gpu/drm/i915/intel_ringbuffer.c | 12 ++-- - drivers/gpu/drm/i915/intel_sprite.c | 8 ++- + drivers/gpu/drm/i915/i915_debugfs.c | 26 ++++---- + drivers/gpu/drm/i915/i915_drv.h | 31 ++++++++++ + drivers/gpu/drm/i915/i915_gem.c | 89 ++++++++++++++--------------- + drivers/gpu/drm/i915/i915_gem_context.c | 2 + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 19 +++--- + drivers/gpu/drm/i915/i915_gem_gtt.c | 8 +- + drivers/gpu/drm/i915/i915_gem_tiling.c | 14 ++-- + drivers/gpu/drm/i915/i915_irq.c | 15 ++-- + drivers/gpu/drm/i915/i915_trace.h | 8 +- + drivers/gpu/drm/i915/intel_display.c | 28 ++++----- + drivers/gpu/drm/i915/intel_fb.c | 8 +- + drivers/gpu/drm/i915/intel_overlay.c | 14 ++-- + drivers/gpu/drm/i915/intel_pm.c | 8 +- + drivers/gpu/drm/i915/intel_ringbuffer.c | 12 +-- + drivers/gpu/drm/i915/intel_sprite.c | 8 +- 15 files changed, 164 insertions(+), 126 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index 3e36756d0439..396387ed207a 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c -@@ -122,9 +122,9 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) +@@ -122,9 +122,9 @@ describe_obj(struct seq_file *m, struct seq_printf(m, " (pinned x %d)", obj->pin_count); if (obj->fence_reg != I915_FENCE_REG_NONE) seq_printf(m, " (fence: %d)", obj->fence_reg); @@ -67,7 +65,7 @@ index 3e36756d0439..396387ed207a 100644 if (obj->stolen) seq_printf(m, " (stolen: %08lx)", obj->stolen->start); if (obj->pin_mappable || obj->fault_mappable) { -@@ -175,7 +175,7 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data) +@@ -175,7 +175,7 @@ static int i915_gem_object_list_info(str describe_obj(m, obj); seq_putc(m, '\n'); total_obj_size += obj->base.size; @@ -76,7 +74,7 @@ index 3e36756d0439..396387ed207a 100644 count++; } mutex_unlock(&dev->struct_mutex); -@@ -187,10 +187,10 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data) +@@ -187,10 +187,10 @@ static int i915_gem_object_list_info(str #define count_objects(list, member) do { \ list_for_each_entry(obj, list, member) { \ @@ -89,7 +87,7 @@ index 3e36756d0439..396387ed207a 100644 ++mappable_count; \ } \ } \ -@@ -209,7 +209,7 @@ static int per_file_stats(int id, void *ptr, void *data) +@@ -209,7 +209,7 @@ static int per_file_stats(int id, void * stats->count++; stats->total += obj->base.size; @@ -98,7 +96,7 @@ index 3e36756d0439..396387ed207a 100644 if (!list_empty(&obj->ring_list)) stats->active += obj->base.size; else -@@ -267,11 +267,11 @@ static int i915_gem_object_info(struct seq_file *m, void *data) +@@ -267,11 +267,11 @@ static int i915_gem_object_info(struct s size = count = mappable_size = mappable_count = 0; list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) { if (obj->fault_mappable) { @@ -112,7 +110,7 @@ index 3e36756d0439..396387ed207a 100644 ++mappable_count; } if (obj->madv == I915_MADV_DONTNEED) { -@@ -333,7 +333,7 @@ static int i915_gem_gtt_info(struct seq_file *m, void *data) +@@ -333,7 +333,7 @@ static int i915_gem_gtt_info(struct seq_ describe_obj(m, obj); seq_putc(m, '\n'); total_obj_size += obj->base.size; @@ -121,7 +119,7 @@ index 3e36756d0439..396387ed207a 100644 count++; } -@@ -379,12 +379,14 @@ static int i915_gem_pageflip_info(struct seq_file *m, void *data) +@@ -379,12 +379,14 @@ static int i915_gem_pageflip_info(struct if (work->old_fb_obj) { struct drm_i915_gem_object *obj = work->old_fb_obj; if (obj) @@ -138,8 +136,6 @@ index 3e36756d0439..396387ed207a 100644 } } spin_unlock_irqrestore(&dev->event_lock, flags); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 8e40123f6a12..ccf9bfa54c08 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1362,6 +1362,37 @@ struct drm_i915_gem_object { @@ -180,11 +176,9 @@ index 8e40123f6a12..ccf9bfa54c08 100644 /** * Request queue structure. * -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index d9e2208cfe98..e43a35dcff63 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -135,7 +135,7 @@ int i915_mutex_lock_interruptible(struct drm_device *dev) +@@ -135,7 +135,7 @@ int i915_mutex_lock_interruptible(struct static inline bool i915_gem_object_is_inactive(struct drm_i915_gem_object *obj) { @@ -193,7 +187,7 @@ index d9e2208cfe98..e43a35dcff63 100644 } int -@@ -178,7 +178,7 @@ i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, +@@ -178,7 +178,7 @@ i915_gem_get_aperture_ioctl(struct drm_d mutex_lock(&dev->struct_mutex); list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) if (obj->pin_count) @@ -202,7 +196,7 @@ index d9e2208cfe98..e43a35dcff63 100644 mutex_unlock(&dev->struct_mutex); args->aper_size = dev_priv->gtt.total; -@@ -422,7 +422,7 @@ i915_gem_shmem_pread(struct drm_device *dev, +@@ -422,7 +422,7 @@ i915_gem_shmem_pread(struct drm_device * * anyway again before the next pread happens. */ if (obj->cache_level == I915_CACHE_NONE) needs_clflush = 1; @@ -211,7 +205,7 @@ index d9e2208cfe98..e43a35dcff63 100644 ret = i915_gem_object_set_to_gtt_domain(obj, false); if (ret) return ret; -@@ -609,7 +609,7 @@ i915_gem_gtt_pwrite_fast(struct drm_device *dev, +@@ -609,7 +609,7 @@ i915_gem_gtt_pwrite_fast(struct drm_devi user_data = to_user_ptr(args->data_ptr); remain = args->size; @@ -220,7 +214,7 @@ index d9e2208cfe98..e43a35dcff63 100644 while (remain > 0) { /* Operation in this page -@@ -739,7 +739,7 @@ i915_gem_shmem_pwrite(struct drm_device *dev, +@@ -739,7 +739,7 @@ i915_gem_shmem_pwrite(struct drm_device * right away and we therefore have to clflush anyway. */ if (obj->cache_level == I915_CACHE_NONE) needs_clflush_after = 1; @@ -229,7 +223,7 @@ index d9e2208cfe98..e43a35dcff63 100644 ret = i915_gem_object_set_to_gtt_domain(obj, true); if (ret) return ret; -@@ -1360,8 +1360,9 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf) +@@ -1360,8 +1360,9 @@ int i915_gem_fault(struct vm_area_struct obj->fault_mappable = true; @@ -241,7 +235,7 @@ index d9e2208cfe98..e43a35dcff63 100644 /* Finally, remap it using the new GTT offset */ ret = vm_insert_pfn(vma, (unsigned long)vmf->virtual_address, pfn); -@@ -1667,7 +1668,7 @@ i915_gem_object_put_pages(struct drm_i915_gem_object *obj) +@@ -1667,7 +1668,7 @@ i915_gem_object_put_pages(struct drm_i91 if (obj->pages == NULL) return 0; @@ -250,7 +244,7 @@ index d9e2208cfe98..e43a35dcff63 100644 if (obj->pages_pin_count) return -EBUSY; -@@ -2121,8 +2122,8 @@ i915_gem_request_remove_from_client(struct drm_i915_gem_request *request) +@@ -2121,8 +2122,8 @@ i915_gem_request_remove_from_client(stru static bool i915_head_inside_object(u32 acthd, struct drm_i915_gem_object *obj) { @@ -261,7 +255,7 @@ index d9e2208cfe98..e43a35dcff63 100644 return true; return false; -@@ -2180,11 +2181,11 @@ static void i915_set_reset_status(struct intel_ring_buffer *ring, +@@ -2180,11 +2181,11 @@ static void i915_set_reset_status(struct if (ring->hangcheck.action != wait && i915_request_guilty(request, acthd, &inside)) { @@ -275,7 +269,7 @@ index d9e2208cfe98..e43a35dcff63 100644 request->ctx ? request->ctx->id : 0, acthd); -@@ -2595,7 +2596,7 @@ i915_gem_object_unbind(struct drm_i915_gem_object *obj) +@@ -2595,7 +2596,7 @@ i915_gem_object_unbind(struct drm_i915_g drm_i915_private_t *dev_priv = obj->base.dev->dev_private; int ret; @@ -284,7 +278,7 @@ index d9e2208cfe98..e43a35dcff63 100644 return 0; if (obj->pin_count) -@@ -2691,12 +2692,12 @@ static void i965_write_fence_reg(struct drm_device *dev, int reg, +@@ -2691,12 +2692,12 @@ static void i965_write_fence_reg(struct POSTING_READ(fence_reg); if (obj) { @@ -300,7 +294,7 @@ index d9e2208cfe98..e43a35dcff63 100644 val |= (uint64_t)((obj->stride / 128) - 1) << fence_pitch_shift; if (obj->tiling_mode == I915_TILING_Y) val |= 1 << I965_FENCE_TILING_Y_SHIFT; -@@ -2720,15 +2721,15 @@ static void i915_write_fence_reg(struct drm_device *dev, int reg, +@@ -2720,15 +2721,15 @@ static void i915_write_fence_reg(struct u32 val; if (obj) { @@ -321,7 +315,7 @@ index d9e2208cfe98..e43a35dcff63 100644 if (obj->tiling_mode == I915_TILING_Y && HAS_128_BYTE_Y_TILING(dev)) tile_width = 128; -@@ -2739,7 +2740,7 @@ static void i915_write_fence_reg(struct drm_device *dev, int reg, +@@ -2739,7 +2740,7 @@ static void i915_write_fence_reg(struct pitch_val = obj->stride / tile_width; pitch_val = ffs(pitch_val) - 1; @@ -330,7 +324,7 @@ index d9e2208cfe98..e43a35dcff63 100644 if (obj->tiling_mode == I915_TILING_Y) val |= 1 << I830_FENCE_TILING_Y_SHIFT; val |= I915_FENCE_SIZE_BITS(size); -@@ -2764,19 +2765,19 @@ static void i830_write_fence_reg(struct drm_device *dev, int reg, +@@ -2764,19 +2765,19 @@ static void i830_write_fence_reg(struct uint32_t val; if (obj) { @@ -356,7 +350,7 @@ index d9e2208cfe98..e43a35dcff63 100644 if (obj->tiling_mode == I915_TILING_Y) val |= 1 << I830_FENCE_TILING_Y_SHIFT; val |= I830_FENCE_SIZE_BITS(size); -@@ -3030,8 +3031,8 @@ static void i915_gem_verify_gtt(struct drm_device *dev) +@@ -3030,8 +3031,8 @@ static void i915_gem_verify_gtt(struct d if (obj->cache_level != obj->gtt_space->color) { printk(KERN_ERR "object reserved space [%08lx, %08lx] with wrong color, cache_level=%x, color=%lx\n", @@ -367,7 +361,7 @@ index d9e2208cfe98..e43a35dcff63 100644 obj->cache_level, obj->gtt_space->color); err++; -@@ -3042,8 +3043,8 @@ static void i915_gem_verify_gtt(struct drm_device *dev) +@@ -3042,8 +3043,8 @@ static void i915_gem_verify_gtt(struct d obj->gtt_space, obj->cache_level)) { printk(KERN_ERR "invalid GTT space found at [%08lx, %08lx] - color=%x\n", @@ -389,7 +383,7 @@ index d9e2208cfe98..e43a35dcff63 100644 obj->map_and_fenceable = mappable && fenceable; -@@ -3258,7 +3259,7 @@ i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write) +@@ -3258,7 +3259,7 @@ i915_gem_object_set_to_gtt_domain(struct int ret; /* Not valid to be called on unbound objects. */ @@ -398,7 +392,7 @@ index d9e2208cfe98..e43a35dcff63 100644 return -EINVAL; if (obj->base.write_domain == I915_GEM_DOMAIN_GTT) -@@ -3323,7 +3324,7 @@ int i915_gem_object_set_cache_level(struct drm_i915_gem_object *obj, +@@ -3323,7 +3324,7 @@ int i915_gem_object_set_cache_level(stru return ret; } @@ -407,7 +401,7 @@ index d9e2208cfe98..e43a35dcff63 100644 ret = i915_gem_object_finish_gpu(obj); if (ret) return ret; -@@ -3346,7 +3347,7 @@ int i915_gem_object_set_cache_level(struct drm_i915_gem_object *obj, +@@ -3346,7 +3347,7 @@ int i915_gem_object_set_cache_level(stru i915_ppgtt_bind_object(dev_priv->mm.aliasing_ppgtt, obj, cache_level); @@ -416,7 +410,7 @@ index d9e2208cfe98..e43a35dcff63 100644 } if (cache_level == I915_CACHE_NONE) { -@@ -3627,14 +3628,14 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj, +@@ -3627,14 +3628,14 @@ i915_gem_object_pin(struct drm_i915_gem_ if (WARN_ON(obj->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT)) return -EBUSY; @@ -435,7 +429,7 @@ index d9e2208cfe98..e43a35dcff63 100644 map_and_fenceable, obj->map_and_fenceable); ret = i915_gem_object_unbind(obj); -@@ -3643,7 +3644,7 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj, +@@ -3643,7 +3644,7 @@ i915_gem_object_pin(struct drm_i915_gem_ } } @@ -453,7 +447,7 @@ index d9e2208cfe98..e43a35dcff63 100644 if (--obj->pin_count == 0) obj->pin_mappable = false; -@@ -3719,7 +3720,7 @@ i915_gem_pin_ioctl(struct drm_device *dev, void *data, +@@ -3719,7 +3720,7 @@ i915_gem_pin_ioctl(struct drm_device *de * as the X server doesn't manage domains yet */ i915_gem_object_flush_cpu_write_domain(obj); @@ -462,11 +456,9 @@ index d9e2208cfe98..e43a35dcff63 100644 out: drm_gem_object_unreference(&obj->base); unlock: -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 51b7a2171cae..2074544682cf 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -377,7 +377,7 @@ mi_set_context(struct intel_ring_buffer *ring, +@@ -375,7 +375,7 @@ mi_set_context(struct intel_ring_buffer intel_ring_emit(ring, MI_NOOP); intel_ring_emit(ring, MI_SET_CONTEXT); @@ -475,11 +467,9 @@ index 51b7a2171cae..2074544682cf 100644 MI_MM_SPACE_GTT | MI_SAVE_EXT_STATE_EN | MI_RESTORE_EXT_STATE_EN | -diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -index 87a3227e5179..5aeb447ead6b 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -@@ -188,7 +188,7 @@ i915_gem_execbuffer_relocate_entry(struct drm_i915_gem_object *obj, +@@ -188,7 +188,7 @@ i915_gem_execbuffer_relocate_entry(struc return -ENOENT; target_i915_obj = to_intel_bo(target_obj); @@ -488,7 +478,7 @@ index 87a3227e5179..5aeb447ead6b 100644 /* Sandybridge PPGTT errata: We need a global gtt mapping for MI and * pipe_control writes because the gpu doesn't properly redirect them -@@ -280,7 +280,7 @@ i915_gem_execbuffer_relocate_entry(struct drm_i915_gem_object *obj, +@@ -280,7 +280,7 @@ i915_gem_execbuffer_relocate_entry(struc return ret; /* Map the page containing the relocation we're going to perform. */ @@ -497,7 +487,7 @@ index 87a3227e5179..5aeb447ead6b 100644 reloc_page = io_mapping_map_atomic_wc(dev_priv->gtt.mappable, reloc->offset & PAGE_MASK); reloc_entry = (uint32_t __iomem *) -@@ -436,8 +436,8 @@ i915_gem_execbuffer_reserve_object(struct drm_i915_gem_object *obj, +@@ -436,8 +436,8 @@ i915_gem_execbuffer_reserve_object(struc obj->has_aliasing_ppgtt_mapping = 1; } @@ -508,7 +498,7 @@ index 87a3227e5179..5aeb447ead6b 100644 *need_reloc = true; } -@@ -458,7 +458,7 @@ i915_gem_execbuffer_unreserve_object(struct drm_i915_gem_object *obj) +@@ -458,7 +458,7 @@ i915_gem_execbuffer_unreserve_object(str { struct drm_i915_gem_exec_object2 *entry; @@ -517,7 +507,7 @@ index 87a3227e5179..5aeb447ead6b 100644 return; entry = obj->exec_entry; -@@ -530,7 +530,7 @@ i915_gem_execbuffer_reserve(struct intel_ring_buffer *ring, +@@ -530,7 +530,7 @@ i915_gem_execbuffer_reserve(struct intel struct drm_i915_gem_exec_object2 *entry = obj->exec_entry; bool need_fence, need_mappable; @@ -526,7 +516,7 @@ index 87a3227e5179..5aeb447ead6b 100644 continue; need_fence = -@@ -539,7 +539,8 @@ i915_gem_execbuffer_reserve(struct intel_ring_buffer *ring, +@@ -539,7 +539,8 @@ i915_gem_execbuffer_reserve(struct intel obj->tiling_mode != I915_TILING_NONE; need_mappable = need_fence || need_reloc_mappable(obj); @@ -536,7 +526,7 @@ index 87a3227e5179..5aeb447ead6b 100644 (need_mappable && !obj->map_and_fenceable)) ret = i915_gem_object_unbind(obj); else -@@ -550,7 +551,7 @@ i915_gem_execbuffer_reserve(struct intel_ring_buffer *ring, +@@ -550,7 +551,7 @@ i915_gem_execbuffer_reserve(struct intel /* Bind fresh objects */ list_for_each_entry(obj, objects, exec_list) { @@ -545,7 +535,7 @@ index 87a3227e5179..5aeb447ead6b 100644 continue; ret = i915_gem_execbuffer_reserve_object(obj, ring, need_relocs); -@@ -1058,7 +1059,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data, +@@ -1058,7 +1059,7 @@ i915_gem_do_execbuffer(struct drm_device goto err; } @@ -554,11 +544,9 @@ index 87a3227e5179..5aeb447ead6b 100644 exec_len = args->batch_len; if (cliprects) { for (i = 0; i < args->num_cliprects; i++) { -diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c -index afba7e5e7739..6f0a4c09e26a 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c -@@ -378,7 +378,7 @@ void i915_ppgtt_bind_object(struct i915_hw_ppgtt *ppgtt, +@@ -378,7 +378,7 @@ void i915_ppgtt_bind_object(struct i915_ enum i915_cache_level cache_level) { ppgtt->insert_entries(ppgtt, obj->pages, @@ -567,7 +555,7 @@ index afba7e5e7739..6f0a4c09e26a 100644 cache_level); } -@@ -386,7 +386,7 @@ void i915_ppgtt_unbind_object(struct i915_hw_ppgtt *ppgtt, +@@ -386,7 +386,7 @@ void i915_ppgtt_unbind_object(struct i91 struct drm_i915_gem_object *obj) { ppgtt->clear_range(ppgtt, @@ -576,7 +564,7 @@ index afba7e5e7739..6f0a4c09e26a 100644 obj->base.size >> PAGE_SHIFT); } -@@ -551,7 +551,7 @@ void i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj, +@@ -551,7 +551,7 @@ void i915_gem_gtt_bind_object(struct drm struct drm_i915_private *dev_priv = dev->dev_private; dev_priv->gtt.gtt_insert_entries(dev, obj->pages, @@ -585,7 +573,7 @@ index afba7e5e7739..6f0a4c09e26a 100644 cache_level); obj->has_global_gtt_mapping = 1; -@@ -563,7 +563,7 @@ void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj) +@@ -563,7 +563,7 @@ void i915_gem_gtt_unbind_object(struct d struct drm_i915_private *dev_priv = dev->dev_private; dev_priv->gtt.gtt_clear_range(obj->base.dev, @@ -594,11 +582,9 @@ index afba7e5e7739..6f0a4c09e26a 100644 obj->base.size >> PAGE_SHIFT); obj->has_global_gtt_mapping = 0; -diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c -index 537545be69db..92a8d279ca39 100644 --- a/drivers/gpu/drm/i915/i915_gem_tiling.c +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c -@@ -268,18 +268,18 @@ i915_gem_object_fence_ok(struct drm_i915_gem_object *obj, int tiling_mode) +@@ -268,18 +268,18 @@ i915_gem_object_fence_ok(struct drm_i915 return true; if (INTEL_INFO(obj->base.dev)->gen == 3) { @@ -621,7 +607,7 @@ index 537545be69db..92a8d279ca39 100644 return false; return true; -@@ -359,8 +359,8 @@ i915_gem_set_tiling(struct drm_device *dev, void *data, +@@ -359,8 +359,8 @@ i915_gem_set_tiling(struct drm_device *d */ obj->map_and_fenceable = @@ -632,7 +618,7 @@ index 537545be69db..92a8d279ca39 100644 i915_gem_object_fence_ok(obj, args->tiling_mode)); /* Rebind if we need a change of alignment */ -@@ -369,7 +369,7 @@ i915_gem_set_tiling(struct drm_device *dev, void *data, +@@ -369,7 +369,7 @@ i915_gem_set_tiling(struct drm_device *d i915_gem_get_gtt_alignment(dev, obj->base.size, args->tiling_mode, false); @@ -641,11 +627,9 @@ index 537545be69db..92a8d279ca39 100644 ret = i915_gem_object_unbind(obj); } -diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c -index 4a98600c6f41..eaa8c1eda17f 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -1554,7 +1554,7 @@ i915_error_object_create_sized(struct drm_i915_private *dev_priv, +@@ -1554,7 +1554,7 @@ i915_error_object_create_sized(struct dr if (dst == NULL) return NULL; @@ -654,7 +638,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644 for (i = 0; i < num_pages; i++) { unsigned long flags; void *d; -@@ -1606,7 +1606,6 @@ i915_error_object_create_sized(struct drm_i915_private *dev_priv, +@@ -1606,7 +1606,6 @@ i915_error_object_create_sized(struct dr reloc_offset += PAGE_SIZE; } dst->page_count = num_pages; @@ -662,7 +646,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644 return dst; -@@ -1660,7 +1659,7 @@ static void capture_bo(struct drm_i915_error_buffer *err, +@@ -1660,7 +1659,7 @@ static void capture_bo(struct drm_i915_e err->name = obj->base.name; err->rseqno = obj->last_read_seqno; err->wseqno = obj->last_write_seqno; @@ -671,7 +655,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644 err->read_domains = obj->base.read_domains; err->write_domain = obj->base.write_domain; err->fence_reg = obj->fence_reg; -@@ -1758,8 +1757,8 @@ i915_error_first_batchbuffer(struct drm_i915_private *dev_priv, +@@ -1758,8 +1757,8 @@ i915_error_first_batchbuffer(struct drm_ return NULL; obj = ring->private; @@ -682,7 +666,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644 return i915_error_object_create(dev_priv, obj); } -@@ -1840,7 +1839,7 @@ static void i915_gem_record_active_context(struct intel_ring_buffer *ring, +@@ -1840,7 +1839,7 @@ static void i915_gem_record_active_conte return; list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) { @@ -691,7 +675,7 @@ index 4a98600c6f41..eaa8c1eda17f 100644 ering->ctx = i915_error_object_create_sized(dev_priv, obj, 1); break; -@@ -2206,10 +2205,10 @@ static void __always_unused i915_pageflip_stall_check(struct drm_device *dev, in +@@ -2206,10 +2205,10 @@ static void __always_unused i915_pagefli if (INTEL_INFO(dev)->gen >= 4) { int dspsurf = DSPSURF(intel_crtc->plane); stall_detected = I915_HI_DISPBASE(I915_READ(dspsurf)) == @@ -704,8 +688,6 @@ index 4a98600c6f41..eaa8c1eda17f 100644 crtc->y * crtc->fb->pitches[0] + crtc->x * crtc->fb->bits_per_pixel/8); } -diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h -index 3db4a6817713..7d283b5fcbf9 100644 --- a/drivers/gpu/drm/i915/i915_trace.h +++ b/drivers/gpu/drm/i915/i915_trace.h @@ -46,8 +46,8 @@ TRACE_EVENT(i915_gem_object_bind, @@ -730,11 +712,9 @@ index 3db4a6817713..7d283b5fcbf9 100644 ), TP_printk("obj=%p, offset=%08x size=%x", -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 9733f275454d..3886db95a688 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -1980,16 +1980,17 @@ static int i9xx_update_plane(struct drm_crtc *crtc, struct drm_framebuffer *fb, +@@ -1980,16 +1980,17 @@ static int i9xx_update_plane(struct drm_ intel_crtc->dspaddr_offset = linear_offset; } @@ -756,7 +736,7 @@ index 9733f275454d..3886db95a688 100644 POSTING_READ(reg); return 0; -@@ -2069,11 +2070,12 @@ static int ironlake_update_plane(struct drm_crtc *crtc, +@@ -2069,11 +2070,12 @@ static int ironlake_update_plane(struct fb->pitches[0]); linear_offset -= intel_crtc->dspaddr_offset; @@ -772,7 +752,7 @@ index 9733f275454d..3886db95a688 100644 if (IS_HASWELL(dev)) { I915_WRITE(DSPOFFSET(plane), (y << 16) | x); } else { -@@ -6568,7 +6570,7 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc, +@@ -6568,7 +6570,7 @@ static int intel_crtc_cursor_set(struct goto fail_unpin; } @@ -781,7 +761,7 @@ index 9733f275454d..3886db95a688 100644 } else { int align = IS_I830(dev) ? 16 * 1024 : 256; ret = i915_gem_attach_phys_object(dev, obj, -@@ -7340,7 +7342,7 @@ static int intel_gen2_queue_flip(struct drm_device *dev, +@@ -7340,7 +7342,7 @@ static int intel_gen2_queue_flip(struct intel_ring_emit(ring, MI_DISPLAY_FLIP | MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); intel_ring_emit(ring, fb->pitches[0]); @@ -790,7 +770,7 @@ index 9733f275454d..3886db95a688 100644 intel_ring_emit(ring, 0); /* aux display base address, unused */ intel_mark_page_flip_active(intel_crtc); -@@ -7381,7 +7383,7 @@ static int intel_gen3_queue_flip(struct drm_device *dev, +@@ -7381,7 +7383,7 @@ static int intel_gen3_queue_flip(struct intel_ring_emit(ring, MI_DISPLAY_FLIP_I915 | MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); intel_ring_emit(ring, fb->pitches[0]); @@ -799,7 +779,7 @@ index 9733f275454d..3886db95a688 100644 intel_ring_emit(ring, MI_NOOP); intel_mark_page_flip_active(intel_crtc); -@@ -7421,7 +7423,7 @@ static int intel_gen4_queue_flip(struct drm_device *dev, +@@ -7421,7 +7423,7 @@ static int intel_gen4_queue_flip(struct MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); intel_ring_emit(ring, fb->pitches[0]); intel_ring_emit(ring, @@ -808,7 +788,7 @@ index 9733f275454d..3886db95a688 100644 obj->tiling_mode); /* XXX Enabling the panel-fitter across page-flip is so far -@@ -7464,7 +7466,7 @@ static int intel_gen6_queue_flip(struct drm_device *dev, +@@ -7464,7 +7466,7 @@ static int intel_gen6_queue_flip(struct intel_ring_emit(ring, MI_DISPLAY_FLIP | MI_DISPLAY_FLIP_PLANE(intel_crtc->plane)); intel_ring_emit(ring, fb->pitches[0] | obj->tiling_mode); @@ -817,7 +797,7 @@ index 9733f275454d..3886db95a688 100644 /* Contrary to the suggestions in the documentation, * "Enable Panel Fitter" does not seem to be required when page -@@ -7529,7 +7531,7 @@ static int intel_gen7_queue_flip(struct drm_device *dev, +@@ -7529,7 +7531,7 @@ static int intel_gen7_queue_flip(struct intel_ring_emit(ring, MI_DISPLAY_FLIP_I915 | plane_bit); intel_ring_emit(ring, (fb->pitches[0] | obj->tiling_mode)); @@ -826,11 +806,9 @@ index 9733f275454d..3886db95a688 100644 intel_ring_emit(ring, (MI_NOOP)); intel_mark_page_flip_active(intel_crtc); -diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c -index dff669e2387f..f3c97e05b0d8 100644 --- a/drivers/gpu/drm/i915/intel_fb.c +++ b/drivers/gpu/drm/i915/intel_fb.c -@@ -139,11 +139,11 @@ static int intelfb_create(struct drm_fb_helper *helper, +@@ -139,11 +139,11 @@ static int intelfb_create(struct drm_fb_ info->apertures->ranges[0].base = dev->mode_config.fb_base; info->apertures->ranges[0].size = dev_priv->gtt.mappable_end; @@ -844,7 +822,7 @@ index dff669e2387f..f3c97e05b0d8 100644 size); if (!info->screen_base) { ret = -ENOSPC; -@@ -166,9 +166,9 @@ static int intelfb_create(struct drm_fb_helper *helper, +@@ -166,9 +166,9 @@ static int intelfb_create(struct drm_fb_ /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ @@ -856,11 +834,9 @@ index dff669e2387f..f3c97e05b0d8 100644 mutex_unlock(&dev->struct_mutex); -diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c -index a3698812e9c7..81c3ca14fa92 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c -@@ -196,7 +196,7 @@ intel_overlay_map_regs(struct intel_overlay *overlay) +@@ -196,7 +196,7 @@ intel_overlay_map_regs(struct intel_over regs = (struct overlay_registers __iomem *)overlay->reg_bo->phys_obj->handle->vaddr; else regs = io_mapping_map_wc(dev_priv->gtt.mappable, @@ -869,7 +845,7 @@ index a3698812e9c7..81c3ca14fa92 100644 return regs; } -@@ -740,7 +740,7 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay, +@@ -740,7 +740,7 @@ static int intel_overlay_do_put_image(st swidth = params->src_w; swidthsw = calc_swidthsw(overlay->dev, params->offset_Y, tmp_width); sheight = params->src_h; @@ -878,7 +854,7 @@ index a3698812e9c7..81c3ca14fa92 100644 ostride = params->stride_Y; if (params->format & I915_OVERLAY_YUV_PLANAR) { -@@ -754,8 +754,8 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay, +@@ -754,8 +754,8 @@ static int intel_overlay_do_put_image(st params->src_w/uv_hscale); swidthsw |= max_t(u32, tmp_U, tmp_V) << 16; sheight |= (params->src_h/uv_vscale) << 16; @@ -889,7 +865,7 @@ index a3698812e9c7..81c3ca14fa92 100644 ostride |= params->stride_UV << 16; } -@@ -1355,7 +1355,7 @@ void intel_setup_overlay(struct drm_device *dev) +@@ -1355,7 +1355,7 @@ void intel_setup_overlay(struct drm_devi DRM_ERROR("failed to pin overlay register bo\n"); goto out_free_bo; } @@ -898,7 +874,7 @@ index a3698812e9c7..81c3ca14fa92 100644 ret = i915_gem_object_set_to_gtt_domain(reg_bo, true); if (ret) { -@@ -1435,7 +1435,7 @@ intel_overlay_map_regs_atomic(struct intel_overlay *overlay) +@@ -1435,7 +1435,7 @@ intel_overlay_map_regs_atomic(struct int overlay->reg_bo->phys_obj->handle->vaddr; else regs = io_mapping_map_atomic_wc(dev_priv->gtt.mappable, @@ -907,7 +883,7 @@ index a3698812e9c7..81c3ca14fa92 100644 return regs; } -@@ -1468,7 +1468,7 @@ intel_overlay_capture_error_state(struct drm_device *dev) +@@ -1468,7 +1468,7 @@ intel_overlay_capture_error_state(struct if (OVERLAY_NEEDS_PHYSICAL(overlay->dev)) error->base = (__force long)overlay->reg_bo->phys_obj->handle->vaddr; else @@ -916,11 +892,9 @@ index a3698812e9c7..81c3ca14fa92 100644 regs = intel_overlay_map_regs_atomic(overlay); if (!regs) -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index f9d0afd4bd6c..613923a75abe 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -218,7 +218,7 @@ static void ironlake_enable_fbc(struct drm_crtc *crtc, unsigned long interval) +@@ -218,7 +218,7 @@ static void ironlake_enable_fbc(struct d (stall_watermark << DPFC_RECOMP_STALL_WM_SHIFT) | (interval << DPFC_RECOMP_TIMER_COUNT_SHIFT)); I915_WRITE(ILK_DPFC_FENCE_YOFF, crtc->y); @@ -929,7 +903,7 @@ index f9d0afd4bd6c..613923a75abe 100644 /* enable it... */ I915_WRITE(ILK_DPFC_CONTROL, dpfc_ctl | DPFC_CTL_EN); -@@ -275,7 +275,7 @@ static void gen7_enable_fbc(struct drm_crtc *crtc, unsigned long interval) +@@ -275,7 +275,7 @@ static void gen7_enable_fbc(struct drm_c struct drm_i915_gem_object *obj = intel_fb->obj; struct intel_crtc *intel_crtc = to_intel_crtc(crtc); @@ -938,7 +912,7 @@ index f9d0afd4bd6c..613923a75abe 100644 I915_WRITE(ILK_DPFC_CONTROL, DPFC_CTL_EN | DPFC_CTL_LIMIT_1X | IVB_DPFC_CTL_FENCE_EN | -@@ -3700,7 +3700,7 @@ static void ironlake_enable_rc6(struct drm_device *dev) +@@ -3700,7 +3700,7 @@ static void ironlake_enable_rc6(struct d intel_ring_emit(ring, MI_SUSPEND_FLUSH | MI_SUSPEND_FLUSH_EN); intel_ring_emit(ring, MI_SET_CONTEXT); @@ -947,7 +921,7 @@ index f9d0afd4bd6c..613923a75abe 100644 MI_MM_SPACE_GTT | MI_SAVE_EXT_STATE_EN | MI_RESTORE_EXT_STATE_EN | -@@ -3723,7 +3723,7 @@ static void ironlake_enable_rc6(struct drm_device *dev) +@@ -3723,7 +3723,7 @@ static void ironlake_enable_rc6(struct d return; } @@ -956,11 +930,9 @@ index f9d0afd4bd6c..613923a75abe 100644 I915_WRITE(RSTDBYCTL, I915_READ(RSTDBYCTL) & ~RCX_SW_EXIT); } -diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c -index 079ef0129e74..ea6aef5e6fea 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c -@@ -440,14 +440,14 @@ static int init_ring_common(struct intel_ring_buffer *ring) +@@ -440,14 +440,14 @@ static int init_ring_common(struct intel * registers with the above sequence (the readback of the HEAD registers * also enforces ordering), otherwise the hw might lose the new ring * register values. */ @@ -977,7 +949,7 @@ index 079ef0129e74..ea6aef5e6fea 100644 (I915_READ_HEAD(ring) & HEAD_ADDR) == 0, 50)) { DRM_ERROR("%s initialization failed " "ctl %08x head %08x tail %08x start %08x\n", -@@ -505,7 +505,7 @@ init_pipe_control(struct intel_ring_buffer *ring) +@@ -505,7 +505,7 @@ init_pipe_control(struct intel_ring_buff if (ret) goto err_unref; @@ -986,7 +958,7 @@ index 079ef0129e74..ea6aef5e6fea 100644 pc->cpu_page = kmap(sg_page(obj->pages->sgl)); if (pc->cpu_page == NULL) { ret = -ENOMEM; -@@ -1156,7 +1156,7 @@ i830_dispatch_execbuffer(struct intel_ring_buffer *ring, +@@ -1156,7 +1156,7 @@ i830_dispatch_execbuffer(struct intel_ri intel_ring_advance(ring); } else { struct drm_i915_gem_object *obj = ring->private; @@ -995,7 +967,7 @@ index 079ef0129e74..ea6aef5e6fea 100644 if (len > I830_BATCH_LIMIT) return -ENOSPC; -@@ -1241,7 +1241,7 @@ static int init_status_page(struct intel_ring_buffer *ring) +@@ -1241,7 +1241,7 @@ static int init_status_page(struct intel goto err_unref; } @@ -1004,7 +976,7 @@ index 079ef0129e74..ea6aef5e6fea 100644 ring->status_page.page_addr = kmap(sg_page(obj->pages->sgl)); if (ring->status_page.page_addr == NULL) { ret = -ENOMEM; -@@ -1328,7 +1328,7 @@ static int intel_init_ring_buffer(struct drm_device *dev, +@@ -1328,7 +1328,7 @@ static int intel_init_ring_buffer(struct goto err_unpin; ring->virtual_start = @@ -1013,11 +985,9 @@ index 079ef0129e74..ea6aef5e6fea 100644 ring->size); if (ring->virtual_start == NULL) { DRM_ERROR("Failed to map ringbuffer.\n"); -diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c -index 1fa5612a4572..55bdf70b548b 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c -@@ -133,7 +133,7 @@ vlv_update_plane(struct drm_plane *dplane, struct drm_framebuffer *fb, +@@ -133,7 +133,7 @@ vlv_update_plane(struct drm_plane *dplan I915_WRITE(SPSIZE(pipe, plane), (crtc_h << 16) | crtc_w); I915_WRITE(SPCNTR(pipe, plane), sprctl); @@ -1026,7 +996,7 @@ index 1fa5612a4572..55bdf70b548b 100644 sprsurf_offset); POSTING_READ(SPSURF(pipe, plane)); } -@@ -308,7 +308,8 @@ ivb_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, +@@ -308,7 +308,8 @@ ivb_update_plane(struct drm_plane *plane if (intel_plane->can_scale) I915_WRITE(SPRSCALE(pipe), sprscale); I915_WRITE(SPRCTL(pipe), sprctl); @@ -1036,7 +1006,7 @@ index 1fa5612a4572..55bdf70b548b 100644 POSTING_READ(SPRSURF(pipe)); /* potentially re-enable LP watermarks */ -@@ -478,7 +479,8 @@ ilk_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, +@@ -478,7 +479,8 @@ ilk_update_plane(struct drm_plane *plane I915_WRITE(DVSSIZE(pipe), (crtc_h << 16) | crtc_w); I915_WRITE(DVSSCALE(pipe), dvsscale); I915_WRITE(DVSCNTR(pipe), dvscntr); @@ -1046,6 +1016,3 @@ index 1fa5612a4572..55bdf70b548b 100644 POSTING_READ(DVSSURF(pipe)); } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0441-drm-i915-don-t-frob-mm.suspended-when-not-using-ums.patch b/patches.baytrail/0441-drm-i915-don-t-frob-mm.suspended-when-not-using-ums.patch index 2c6c19fbe29b67..c68f21daa83ea1 100644 --- a/patches.baytrail/0441-drm-i915-don-t-frob-mm.suspended-when-not-using-ums.patch +++ b/patches.baytrail/0441-drm-i915-don-t-frob-mm.suspended-when-not-using-ums.patch @@ -37,18 +37,16 @@ Conflicts: e13af9a8340685cfe25d0c9f708da7121e0f51dd) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 13 +++------- - drivers/gpu/drm/i915/i915_drv.c | 11 +++++--- - drivers/gpu/drm/i915/i915_drv.h | 24 ++++++++++-------- - drivers/gpu/drm/i915/i915_gem.c | 40 ++++++++++++++++++------------ - drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 13 ++------- + drivers/gpu/drm/i915/i915_drv.c | 11 +++++-- + drivers/gpu/drm/i915/i915_drv.h | 24 ++++++++++------- + drivers/gpu/drm/i915/i915_gem.c | 40 +++++++++++++++++------------ + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 - 5 files changed, 50 insertions(+), 40 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 6995baca9b62..240e1ef3c993 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1323,10 +1323,8 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1331,10 +1331,8 @@ static int i915_load_modeset_init(struct /* Always safe in the mode setting case. */ /* FIXME: do pre/post-mode set stuff in core KMS code */ dev->vblank_disable_allowed = 1; @@ -60,7 +58,7 @@ index 6995baca9b62..240e1ef3c993 100644 ret = intel_fbdev_init(dev); if (ret) -@@ -1352,9 +1350,6 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1360,9 +1358,6 @@ static int i915_load_modeset_init(struct drm_kms_helper_poll_init(dev); @@ -70,7 +68,7 @@ index 6995baca9b62..240e1ef3c993 100644 return 0; cleanup_gem: -@@ -1631,9 +1626,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1639,9 +1634,6 @@ int i915_driver_load(struct drm_device * goto out_gem_unload; } @@ -80,7 +78,7 @@ index 6995baca9b62..240e1ef3c993 100644 if (HAS_POWER_WELL(dev)) i915_init_power_well(dev); -@@ -1643,6 +1635,9 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1651,6 +1643,9 @@ int i915_driver_load(struct drm_device * DRM_ERROR("failed to init modeset\n"); goto out_gem_unload; } @@ -90,11 +88,9 @@ index 6995baca9b62..240e1ef3c993 100644 } i915_setup_sysfs(dev); -diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c -index 95fe9c2a1449..370f2da5d9c0 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c -@@ -556,7 +556,11 @@ static int i915_drm_freeze(struct drm_device *dev) +@@ -556,7 +556,11 @@ static int i915_drm_freeze(struct drm_de /* If KMS is active, we do the leavevt stuff here */ if (drm_core_check_feature(dev, DRIVER_MODESET)) { @@ -107,7 +103,7 @@ index 95fe9c2a1449..370f2da5d9c0 100644 if (error) { dev_err(&dev->pdev->dev, "GEM idle failed, resume might fail\n"); -@@ -661,7 +665,6 @@ static int __i915_drm_thaw(struct drm_device *dev) +@@ -661,7 +665,6 @@ static int __i915_drm_thaw(struct drm_de intel_init_pch_refclk(dev); mutex_lock(&dev->struct_mutex); @@ -129,8 +125,6 @@ index 95fe9c2a1449..370f2da5d9c0 100644 i915_gem_init_swizzling(dev); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index db64bfefe8c5..eab408e66584 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -815,6 +815,18 @@ struct i915_dri1_state { @@ -178,11 +172,9 @@ index db64bfefe8c5..eab408e66584 100644 } drm_i915_private_t; /* Iterate over initialised rings */ -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index ee1f4add3430..5846134574f1 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -2086,7 +2086,7 @@ int __i915_add_request(struct intel_ring_buffer *ring, +@@ -2086,7 +2086,7 @@ int __i915_add_request(struct intel_ring trace_i915_gem_request_add(ring, request->seqno); ring->outstanding_lazy_request = 0; @@ -191,7 +183,7 @@ index ee1f4add3430..5846134574f1 100644 if (i915_enable_hangcheck) { mod_timer(&dev_priv->gpu_error.hangcheck_timer, round_jiffies_up(jiffies + DRM_I915_HANGCHECK_JIFFIES)); -@@ -2401,7 +2401,7 @@ i915_gem_retire_work_handler(struct work_struct *work) +@@ -2401,7 +2401,7 @@ i915_gem_retire_work_handler(struct work idle &= list_empty(&ring->request_list); } @@ -239,7 +231,7 @@ index ee1f4add3430..5846134574f1 100644 int ret; if (drm_core_check_feature(dev, DRIVER_MODESET)) -@@ -4229,7 +4220,7 @@ i915_gem_entervt_ioctl(struct drm_device *dev, void *data, +@@ -4229,7 +4220,7 @@ i915_gem_entervt_ioctl(struct drm_device } mutex_lock(&dev->struct_mutex); @@ -248,7 +240,7 @@ index ee1f4add3430..5846134574f1 100644 ret = i915_gem_init_hw(dev); if (ret != 0) { -@@ -4249,7 +4240,7 @@ i915_gem_entervt_ioctl(struct drm_device *dev, void *data, +@@ -4249,7 +4240,7 @@ i915_gem_entervt_ioctl(struct drm_device cleanup_ringbuffer: mutex_lock(&dev->struct_mutex); i915_gem_cleanup_ringbuffer(dev); @@ -285,7 +277,7 @@ index ee1f4add3430..5846134574f1 100644 } void -@@ -4274,9 +4280,11 @@ i915_gem_lastclose(struct drm_device *dev) +@@ -4274,9 +4280,11 @@ i915_gem_lastclose(struct drm_device *de if (drm_core_check_feature(dev, DRIVER_MODESET)) return; @@ -297,11 +289,9 @@ index ee1f4add3430..5846134574f1 100644 } static void -diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -index 5aeb447ead6b..64eda4463b70 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -@@ -973,7 +973,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data, +@@ -973,7 +973,7 @@ i915_gem_do_execbuffer(struct drm_device if (ret) goto pre_mutex_err; @@ -310,6 +300,3 @@ index 5aeb447ead6b..64eda4463b70 100644 mutex_unlock(&dev->struct_mutex); ret = -EBUSY; goto pre_mutex_err; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0450-drm-i915-kill-dev_priv-rps.lock.patch b/patches.baytrail/0450-drm-i915-kill-dev_priv-rps.lock.patch index b2fa01f18b6ed7..0fa422ba371871 100644 --- a/patches.baytrail/0450-drm-i915-kill-dev_priv-rps.lock.patch +++ b/patches.baytrail/0450-drm-i915-kill-dev_priv-rps.lock.patch @@ -26,19 +26,17 @@ Conflicts: (context changes) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 1 - - drivers/gpu/drm/i915/i915_drv.h | 8 ++++---- - drivers/gpu/drm/i915/i915_irq.c | 12 ++++++------ - drivers/gpu/drm/i915/intel_pm.c | 16 ++++++++-------- - drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++---- - drivers/gpu/drm/i915/intel_ringbuffer.h | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 1 - + drivers/gpu/drm/i915/i915_drv.h | 8 ++++---- + drivers/gpu/drm/i915/i915_irq.c | 12 ++++++------ + drivers/gpu/drm/i915/intel_pm.c | 16 ++++++++-------- + drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++---- + drivers/gpu/drm/i915/intel_ringbuffer.h | 2 +- 6 files changed, 23 insertions(+), 24 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 240e1ef3c993..b290daba28cf 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1492,7 +1492,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1500,7 +1500,6 @@ int i915_driver_load(struct drm_device * spin_lock_init(&dev_priv->irq_lock); spin_lock_init(&dev_priv->gpu_error.lock); @@ -46,8 +44,6 @@ index 240e1ef3c993..b290daba28cf 100644 spin_lock_init(&dev_priv->gt_lock); spin_lock_init(&dev_priv->backlight.lock); mutex_init(&dev_priv->dpio_lock); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 876ba7d7efd5..380d5799146c 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -744,12 +744,12 @@ struct i915_suspend_saved_registers { @@ -67,11 +63,9 @@ index 876ba7d7efd5..380d5799146c 100644 /* The below variables an all the rps hw state are protected by * dev->struct mutext. */ -diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c -index b08ce0b9f0bb..2da9e68db4f3 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -719,13 +719,13 @@ static void gen6_pm_rps_work(struct work_struct *work) +@@ -719,13 +719,13 @@ static void gen6_pm_rps_work(struct work u32 pm_iir, pm_imr; u8 new_delay; @@ -87,7 +81,7 @@ index b08ce0b9f0bb..2da9e68db4f3 100644 if ((pm_iir & GEN6_PM_RPS_EVENTS) == 0) return; -@@ -887,11 +887,11 @@ static void gen6_rps_irq_handler(struct drm_i915_private *dev_priv, +@@ -887,11 +887,11 @@ static void gen6_rps_irq_handler(struct * The mask bit in IMR is cleared by dev_priv->rps.work. */ @@ -101,7 +95,7 @@ index b08ce0b9f0bb..2da9e68db4f3 100644 queue_work(dev_priv->wq, &dev_priv->rps.work); } -@@ -964,12 +964,12 @@ static void hsw_pm_irq_handler(struct drm_i915_private *dev_priv, +@@ -964,12 +964,12 @@ static void hsw_pm_irq_handler(struct dr u32 pm_iir) { if (pm_iir & GEN6_PM_RPS_EVENTS) { @@ -116,11 +110,9 @@ index b08ce0b9f0bb..2da9e68db4f3 100644 queue_work(dev_priv->wq, &dev_priv->rps.work); } -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 613923a75abe..886da760df06 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -3135,9 +3135,9 @@ static void gen6_disable_rps(struct drm_device *dev) +@@ -3135,9 +3135,9 @@ static void gen6_disable_rps(struct drm_ * register (PMIMR) to mask PM interrupts. The only risk is in leaving * stale bits in PMIIR and PMIMR which gen6_enable_rps will clean up. */ @@ -132,7 +124,7 @@ index 613923a75abe..886da760df06 100644 I915_WRITE(GEN6_PMIIR, GEN6_PM_RPS_EVENTS); } -@@ -3154,9 +3154,9 @@ static void valleyview_disable_rps(struct drm_device *dev) +@@ -3154,9 +3154,9 @@ static void valleyview_disable_rps(struc * register (PMIMR) to mask PM interrupts. The only risk is in leaving * stale bits in PMIIR and PMIMR which gen6_enable_rps will clean up. */ @@ -144,7 +136,7 @@ index 613923a75abe..886da760df06 100644 I915_WRITE(GEN6_PMIIR, I915_READ(GEN6_PMIIR)); -@@ -3321,13 +3321,13 @@ static void gen6_enable_rps(struct drm_device *dev) +@@ -3321,13 +3321,13 @@ static void gen6_enable_rps(struct drm_d /* requires MSI enabled */ I915_WRITE(GEN6_PMIER, I915_READ(GEN6_PMIER) | GEN6_PM_RPS_EVENTS); @@ -160,7 +152,7 @@ index 613923a75abe..886da760df06 100644 /* unmask all PM interrupts */ I915_WRITE(GEN6_PMINTRMSK, 0); -@@ -3601,10 +3601,10 @@ static void valleyview_enable_rps(struct drm_device *dev) +@@ -3601,10 +3601,10 @@ static void valleyview_enable_rps(struct /* requires MSI enabled */ I915_WRITE(GEN6_PMIER, GEN6_PM_RPS_EVENTS); @@ -173,11 +165,9 @@ index 613923a75abe..886da760df06 100644 /* enable all PM interrupts */ I915_WRITE(GEN6_PMINTRMSK, 0); -diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c -index ea6aef5e6fea..ad439afdcc6d 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c -@@ -1082,14 +1082,14 @@ hsw_vebox_get_irq(struct intel_ring_buffer *ring) +@@ -1082,14 +1082,14 @@ hsw_vebox_get_irq(struct intel_ring_buff if (!dev->irq_enabled) return false; @@ -194,7 +184,7 @@ index ea6aef5e6fea..ad439afdcc6d 100644 return true; } -@@ -1104,14 +1104,14 @@ hsw_vebox_put_irq(struct intel_ring_buffer *ring) +@@ -1104,14 +1104,14 @@ hsw_vebox_put_irq(struct intel_ring_buff if (!dev->irq_enabled) return; @@ -211,8 +201,6 @@ index ea6aef5e6fea..ad439afdcc6d 100644 } static int -diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h -index 799f04c9da45..8a87b3f9974c 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h @@ -80,7 +80,7 @@ struct intel_ring_buffer { @@ -224,6 +212,3 @@ index 799f04c9da45..8a87b3f9974c 100644 } irq_refcount; u32 irq_enable_mask; /* bitmask to enable ring interrupt */ u32 trace_irq_seqno; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0455-drm-i915-move-error-state-to-own-compilation-unit.patch b/patches.baytrail/0455-drm-i915-move-error-state-to-own-compilation-unit.patch index 33838e795ace99..39a0283b47d531 100644 --- a/patches.baytrail/0455-drm-i915-move-error-state-to-own-compilation-unit.patch +++ b/patches.baytrail/0455-drm-i915-move-error-state-to-own-compilation-unit.patch @@ -22,18 +22,16 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 84734a049d0ef2f6f5fb0a1fe060cd51480dd855) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/Makefile | 1 + - drivers/gpu/drm/i915/i915_debugfs.c | 415 +-------------- - drivers/gpu/drm/i915/i915_drv.h | 24 +- - drivers/gpu/drm/i915/i915_gpu_error.c | 971 ++++++++++++++++++++++++++++++++++ - drivers/gpu/drm/i915/i915_irq.c | 529 ------------------ - drivers/gpu/drm/i915/intel_display.c | 4 - - drivers/gpu/drm/i915/intel_overlay.c | 4 - + drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/i915_debugfs.c | 415 -------------- + drivers/gpu/drm/i915/i915_drv.h | 24 + drivers/gpu/drm/i915/i915_gpu_error.c | 971 ++++++++++++++++++++++++++++++++++ + drivers/gpu/drm/i915/i915_irq.c | 529 ------------------ + drivers/gpu/drm/i915/intel_display.c | 4 + drivers/gpu/drm/i915/intel_overlay.c | 4 7 files changed, 983 insertions(+), 965 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_gpu_error.c -diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile -index 40034ecefd3b..9d1da7cceb21 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -5,6 +5,7 @@ @@ -44,8 +42,6 @@ index 40034ecefd3b..9d1da7cceb21 100644 i915_suspend.o \ i915_gem.o \ i915_gem_context.o \ -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index d4138124d993..86379799dab8 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -30,7 +30,6 @@ @@ -56,7 +52,7 @@ index d4138124d993..86379799dab8 100644 #include <drm/drmP.h> #include "intel_drv.h" #include "intel_ringbuffer.h" -@@ -90,16 +89,6 @@ static const char *get_tiling_flag(struct drm_i915_gem_object *obj) +@@ -90,16 +89,6 @@ static const char *get_tiling_flag(struc } } @@ -73,7 +69,7 @@ index d4138124d993..86379799dab8 100644 static void describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) { -@@ -113,7 +102,7 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) +@@ -113,7 +102,7 @@ describe_obj(struct seq_file *m, struct obj->last_read_seqno, obj->last_write_seqno, obj->last_fenced_seqno, @@ -82,7 +78,7 @@ index d4138124d993..86379799dab8 100644 obj->dirty ? " dirty" : "", obj->madv == I915_MADV_DONTNEED ? " purgeable" : ""); if (obj->base.name) -@@ -608,358 +597,6 @@ static int i915_hws_info(struct seq_file *m, void *data) +@@ -608,358 +597,6 @@ static int i915_hws_info(struct seq_file return 0; } @@ -441,7 +437,7 @@ index d4138124d993..86379799dab8 100644 static ssize_t i915_error_state_write(struct file *filp, const char __user *ubuf, -@@ -982,26 +619,6 @@ i915_error_state_write(struct file *filp, +@@ -982,26 +619,6 @@ i915_error_state_write(struct file *filp return cnt; } @@ -468,10 +464,11 @@ index d4138124d993..86379799dab8 100644 static int i915_error_state_open(struct inode *inode, struct file *file) { struct drm_device *dev = inode->i_private; -@@ -1030,36 +647,6 @@ static int i915_error_state_release(struct inode *inode, struct file *file) +@@ -1029,36 +646,6 @@ static int i915_error_state_release(stru + return 0; } - +- -int i915_error_state_buf_init(struct drm_i915_error_state_buf *ebuf, - size_t count, loff_t pos) -{ @@ -501,15 +498,12 @@ index d4138124d993..86379799dab8 100644 - - return 0; -} -- + static ssize_t i915_error_state_read(struct file *file, char __user *userbuf, size_t count, loff_t *pos) - { -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 380d5799146c..a7fbefaa1c4a 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h -@@ -1629,21 +1629,12 @@ extern void intel_hpd_init(struct drm_device *dev); +@@ -1629,21 +1629,12 @@ extern void intel_hpd_init(struct drm_de extern void intel_gt_init(struct drm_device *dev); extern void intel_gt_sanitize(struct drm_device *dev); @@ -531,7 +525,7 @@ index 380d5799146c..a7fbefaa1c4a 100644 /* i915_gem.c */ int i915_gem_init_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv); -@@ -1954,13 +1945,12 @@ void i915_gem_dump_object(struct drm_i915_gem_object *obj, int len, +@@ -1954,13 +1945,12 @@ void i915_gem_dump_object(struct drm_i91 /* i915_debugfs.c */ int i915_debugfs_init(struct drm_minor *minor); void i915_debugfs_cleanup(struct drm_minor *minor); @@ -547,7 +541,7 @@ index 380d5799146c..a7fbefaa1c4a 100644 int i915_error_state_buf_init(struct drm_i915_error_state_buf *eb, size_t count, loff_t pos); static inline void i915_error_state_buf_release( -@@ -1968,6 +1958,14 @@ static inline void i915_error_state_buf_release( +@@ -1968,6 +1958,14 @@ static inline void i915_error_state_buf_ { kfree(eb->buf); } @@ -562,7 +556,7 @@ index 380d5799146c..a7fbefaa1c4a 100644 /* i915_suspend.c */ extern int i915_save_state(struct drm_device *dev); -@@ -2047,7 +2045,6 @@ int i915_reg_read_ioctl(struct drm_device *dev, void *data, +@@ -2047,7 +2045,6 @@ int i915_reg_read_ioctl(struct drm_devic struct drm_file *file); /* overlay */ @@ -570,7 +564,7 @@ index 380d5799146c..a7fbefaa1c4a 100644 extern struct intel_overlay_error_state *intel_overlay_capture_error_state(struct drm_device *dev); extern void intel_overlay_print_error_state(struct drm_i915_error_state_buf *e, struct intel_overlay_error_state *error); -@@ -2056,7 +2053,6 @@ extern struct intel_display_error_state *intel_display_capture_error_state(struc +@@ -2056,7 +2053,6 @@ extern struct intel_display_error_state extern void intel_display_print_error_state(struct drm_i915_error_state_buf *e, struct drm_device *dev, struct intel_display_error_state *error); @@ -578,9 +572,6 @@ index 380d5799146c..a7fbefaa1c4a 100644 /* On SNB platform, before reading ring registers forcewake bit * must be set to prevent GT core from power down and stale values being -diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c -new file mode 100644 -index 000000000000..58386cebb865 --- /dev/null +++ b/drivers/gpu/drm/i915/i915_gpu_error.c @@ -0,0 +1,971 @@ @@ -1555,11 +1546,9 @@ index 000000000000..58386cebb865 + break; + } +} -diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c -index f77e87365480..a710ec29781b 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -1527,535 +1527,6 @@ static void i915_error_work_func(struct work_struct *work) +@@ -1527,535 +1527,6 @@ static void i915_error_work_func(struct } } @@ -2095,11 +2084,9 @@ index f77e87365480..a710ec29781b 100644 static void i915_report_and_clear_eir(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 861dcc5d4ebf..7b52eaab0dc4 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -10213,9 +10213,6 @@ int intel_modeset_vga_set_state(struct drm_device *dev, bool state) +@@ -10216,9 +10216,6 @@ int intel_modeset_vga_set_state(struct d return 0; } @@ -2109,16 +2096,14 @@ index 861dcc5d4ebf..7b52eaab0dc4 100644 struct intel_display_error_state { u32 power_well_driver; -@@ -10387,4 +10384,3 @@ intel_display_print_error_state(struct drm_i915_error_state_buf *m, +@@ -10390,4 +10387,3 @@ intel_display_print_error_state(struct d err_printf(m, " VSYNC: %08x\n", error->transcoder[i].vsync); } } -#endif -diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c -index 81c3ca14fa92..2abb53e6f1e0 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c -@@ -1412,9 +1412,6 @@ void intel_cleanup_overlay(struct drm_device *dev) +@@ -1412,9 +1412,6 @@ void intel_cleanup_overlay(struct drm_de kfree(dev_priv->overlay); } @@ -2128,11 +2113,8 @@ index 81c3ca14fa92..2abb53e6f1e0 100644 struct intel_overlay_error_state { struct overlay_registers regs; unsigned long base; -@@ -1537,4 +1534,3 @@ intel_overlay_print_error_state(struct drm_i915_error_state_buf *m, +@@ -1537,4 +1534,3 @@ intel_overlay_print_error_state(struct d P(UVSCALEV); #undef P } -#endif --- -1.8.5.rc3 - diff --git a/patches.baytrail/0461-drm-i915-store-eLLC-size.patch b/patches.baytrail/0461-drm-i915-store-eLLC-size.patch index 319d8db09fed3c..753c2819a1839b 100644 --- a/patches.baytrail/0461-drm-i915-store-eLLC-size.patch +++ b/patches.baytrail/0461-drm-i915-store-eLLC-size.patch @@ -32,16 +32,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 59124506ba5297e48410e410c3bce83784fddf58) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 10 ++++++++++ - drivers/gpu/drm/i915/i915_drv.h | 3 +++ - drivers/gpu/drm/i915/i915_gem.c | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 10 ++++++++++ + drivers/gpu/drm/i915/i915_drv.h | 3 +++ + drivers/gpu/drm/i915/i915_gem.c | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index b290daba28cf..db56ee7f27d5 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1527,6 +1527,16 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1535,6 +1535,16 @@ int i915_driver_load(struct drm_device * intel_early_sanitize_regs(dev); @@ -58,8 +56,6 @@ index b290daba28cf..db56ee7f27d5 100644 ret = i915_gem_gtt_init(dev); if (ret) goto put_bridge; -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index a7fbefaa1c4a..7adf2b45b185 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1152,6 +1152,9 @@ typedef struct drm_i915_private { @@ -72,8 +68,6 @@ index a7fbefaa1c4a..7adf2b45b185 100644 /* gen6+ rps state */ struct intel_gen6_power_mgmt rps; -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index a7039e69395b..791c238a6b01 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4131,7 +4131,7 @@ i915_gem_init_hw(struct drm_device *dev) @@ -85,6 +79,3 @@ index a7039e69395b..791c238a6b01 100644 I915_WRITE(HSW_IDICR, I915_READ(HSW_IDICR) | IDIHASHMSK(0xf)); if (HAS_PCH_NOP(dev)) { --- -1.8.5.rc3 - diff --git a/patches.baytrail/0476-drm-i915-Move-gtt-and-ppgtt-under-address-space-umbr.patch b/patches.baytrail/0476-drm-i915-Move-gtt-and-ppgtt-under-address-space-umbr.patch index 1b25d5f1c69408..239a4f438c6361 100644 --- a/patches.baytrail/0476-drm-i915-Move-gtt-and-ppgtt-under-address-space-umbr.patch +++ b/patches.baytrail/0476-drm-i915-Move-gtt-and-ppgtt-under-address-space-umbr.patch @@ -30,18 +30,16 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 853ba5d2231619e1c7f7de1269e135174ec8e3cb) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_debugfs.c | 4 +- - drivers/gpu/drm/i915/i915_dma.c | 4 +- - drivers/gpu/drm/i915/i915_drv.h | 57 ++++++------- - drivers/gpu/drm/i915/i915_gem.c | 4 +- - drivers/gpu/drm/i915/i915_gem_gtt.c | 165 ++++++++++++++++++++---------------- + drivers/gpu/drm/i915/i915_debugfs.c | 4 + drivers/gpu/drm/i915/i915_dma.c | 4 + drivers/gpu/drm/i915/i915_drv.h | 57 +++++------- + drivers/gpu/drm/i915/i915_gem.c | 4 + drivers/gpu/drm/i915/i915_gem_gtt.c | 165 +++++++++++++++++++----------------- 5 files changed, 123 insertions(+), 111 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index 8819f851e996..1c697c0ab7e5 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c -@@ -276,8 +276,8 @@ static int i915_gem_object_info(struct seq_file *m, void *data) +@@ -276,8 +276,8 @@ static int i915_gem_object_info(struct s count, size); seq_printf(m, "%zu [%lu] gtt total\n", @@ -52,11 +50,9 @@ index 8819f851e996..1c697c0ab7e5 100644 seq_putc(m, '\n'); list_for_each_entry_reverse(file, &dev->filelist, lhead) { -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index db56ee7f27d5..146890cacabe 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1675,7 +1675,7 @@ out_gem_unload: +@@ -1683,7 +1683,7 @@ out_gem_unload: out_mtrrfree: arch_phys_wc_del(dev_priv->gtt.mtrr); io_mapping_free(dev_priv->gtt.mappable); @@ -65,7 +61,7 @@ index db56ee7f27d5..146890cacabe 100644 out_rmmap: pci_iounmap(dev->pdev, dev_priv->regs); put_bridge: -@@ -1770,7 +1770,7 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1778,7 +1778,7 @@ int i915_driver_unload(struct drm_device destroy_workqueue(dev_priv->wq); pm_qos_remove_request(&dev_priv->pm_qos); @@ -74,8 +70,6 @@ index db56ee7f27d5..146890cacabe 100644 if (dev_priv->slab) kmem_cache_destroy(dev_priv->slab); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index fc7b1105b47a..3ce73b4041ef 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -446,6 +446,29 @@ enum i915_cache_level { @@ -179,11 +173,9 @@ index fc7b1105b47a..3ce73b4041ef 100644 struct i915_gem_mm mm; -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index e2370a2ef1ae..cc336bc8d8fe 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -181,7 +181,7 @@ i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, +@@ -181,7 +181,7 @@ i915_gem_get_aperture_ioctl(struct drm_d pinned += i915_gem_obj_ggtt_size(obj); mutex_unlock(&dev->struct_mutex); @@ -192,7 +184,7 @@ index e2370a2ef1ae..cc336bc8d8fe 100644 args->aper_available_size = args->aper_size - pinned; return 0; -@@ -3065,7 +3065,7 @@ i915_gem_object_bind_to_gtt(struct drm_i915_gem_object *obj, +@@ -3065,7 +3065,7 @@ i915_gem_object_bind_to_gtt(struct drm_i u32 size, fence_size, fence_alignment, unfenced_alignment; bool mappable, fenceable; size_t gtt_max = map_and_fenceable ? @@ -201,11 +193,9 @@ index e2370a2ef1ae..cc336bc8d8fe 100644 int ret; fence_size = i915_gem_get_gtt_size(dev, -diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c -index 422273328302..f982bf0de157 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c -@@ -124,7 +124,7 @@ static gen6_gtt_pte_t iris_pte_encode(dma_addr_t addr, +@@ -124,7 +124,7 @@ static gen6_gtt_pte_t iris_pte_encode(dm static void gen6_write_pdes(struct i915_hw_ppgtt *ppgtt) { @@ -214,7 +204,7 @@ index 422273328302..f982bf0de157 100644 gen6_gtt_pte_t __iomem *pd_addr; uint32_t pd_entry; int i; -@@ -203,18 +203,18 @@ static int gen6_ppgtt_enable(struct drm_device *dev) +@@ -203,18 +203,18 @@ static int gen6_ppgtt_enable(struct drm_ } /* PPGTT support for Sandybdrige/Gen6 and later */ @@ -237,7 +227,7 @@ index 422273328302..f982bf0de157 100644 while (num_entries) { last_pte = first_pte + num_entries; -@@ -234,11 +234,13 @@ static void gen6_ppgtt_clear_range(struct i915_hw_ppgtt *ppgtt, +@@ -234,11 +234,13 @@ static void gen6_ppgtt_clear_range(struc } } @@ -252,7 +242,7 @@ index 422273328302..f982bf0de157 100644 gen6_gtt_pte_t *pt_vaddr; unsigned act_pt = first_entry / I915_PPGTT_PT_ENTRIES; unsigned act_pte = first_entry % I915_PPGTT_PT_ENTRIES; -@@ -249,7 +251,7 @@ static void gen6_ppgtt_insert_entries(struct i915_hw_ppgtt *ppgtt, +@@ -249,7 +251,7 @@ static void gen6_ppgtt_insert_entries(st dma_addr_t page_addr; page_addr = sg_page_iter_dma_address(&sg_iter); @@ -261,7 +251,7 @@ index 422273328302..f982bf0de157 100644 if (++act_pte == I915_PPGTT_PT_ENTRIES) { kunmap_atomic(pt_vaddr); act_pt++; -@@ -261,13 +263,15 @@ static void gen6_ppgtt_insert_entries(struct i915_hw_ppgtt *ppgtt, +@@ -261,13 +263,15 @@ static void gen6_ppgtt_insert_entries(st kunmap_atomic(pt_vaddr); } @@ -279,7 +269,7 @@ index 422273328302..f982bf0de157 100644 ppgtt->pt_dma_addr[i], 4096, PCI_DMA_BIDIRECTIONAL); } -@@ -281,7 +285,7 @@ static void gen6_ppgtt_cleanup(struct i915_hw_ppgtt *ppgtt) +@@ -281,7 +285,7 @@ static void gen6_ppgtt_cleanup(struct i9 static int gen6_ppgtt_init(struct i915_hw_ppgtt *ppgtt) { @@ -288,7 +278,7 @@ index 422273328302..f982bf0de157 100644 struct drm_i915_private *dev_priv = dev->dev_private; unsigned first_pd_entry_in_global_pt; int i; -@@ -293,17 +297,18 @@ static int gen6_ppgtt_init(struct i915_hw_ppgtt *ppgtt) +@@ -293,17 +297,18 @@ static int gen6_ppgtt_init(struct i915_h first_pd_entry_in_global_pt = gtt_total_entries(dev_priv->gtt); if (IS_HASWELL(dev)) { @@ -313,7 +303,7 @@ index 422273328302..f982bf0de157 100644 ppgtt->pt_pages = kzalloc(sizeof(struct page *)*ppgtt->num_pd_entries, GFP_KERNEL); if (!ppgtt->pt_pages) -@@ -334,8 +339,8 @@ static int gen6_ppgtt_init(struct i915_hw_ppgtt *ppgtt) +@@ -334,8 +339,8 @@ static int gen6_ppgtt_init(struct i915_h ppgtt->pt_dma_addr[i] = pt_addr; } @@ -324,7 +314,7 @@ index 422273328302..f982bf0de157 100644 ppgtt->pd_offset = first_pd_entry_in_global_pt * sizeof(gen6_gtt_pte_t); -@@ -368,7 +373,7 @@ static int i915_gem_init_aliasing_ppgtt(struct drm_device *dev) +@@ -368,7 +373,7 @@ static int i915_gem_init_aliasing_ppgtt( if (!ppgtt) return -ENOMEM; @@ -333,7 +323,7 @@ index 422273328302..f982bf0de157 100644 if (INTEL_INFO(dev)->gen < 8) ret = gen6_ppgtt_init(ppgtt); -@@ -391,7 +396,7 @@ void i915_gem_cleanup_aliasing_ppgtt(struct drm_device *dev) +@@ -391,7 +396,7 @@ void i915_gem_cleanup_aliasing_ppgtt(str if (!ppgtt) return; @@ -342,7 +332,7 @@ index 422273328302..f982bf0de157 100644 dev_priv->mm.aliasing_ppgtt = NULL; } -@@ -399,17 +404,17 @@ void i915_ppgtt_bind_object(struct i915_hw_ppgtt *ppgtt, +@@ -399,17 +404,17 @@ void i915_ppgtt_bind_object(struct i915_ struct drm_i915_gem_object *obj, enum i915_cache_level cache_level) { @@ -366,7 +356,7 @@ index 422273328302..f982bf0de157 100644 } extern int intel_iommu_gfx_mapped; -@@ -456,8 +461,9 @@ void i915_gem_restore_gtt_mappings(struct drm_device *dev) +@@ -456,8 +461,9 @@ void i915_gem_restore_gtt_mappings(struc struct drm_i915_gem_object *obj; /* First fill our portion of the GTT with scratch pages */ @@ -378,7 +368,7 @@ index 422273328302..f982bf0de157 100644 list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) { i915_gem_clflush_object(obj); -@@ -486,12 +492,12 @@ int i915_gem_gtt_prepare_object(struct drm_i915_gem_object *obj) +@@ -486,12 +492,12 @@ int i915_gem_gtt_prepare_object(struct d * within the global GTT as well as accessible by the GPU through the GMADR * mapped BAR (dev_priv->mm.gtt->gtt). */ @@ -393,7 +383,7 @@ index 422273328302..f982bf0de157 100644 gen6_gtt_pte_t __iomem *gtt_entries = (gen6_gtt_pte_t __iomem *)dev_priv->gtt.gsm + first_entry; int i = 0; -@@ -500,8 +506,7 @@ static void gen6_ggtt_insert_entries(struct drm_device *dev, +@@ -500,8 +506,7 @@ static void gen6_ggtt_insert_entries(str for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) { addr = sg_page_iter_dma_address(&sg_iter); @@ -403,7 +393,7 @@ index 422273328302..f982bf0de157 100644 i++; } -@@ -512,8 +517,8 @@ static void gen6_ggtt_insert_entries(struct drm_device *dev, +@@ -512,8 +517,8 @@ static void gen6_ggtt_insert_entries(str * hardware should work, we must keep this posting read for paranoia. */ if (i != 0) @@ -414,7 +404,7 @@ index 422273328302..f982bf0de157 100644 /* This next bit makes the above posting read even more important. We * want to flush the TLBs only after we're certain all the PTE updates -@@ -523,11 +528,11 @@ static void gen6_ggtt_insert_entries(struct drm_device *dev, +@@ -523,11 +528,11 @@ static void gen6_ggtt_insert_entries(str POSTING_READ(GFX_FLSH_CNTL_GEN6); } @@ -428,7 +418,7 @@ index 422273328302..f982bf0de157 100644 gen6_gtt_pte_t scratch_pte, __iomem *gtt_base = (gen6_gtt_pte_t __iomem *) dev_priv->gtt.gsm + first_entry; const int max_entries = gtt_total_entries(dev_priv->gtt) - first_entry; -@@ -538,15 +543,14 @@ static void gen6_ggtt_clear_range(struct drm_device *dev, +@@ -538,15 +543,14 @@ static void gen6_ggtt_clear_range(struct first_entry, num_entries, max_entries)) num_entries = max_entries; @@ -446,7 +436,7 @@ index 422273328302..f982bf0de157 100644 struct sg_table *st, unsigned int pg_start, enum i915_cache_level cache_level) -@@ -558,7 +562,7 @@ static void i915_ggtt_insert_entries(struct drm_device *dev, +@@ -558,7 +562,7 @@ static void i915_ggtt_insert_entries(str } @@ -455,7 +445,7 @@ index 422273328302..f982bf0de157 100644 unsigned int first_entry, unsigned int num_entries) { -@@ -571,10 +575,11 @@ void i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj, +@@ -571,10 +575,11 @@ void i915_gem_gtt_bind_object(struct drm { struct drm_device *dev = obj->base.dev; struct drm_i915_private *dev_priv = dev->dev_private; @@ -470,7 +460,7 @@ index 422273328302..f982bf0de157 100644 obj->has_global_gtt_mapping = 1; } -@@ -583,10 +588,11 @@ void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj) +@@ -583,10 +588,11 @@ void i915_gem_gtt_unbind_object(struct d { struct drm_device *dev = obj->base.dev; struct drm_i915_private *dev_priv = dev->dev_private; @@ -485,7 +475,7 @@ index 422273328302..f982bf0de157 100644 obj->has_global_gtt_mapping = 0; } -@@ -663,20 +669,23 @@ void i915_gem_setup_global_gtt(struct drm_device *dev, +@@ -663,20 +669,23 @@ void i915_gem_setup_global_gtt(struct dr obj->has_global_gtt_mapping = 1; } @@ -514,7 +504,7 @@ index 422273328302..f982bf0de157 100644 } static bool -@@ -699,7 +708,7 @@ void i915_gem_init_global_gtt(struct drm_device *dev) +@@ -699,7 +708,7 @@ void i915_gem_init_global_gtt(struct drm struct drm_i915_private *dev_priv = dev->dev_private; unsigned long gtt_size, mappable_size; @@ -523,7 +513,7 @@ index 422273328302..f982bf0de157 100644 mappable_size = dev_priv->gtt.mappable_end; if (intel_enable_ppgtt(dev) && HAS_ALIASING_PPGTT(dev)) { -@@ -744,8 +753,8 @@ static int setup_scratch_page(struct drm_device *dev) +@@ -744,8 +753,8 @@ static int setup_scratch_page(struct drm #else dma_addr = page_to_phys(page); #endif @@ -534,7 +524,7 @@ index 422273328302..f982bf0de157 100644 return 0; } -@@ -753,11 +762,13 @@ static int setup_scratch_page(struct drm_device *dev) +@@ -753,11 +762,13 @@ static int setup_scratch_page(struct drm static void teardown_scratch_page(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; @@ -552,7 +542,7 @@ index 422273328302..f982bf0de157 100644 } static inline unsigned int gen6_get_total_gtt_size(u16 snb_gmch_ctl) -@@ -820,17 +831,18 @@ static int gen6_gmch_probe(struct drm_device *dev, +@@ -820,17 +831,18 @@ static int gen6_gmch_probe(struct drm_de if (ret) DRM_ERROR("Scratch setup failed\n"); @@ -577,7 +567,7 @@ index 422273328302..f982bf0de157 100644 } static int i915_gmch_probe(struct drm_device *dev, -@@ -851,13 +863,13 @@ static int i915_gmch_probe(struct drm_device *dev, +@@ -851,13 +863,13 @@ static int i915_gmch_probe(struct drm_de intel_gtt_get(gtt_total, stolen, mappable_base, mappable_end); dev_priv->gtt.do_idle_maps = needs_idle_maps(dev_priv->dev); @@ -594,7 +584,7 @@ index 422273328302..f982bf0de157 100644 { intel_gmch_remove(); } -@@ -870,27 +882,30 @@ int i915_gem_gtt_init(struct drm_device *dev) +@@ -870,27 +882,30 @@ int i915_gem_gtt_init(struct drm_device if (INTEL_INFO(dev)->gen <= 5) { gtt->gtt_probe = i915_gmch_probe; @@ -633,6 +623,3 @@ index 422273328302..f982bf0de157 100644 DRM_DEBUG_DRIVER("GMADR size = %ldM\n", gtt->mappable_end >> 20); DRM_DEBUG_DRIVER("GTT stolen size = %zdM\n", gtt->stolen_size >> 20); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0477-drm-i915-Put-the-mm-in-the-parent-address-space.patch b/patches.baytrail/0477-drm-i915-Put-the-mm-in-the-parent-address-space.patch index 75aef1ffdf00ce..03de74b708998b 100644 --- a/patches.baytrail/0477-drm-i915-Put-the-mm-in-the-parent-address-space.patch +++ b/patches.baytrail/0477-drm-i915-Put-the-mm-in-the-parent-address-space.patch @@ -19,19 +19,17 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 93bd8649dba3155d1a0ba2a902d9c49f1c75a1da) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 4 ++-- - drivers/gpu/drm/i915/i915_drv.h | 3 +-- - drivers/gpu/drm/i915/i915_gem.c | 2 +- - drivers/gpu/drm/i915/i915_gem_evict.c | 10 +++++----- - drivers/gpu/drm/i915/i915_gem_gtt.c | 17 +++++++++++------ - drivers/gpu/drm/i915/i915_gem_stolen.c | 4 ++-- + drivers/gpu/drm/i915/i915_dma.c | 4 ++-- + drivers/gpu/drm/i915/i915_drv.h | 3 +-- + drivers/gpu/drm/i915/i915_gem.c | 2 +- + drivers/gpu/drm/i915/i915_gem_evict.c | 10 +++++----- + drivers/gpu/drm/i915/i915_gem_gtt.c | 17 +++++++++++------ + drivers/gpu/drm/i915/i915_gem_stolen.c | 4 ++-- 6 files changed, 22 insertions(+), 18 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 146890cacabe..c6d3105516ca 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1358,7 +1358,7 @@ cleanup_gem: +@@ -1366,7 +1366,7 @@ cleanup_gem: i915_gem_context_fini(dev); mutex_unlock(&dev->struct_mutex); i915_gem_cleanup_aliasing_ppgtt(dev); @@ -40,7 +38,7 @@ index 146890cacabe..c6d3105516ca 100644 cleanup_irq: drm_irq_uninstall(dev); cleanup_gem_stolen: -@@ -1760,7 +1760,7 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1768,7 +1768,7 @@ int i915_driver_unload(struct drm_device i915_free_hws(dev); } @@ -49,8 +47,6 @@ index 146890cacabe..c6d3105516ca 100644 if (dev_priv->regs != NULL) pci_iounmap(dev->pdev, dev_priv->regs); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 3ce73b4041ef..a6497f520578 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -447,6 +447,7 @@ enum i915_cache_level { @@ -70,11 +66,9 @@ index 3ce73b4041ef..a6497f520578 100644 /** List of all objects in gtt_space. Used to restore gtt * mappings on resume */ struct list_head bound_list; -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index cc336bc8d8fe..b99c73b82ce4 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -3107,7 +3107,7 @@ i915_gem_object_bind_to_gtt(struct drm_i915_gem_object *obj, +@@ -3107,7 +3107,7 @@ i915_gem_object_bind_to_gtt(struct drm_i i915_gem_object_pin_pages(obj); search_free: @@ -83,11 +77,9 @@ index cc336bc8d8fe..b99c73b82ce4 100644 &obj->gtt_space, size, alignment, obj->cache_level, 0, gtt_max); -diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c -index 5f8afc48bb7e..f1c9ab096b00 100644 --- a/drivers/gpu/drm/i915/i915_gem_evict.c +++ b/drivers/gpu/drm/i915/i915_gem_evict.c -@@ -78,12 +78,12 @@ i915_gem_evict_something(struct drm_device *dev, int min_size, +@@ -78,12 +78,12 @@ i915_gem_evict_something(struct drm_devi INIT_LIST_HEAD(&unwind_list); if (mappable) @@ -105,11 +97,9 @@ index 5f8afc48bb7e..f1c9ab096b00 100644 /* First see if there is a large enough contiguous idle region... */ list_for_each_entry(obj, &dev_priv->mm.inactive_list, mm_list) { -diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c -index f982bf0de157..999ecfecb32e 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c -@@ -269,6 +269,8 @@ static void gen6_ppgtt_cleanup(struct i915_address_space *vm) +@@ -269,6 +269,8 @@ static void gen6_ppgtt_cleanup(struct i9 container_of(vm, struct i915_hw_ppgtt, base); int i; @@ -118,7 +108,7 @@ index f982bf0de157..999ecfecb32e 100644 if (ppgtt->pt_dma_addr) { for (i = 0; i < ppgtt->num_pd_entries; i++) pci_unmap_page(ppgtt->base.dev->pdev, -@@ -382,8 +384,11 @@ static int i915_gem_init_aliasing_ppgtt(struct drm_device *dev) +@@ -382,8 +384,11 @@ static int i915_gem_init_aliasing_ppgtt( if (ret) kfree(ppgtt); @@ -131,7 +121,7 @@ index f982bf0de157..999ecfecb32e 100644 return ret; } -@@ -651,9 +656,9 @@ void i915_gem_setup_global_gtt(struct drm_device *dev, +@@ -651,9 +656,9 @@ void i915_gem_setup_global_gtt(struct dr BUG_ON(mappable_end > end); /* Subtract the guard page ... */ @@ -143,7 +133,7 @@ index f982bf0de157..999ecfecb32e 100644 /* Mark any preallocated objects as occupied */ list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) { -@@ -662,7 +667,7 @@ void i915_gem_setup_global_gtt(struct drm_device *dev, +@@ -662,7 +667,7 @@ void i915_gem_setup_global_gtt(struct dr i915_gem_obj_ggtt_offset(obj), obj->base.size); WARN_ON(i915_gem_obj_ggtt_bound(obj)); @@ -152,7 +142,7 @@ index f982bf0de157..999ecfecb32e 100644 &obj->gtt_space); if (ret) DRM_DEBUG_KMS("Reservation failed\n"); -@@ -673,7 +678,7 @@ void i915_gem_setup_global_gtt(struct drm_device *dev, +@@ -673,7 +678,7 @@ void i915_gem_setup_global_gtt(struct dr dev_priv->gtt.base.total = end - start; /* Clear any non-preallocated blocks */ @@ -161,7 +151,7 @@ index f982bf0de157..999ecfecb32e 100644 hole_start, hole_end) { const unsigned long count = (hole_end - hole_start) / PAGE_SIZE; DRM_DEBUG_KMS("clearing unused GTT space: [%lx, %lx]\n", -@@ -727,7 +732,7 @@ void i915_gem_init_global_gtt(struct drm_device *dev) +@@ -727,7 +732,7 @@ void i915_gem_init_global_gtt(struct drm return; DRM_ERROR("Aliased PPGTT setup failed %d\n", ret); @@ -170,11 +160,9 @@ index f982bf0de157..999ecfecb32e 100644 gtt_size += GEN6_PPGTT_PD_ENTRIES * PAGE_SIZE; } i915_gem_setup_global_gtt(dev, 0, mappable_size, gtt_size); -diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c -index 5c1a535d5072..ede8c41399d9 100644 --- a/drivers/gpu/drm/i915/i915_gem_stolen.c +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c -@@ -399,8 +399,8 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev, +@@ -399,8 +399,8 @@ i915_gem_object_create_stolen_for_preall */ obj->gtt_space.start = gtt_offset; obj->gtt_space.size = size; @@ -185,6 +173,3 @@ index 5c1a535d5072..ede8c41399d9 100644 &obj->gtt_space); if (ret) { DRM_DEBUG_KMS("failed to allocate stolen GTT space\n"); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0478-drm-i915-Create-a-global-list-of-vms.patch b/patches.baytrail/0478-drm-i915-Create-a-global-list-of-vms.patch index c8967502dc35da..b56569b0856aa6 100644 --- a/patches.baytrail/0478-drm-i915-Create-a-global-list-of-vms.patch +++ b/patches.baytrail/0478-drm-i915-Create-a-global-list-of-vms.patch @@ -18,15 +18,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit a7bbbd63e79a89b3e7b77eb734f2773ad69a2a43) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 6 ++++++ - drivers/gpu/drm/i915/i915_drv.h | 2 ++ + drivers/gpu/drm/i915/i915_dma.c | 6 ++++++ + drivers/gpu/drm/i915/i915_drv.h | 2 ++ 2 files changed, 8 insertions(+) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index c6d3105516ca..3bbf8ef0f984 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1500,6 +1500,10 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1508,6 +1508,10 @@ int i915_driver_load(struct drm_device * i915_dump_device_info(dev_priv); @@ -37,7 +35,7 @@ index c6d3105516ca..3bbf8ef0f984 100644 if (i915_get_bridge_dev(dev)) { ret = -EIO; goto free_priv; -@@ -1760,6 +1764,8 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1768,6 +1772,8 @@ int i915_driver_unload(struct drm_device i915_free_hws(dev); } @@ -46,8 +44,6 @@ index c6d3105516ca..3bbf8ef0f984 100644 drm_mm_takedown(&dev_priv->gtt.base.mm); if (dev_priv->regs != NULL) pci_iounmap(dev->pdev, dev_priv->regs); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index a6497f520578..bcfcc1086d5b 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -449,6 +449,7 @@ typedef uint32_t gen6_gtt_pte_t; @@ -66,6 +62,3 @@ index a6497f520578..bcfcc1086d5b 100644 struct i915_gtt gtt; /* VMA representing the global address space */ struct i915_gem_mm mm; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0524-Re-create-dirty-merge-cb54b53.patch b/patches.baytrail/0524-Re-create-dirty-merge-cb54b53.patch index e0a2c4c2fe7634..b2a4dfc691592c 100644 --- a/patches.baytrail/0524-Re-create-dirty-merge-cb54b53.patch +++ b/patches.baytrail/0524-Re-create-dirty-merge-cb54b53.patch @@ -12,15 +12,13 @@ Signed-off-by: James Ausmus <james.ausmus@intel.com> chromeos-3.10, e362220fa6a86569cf3c2dfa47ce24935da661d6) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - drivers/gpu/drm/i915/i915_gem.c | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 2 +- + drivers/gpu/drm/i915/i915_gem.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 3bbf8ef0f984..d71e765b814d 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1492,8 +1492,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1500,8 +1500,8 @@ int i915_driver_load(struct drm_device * spin_lock_init(&dev_priv->irq_lock); spin_lock_init(&dev_priv->gpu_error.lock); @@ -30,11 +28,9 @@ index 3bbf8ef0f984..d71e765b814d 100644 mutex_init(&dev_priv->dpio_lock); mutex_init(&dev_priv->rps.hw_lock); mutex_init(&dev_priv->modeset_restore_lock); -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 7221793239c3..73521ed14eeb 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -4643,7 +4643,7 @@ i915_gem_inactive_shrink(struct shrinker *shrinker, struct shrink_control *sc) +@@ -4643,7 +4643,7 @@ i915_gem_inactive_shrink(struct shrinker list_for_each_entry(obj, &dev_priv->mm.unbound_list, global_list) if (obj->pages_pin_count == 0) cnt += obj->base.size >> PAGE_SHIFT; @@ -43,6 +39,3 @@ index 7221793239c3..73521ed14eeb 100644 if (obj->pin_count == 0 && obj->pages_pin_count == 0) cnt += obj->base.size >> PAGE_SHIFT; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0525-drm-i915-Colocate-all-GT-access-routines-in-the-same.patch b/patches.baytrail/0525-drm-i915-Colocate-all-GT-access-routines-in-the-same.patch index afcd2fc08805d7..75d6aa3add6719 100644 --- a/patches.baytrail/0525-drm-i915-Colocate-all-GT-access-routines-in-the-same.patch +++ b/patches.baytrail/0525-drm-i915-Colocate-all-GT-access-routines-in-the-same.patch @@ -34,24 +34,22 @@ Conflicts: (context changes) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/Makefile | 1 + - drivers/gpu/drm/i915/i915_debugfs.c | 12 +- - drivers/gpu/drm/i915/i915_dma.c | 24 +- - drivers/gpu/drm/i915/i915_drv.c | 271 +---------------- - drivers/gpu/drm/i915/i915_drv.h | 31 +- - drivers/gpu/drm/i915/i915_irq.c | 6 +- - drivers/gpu/drm/i915/intel_display.c | 3 +- - drivers/gpu/drm/i915/intel_drv.h | 1 - - drivers/gpu/drm/i915/intel_pm.c | 264 +--------------- - drivers/gpu/drm/i915/intel_uncore.c | 571 +++++++++++++++++++++++++++++++++++ + drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/i915_debugfs.c | 12 + drivers/gpu/drm/i915/i915_dma.c | 24 - + drivers/gpu/drm/i915/i915_drv.c | 271 ---------------- + drivers/gpu/drm/i915/i915_drv.h | 31 + + drivers/gpu/drm/i915/i915_irq.c | 6 + drivers/gpu/drm/i915/intel_display.c | 3 + drivers/gpu/drm/i915/intel_drv.h | 1 + drivers/gpu/drm/i915/intel_pm.c | 264 ---------------- + drivers/gpu/drm/i915/intel_uncore.c | 571 +++++++++++++++++++++++++++++++++++ 10 files changed, 613 insertions(+), 571 deletions(-) create mode 100644 drivers/gpu/drm/i915/intel_uncore.c -diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile -index 9d1da7cceb21..b8449a84a0dc 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile -@@ -38,6 +38,7 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o \ +@@ -38,6 +38,7 @@ i915-y := i915_drv.o i915_dma.o i915_irq intel_sprite.o \ intel_opregion.o \ intel_sideband.o \ @@ -59,11 +57,9 @@ index 9d1da7cceb21..b8449a84a0dc 100644 dvo_ch7xxx.o \ dvo_ch7017.o \ dvo_ivch.o \ -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index 9d871c7eeaee..0e904986f3e9 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c -@@ -989,9 +989,9 @@ static int gen6_drpc_info(struct seq_file *m) +@@ -989,9 +989,9 @@ static int gen6_drpc_info(struct seq_fil if (ret) return ret; @@ -76,7 +72,7 @@ index 9d871c7eeaee..0e904986f3e9 100644 if (forcewake_count) { seq_puts(m, "RC information inaccurate because somebody " -@@ -1375,9 +1375,9 @@ static int i915_gen6_forcewake_count_info(struct seq_file *m, void *data) +@@ -1375,9 +1375,9 @@ static int i915_gen6_forcewake_count_inf struct drm_i915_private *dev_priv = dev->dev_private; unsigned forcewake_count; @@ -89,11 +85,9 @@ index 9d871c7eeaee..0e904986f3e9 100644 seq_printf(m, "forcewake count = %u\n", forcewake_count); -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index d71e765b814d..dcc44597ea14 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1436,22 +1436,6 @@ static void i915_dump_device_info(struct drm_i915_private *dev_priv) +@@ -1444,22 +1444,6 @@ static void i915_dump_device_info(struct } /** @@ -116,7 +110,7 @@ index d71e765b814d..dcc44597ea14 100644 * i915_driver_load - setup chip and create an initial config * @dev: DRM device * @flags: startup flags -@@ -1493,7 +1477,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1501,7 +1485,7 @@ int i915_driver_load(struct drm_device * spin_lock_init(&dev_priv->irq_lock); spin_lock_init(&dev_priv->gpu_error.lock); spin_lock_init(&dev_priv->backlight.lock); @@ -125,7 +119,7 @@ index d71e765b814d..dcc44597ea14 100644 mutex_init(&dev_priv->dpio_lock); mutex_init(&dev_priv->rps.hw_lock); mutex_init(&dev_priv->modeset_restore_lock); -@@ -1529,7 +1513,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1537,7 +1521,7 @@ int i915_driver_load(struct drm_device * goto put_bridge; } @@ -134,7 +128,7 @@ index d71e765b814d..dcc44597ea14 100644 if (IS_HASWELL(dev) && (I915_READ(HSW_EDRAM_PRESENT) == 1)) { /* The docs do not explain exactly how the calculation can be -@@ -1603,8 +1587,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1611,8 +1595,8 @@ int i915_driver_load(struct drm_device * intel_irq_init(dev); intel_pm_init(dev); @@ -145,11 +139,9 @@ index d71e765b814d..dcc44597ea14 100644 /* Try to make sure MCHBAR is enabled before poking at it */ intel_setup_mchbar(dev); -diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c -index 5849b0a91b4e..01d63a0435fb 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c -@@ -723,7 +723,7 @@ static int i915_drm_thaw(struct drm_device *dev) +@@ -723,7 +723,7 @@ static int i915_drm_thaw(struct drm_devi { int error = 0; @@ -445,8 +437,6 @@ index 5849b0a91b4e..01d63a0435fb 100644 - - return 0; -} -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 452b2ae84c4e..928a7309b7c3 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -391,11 +391,20 @@ struct drm_i915_display_funcs { @@ -487,7 +477,7 @@ index 452b2ae84c4e..928a7309b7c3 100644 struct intel_gmbus gmbus[GMBUS_NUM_PORTS]; -@@ -1671,8 +1673,14 @@ void i915_handle_error(struct drm_device *dev, bool wedged); +@@ -1671,8 +1673,14 @@ void i915_handle_error(struct drm_device extern void intel_irq_init(struct drm_device *dev); extern void intel_pm_init(struct drm_device *dev); extern void intel_hpd_init(struct drm_device *dev); @@ -504,7 +494,7 @@ index 452b2ae84c4e..928a7309b7c3 100644 void i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask); -@@ -2108,7 +2116,6 @@ extern void intel_display_print_error_state(struct drm_i915_error_state_buf *e, +@@ -2108,7 +2116,6 @@ extern void intel_display_print_error_st */ void gen6_gt_force_wake_get(struct drm_i915_private *dev_priv); void gen6_gt_force_wake_put(struct drm_i915_private *dev_priv); @@ -512,11 +502,9 @@ index 452b2ae84c4e..928a7309b7c3 100644 int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u8 mbox, u32 *val); int sandybridge_pcode_write(struct drm_i915_private *dev_priv, u8 mbox, u32 val); -diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c -index 52a43470e125..a588cd5745aa 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -1307,11 +1307,7 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg) +@@ -1307,11 +1307,7 @@ static irqreturn_t ironlake_irq_handler( /* We get interrupts on unclaimed registers, so check for this before we * do any I915_{READ,WRITE}. */ @@ -529,11 +517,9 @@ index 52a43470e125..a588cd5745aa 100644 /* disable master interrupt before clearing iir */ de_ier = I915_READ(DEIER); -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 73965dfbf149..afac090a4f3d 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -10481,8 +10481,7 @@ intel_display_capture_error_state(struct drm_device *dev) +@@ -10484,8 +10484,7 @@ intel_display_capture_error_state(struct * well was on, so here we have to clear the FPGA_DBG_RM_NOCLAIM bit to * prevent the next I915_WRITE from detecting it and printing an error * message. */ @@ -543,11 +529,9 @@ index 73965dfbf149..afac090a4f3d 100644 return error; } -diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index 3fbe80bc36bb..d9f50e368fe9 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -806,7 +806,6 @@ extern void intel_init_power_well(struct drm_device *dev); +@@ -806,7 +806,6 @@ extern void intel_init_power_well(struct extern void intel_set_power_well(struct drm_device *dev, bool enable); extern void intel_enable_gt_powersave(struct drm_device *dev); extern void intel_disable_gt_powersave(struct drm_device *dev); @@ -555,8 +539,6 @@ index 3fbe80bc36bb..d9f50e368fe9 100644 extern void ironlake_teardown_rc6(struct drm_device *dev); extern bool intel_ddi_get_hw_state(struct intel_encoder *encoder, -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 948c171d7f73..5d7d0e76da7f 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -32,8 +32,6 @@ @@ -568,7 +550,7 @@ index 948c171d7f73..5d7d0e76da7f 100644 /* FBC, or Frame Buffer Compression, is a technique employed to compress the * framebuffer contents in-memory, aiming at reducing the required bandwidth * during in-memory transfers and, therefore, reduce the power packet. -@@ -5307,260 +5305,6 @@ void intel_init_pm(struct drm_device *dev) +@@ -5307,260 +5305,6 @@ void intel_init_pm(struct drm_device *de } } @@ -829,7 +811,7 @@ index 948c171d7f73..5d7d0e76da7f 100644 int sandybridge_pcode_read(struct drm_i915_private *dev_priv, u8 mbox, u32 *val) { WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock)); -@@ -5663,3 +5407,11 @@ int vlv_freq_opcode(int ddr_freq, int val) +@@ -5663,3 +5407,11 @@ int vlv_freq_opcode(int ddr_freq, int va return val; } @@ -841,9 +823,6 @@ index 948c171d7f73..5d7d0e76da7f 100644 + intel_gen6_powersave_work); +} + -diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c -new file mode 100644 -index 000000000000..97e8b1b86476 --- /dev/null +++ b/drivers/gpu/drm/i915/intel_uncore.c @@ -0,0 +1,571 @@ @@ -1418,6 +1397,3 @@ index 000000000000..97e8b1b86476 + I915_WRITE_NOTRACE(FPGA_DBG, FPGA_DBG_RM_NOCLAIM); + } +} --- -1.8.5.rc3 - diff --git a/patches.baytrail/0530-drm-i915-fix-the-racy-object-accounting.patch b/patches.baytrail/0530-drm-i915-fix-the-racy-object-accounting.patch index 54e23e54e6cdec..3fe0876e1f00a5 100644 --- a/patches.baytrail/0530-drm-i915-fix-the-racy-object-accounting.patch +++ b/patches.baytrail/0530-drm-i915-fix-the-racy-object-accounting.patch @@ -17,16 +17,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit c20e835586c0e4d08f891362b3c829d45ef45f9d) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 1 + - drivers/gpu/drm/i915/i915_drv.h | 1 + - drivers/gpu/drm/i915/i915_gem.c | 4 ++++ + drivers/gpu/drm/i915/i915_dma.c | 1 + + drivers/gpu/drm/i915/i915_drv.h | 1 + + drivers/gpu/drm/i915/i915_gem.c | 4 ++++ 3 files changed, 6 insertions(+) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index dcc44597ea14..de611f64bb16 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1478,6 +1478,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1486,6 +1486,7 @@ int i915_driver_load(struct drm_device * spin_lock_init(&dev_priv->gpu_error.lock); spin_lock_init(&dev_priv->backlight.lock); spin_lock_init(&dev_priv->uncore.lock); @@ -34,8 +32,6 @@ index dcc44597ea14..de611f64bb16 100644 mutex_init(&dev_priv->dpio_lock); mutex_init(&dev_priv->rps.hw_lock); mutex_init(&dev_priv->modeset_restore_lock); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 2f8699b03722..f31a1b0adbda 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -935,6 +935,7 @@ struct i915_gem_mm { @@ -46,11 +42,9 @@ index 2f8699b03722..f31a1b0adbda 100644 size_t object_memory; u32 object_count; }; -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 73521ed14eeb..3a5d4baa4c53 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -76,15 +76,19 @@ static inline void i915_gem_object_fence_lost(struct drm_i915_gem_object *obj) +@@ -76,15 +76,19 @@ static inline void i915_gem_object_fence static void i915_gem_info_add_obj(struct drm_i915_private *dev_priv, size_t size) { @@ -70,6 +64,3 @@ index 73521ed14eeb..3a5d4baa4c53 100644 } static int --- -1.8.5.rc3 - diff --git a/patches.baytrail/0572-drm-i915-Create-an-init-vm.patch b/patches.baytrail/0572-drm-i915-Create-an-init-vm.patch index 9c619f5ef59af4..093c272ac38a3e 100644 --- a/patches.baytrail/0572-drm-i915-Create-an-init-vm.patch +++ b/patches.baytrail/0572-drm-i915-Create-an-init-vm.patch @@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit fc8c067eee712b274e554be5cc87c79366cc5ad2) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 4 ---- - drivers/gpu/drm/i915/i915_gem.c | 15 +++++++++++++-- + drivers/gpu/drm/i915/i915_dma.c | 4 ---- + drivers/gpu/drm/i915/i915_gem.c | 15 +++++++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index de611f64bb16..e4e98dfb7f25 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1485,10 +1485,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1493,10 +1493,6 @@ int i915_driver_load(struct drm_device * i915_dump_device_info(dev_priv); @@ -32,11 +30,9 @@ index de611f64bb16..e4e98dfb7f25 100644 if (i915_get_bridge_dev(dev)) { ret = -EIO; goto free_priv; -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 3a5d4baa4c53..8f9ee89ed971 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -4334,6 +4334,16 @@ init_ring_lists(struct intel_ring_buffer *ring) +@@ -4334,6 +4334,16 @@ init_ring_lists(struct intel_ring_buffer INIT_LIST_HEAD(&ring->request_list); } @@ -65,6 +61,3 @@ index 3a5d4baa4c53..8f9ee89ed971 100644 INIT_LIST_HEAD(&dev_priv->mm.unbound_list); INIT_LIST_HEAD(&dev_priv->mm.bound_list); INIT_LIST_HEAD(&dev_priv->mm.fence_list); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0576-drm-i915-Add-VM-to-pin.patch b/patches.baytrail/0576-drm-i915-Add-VM-to-pin.patch index fb50be8799d89f..9f5ccf1de15fb6 100644 --- a/patches.baytrail/0576-drm-i915-Add-VM-to-pin.patch +++ b/patches.baytrail/0576-drm-i915-Add-VM-to-pin.patch @@ -17,20 +17,18 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit c37e22046148971a35a89931aa1f951bb99d5514) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_drv.h | 11 +++++++++++ - drivers/gpu/drm/i915/i915_gem.c | 9 +++++---- - drivers/gpu/drm/i915/i915_gem_context.c | 4 ++-- - drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +++- - drivers/gpu/drm/i915/intel_overlay.c | 2 +- - drivers/gpu/drm/i915/intel_pm.c | 2 +- - drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++---- + drivers/gpu/drm/i915/i915_drv.h | 11 +++++++++++ + drivers/gpu/drm/i915/i915_gem.c | 9 +++++---- + drivers/gpu/drm/i915/i915_gem_context.c | 4 ++-- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +++- + drivers/gpu/drm/i915/intel_overlay.c | 2 +- + drivers/gpu/drm/i915/intel_pm.c | 2 +- + drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++---- 7 files changed, 27 insertions(+), 13 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 5fe98c572ba3..356970c9368a 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h -@@ -1711,6 +1711,7 @@ struct i915_vma *i915_gem_vma_create(struct drm_i915_gem_object *obj, +@@ -1711,6 +1711,7 @@ struct i915_vma *i915_gem_vma_create(str void i915_gem_vma_destroy(struct i915_vma *vma); int __must_check i915_gem_object_pin(struct drm_i915_gem_object *obj, @@ -38,7 +36,7 @@ index 5fe98c572ba3..356970c9368a 100644 uint32_t alignment, bool map_and_fenceable, bool nonblocking); -@@ -1896,6 +1897,16 @@ i915_gem_obj_ggtt_size(struct drm_i915_gem_object *obj) +@@ -1896,6 +1897,16 @@ i915_gem_obj_ggtt_size(struct drm_i915_g { return i915_gem_obj_size(obj, obj_to_ggtt(obj)); } @@ -55,11 +53,9 @@ index 5fe98c572ba3..356970c9368a 100644 #undef obj_to_ggtt /* i915_gem_context.c */ -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index c7e0db1ff8f5..d2d1d58ff3d0 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -593,7 +593,7 @@ i915_gem_gtt_pwrite_fast(struct drm_device *dev, +@@ -593,7 +593,7 @@ i915_gem_gtt_pwrite_fast(struct drm_devi char __user *user_data; int page_offset, page_length, ret; @@ -68,7 +64,7 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644 if (ret) goto out; -@@ -1347,7 +1347,7 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf) +@@ -1347,7 +1347,7 @@ int i915_gem_fault(struct vm_area_struct } /* Now bind it into the GTT if needed */ @@ -77,7 +73,7 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644 if (ret) goto unlock; -@@ -3482,7 +3482,7 @@ i915_gem_object_pin_to_display_plane(struct drm_i915_gem_object *obj, +@@ -3482,7 +3482,7 @@ i915_gem_object_pin_to_display_plane(str * (e.g. libkms for the bootup splash), we have to ensure that we * always use map_and_fenceable for all scanout buffers. */ @@ -86,7 +82,7 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644 if (ret) return ret; -@@ -3625,6 +3625,7 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file) +@@ -3625,6 +3625,7 @@ i915_gem_ring_throttle(struct drm_device int i915_gem_object_pin(struct drm_i915_gem_object *obj, @@ -94,7 +90,7 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644 uint32_t alignment, bool map_and_fenceable, bool nonblocking) -@@ -3714,7 +3715,7 @@ i915_gem_pin_ioctl(struct drm_device *dev, void *data, +@@ -3714,7 +3715,7 @@ i915_gem_pin_ioctl(struct drm_device *de } if (obj->user_pin_count == 0) { @@ -103,11 +99,9 @@ index c7e0db1ff8f5..d2d1d58ff3d0 100644 if (ret) goto out; } -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 2470206a4d07..d1cb28cbc71e 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -214,7 +214,7 @@ static int create_default_context(struct drm_i915_private *dev_priv) +@@ -214,7 +214,7 @@ static int create_default_context(struct * default context. */ dev_priv->ring[RCS].default_context = ctx; @@ -116,7 +110,7 @@ index 2470206a4d07..d1cb28cbc71e 100644 if (ret) { DRM_DEBUG_DRIVER("Couldn't pin %d\n", ret); goto err_destroy; -@@ -400,7 +400,7 @@ static int do_switch(struct i915_hw_context *to) +@@ -398,7 +398,7 @@ static int do_switch(struct i915_hw_cont if (from == to) return 0; @@ -125,11 +119,9 @@ index 2470206a4d07..d1cb28cbc71e 100644 if (ret) return ret; -diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -index 5b6d764e9bb2..7addab31783f 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -@@ -409,7 +409,9 @@ i915_gem_execbuffer_reserve_object(struct drm_i915_gem_object *obj, +@@ -409,7 +409,9 @@ i915_gem_execbuffer_reserve_object(struc obj->tiling_mode != I915_TILING_NONE; need_mappable = need_fence || need_reloc_mappable(obj); @@ -140,11 +132,9 @@ index 5b6d764e9bb2..7addab31783f 100644 if (ret) return ret; -diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c -index 9ec5a4e12af2..ddfd0aefe0c0 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c -@@ -1352,7 +1352,7 @@ void intel_setup_overlay(struct drm_device *dev) +@@ -1352,7 +1352,7 @@ void intel_setup_overlay(struct drm_devi } overlay->flip_addr = reg_bo->phys_obj->handle->busaddr; } else { @@ -153,11 +143,9 @@ index 9ec5a4e12af2..ddfd0aefe0c0 100644 if (ret) { DRM_ERROR("failed to pin overlay register bo\n"); goto out_free_bo; -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 03fa8656155d..af4ca44bbad2 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -2886,7 +2886,7 @@ intel_alloc_context_page(struct drm_device *dev) +@@ -2886,7 +2886,7 @@ intel_alloc_context_page(struct drm_devi return NULL; } @@ -166,11 +154,9 @@ index 03fa8656155d..af4ca44bbad2 100644 if (ret) { DRM_ERROR("failed to pin power context: %d\n", ret); goto err_unref; -diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c -index bc78c794ae81..89a9c908c99d 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c -@@ -501,7 +501,7 @@ init_pipe_control(struct intel_ring_buffer *ring) +@@ -501,7 +501,7 @@ init_pipe_control(struct intel_ring_buff i915_gem_object_set_cache_level(obj, I915_CACHE_LLC); @@ -179,7 +165,7 @@ index bc78c794ae81..89a9c908c99d 100644 if (ret) goto err_unref; -@@ -1236,7 +1236,7 @@ static int init_status_page(struct intel_ring_buffer *ring) +@@ -1236,7 +1236,7 @@ static int init_status_page(struct intel i915_gem_object_set_cache_level(obj, I915_CACHE_LLC); @@ -188,7 +174,7 @@ index bc78c794ae81..89a9c908c99d 100644 if (ret != 0) { goto err_unref; } -@@ -1319,7 +1319,7 @@ static int intel_init_ring_buffer(struct drm_device *dev, +@@ -1319,7 +1319,7 @@ static int intel_init_ring_buffer(struct ring->obj = obj; @@ -197,7 +183,7 @@ index bc78c794ae81..89a9c908c99d 100644 if (ret) goto err_unref; -@@ -1840,7 +1840,7 @@ int intel_init_render_ring_buffer(struct drm_device *dev) +@@ -1840,7 +1840,7 @@ int intel_init_render_ring_buffer(struct return -ENOMEM; } @@ -206,6 +192,3 @@ index bc78c794ae81..89a9c908c99d 100644 if (ret != 0) { drm_gem_object_unreference(&obj->base); DRM_ERROR("Failed to ping batch bo\n"); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0598-drm-const-ify-ioctls-table-v2.patch b/patches.baytrail/0598-drm-const-ify-ioctls-table-v2.patch index b860bcabbc067f..c632cec609bea9 100644 --- a/patches.baytrail/0598-drm-const-ify-ioctls-table-v2.patch +++ b/patches.baytrail/0598-drm-const-ify-ioctls-table-v2.patch @@ -19,39 +19,37 @@ Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit baa7094355a10b432bbccacb925da4bdac861c8d) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 ++-- - drivers/gpu/drm/gma500/psb_drv.c | 2 +- - drivers/gpu/drm/i810/i810_dma.c | 2 +- - drivers/gpu/drm/i810/i810_drv.h | 2 +- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - drivers/gpu/drm/i915/i915_drv.h | 2 +- - drivers/gpu/drm/mga/mga_drv.h | 2 +- - drivers/gpu/drm/mga/mga_state.c | 2 +- - drivers/gpu/drm/nouveau/nouveau_drm.c | 5 ++--- - drivers/gpu/drm/omapdrm/omap_drv.c | 2 +- - drivers/gpu/drm/qxl/qxl_drv.h | 2 +- - drivers/gpu/drm/qxl/qxl_ioctl.c | 2 +- - drivers/gpu/drm/r128/r128_drv.h | 2 +- - drivers/gpu/drm/r128/r128_state.c | 2 +- - drivers/gpu/drm/radeon/radeon_drv.c | 2 +- - drivers/gpu/drm/radeon/radeon_kms.c | 2 +- - drivers/gpu/drm/savage/savage_bci.c | 2 +- - drivers/gpu/drm/savage/savage_drv.h | 2 +- - drivers/gpu/drm/sis/sis_drv.h | 2 +- - drivers/gpu/drm/sis/sis_mm.c | 2 +- - drivers/gpu/drm/via/via_dma.c | 2 +- - drivers/gpu/drm/via/via_drv.h | 2 +- - drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 4 ++-- - drivers/gpu/host1x/drm/drm.c | 2 +- - drivers/staging/imx-drm/imx-drm-core.c | 2 +- - include/drm/drmP.h | 2 +- + drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 ++-- + drivers/gpu/drm/gma500/psb_drv.c | 2 +- + drivers/gpu/drm/i810/i810_dma.c | 2 +- + drivers/gpu/drm/i810/i810_drv.h | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 2 +- + drivers/gpu/drm/i915/i915_drv.h | 2 +- + drivers/gpu/drm/mga/mga_drv.h | 2 +- + drivers/gpu/drm/mga/mga_state.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_drm.c | 5 ++--- + drivers/gpu/drm/omapdrm/omap_drv.c | 2 +- + drivers/gpu/drm/qxl/qxl_drv.h | 2 +- + drivers/gpu/drm/qxl/qxl_ioctl.c | 2 +- + drivers/gpu/drm/r128/r128_drv.h | 2 +- + drivers/gpu/drm/r128/r128_state.c | 2 +- + drivers/gpu/drm/radeon/radeon_drv.c | 2 +- + drivers/gpu/drm/radeon/radeon_kms.c | 2 +- + drivers/gpu/drm/savage/savage_bci.c | 2 +- + drivers/gpu/drm/savage/savage_drv.h | 2 +- + drivers/gpu/drm/sis/sis_drv.h | 2 +- + drivers/gpu/drm/sis/sis_mm.c | 2 +- + drivers/gpu/drm/via/via_dma.c | 2 +- + drivers/gpu/drm/via/via_drv.h | 2 +- + drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 4 ++-- + drivers/gpu/host1x/drm/drm.c | 2 +- + drivers/staging/imx-drm/imx-drm-core.c | 2 +- + include/drm/drmP.h | 2 +- 26 files changed, 29 insertions(+), 30 deletions(-) -diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c -index 1ff89aca1fed..7e4669188c63 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c -@@ -218,7 +218,7 @@ static const struct vm_operations_struct exynos_drm_gem_vm_ops = { +@@ -218,7 +218,7 @@ static const struct vm_operations_struct .close = drm_gem_vm_close, }; @@ -60,7 +58,7 @@ index 1ff89aca1fed..7e4669188c63 100644 DRM_IOCTL_DEF_DRV(EXYNOS_GEM_CREATE, exynos_drm_gem_create_ioctl, DRM_UNLOCKED | DRM_AUTH), DRM_IOCTL_DEF_DRV(EXYNOS_GEM_MAP_OFFSET, -@@ -282,6 +282,7 @@ static struct drm_driver exynos_drm_driver = { +@@ -282,6 +282,7 @@ static struct drm_driver exynos_drm_driv .gem_prime_export = exynos_dmabuf_prime_export, .gem_prime_import = exynos_dmabuf_prime_import, .ioctls = exynos_ioctls, @@ -68,7 +66,7 @@ index 1ff89aca1fed..7e4669188c63 100644 .fops = &exynos_drm_driver_fops, .name = DRIVER_NAME, .desc = DRIVER_DESC, -@@ -295,7 +296,6 @@ static int exynos_drm_platform_probe(struct platform_device *pdev) +@@ -295,7 +296,6 @@ static int exynos_drm_platform_probe(str DRM_DEBUG_DRIVER("%s\n", __FILE__); pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); @@ -76,11 +74,9 @@ index 1ff89aca1fed..7e4669188c63 100644 return drm_platform_init(&exynos_drm_driver, pdev); } -diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c -index ed06d5ce3757..d13c2fc848bc 100644 --- a/drivers/gpu/drm/gma500/psb_drv.c +++ b/drivers/gpu/drm/gma500/psb_drv.c -@@ -131,7 +131,7 @@ static int psb_gamma_ioctl(struct drm_device *dev, void *data, +@@ -131,7 +131,7 @@ static int psb_gamma_ioctl(struct drm_de static int psb_dpst_bl_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv); @@ -89,11 +85,9 @@ index ed06d5ce3757..d13c2fc848bc 100644 DRM_IOCTL_DEF_DRV(GMA_ADB, psb_adb_ioctl, DRM_AUTH), DRM_IOCTL_DEF_DRV(GMA_MODE_OPERATION, psb_mode_operation_ioctl, DRM_AUTH), -diff --git a/drivers/gpu/drm/i810/i810_dma.c b/drivers/gpu/drm/i810/i810_dma.c -index 004ecdfe1b55..926ac7d48381 100644 --- a/drivers/gpu/drm/i810/i810_dma.c +++ b/drivers/gpu/drm/i810/i810_dma.c -@@ -1241,7 +1241,7 @@ int i810_driver_dma_quiescent(struct drm_device *dev) +@@ -1241,7 +1241,7 @@ int i810_driver_dma_quiescent(struct drm return 0; } @@ -102,11 +96,9 @@ index 004ecdfe1b55..926ac7d48381 100644 DRM_IOCTL_DEF_DRV(I810_INIT, i810_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED), DRM_IOCTL_DEF_DRV(I810_VERTEX, i810_dma_vertex, DRM_AUTH|DRM_UNLOCKED), DRM_IOCTL_DEF_DRV(I810_CLEAR, i810_clear_bufs, DRM_AUTH|DRM_UNLOCKED), -diff --git a/drivers/gpu/drm/i810/i810_drv.h b/drivers/gpu/drm/i810/i810_drv.h -index 6e0acad9e0f5..d4d16eddd651 100644 --- a/drivers/gpu/drm/i810/i810_drv.h +++ b/drivers/gpu/drm/i810/i810_drv.h -@@ -125,7 +125,7 @@ extern void i810_driver_preclose(struct drm_device *dev, +@@ -125,7 +125,7 @@ extern void i810_driver_preclose(struct extern int i810_driver_device_is_agp(struct drm_device *dev); extern long i810_ioctl(struct file *file, unsigned int cmd, unsigned long arg); @@ -115,11 +107,9 @@ index 6e0acad9e0f5..d4d16eddd651 100644 extern int i810_max_ioctl; #define I810_BASE(reg) ((unsigned long) \ -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index e4e98dfb7f25..0adfe4000871 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1833,7 +1833,7 @@ void i915_driver_postclose(struct drm_device *dev, struct drm_file *file) +@@ -1843,7 +1843,7 @@ void i915_driver_postclose(struct drm_de kfree(file_priv); } @@ -128,8 +118,6 @@ index e4e98dfb7f25..0adfe4000871 100644 DRM_IOCTL_DEF_DRV(I915_INIT, i915_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(I915_FLUSH, i915_flush_ioctl, DRM_AUTH), DRM_IOCTL_DEF_DRV(I915_FLIP, i915_flip_bufs, DRM_AUTH), -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 06c31752fcb2..2468d3aec9af 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1595,7 +1595,7 @@ struct drm_i915_file_private { @@ -141,8 +129,6 @@ index 06c31752fcb2..2468d3aec9af 100644 extern int i915_max_ioctl; extern unsigned int i915_fbpercrtc __always_unused; extern int i915_panel_ignore_lid __read_mostly; -diff --git a/drivers/gpu/drm/mga/mga_drv.h b/drivers/gpu/drm/mga/mga_drv.h -index 54558a01969a..ca4bc54ea214 100644 --- a/drivers/gpu/drm/mga/mga_drv.h +++ b/drivers/gpu/drm/mga/mga_drv.h @@ -149,7 +149,7 @@ typedef struct drm_mga_private { @@ -154,8 +140,6 @@ index 54558a01969a..ca4bc54ea214 100644 extern int mga_max_ioctl; /* mga_dma.c */ -diff --git a/drivers/gpu/drm/mga/mga_state.c b/drivers/gpu/drm/mga/mga_state.c -index 9c145143ad0f..37cc2fb4eadd 100644 --- a/drivers/gpu/drm/mga/mga_state.c +++ b/drivers/gpu/drm/mga/mga_state.c @@ -1083,7 +1083,7 @@ file_priv) @@ -167,11 +151,9 @@ index 9c145143ad0f..37cc2fb4eadd 100644 DRM_IOCTL_DEF_DRV(MGA_INIT, mga_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(MGA_FLUSH, mga_dma_flush, DRM_AUTH), DRM_IOCTL_DEF_DRV(MGA_RESET, mga_dma_reset, DRM_AUTH), -diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c -index b77bcb9237e0..421815b1ef93 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c -@@ -640,7 +640,7 @@ nouveau_drm_postclose(struct drm_device *dev, struct drm_file *fpriv) +@@ -640,7 +640,7 @@ nouveau_drm_postclose(struct drm_device nouveau_cli_destroy(cli); } @@ -197,11 +179,9 @@ index b77bcb9237e0..421815b1ef93 100644 if (nouveau_modeset == -1) { #ifdef CONFIG_VGA_CONSOLE if (vgacon_text_force()) -diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c -index 75886a3bf639..f69f9f6785e8 100644 --- a/drivers/gpu/drm/omapdrm/omap_drv.c +++ b/drivers/gpu/drm/omapdrm/omap_drv.c -@@ -404,7 +404,7 @@ static int ioctl_gem_info(struct drm_device *dev, void *data, +@@ -404,7 +404,7 @@ static int ioctl_gem_info(struct drm_dev return ret; } @@ -210,8 +190,6 @@ index 75886a3bf639..f69f9f6785e8 100644 DRM_IOCTL_DEF_DRV(OMAP_GET_PARAM, ioctl_get_param, DRM_UNLOCKED|DRM_AUTH), DRM_IOCTL_DEF_DRV(OMAP_SET_PARAM, ioctl_set_param, DRM_UNLOCKED|DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(OMAP_GEM_NEW, ioctl_gem_new, DRM_UNLOCKED|DRM_AUTH), -diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h -index 089fd42802dd..6bdb2689e95e 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.h +++ b/drivers/gpu/drm/qxl/qxl_drv.h @@ -319,7 +319,7 @@ struct qxl_device { @@ -223,11 +201,9 @@ index 089fd42802dd..6bdb2689e95e 100644 extern int qxl_max_ioctl; int qxl_driver_load(struct drm_device *dev, unsigned long flags); -diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c -index a30f29425c21..faa5b17a9c9e 100644 --- a/drivers/gpu/drm/qxl/qxl_ioctl.c +++ b/drivers/gpu/drm/qxl/qxl_ioctl.c -@@ -396,7 +396,7 @@ static int qxl_alloc_surf_ioctl(struct drm_device *dev, void *data, +@@ -396,7 +396,7 @@ static int qxl_alloc_surf_ioctl(struct d return ret; } @@ -236,8 +212,6 @@ index a30f29425c21..faa5b17a9c9e 100644 DRM_IOCTL_DEF_DRV(QXL_ALLOC, qxl_alloc_ioctl, DRM_AUTH|DRM_UNLOCKED), DRM_IOCTL_DEF_DRV(QXL_MAP, qxl_map_ioctl, DRM_AUTH|DRM_UNLOCKED), -diff --git a/drivers/gpu/drm/r128/r128_drv.h b/drivers/gpu/drm/r128/r128_drv.h -index 930c71b2fb5e..56eb5e3f5439 100644 --- a/drivers/gpu/drm/r128/r128_drv.h +++ b/drivers/gpu/drm/r128/r128_drv.h @@ -131,7 +131,7 @@ typedef struct drm_r128_buf_priv { @@ -249,11 +223,9 @@ index 930c71b2fb5e..56eb5e3f5439 100644 extern int r128_max_ioctl; /* r128_cce.c */ -diff --git a/drivers/gpu/drm/r128/r128_state.c b/drivers/gpu/drm/r128/r128_state.c -index 19bb7e6f3d9a..01dd9aef9f0e 100644 --- a/drivers/gpu/drm/r128/r128_state.c +++ b/drivers/gpu/drm/r128/r128_state.c -@@ -1643,7 +1643,7 @@ void r128_driver_lastclose(struct drm_device *dev) +@@ -1643,7 +1643,7 @@ void r128_driver_lastclose(struct drm_de r128_do_cleanup_cce(dev); } @@ -262,11 +234,9 @@ index 19bb7e6f3d9a..01dd9aef9f0e 100644 DRM_IOCTL_DEF_DRV(R128_INIT, r128_cce_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(R128_CCE_START, r128_cce_start, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(R128_CCE_STOP, r128_cce_stop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), -diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c -index bef72931ea08..cb84df3114a6 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c -@@ -110,7 +110,7 @@ void radeon_gem_object_close(struct drm_gem_object *obj, +@@ -110,7 +110,7 @@ void radeon_gem_object_close(struct drm_ struct drm_file *file_priv); extern int radeon_get_crtc_scanoutpos(struct drm_device *dev, int crtc, int *vpos, int *hpos); @@ -275,11 +245,9 @@ index bef72931ea08..cb84df3114a6 100644 extern int radeon_max_kms_ioctl; int radeon_mmap(struct file *filp, struct vm_area_struct *vma); int radeon_mode_dumb_mmap(struct drm_file *filp, -diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c -index 7e292d899209..100d10930da5 100644 --- a/drivers/gpu/drm/radeon/radeon_kms.c +++ b/drivers/gpu/drm/radeon/radeon_kms.c -@@ -716,7 +716,7 @@ KMS_INVALID_IOCTL(radeon_surface_alloc_kms) +@@ -716,7 +716,7 @@ KMS_INVALID_IOCTL(radeon_surface_alloc_k KMS_INVALID_IOCTL(radeon_surface_free_kms) @@ -288,11 +256,9 @@ index 7e292d899209..100d10930da5 100644 DRM_IOCTL_DEF_DRV(RADEON_CP_INIT, radeon_cp_init_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(RADEON_CP_START, radeon_cp_start_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(RADEON_CP_STOP, radeon_cp_stop_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), -diff --git a/drivers/gpu/drm/savage/savage_bci.c b/drivers/gpu/drm/savage/savage_bci.c -index b55c1d661147..ce3a7d42ee43 100644 --- a/drivers/gpu/drm/savage/savage_bci.c +++ b/drivers/gpu/drm/savage/savage_bci.c -@@ -1085,7 +1085,7 @@ void savage_reclaim_buffers(struct drm_device *dev, struct drm_file *file_priv) +@@ -1085,7 +1085,7 @@ void savage_reclaim_buffers(struct drm_d drm_idlelock_release(&file_priv->master->lock); } @@ -301,8 +267,6 @@ index b55c1d661147..ce3a7d42ee43 100644 DRM_IOCTL_DEF_DRV(SAVAGE_BCI_INIT, savage_bci_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(SAVAGE_BCI_CMDBUF, savage_bci_cmdbuf, DRM_AUTH), DRM_IOCTL_DEF_DRV(SAVAGE_BCI_EVENT_EMIT, savage_bci_event_emit, DRM_AUTH), -diff --git a/drivers/gpu/drm/savage/savage_drv.h b/drivers/gpu/drm/savage/savage_drv.h -index df2aac6636f7..5f55b21ea22d 100644 --- a/drivers/gpu/drm/savage/savage_drv.h +++ b/drivers/gpu/drm/savage/savage_drv.h @@ -104,7 +104,7 @@ enum savage_family { @@ -314,11 +278,9 @@ index df2aac6636f7..5f55b21ea22d 100644 extern int savage_max_ioctl; #define S3_SAVAGE3D_SERIES(chip) ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE_MX)) -diff --git a/drivers/gpu/drm/sis/sis_drv.h b/drivers/gpu/drm/sis/sis_drv.h -index 13b527bb83be..c31c0253054d 100644 --- a/drivers/gpu/drm/sis/sis_drv.h +++ b/drivers/gpu/drm/sis/sis_drv.h -@@ -70,7 +70,7 @@ extern void sis_reclaim_buffers_locked(struct drm_device *dev, +@@ -70,7 +70,7 @@ extern void sis_reclaim_buffers_locked(s struct drm_file *file_priv); extern void sis_lastclose(struct drm_device *dev); @@ -327,11 +289,9 @@ index 13b527bb83be..c31c0253054d 100644 extern int sis_max_ioctl; #endif -diff --git a/drivers/gpu/drm/sis/sis_mm.c b/drivers/gpu/drm/sis/sis_mm.c -index 23a234985941..01857d836350 100644 --- a/drivers/gpu/drm/sis/sis_mm.c +++ b/drivers/gpu/drm/sis/sis_mm.c -@@ -350,7 +350,7 @@ void sis_reclaim_buffers_locked(struct drm_device *dev, +@@ -350,7 +350,7 @@ void sis_reclaim_buffers_locked(struct d return; } @@ -340,11 +300,9 @@ index 23a234985941..01857d836350 100644 DRM_IOCTL_DEF_DRV(SIS_FB_ALLOC, sis_fb_alloc, DRM_AUTH), DRM_IOCTL_DEF_DRV(SIS_FB_FREE, sis_drm_free, DRM_AUTH), DRM_IOCTL_DEF_DRV(SIS_AGP_INIT, sis_ioctl_agp_init, DRM_AUTH | DRM_MASTER | DRM_ROOT_ONLY), -diff --git a/drivers/gpu/drm/via/via_dma.c b/drivers/gpu/drm/via/via_dma.c -index 13558f5a2422..652f9b43ec9d 100644 --- a/drivers/gpu/drm/via/via_dma.c +++ b/drivers/gpu/drm/via/via_dma.c -@@ -720,7 +720,7 @@ static int via_cmdbuf_size(struct drm_device *dev, void *data, struct drm_file * +@@ -720,7 +720,7 @@ static int via_cmdbuf_size(struct drm_de return ret; } @@ -353,8 +311,6 @@ index 13558f5a2422..652f9b43ec9d 100644 DRM_IOCTL_DEF_DRV(VIA_ALLOCMEM, via_mem_alloc, DRM_AUTH), DRM_IOCTL_DEF_DRV(VIA_FREEMEM, via_mem_free, DRM_AUTH), DRM_IOCTL_DEF_DRV(VIA_AGP_INIT, via_agp_init, DRM_AUTH|DRM_MASTER), -diff --git a/drivers/gpu/drm/via/via_drv.h b/drivers/gpu/drm/via/via_drv.h -index 893a65090c36..a811ef2b505f 100644 --- a/drivers/gpu/drm/via/via_drv.h +++ b/drivers/gpu/drm/via/via_drv.h @@ -114,7 +114,7 @@ enum via_family { @@ -366,8 +322,6 @@ index 893a65090c36..a811ef2b505f 100644 extern int via_max_ioctl; extern int via_fb_init(struct drm_device *dev, void *data, struct drm_file *file_priv); -diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c -index 6c44c69a5ba4..46ebf7312dc9 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -124,7 +124,7 @@ @@ -379,7 +333,7 @@ index 6c44c69a5ba4..46ebf7312dc9 100644 VMW_IOCTL_DEF(VMW_GET_PARAM, vmw_getparam_ioctl, DRM_AUTH | DRM_UNLOCKED), VMW_IOCTL_DEF(VMW_ALLOC_DMABUF, vmw_dmabuf_alloc_ioctl, -@@ -792,7 +792,7 @@ static long vmw_unlocked_ioctl(struct file *filp, unsigned int cmd, +@@ -792,7 +792,7 @@ static long vmw_unlocked_ioctl(struct fi if ((nr >= DRM_COMMAND_BASE) && (nr < DRM_COMMAND_END) && (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls)) { @@ -388,11 +342,9 @@ index 6c44c69a5ba4..46ebf7312dc9 100644 &vmw_ioctls[nr - DRM_COMMAND_BASE]; if (unlikely(ioctl->cmd_drv != cmd)) { -diff --git a/drivers/gpu/host1x/drm/drm.c b/drivers/gpu/host1x/drm/drm.c -index da15a6291bb9..c114080d0d58 100644 --- a/drivers/gpu/host1x/drm/drm.c +++ b/drivers/gpu/host1x/drm/drm.c -@@ -479,7 +479,7 @@ static int tegra_submit(struct drm_device *drm, void *data, +@@ -479,7 +479,7 @@ static int tegra_submit(struct drm_devic } #endif @@ -401,11 +353,9 @@ index da15a6291bb9..c114080d0d58 100644 #ifdef CONFIG_DRM_TEGRA_STAGING DRM_IOCTL_DEF_DRV(TEGRA_GEM_CREATE, tegra_gem_create, DRM_UNLOCKED | DRM_AUTH), DRM_IOCTL_DEF_DRV(TEGRA_GEM_MMAP, tegra_gem_mmap, DRM_UNLOCKED), -diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c -index a18622570812..f2a07af5cd5e 100644 --- a/drivers/staging/imx-drm/imx-drm-core.c +++ b/drivers/staging/imx-drm/imx-drm-core.c -@@ -787,7 +787,7 @@ int imx_drm_remove_connector(struct imx_drm_connector *imx_drm_connector) +@@ -787,7 +787,7 @@ int imx_drm_remove_connector(struct imx_ } EXPORT_SYMBOL_GPL(imx_drm_remove_connector); @@ -414,8 +364,6 @@ index a18622570812..f2a07af5cd5e 100644 /* none so far */ }; -diff --git a/include/drm/drmP.h b/include/drm/drmP.h -index 9a8ea57e3b94..70de499fa3b7 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -965,7 +965,7 @@ struct drm_driver { @@ -427,6 +375,3 @@ index 9a8ea57e3b94..70de499fa3b7 100644 int num_ioctls; const struct file_operations *fops; union { --- -1.8.5.rc3 - diff --git a/patches.baytrail/0610-drm-edid-Move-HDMI_IDENTIFIER-to-hdmi.h.patch b/patches.baytrail/0610-drm-edid-Move-HDMI_IDENTIFIER-to-hdmi.h.patch index bbee7a7c9df641..b4c34bebe9a9c0 100644 --- a/patches.baytrail/0610-drm-edid-Move-HDMI_IDENTIFIER-to-hdmi.h.patch +++ b/patches.baytrail/0610-drm-edid-Move-HDMI_IDENTIFIER-to-hdmi.h.patch @@ -21,15 +21,13 @@ Signed-off-by: Dave Airlie <airlied@gmail.com> (cherry picked from commit c782d2e73d1e69c863d03945907bc7fbc879a778) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 1 - - include/linux/hdmi.h | 1 + + drivers/gpu/drm/drm_edid.c | 1 - + include/linux/hdmi.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 0cb9b5d8e30a..388039be229d 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -2287,7 +2287,6 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid, +@@ -2292,7 +2292,6 @@ add_detailed_modes(struct drm_connector return closure.modes; } @@ -37,8 +35,6 @@ index 0cb9b5d8e30a..388039be229d 100644 #define AUDIO_BLOCK 0x01 #define VIDEO_BLOCK 0x02 #define VENDOR_BLOCK 0x03 -diff --git a/include/linux/hdmi.h b/include/linux/hdmi.h -index e733252c2b5d..37e0cd755284 100644 --- a/include/linux/hdmi.h +++ b/include/linux/hdmi.h @@ -18,6 +18,7 @@ enum hdmi_infoframe_type { @@ -49,6 +45,3 @@ index e733252c2b5d..37e0cd755284 100644 #define HDMI_INFOFRAME_HEADER_SIZE 4 #define HDMI_AVI_INFOFRAME_SIZE 13 #define HDMI_SPD_INFOFRAME_SIZE 25 --- -1.8.5.rc3 - diff --git a/patches.baytrail/0613-drm-edid-Fix-add_cea_modes-style-issues.patch b/patches.baytrail/0613-drm-edid-Fix-add_cea_modes-style-issues.patch index ca7d3fdd7c2069..636d214f5850dc 100644 --- a/patches.baytrail/0613-drm-edid-Fix-add_cea_modes-style-issues.patch +++ b/patches.baytrail/0613-drm-edid-Fix-add_cea_modes-style-issues.patch @@ -19,14 +19,12 @@ Signed-off-by: Dave Airlie <airlied@gmail.com> (cherry picked from commit 13ac3f5593cf0964cdb239864829e57cc6981dac) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 12 +++++++----- + drivers/gpu/drm/drm_edid.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 388039be229d..8b5b7aee73cb 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -2368,10 +2368,11 @@ EXPORT_SYMBOL(drm_match_cea_mode); +@@ -2373,10 +2373,11 @@ EXPORT_SYMBOL(drm_match_cea_mode); static int @@ -40,7 +38,7 @@ index 388039be229d..8b5b7aee73cb 100644 int modes = 0; for (mode = db; mode < db + len; mode++) { -@@ -2428,8 +2429,9 @@ cea_db_offsets(const u8 *cea, int *start, int *end) +@@ -2433,8 +2434,9 @@ cea_db_offsets(const u8 *cea, int *start static int add_cea_modes(struct drm_connector *connector, struct edid *edid) { @@ -52,7 +50,7 @@ index 388039be229d..8b5b7aee73cb 100644 int modes = 0; if (cea && cea_revision(cea) >= 3) { -@@ -2443,7 +2445,7 @@ add_cea_modes(struct drm_connector *connector, struct edid *edid) +@@ -2448,7 +2450,7 @@ add_cea_modes(struct drm_connector *conn dbl = cea_db_payload_len(db); if (cea_db_tag(db) == VIDEO_BLOCK) @@ -61,6 +59,3 @@ index 388039be229d..8b5b7aee73cb 100644 } } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0614-drm-edid-Parse-the-HDMI-CEA-block-and-look-for-4k-mo.patch b/patches.baytrail/0614-drm-edid-Parse-the-HDMI-CEA-block-and-look-for-4k-mo.patch index 86dedf0fbb3b77..8dfa3a79ec2ca0 100644 --- a/patches.baytrail/0614-drm-edid-Parse-the-HDMI-CEA-block-and-look-for-4k-mo.patch +++ b/patches.baytrail/0614-drm-edid-Parse-the-HDMI-CEA-block-and-look-for-4k-mo.patch @@ -28,14 +28,12 @@ Signed-off-by: Dave Airlie <airlied@gmail.com> (cherry picked from commit 7ebe1963a063daf30f95752c35244c5d49550aa9) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 124 +++++++++++++++++++++++++++++++++++++++------ + drivers/gpu/drm/drm_edid.c | 124 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 109 insertions(+), 15 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 8b5b7aee73cb..49b5492e6d59 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -934,6 +934,36 @@ static const struct drm_display_mode edid_cea_modes[] = { +@@ -939,6 +939,36 @@ static const struct drm_display_mode edi .vrefresh = 100, }, }; @@ -72,7 +70,7 @@ index 8b5b7aee73cb..49b5492e6d59 100644 /*** DDC fetch and block validation ***/ static const u8 edid_header[] = { -@@ -2392,6 +2422,68 @@ do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len) +@@ -2397,6 +2427,68 @@ do_cea_modes(struct drm_connector *conne return modes; } @@ -141,7 +139,7 @@ index 8b5b7aee73cb..49b5492e6d59 100644 static int cea_db_payload_len(const u8 *db) { -@@ -2423,6 +2515,21 @@ cea_db_offsets(const u8 *cea, int *start, int *end) +@@ -2428,6 +2520,21 @@ cea_db_offsets(const u8 *cea, int *start return 0; } @@ -163,7 +161,7 @@ index 8b5b7aee73cb..49b5492e6d59 100644 #define for_each_cea_db(cea, i, start, end) \ for ((i) = (start); (i) < (end) && (i) + cea_db_payload_len(&(cea)[(i)]) < (end); (i) += cea_db_payload_len(&(cea)[(i)]) + 1) -@@ -2446,6 +2553,8 @@ add_cea_modes(struct drm_connector *connector, struct edid *edid) +@@ -2451,6 +2558,8 @@ add_cea_modes(struct drm_connector *conn if (cea_db_tag(db) == VIDEO_BLOCK) modes += do_cea_modes(connector, db + 1, dbl); @@ -172,7 +170,7 @@ index 8b5b7aee73cb..49b5492e6d59 100644 } } -@@ -2498,21 +2607,6 @@ monitor_name(struct detailed_timing *t, void *data) +@@ -2503,21 +2612,6 @@ monitor_name(struct detailed_timing *t, *(u8 **)data = t->data.other_data.data.str.str; } @@ -194,6 +192,3 @@ index 8b5b7aee73cb..49b5492e6d59 100644 /** * drm_edid_to_eld - build ELD from EDID * @connector: connector corresponding to the HDMI/DP sink --- -1.8.5.rc3 - diff --git a/patches.baytrail/0615-video-hdmi-Rename-HDMI_IDENTIFIER-to-HDMI_IEEE_OUI.patch b/patches.baytrail/0615-video-hdmi-Rename-HDMI_IDENTIFIER-to-HDMI_IEEE_OUI.patch index de0464f7357683..41bcb14f2abb82 100644 --- a/patches.baytrail/0615-video-hdmi-Rename-HDMI_IDENTIFIER-to-HDMI_IEEE_OUI.patch +++ b/patches.baytrail/0615-video-hdmi-Rename-HDMI_IDENTIFIER-to-HDMI_IEEE_OUI.patch @@ -15,16 +15,14 @@ Signed-off-by: Dave Airlie <airlied@gmail.com> (cherry picked from commit 6cb3b7f1c013fd4bea41e16ee557bcb2f1561787) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 2 +- - drivers/video/hdmi.c | 4 ++-- - include/linux/hdmi.h | 2 +- + drivers/gpu/drm/drm_edid.c | 2 +- + drivers/video/hdmi.c | 4 ++-- + include/linux/hdmi.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 49b5492e6d59..97c6c8c95a95 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -2527,7 +2527,7 @@ static bool cea_db_is_hdmi_vsdb(const u8 *db) +@@ -2532,7 +2532,7 @@ static bool cea_db_is_hdmi_vsdb(const u8 hdmi_id = db[1] | (db[2] << 8) | (db[3] << 16); @@ -33,11 +31,9 @@ index 49b5492e6d59..97c6c8c95a95 100644 } #define for_each_cea_db(cea, i, start, end) \ -diff --git a/drivers/video/hdmi.c b/drivers/video/hdmi.c -index e22ea8b16a1d..7944eaa935f5 100644 --- a/drivers/video/hdmi.c +++ b/drivers/video/hdmi.c -@@ -300,7 +300,7 @@ int hdmi_vendor_infoframe_init(struct hdmi_vendor_infoframe *frame) +@@ -300,7 +300,7 @@ int hdmi_vendor_infoframe_init(struct hd frame->type = HDMI_INFOFRAME_TYPE_VENDOR; frame->version = 1; @@ -46,7 +42,7 @@ index e22ea8b16a1d..7944eaa935f5 100644 /* * 0 is a valid value for s3d_struct, so we use a special "not set" -@@ -387,7 +387,7 @@ hdmi_vendor_any_infoframe_pack(union hdmi_vendor_any_infoframe *frame, +@@ -387,7 +387,7 @@ hdmi_vendor_any_infoframe_pack(union hdm void *buffer, size_t size) { /* we only know about HDMI vendor infoframes */ @@ -55,8 +51,6 @@ index e22ea8b16a1d..7944eaa935f5 100644 return -EINVAL; return hdmi_vendor_infoframe_pack(&frame->hdmi, buffer, size); -diff --git a/include/linux/hdmi.h b/include/linux/hdmi.h -index d4ae12c7931b..9231be9e90a2 100644 --- a/include/linux/hdmi.h +++ b/include/linux/hdmi.h @@ -18,7 +18,7 @@ enum hdmi_infoframe_type { @@ -68,6 +62,3 @@ index d4ae12c7931b..9231be9e90a2 100644 #define HDMI_INFOFRAME_HEADER_SIZE 4 #define HDMI_AVI_INFOFRAME_SIZE 13 #define HDMI_SPD_INFOFRAME_SIZE 25 --- -1.8.5.rc3 - diff --git a/patches.baytrail/0620-drm-Handle-the-DBLCLK-flag-in-the-common-infoframe-h.patch b/patches.baytrail/0620-drm-Handle-the-DBLCLK-flag-in-the-common-infoframe-h.patch index c83b8300da24ab..e01c518ffe7906 100644 --- a/patches.baytrail/0620-drm-Handle-the-DBLCLK-flag-in-the-common-infoframe-h.patch +++ b/patches.baytrail/0620-drm-Handle-the-DBLCLK-flag-in-the-common-infoframe-h.patch @@ -14,15 +14,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit bf02db99384929a12eff0cf1205b4547e41e881b) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 3 +++ - drivers/gpu/drm/i915/intel_hdmi.c | 3 --- + drivers/gpu/drm/drm_edid.c | 3 +++ + drivers/gpu/drm/i915/intel_hdmi.c | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 97c6c8c95a95..9d4d21f46a8a 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -3123,6 +3123,9 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame, +@@ -3131,6 +3131,9 @@ drm_hdmi_avi_infoframe_from_display_mode if (err < 0) return err; @@ -32,11 +30,9 @@ index 97c6c8c95a95..9d4d21f46a8a 100644 frame->video_code = drm_match_cea_mode(mode); if (!frame->video_code) return 0; -diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c -index ba742b8e16dc..0a4a81447a03 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c -@@ -364,9 +364,6 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder, +@@ -364,9 +364,6 @@ static void intel_hdmi_set_avi_infoframe return; } @@ -46,6 +42,3 @@ index ba742b8e16dc..0a4a81447a03 100644 if (intel_hdmi->rgb_quant_range_selectable) { if (intel_crtc->config.limited_color_range) frame.avi.quantization_range = --- -1.8.5.rc3 - diff --git a/patches.baytrail/0628-drm-i915-mm_list-is-per-VMA.patch b/patches.baytrail/0628-drm-i915-mm_list-is-per-VMA.patch index 4052863840dcb2..37710aa44e9b71 100644 --- a/patches.baytrail/0628-drm-i915-mm_list-is-per-VMA.patch +++ b/patches.baytrail/0628-drm-i915-mm_list-is-per-VMA.patch @@ -39,21 +39,19 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit ca191b1313e733e47a9fb37c26b44aa6cdd9b1b1) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_debugfs.c | 54 +++++++++++++++++++----------- - drivers/gpu/drm/i915/i915_drv.h | 5 +-- - drivers/gpu/drm/i915/i915_gem.c | 28 +++++++++------- - drivers/gpu/drm/i915/i915_gem_context.c | 3 ++ - drivers/gpu/drm/i915/i915_gem_evict.c | 14 ++++---- - drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 ++ - drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +- - drivers/gpu/drm/i915/i915_gpu_error.c | 37 +++++++++++--------- - 8 files changed, 86 insertions(+), 59 deletions(-) + drivers/gpu/drm/i915/i915_debugfs.c | 54 ++++++++++++++++++----------- + drivers/gpu/drm/i915/i915_drv.h | 5 +- + drivers/gpu/drm/i915/i915_gem.c | 28 ++++++++------- + drivers/gpu/drm/i915/i915_gem_context.c | 3 + + drivers/gpu/drm/i915/i915_gem_evict.c | 14 +++---- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 + + drivers/gpu/drm/i915/i915_gem_stolen.c | 2 - + drivers/gpu/drm/i915/i915_gpu_error.c | 43 ++++++++++++----------- + 8 files changed, 89 insertions(+), 62 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index 5d52a23d5662..a1f4c91fb112 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c -@@ -149,7 +149,7 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data) +@@ -149,7 +149,7 @@ static int i915_gem_object_list_info(str struct drm_device *dev = node->minor->dev; struct drm_i915_private *dev_priv = dev->dev_private; struct i915_address_space *vm = &dev_priv->gtt.base; @@ -62,7 +60,7 @@ index 5d52a23d5662..a1f4c91fb112 100644 size_t total_obj_size, total_gtt_size; int count, ret; -@@ -157,6 +157,7 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data) +@@ -157,6 +157,7 @@ static int i915_gem_object_list_info(str if (ret) return ret; @@ -70,7 +68,7 @@ index 5d52a23d5662..a1f4c91fb112 100644 switch (list) { case ACTIVE_LIST: seq_puts(m, "Active:\n"); -@@ -172,12 +173,12 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data) +@@ -172,12 +173,12 @@ static int i915_gem_object_list_info(str } total_obj_size = total_gtt_size = count = 0; @@ -89,7 +87,7 @@ index 5d52a23d5662..a1f4c91fb112 100644 count++; } mutex_unlock(&dev->struct_mutex); -@@ -224,7 +225,18 @@ static int per_file_stats(int id, void *ptr, void *data) +@@ -224,7 +225,18 @@ static int per_file_stats(int id, void * return 0; } @@ -109,7 +107,7 @@ index 5d52a23d5662..a1f4c91fb112 100644 { struct drm_info_node *node = (struct drm_info_node *) m->private; struct drm_device *dev = node->minor->dev; -@@ -234,6 +246,7 @@ static int i915_gem_object_info(struct seq_file *m, void *data) +@@ -234,6 +246,7 @@ static int i915_gem_object_info(struct s struct drm_i915_gem_object *obj; struct i915_address_space *vm = &dev_priv->gtt.base; struct drm_file *file; @@ -117,7 +115,7 @@ index 5d52a23d5662..a1f4c91fb112 100644 int ret; ret = mutex_lock_interruptible(&dev->struct_mutex); -@@ -250,12 +263,12 @@ static int i915_gem_object_info(struct seq_file *m, void *data) +@@ -250,12 +263,12 @@ static int i915_gem_object_info(struct s count, mappable_count, size, mappable_size); size = count = mappable_size = mappable_count = 0; @@ -132,7 +130,7 @@ index 5d52a23d5662..a1f4c91fb112 100644 seq_printf(m, " %u [%u] inactive objects, %zu [%zu] bytes\n", count, mappable_count, size, mappable_size); -@@ -1774,7 +1787,8 @@ i915_drop_caches_set(void *data, u64 val) +@@ -1774,7 +1787,8 @@ i915_drop_caches_set(void *data, u64 val struct drm_device *dev = data; struct drm_i915_private *dev_priv = dev->dev_private; struct drm_i915_gem_object *obj, *next; @@ -142,7 +140,7 @@ index 5d52a23d5662..a1f4c91fb112 100644 int ret; DRM_DEBUG_DRIVER("Dropping caches: 0x%08llx\n", val); -@@ -1795,14 +1809,16 @@ i915_drop_caches_set(void *data, u64 val) +@@ -1795,14 +1809,16 @@ i915_drop_caches_set(void *data, u64 val i915_gem_retire_requests(dev); if (val & DROP_BOUND) { @@ -167,8 +165,6 @@ index 5d52a23d5662..a1f4c91fb112 100644 } } -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 1a3dc5317eec..cd5d4f591e2d 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -558,6 +558,9 @@ struct i915_vma { @@ -191,11 +187,9 @@ index 1a3dc5317eec..cd5d4f591e2d 100644 /** This object's place in the batchbuffer or on the eviction list */ struct list_head exec_list; -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 103815bedba4..093781a28080 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -1873,7 +1873,6 @@ i915_gem_object_move_to_active(struct drm_i915_gem_object *obj, +@@ -1873,7 +1873,6 @@ i915_gem_object_move_to_active(struct dr { struct drm_device *dev = obj->base.dev; struct drm_i915_private *dev_priv = dev->dev_private; @@ -203,7 +197,7 @@ index 103815bedba4..093781a28080 100644 u32 seqno = intel_ring_get_seqno(ring); BUG_ON(ring == NULL); -@@ -1889,8 +1888,6 @@ i915_gem_object_move_to_active(struct drm_i915_gem_object *obj, +@@ -1889,8 +1888,6 @@ i915_gem_object_move_to_active(struct dr obj->active = 1; } @@ -212,7 +206,7 @@ index 103815bedba4..093781a28080 100644 list_move_tail(&obj->ring_list, &ring->active_list); obj->last_read_seqno = seqno; -@@ -1912,14 +1909,14 @@ i915_gem_object_move_to_active(struct drm_i915_gem_object *obj, +@@ -1912,14 +1909,14 @@ i915_gem_object_move_to_active(struct dr static void i915_gem_object_move_to_inactive(struct drm_i915_gem_object *obj) { @@ -231,7 +225,7 @@ index 103815bedba4..093781a28080 100644 list_del_init(&obj->ring_list); obj->ring = NULL; -@@ -2627,7 +2624,7 @@ int i915_vma_unbind(struct i915_vma *vma) +@@ -2627,7 +2624,7 @@ int i915_vma_unbind(struct i915_vma *vma i915_gem_gtt_finish_object(obj); i915_gem_object_unpin_pages(obj); @@ -249,7 +243,7 @@ index 103815bedba4..093781a28080 100644 /* Keep GGTT vmas first to make debug easier */ if (i915_is_ggtt(vm)) -@@ -3340,9 +3337,14 @@ i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write) +@@ -3340,9 +3337,14 @@ i915_gem_object_set_to_gtt_domain(struct old_write_domain); /* And bump the LRU for this access */ @@ -275,7 +269,7 @@ index 103815bedba4..093781a28080 100644 INIT_LIST_HEAD(&obj->global_list); INIT_LIST_HEAD(&obj->ring_list); INIT_LIST_HEAD(&obj->exec_list); -@@ -4057,6 +4058,7 @@ struct i915_vma *i915_gem_vma_create(struct drm_i915_gem_object *obj, +@@ -4057,6 +4058,7 @@ struct i915_vma *i915_gem_vma_create(str return ERR_PTR(-ENOMEM); INIT_LIST_HEAD(&vma->vma_link); @@ -283,11 +277,9 @@ index 103815bedba4..093781a28080 100644 vma->vm = vm; vma->obj = obj; -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 7273a729a039..403309c2a7d6 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -436,7 +436,10 @@ static int do_switch(struct i915_hw_context *to) +@@ -434,7 +434,10 @@ static int do_switch(struct i915_hw_cont * MI_SET_CONTEXT instead of when the next seqno has completed. */ if (from != NULL) { @@ -298,11 +290,9 @@ index 7273a729a039..403309c2a7d6 100644 i915_gem_object_move_to_active(from->obj, ring); /* As long as MI_SET_CONTEXT is serializing, ie. it flushes the * whole damn pipeline, we don't need to explicitly mark the -diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c -index 61bf5e20e5e0..425939b7d343 100644 --- a/drivers/gpu/drm/i915/i915_gem_evict.c +++ b/drivers/gpu/drm/i915/i915_gem_evict.c -@@ -87,8 +87,7 @@ i915_gem_evict_something(struct drm_device *dev, struct i915_address_space *vm, +@@ -87,8 +87,7 @@ i915_gem_evict_something(struct drm_devi drm_mm_init_scan(&vm->mm, min_size, alignment, cache_level); /* First see if there is a large enough contiguous idle region... */ @@ -312,7 +302,7 @@ index 61bf5e20e5e0..425939b7d343 100644 if (mark_free(vma, &unwind_list)) goto found; } -@@ -97,8 +96,7 @@ i915_gem_evict_something(struct drm_device *dev, struct i915_address_space *vm, +@@ -97,8 +96,7 @@ i915_gem_evict_something(struct drm_devi goto none; /* Now merge in the soon-to-be-expired objects... */ @@ -322,7 +312,7 @@ index 61bf5e20e5e0..425939b7d343 100644 if (mark_free(vma, &unwind_list)) goto found; } -@@ -159,7 +157,7 @@ i915_gem_evict_everything(struct drm_device *dev) +@@ -159,7 +157,7 @@ i915_gem_evict_everything(struct drm_dev { drm_i915_private_t *dev_priv = dev->dev_private; struct i915_address_space *vm; @@ -331,7 +321,7 @@ index 61bf5e20e5e0..425939b7d343 100644 bool lists_empty = true; int ret; -@@ -187,9 +185,9 @@ i915_gem_evict_everything(struct drm_device *dev) +@@ -187,9 +185,9 @@ i915_gem_evict_everything(struct drm_dev /* Having flushed everything, unbind() should never raise an error */ list_for_each_entry(vm, &dev_priv->vm_list, global_link) { @@ -344,11 +334,9 @@ index 61bf5e20e5e0..425939b7d343 100644 } return 0; -diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -index aa3fa9425cae..8ccc29ac9629 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -@@ -801,6 +801,8 @@ i915_gem_execbuffer_move_to_active(struct list_head *objects, +@@ -801,6 +801,8 @@ i915_gem_execbuffer_move_to_active(struc obj->base.read_domains = obj->base.pending_read_domains; obj->fenced_gpu_access = obj->pending_fenced_gpu_access; @@ -357,11 +345,9 @@ index aa3fa9425cae..8ccc29ac9629 100644 i915_gem_object_move_to_active(obj, ring); if (obj->base.write_domain) { obj->dirty = 1; -diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c -index ba4dabca83c2..8912f489f53a 100644 --- a/drivers/gpu/drm/i915/i915_gem_stolen.c +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c -@@ -418,7 +418,7 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_device *dev, +@@ -418,7 +418,7 @@ i915_gem_object_create_stolen_for_preall obj->has_global_gtt_mapping = 1; list_add_tail(&obj->global_list, &dev_priv->mm.bound_list); @@ -370,11 +356,9 @@ index ba4dabca83c2..8912f489f53a 100644 return obj; -diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c -index 8091485e7e88..fad48b2bb870 100644 --- a/drivers/gpu/drm/i915/i915_gpu_error.c +++ b/drivers/gpu/drm/i915/i915_gpu_error.c -@@ -556,11 +556,11 @@ static void capture_bo(struct drm_i915_error_buffer *err, +@@ -556,11 +556,11 @@ static void capture_bo(struct drm_i915_e static u32 capture_active_bo(struct drm_i915_error_buffer *err, int count, struct list_head *head) { @@ -399,33 +383,36 @@ index 8091485e7e88..fad48b2bb870 100644 struct drm_i915_gem_object *obj; u32 seqno; -@@ -642,20 +643,23 @@ i915_error_first_batchbuffer(struct drm_i915_private *dev_priv, +@@ -642,20 +643,23 @@ i915_error_first_batchbuffer(struct drm_ } seqno = ring->get_seqno(ring, false); - list_for_each_entry(obj, &vm->active_list, mm_list) { - if (obj->ring != ring) - continue; +- +- if (i915_seqno_passed(seqno, obj->last_read_seqno)) +- continue; +- +- if ((obj->base.read_domains & I915_GEM_DOMAIN_COMMAND) == 0) +- continue; +- +- /* We need to copy these to an anonymous buffer as the simplest +- * method to avoid being overwritten by userspace. +- */ +- return i915_error_object_create(dev_priv, obj); + list_for_each_entry(vm, &dev_priv->vm_list, global_link) { + list_for_each_entry(vma, &vm->active_list, mm_list) { + obj = vma->obj; + if (obj->ring != ring) + continue; - -- if (i915_seqno_passed(seqno, obj->last_read_seqno)) -- continue; ++ + if (i915_seqno_passed(seqno, obj->last_read_seqno)) + continue; - -- if ((obj->base.read_domains & I915_GEM_DOMAIN_COMMAND) == 0) -- continue; ++ + if ((obj->base.read_domains & I915_GEM_DOMAIN_COMMAND) == 0) + continue; - -- /* We need to copy these to an anonymous buffer as the simplest -- * method to avoid being overwritten by userspace. -- */ -- return i915_error_object_create(dev_priv, obj); ++ + /* We need to copy these to an anonymous buffer as the simplest + * method to avoid being overwritten by userspace. + */ @@ -434,7 +421,7 @@ index 8091485e7e88..fad48b2bb870 100644 } return NULL; -@@ -775,11 +779,12 @@ static void i915_gem_capture_buffers(struct drm_i915_private *dev_priv, +@@ -775,11 +779,12 @@ static void i915_gem_capture_buffers(str struct drm_i915_error_state *error) { struct i915_address_space *vm = &dev_priv->gtt.base; @@ -448,6 +435,3 @@ index 8091485e7e88..fad48b2bb870 100644 i++; error->active_bo_count = i; list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) --- -1.8.5.rc3 - diff --git a/patches.baytrail/0678-drm-i915-Use-Write-Through-cacheing-for-the-display-.patch b/patches.baytrail/0678-drm-i915-Use-Write-Through-cacheing-for-the-display-.patch index 590ee1d749d0ae..c51a41b9d7b6a9 100644 --- a/patches.baytrail/0678-drm-i915-Use-Write-Through-cacheing-for-the-display-.patch +++ b/patches.baytrail/0678-drm-i915-Use-Write-Through-cacheing-for-the-display-.patch @@ -30,18 +30,16 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 651d794fae9b79237aae1c97f8a9d9f3817bd31d) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 3 +++ - drivers/gpu/drm/i915/i915_drv.h | 4 +++- - drivers/gpu/drm/i915/i915_gem.c | 14 ++++++++++++-- - drivers/gpu/drm/i915/i915_gem_gtt.c | 11 ++++++++++- - include/uapi/drm/i915_drm.h | 1 + + drivers/gpu/drm/i915/i915_dma.c | 3 +++ + drivers/gpu/drm/i915/i915_drv.h | 4 +++- + drivers/gpu/drm/i915/i915_gem.c | 14 ++++++++++++-- + drivers/gpu/drm/i915/i915_gem_gtt.c | 11 ++++++++++- + include/uapi/drm/i915_drm.h | 1 + 5 files changed, 29 insertions(+), 4 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 0adfe4000871..45c262b9cb40 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -976,6 +976,9 @@ static int i915_getparam(struct drm_device *dev, void *data, +@@ -984,6 +984,9 @@ static int i915_getparam(struct drm_devi case I915_PARAM_HAS_LLC: value = HAS_LLC(dev); break; @@ -51,8 +49,6 @@ index 0adfe4000871..45c262b9cb40 100644 case I915_PARAM_HAS_ALIASING_PPGTT: value = dev_priv->mm.aliasing_ppgtt ? 1 : 0; break; -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index cccd6084b236..dcae809eafe8 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -454,6 +454,7 @@ enum i915_cache_level { @@ -80,11 +76,9 @@ index cccd6084b236..dcae809eafe8 100644 #define I915_NEED_GFX_HWS(dev) (INTEL_INFO(dev)->need_gfx_hws) #define HAS_HW_CONTEXTS(dev) (INTEL_INFO(dev)->gen >= 6) -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 66136cd88ed5..8e41b2c6eb1d 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -3459,7 +3459,16 @@ int i915_gem_get_caching_ioctl(struct drm_device *dev, void *data, +@@ -3459,7 +3459,16 @@ int i915_gem_get_caching_ioctl(struct dr goto unlock; } @@ -102,7 +96,7 @@ index 66136cd88ed5..8e41b2c6eb1d 100644 drm_gem_object_unreference(&obj->base); unlock: -@@ -3553,7 +3562,8 @@ i915_gem_object_pin_to_display_plane(struct drm_i915_gem_object *obj, +@@ -3553,7 +3562,8 @@ i915_gem_object_pin_to_display_plane(str * of uncaching, which would allow us to flush all the LLC-cached data * with that bit in the PTE to main memory with just one PIPE_CONTROL. */ @@ -112,8 +106,6 @@ index 66136cd88ed5..8e41b2c6eb1d 100644 if (ret) goto err_unpin_display; -diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c -index c9420c280cf0..212f6d8c35ec 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -55,6 +55,7 @@ @@ -124,7 +116,7 @@ index c9420c280cf0..212f6d8c35ec 100644 static gen6_gtt_pte_t snb_pte_encode(dma_addr_t addr, enum i915_cache_level level) -@@ -138,8 +139,16 @@ static gen6_gtt_pte_t iris_pte_encode(dma_addr_t addr, +@@ -138,8 +139,16 @@ static gen6_gtt_pte_t iris_pte_encode(dm gen6_gtt_pte_t pte = GEN6_PTE_VALID; pte |= HSW_PTE_ADDR_ENCODE(addr); @@ -142,8 +134,6 @@ index c9420c280cf0..212f6d8c35ec 100644 return pte; } -diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h -index 0bb3e5524382..55bb5729bd78 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -334,6 +334,7 @@ typedef struct drm_i915_irq_wait { @@ -154,6 +144,3 @@ index 0bb3e5524382..55bb5729bd78 100644 typedef struct drm_i915_getparam { int param; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0680-drm-i915-remove-set-but-unused-variables.patch b/patches.baytrail/0680-drm-i915-remove-set-but-unused-variables.patch index 22b31f5e2909f0..9c8a109b742fb2 100644 --- a/patches.baytrail/0680-drm-i915-remove-set-but-unused-variables.patch +++ b/patches.baytrail/0680-drm-i915-remove-set-but-unused-variables.patch @@ -10,16 +10,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit f3f08572fc245bc0cf5f102473ce0f54e693831d) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/intel_display.c | 12 ++---------- - drivers/gpu/drm/i915/intel_dp.c | 3 --- - drivers/gpu/drm/i915/intel_hdmi.c | 2 -- + drivers/gpu/drm/i915/intel_display.c | 12 ++---------- + drivers/gpu/drm/i915/intel_dp.c | 3 --- + drivers/gpu/drm/i915/intel_hdmi.c | 2 -- 3 files changed, 2 insertions(+), 15 deletions(-) -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 65bc851f5f91..52508e7f2658 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -690,7 +690,7 @@ vlv_find_best_dpll(const intel_limit_t *limit, struct drm_crtc *crtc, +@@ -690,7 +690,7 @@ vlv_find_best_dpll(const intel_limit_t * { u32 p1, p2, m1, m2, vco, bestn, bestm1, bestm2, bestp1, bestp2; u32 m, n, fastclk; @@ -28,7 +26,7 @@ index 65bc851f5f91..52508e7f2658 100644 unsigned long bestppm, ppm, absppm; int dotclk, flag; -@@ -701,7 +701,6 @@ vlv_find_best_dpll(const intel_limit_t *limit, struct drm_crtc *crtc, +@@ -701,7 +701,6 @@ vlv_find_best_dpll(const intel_limit_t * fastclk = dotclk / (2*100); updrate = 0; minupdate = 19200; @@ -36,7 +34,7 @@ index 65bc851f5f91..52508e7f2658 100644 n = p = p1 = p2 = m = m1 = m2 = vco = bestn = 0; bestm1 = bestm2 = bestp1 = bestp2 = 0; -@@ -4419,13 +4418,10 @@ static void vlv_update_pll(struct intel_crtc *crtc) +@@ -4419,13 +4418,10 @@ static void vlv_update_pll(struct intel_ int pipe = crtc->pipe; u32 dpll, mdiv; u32 bestn, bestm1, bestm2, bestp1, bestp2; @@ -50,7 +48,7 @@ index 65bc851f5f91..52508e7f2658 100644 bestn = crtc->config.dpll.n; bestm1 = crtc->config.dpll.m1; bestm2 = crtc->config.dpll.m2; -@@ -8900,14 +8896,13 @@ intel_modeset_stage_output_state(struct drm_device *dev, +@@ -8900,14 +8896,13 @@ intel_modeset_stage_output_state(struct struct drm_crtc *new_crtc; struct intel_connector *connector; struct intel_encoder *encoder; @@ -66,7 +64,7 @@ index 65bc851f5f91..52508e7f2658 100644 list_for_each_entry(connector, &dev->mode_config.connector_list, base.head) { /* Otherwise traverse passed in connector list and get encoders -@@ -8941,7 +8936,6 @@ intel_modeset_stage_output_state(struct drm_device *dev, +@@ -8941,7 +8936,6 @@ intel_modeset_stage_output_state(struct /* connector->new_encoder is now updated for all connectors. */ /* Update crtc of enabled connectors. */ @@ -74,7 +72,7 @@ index 65bc851f5f91..52508e7f2658 100644 list_for_each_entry(connector, &dev->mode_config.connector_list, base.head) { if (!connector->new_encoder) -@@ -10301,7 +10295,6 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -10303,7 +10297,6 @@ void intel_modeset_cleanup(struct drm_de { struct drm_i915_private *dev_priv = dev->dev_private; struct drm_crtc *crtc; @@ -82,7 +80,7 @@ index 65bc851f5f91..52508e7f2658 100644 /* * Interrupts and polling as the first thing to avoid creating havoc. -@@ -10325,7 +10318,6 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -10327,7 +10320,6 @@ void intel_modeset_cleanup(struct drm_de if (!crtc->fb) continue; @@ -90,11 +88,9 @@ index 65bc851f5f91..52508e7f2658 100644 intel_increase_pllclock(crtc); } -diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c -index 9e22bfd850df..46f3e674210d 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c -@@ -2337,7 +2337,6 @@ intel_dp_start_link_train(struct intel_dp *intel_dp) +@@ -2337,7 +2337,6 @@ intel_dp_start_link_train(struct intel_d struct drm_device *dev = encoder->dev; int i; uint8_t voltage; @@ -102,7 +98,7 @@ index 9e22bfd850df..46f3e674210d 100644 int voltage_tries, loop_tries; uint32_t DP = intel_dp->DP; -@@ -2355,7 +2354,6 @@ intel_dp_start_link_train(struct intel_dp *intel_dp) +@@ -2355,7 +2354,6 @@ intel_dp_start_link_train(struct intel_d voltage = 0xff; voltage_tries = 0; loop_tries = 0; @@ -110,7 +106,7 @@ index 9e22bfd850df..46f3e674210d 100644 for (;;) { /* Use intel_dp->train_set[0] to set the voltage and pre emphasis values */ uint8_t link_status[DP_LINK_STATUS_SIZE]; -@@ -2376,7 +2374,6 @@ intel_dp_start_link_train(struct intel_dp *intel_dp) +@@ -2376,7 +2374,6 @@ intel_dp_start_link_train(struct intel_d if (drm_dp_clock_recovery_ok(link_status, intel_dp->lane_count)) { DRM_DEBUG_KMS("clock recovery OK\n"); @@ -118,11 +114,9 @@ index 9e22bfd850df..46f3e674210d 100644 break; } -diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c -index dd4fa35e0a85..a619d9435107 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c -@@ -1245,7 +1245,6 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port) +@@ -1245,7 +1245,6 @@ void intel_hdmi_init(struct drm_device * { struct intel_digital_port *intel_dig_port; struct intel_encoder *intel_encoder; @@ -130,7 +124,7 @@ index dd4fa35e0a85..a619d9435107 100644 struct intel_connector *intel_connector; intel_dig_port = kzalloc(sizeof(struct intel_digital_port), GFP_KERNEL); -@@ -1259,7 +1258,6 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port) +@@ -1259,7 +1258,6 @@ void intel_hdmi_init(struct drm_device * } intel_encoder = &intel_dig_port->base; @@ -138,6 +132,3 @@ index dd4fa35e0a85..a619d9435107 100644 drm_encoder_init(dev, &intel_encoder->base, &intel_hdmi_enc_funcs, DRM_MODE_ENCODER_TMDS); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0682-drm-i915-print-a-message-when-we-detect-an-early-Has.patch b/patches.baytrail/0682-drm-i915-print-a-message-when-we-detect-an-early-Has.patch index f517be98de051a..cb6936da433351 100644 --- a/patches.baytrail/0682-drm-i915-print-a-message-when-we-detect-an-early-Has.patch +++ b/patches.baytrail/0682-drm-i915-print-a-message-when-we-detect-an-early-Has.patch @@ -24,15 +24,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit ed1c9e2cf414e32cb7ea1217b51b39e70fc132d2) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 8 ++++++++ - drivers/gpu/drm/i915/i915_drv.h | 2 ++ + drivers/gpu/drm/i915/i915_dma.c | 8 ++++++++ + drivers/gpu/drm/i915/i915_drv.h | 2 ++ 2 files changed, 10 insertions(+) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 45c262b9cb40..b30404d00757 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1488,6 +1488,14 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1496,6 +1496,14 @@ int i915_driver_load(struct drm_device * i915_dump_device_info(dev_priv); @@ -47,8 +45,6 @@ index 45c262b9cb40..b30404d00757 100644 if (i915_get_bridge_dev(dev)) { ret = -EIO; goto free_priv; -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index dcae809eafe8..3fc432437524 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1511,6 +1511,8 @@ struct drm_i915_file_private { @@ -60,6 +56,3 @@ index dcae809eafe8..3fc432437524 100644 #define IS_ULT(dev) (IS_HASWELL(dev) && \ ((dev)->pci_device & 0xFF00) == 0x0A00) --- -1.8.5.rc3 - diff --git a/patches.baytrail/0695-drm-i915-enable-the-power-well-before-module-unload.patch b/patches.baytrail/0695-drm-i915-enable-the-power-well-before-module-unload.patch index 0b8d1ae3cc46cd..96ee9ddb36267b 100644 --- a/patches.baytrail/0695-drm-i915-enable-the-power-well-before-module-unload.patch +++ b/patches.baytrail/0695-drm-i915-enable-the-power-well-before-module-unload.patch @@ -29,14 +29,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 79f8dea13391f8220470997f9a5213ab5aa9f1c7) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 7 ++++++- + drivers/gpu/drm/i915/i915_dma.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index b30404d00757..d2dc02b67512 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1688,8 +1688,13 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1696,8 +1696,13 @@ int i915_driver_unload(struct drm_device intel_gpu_ips_teardown(); @@ -51,6 +49,3 @@ index b30404d00757..d2dc02b67512 100644 i915_teardown_sysfs(dev); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0720-drm-i915-allow-package-C8-states-on-Haswell-disabled.patch b/patches.baytrail/0720-drm-i915-allow-package-C8-states-on-Haswell-disabled.patch index afa3558441d746..db9afa6d1fd413 100644 --- a/patches.baytrail/0720-drm-i915-allow-package-C8-states-on-Haswell-disabled.patch +++ b/patches.baytrail/0720-drm-i915-allow-package-C8-states-on-Haswell-disabled.patch @@ -44,23 +44,21 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit c67a470b1db781c54be07a87217cff35a91f564e) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 10 +++ - drivers/gpu/drm/i915/i915_drv.c | 11 +++ - drivers/gpu/drm/i915/i915_drv.h | 72 +++++++++++++++ - drivers/gpu/drm/i915/i915_gem.c | 2 + - drivers/gpu/drm/i915/i915_irq.c | 101 +++++++++++++++++++++ - drivers/gpu/drm/i915/intel_display.c | 170 ++++++++++++++++++++++++++++++++++- - drivers/gpu/drm/i915/intel_dp.c | 3 + - drivers/gpu/drm/i915/intel_drv.h | 8 ++ - drivers/gpu/drm/i915/intel_i2c.c | 2 + - drivers/gpu/drm/i915/intel_pm.c | 13 ++- + drivers/gpu/drm/i915/i915_dma.c | 10 ++ + drivers/gpu/drm/i915/i915_drv.c | 11 ++ + drivers/gpu/drm/i915/i915_drv.h | 72 ++++++++++++++ + drivers/gpu/drm/i915/i915_gem.c | 2 + drivers/gpu/drm/i915/i915_irq.c | 101 ++++++++++++++++++++ + drivers/gpu/drm/i915/intel_display.c | 170 ++++++++++++++++++++++++++++++++++- + drivers/gpu/drm/i915/intel_dp.c | 3 + drivers/gpu/drm/i915/intel_drv.h | 8 + + drivers/gpu/drm/i915/intel_i2c.c | 2 + drivers/gpu/drm/i915/intel_pm.c | 13 ++ 10 files changed, 390 insertions(+), 2 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index d2dc02b67512..4c7669f3f586 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1486,6 +1486,14 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1494,6 +1494,14 @@ int i915_driver_load(struct drm_device * mutex_init(&dev_priv->rps.hw_lock); mutex_init(&dev_priv->modeset_restore_lock); @@ -75,7 +73,7 @@ index d2dc02b67512..4c7669f3f586 100644 i915_dump_device_info(dev_priv); /* Not all pre-production machines fall into this category, only the -@@ -1740,6 +1748,8 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1748,6 +1756,8 @@ int i915_driver_unload(struct drm_device cancel_work_sync(&dev_priv->gpu_error.work); i915_destroy_error_state(dev); @@ -84,11 +82,9 @@ index d2dc02b67512..4c7669f3f586 100644 if (dev->pdev->msi_enabled) pci_disable_msi(dev->pdev); -diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c -index a9c8f18e26fc..f19736208214 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c -@@ -141,6 +141,10 @@ module_param_named(fastboot, i915_fastboot, bool, 0600); +@@ -141,6 +141,10 @@ module_param_named(fastboot, i915_fastbo MODULE_PARM_DESC(fastboot, "Try to skip unnecessary mode sets at boot time " "(default: false)"); @@ -99,7 +95,7 @@ index a9c8f18e26fc..f19736208214 100644 bool i915_prefault_disable __read_mostly; module_param_named(prefault_disable, i915_prefault_disable, bool, 0600); MODULE_PARM_DESC(prefault_disable, -@@ -557,6 +561,9 @@ static int i915_drm_freeze(struct drm_device *dev) +@@ -557,6 +561,9 @@ static int i915_drm_freeze(struct drm_de dev_priv->modeset_restore = MODESET_SUSPENDED; mutex_unlock(&dev_priv->modeset_restore_lock); @@ -109,7 +105,7 @@ index a9c8f18e26fc..f19736208214 100644 intel_set_power_well(dev, true); drm_kms_helper_poll_disable(dev); -@@ -713,6 +720,10 @@ static int __i915_drm_thaw(struct drm_device *dev) +@@ -713,6 +720,10 @@ static int __i915_drm_thaw(struct drm_de schedule_work(&dev_priv->console_resume_work); } @@ -120,8 +116,6 @@ index a9c8f18e26fc..f19736208214 100644 mutex_lock(&dev_priv->modeset_restore_lock); dev_priv->modeset_restore = MODESET_DONE; mutex_unlock(&dev_priv->modeset_restore_lock); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 5cc71ac04beb..85a352860a83 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1076,6 +1076,75 @@ struct intel_wm_level { @@ -209,7 +203,7 @@ index 5cc71ac04beb..85a352860a83 100644 /* Old dri1 support infrastructure, beware the dragons ya fools entering * here! */ struct i915_dri1_state dri1; -@@ -1635,6 +1706,7 @@ extern unsigned int i915_preliminary_hw_support __read_mostly; +@@ -1635,6 +1706,7 @@ extern unsigned int i915_preliminary_hw_ extern int i915_disable_power_well __read_mostly; extern int i915_enable_ips __read_mostly; extern bool i915_fastboot __read_mostly; @@ -217,11 +211,9 @@ index 5cc71ac04beb..85a352860a83 100644 extern bool i915_prefault_disable __read_mostly; extern int i915_suspend(struct drm_device *dev, pm_message_t state); -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 199107e734fb..2d1cb10d846f 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -999,6 +999,8 @@ static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno, +@@ -999,6 +999,8 @@ static int __wait_seqno(struct intel_rin bool wait_forever = true; int ret; @@ -230,11 +222,9 @@ index 199107e734fb..2d1cb10d846f 100644 if (i915_seqno_passed(ring->get_seqno(ring, true), seqno)) return 0; -diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c -index 9e2ea5b16233..0eac036fb833 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -85,6 +85,12 @@ ironlake_enable_display_irq(drm_i915_private_t *dev_priv, u32 mask) +@@ -85,6 +85,12 @@ ironlake_enable_display_irq(drm_i915_pri { assert_spin_locked(&dev_priv->irq_lock); @@ -247,7 +237,7 @@ index 9e2ea5b16233..0eac036fb833 100644 if ((dev_priv->irq_mask & mask) != 0) { dev_priv->irq_mask &= ~mask; I915_WRITE(DEIMR, dev_priv->irq_mask); -@@ -97,6 +103,12 @@ ironlake_disable_display_irq(drm_i915_private_t *dev_priv, u32 mask) +@@ -97,6 +103,12 @@ ironlake_disable_display_irq(drm_i915_pr { assert_spin_locked(&dev_priv->irq_lock); @@ -260,7 +250,7 @@ index 9e2ea5b16233..0eac036fb833 100644 if ((dev_priv->irq_mask & mask) != mask) { dev_priv->irq_mask |= mask; I915_WRITE(DEIMR, dev_priv->irq_mask); -@@ -116,6 +128,14 @@ static void ilk_update_gt_irq(struct drm_i915_private *dev_priv, +@@ -116,6 +128,14 @@ static void ilk_update_gt_irq(struct drm { assert_spin_locked(&dev_priv->irq_lock); @@ -275,7 +265,7 @@ index 9e2ea5b16233..0eac036fb833 100644 dev_priv->gt_irq_mask &= ~interrupt_mask; dev_priv->gt_irq_mask |= (~enabled_irq_mask & interrupt_mask); I915_WRITE(GTIMR, dev_priv->gt_irq_mask); -@@ -146,6 +166,14 @@ static void snb_update_pm_irq(struct drm_i915_private *dev_priv, +@@ -146,6 +166,14 @@ static void snb_update_pm_irq(struct drm assert_spin_locked(&dev_priv->irq_lock); @@ -290,7 +280,7 @@ index 9e2ea5b16233..0eac036fb833 100644 new_val = dev_priv->pm_irq_mask; new_val &= ~interrupt_mask; new_val |= (~enabled_irq_mask & interrupt_mask); -@@ -257,6 +285,15 @@ static void ibx_display_interrupt_update(struct drm_i915_private *dev_priv, +@@ -257,6 +285,15 @@ static void ibx_display_interrupt_update assert_spin_locked(&dev_priv->irq_lock); @@ -306,7 +296,7 @@ index 9e2ea5b16233..0eac036fb833 100644 I915_WRITE(SDEIMR, sdeimr); POSTING_READ(SDEIMR); } -@@ -3159,3 +3196,67 @@ void intel_hpd_init(struct drm_device *dev) +@@ -3159,3 +3196,67 @@ void intel_hpd_init(struct drm_device *d dev_priv->display.hpd_irq_setup(dev); spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); } @@ -374,11 +364,9 @@ index 9e2ea5b16233..0eac036fb833 100644 + + spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); +} -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 29e43b2cf908..6cf35357afad 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -6064,6 +6064,166 @@ void hsw_restore_lcpll(struct drm_i915_private *dev_priv) +@@ -6064,6 +6064,166 @@ void hsw_restore_lcpll(struct drm_i915_p dev_priv->uncore.funcs.force_wake_put(dev_priv); } @@ -545,7 +533,7 @@ index 29e43b2cf908..6cf35357afad 100644 static void haswell_modeset_global_resources(struct drm_device *dev) { bool enable = false; -@@ -6079,6 +6239,8 @@ static void haswell_modeset_global_resources(struct drm_device *dev) +@@ -6079,6 +6239,8 @@ static void haswell_modeset_global_resou } intel_set_power_well(dev, enable); @@ -554,7 +542,7 @@ index 29e43b2cf908..6cf35357afad 100644 } static int haswell_crtc_mode_set(struct drm_crtc *crtc, -@@ -7314,13 +7476,19 @@ static void intel_decrease_pllclock(struct drm_crtc *crtc) +@@ -7314,13 +7476,19 @@ static void intel_decrease_pllclock(stru void intel_mark_busy(struct drm_device *dev) { @@ -575,11 +563,9 @@ index 29e43b2cf908..6cf35357afad 100644 if (!i915_powersave) return; -diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c -index 46f3e674210d..79c14e298ba6 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c -@@ -344,6 +344,8 @@ intel_dp_aux_ch(struct intel_dp *intel_dp, +@@ -344,6 +344,8 @@ intel_dp_aux_ch(struct intel_dp *intel_d else precharge = 5; @@ -588,7 +574,7 @@ index 46f3e674210d..79c14e298ba6 100644 /* Try to wait for any previous AUX channel activity */ for (try = 0; try < 3; try++) { status = I915_READ_NOTRACE(ch_ctl); -@@ -434,6 +436,7 @@ intel_dp_aux_ch(struct intel_dp *intel_dp, +@@ -434,6 +436,7 @@ intel_dp_aux_ch(struct intel_dp *intel_d ret = recv_bytes; out: pm_qos_update_request(&dev_priv->pm_qos, PM_QOS_DEFAULT_VALUE); @@ -596,11 +582,9 @@ index 46f3e674210d..79c14e298ba6 100644 return ret; } -diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index 8222f2426b47..176080822a74 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -745,6 +745,7 @@ extern void intel_set_power_well(struct drm_device *dev, bool enable); +@@ -745,6 +745,7 @@ extern void intel_set_power_well(struct extern void intel_enable_gt_powersave(struct drm_device *dev); extern void intel_disable_gt_powersave(struct drm_device *dev); extern void ironlake_teardown_rc6(struct drm_device *dev); @@ -608,7 +592,7 @@ index 8222f2426b47..176080822a74 100644 extern bool intel_ddi_get_hw_state(struct intel_encoder *encoder, enum pipe *pipe); -@@ -784,5 +785,12 @@ extern void ilk_disable_gt_irq(struct drm_i915_private *dev_priv, +@@ -784,5 +785,12 @@ extern void ilk_disable_gt_irq(struct dr extern void snb_enable_pm_irq(struct drm_i915_private *dev_priv, uint32_t mask); extern void snb_disable_pm_irq(struct drm_i915_private *dev_priv, uint32_t mask); @@ -621,8 +605,6 @@ index 8222f2426b47..176080822a74 100644 +extern void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv); #endif /* __INTEL_DRV_H__ */ -diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c -index 639fe192997c..d1c1e0f7f262 100644 --- a/drivers/gpu/drm/i915/intel_i2c.c +++ b/drivers/gpu/drm/i915/intel_i2c.c @@ -398,6 +398,7 @@ gmbus_xfer(struct i2c_adapter *adapter, @@ -641,11 +623,9 @@ index 639fe192997c..d1c1e0f7f262 100644 return ret; } -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 178da3ec31b4..46056820d1d2 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -3607,7 +3607,7 @@ static void gen6_enable_rps(struct drm_device *dev) +@@ -3607,7 +3607,7 @@ static void gen6_enable_rps(struct drm_d gen6_gt_force_wake_put(dev_priv); } @@ -654,7 +634,7 @@ index 178da3ec31b4..46056820d1d2 100644 { struct drm_i915_private *dev_priv = dev->dev_private; int min_freq = 15; -@@ -5416,6 +5416,17 @@ void intel_init_power_well(struct drm_device *dev) +@@ -5416,6 +5416,17 @@ void intel_init_power_well(struct drm_de I915_WRITE(HSW_PWR_WELL_BIOS, 0); } @@ -672,6 +652,3 @@ index 178da3ec31b4..46056820d1d2 100644 /* Set up chip specific power management-related functions */ void intel_init_pm(struct drm_device *dev) { --- -1.8.5.rc3 - diff --git a/patches.baytrail/0727-gpu-vga_switcheroo-add-driver-control-power-feature..patch b/patches.baytrail/0727-gpu-vga_switcheroo-add-driver-control-power-feature..patch index 7e7391973e2999..ed01c7aeb6432b 100644 --- a/patches.baytrail/0727-gpu-vga_switcheroo-add-driver-control-power-feature..patch +++ b/patches.baytrail/0727-gpu-vga_switcheroo-add-driver-control-power-feature..patch @@ -29,18 +29,16 @@ Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 0d69704ae348c03bc216b01e32a0e9a2372be419) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +- - drivers/gpu/drm/radeon/radeon_device.c | 2 +- - drivers/gpu/vga/vga_switcheroo.c | 147 +++++++++++++++++++++++++++++++-- - include/linux/vga_switcheroo.h | 13 ++- + drivers/gpu/drm/i915/i915_dma.c | 2 + drivers/gpu/drm/nouveau/nouveau_vga.c | 2 + drivers/gpu/drm/radeon/radeon_device.c | 2 + drivers/gpu/vga/vga_switcheroo.c | 147 +++++++++++++++++++++++++++++++-- + include/linux/vga_switcheroo.h | 13 ++ 5 files changed, 156 insertions(+), 10 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 4c7669f3f586..3e4e6073d171 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1296,7 +1296,7 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1304,7 +1304,7 @@ static int i915_load_modeset_init(struct intel_register_dsm_handler(); @@ -49,11 +47,9 @@ index 4c7669f3f586..3e4e6073d171 100644 if (ret) goto cleanup_vga_client; -diff --git a/drivers/gpu/drm/nouveau/nouveau_vga.c b/drivers/gpu/drm/nouveau/nouveau_vga.c -index 25d3495725eb..40a09f11a600 100644 --- a/drivers/gpu/drm/nouveau/nouveau_vga.c +++ b/drivers/gpu/drm/nouveau/nouveau_vga.c -@@ -79,7 +79,7 @@ nouveau_vga_init(struct nouveau_drm *drm) +@@ -79,7 +79,7 @@ nouveau_vga_init(struct nouveau_drm *drm { struct drm_device *dev = drm->dev; vga_client_register(dev->pdev, dev, NULL, nouveau_vga_set_decode); @@ -62,11 +58,9 @@ index 25d3495725eb..40a09f11a600 100644 } void -diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c -index 8df1525f71d2..6ea7983790d7 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c -@@ -1169,7 +1169,7 @@ int radeon_device_init(struct radeon_device *rdev, +@@ -1169,7 +1169,7 @@ int radeon_device_init(struct radeon_dev /* this will fail for cards that aren't VGA class devices, just * ignore it */ vga_client_register(rdev->pdev, rdev, NULL, radeon_vga_set_decode); @@ -75,8 +69,6 @@ index 8df1525f71d2..6ea7983790d7 100644 r = radeon_init(rdev); if (r) -diff --git a/drivers/gpu/vga/vga_switcheroo.c b/drivers/gpu/vga/vga_switcheroo.c -index cf787e1d9322..ec0ae2d1686a 100644 --- a/drivers/gpu/vga/vga_switcheroo.c +++ b/drivers/gpu/vga/vga_switcheroo.c @@ -27,6 +27,7 @@ @@ -95,7 +87,7 @@ index cf787e1d9322..ec0ae2d1686a 100644 struct list_head list; }; -@@ -132,7 +134,7 @@ EXPORT_SYMBOL(vga_switcheroo_unregister_handler); +@@ -132,7 +134,7 @@ EXPORT_SYMBOL(vga_switcheroo_unregister_ static int register_client(struct pci_dev *pdev, const struct vga_switcheroo_client_ops *ops, @@ -104,7 +96,7 @@ index cf787e1d9322..ec0ae2d1686a 100644 { struct vga_switcheroo_client *client; -@@ -145,6 +147,7 @@ static int register_client(struct pci_dev *pdev, +@@ -145,6 +147,7 @@ static int register_client(struct pci_de client->ops = ops; client->id = id; client->active = active; @@ -112,7 +104,7 @@ index cf787e1d9322..ec0ae2d1686a 100644 mutex_lock(&vgasr_mutex); list_add_tail(&client->list, &vgasr_priv.clients); -@@ -160,10 +163,11 @@ static int register_client(struct pci_dev *pdev, +@@ -160,10 +163,11 @@ static int register_client(struct pci_de } int vga_switcheroo_register_client(struct pci_dev *pdev, @@ -126,7 +118,7 @@ index cf787e1d9322..ec0ae2d1686a 100644 } EXPORT_SYMBOL(vga_switcheroo_register_client); -@@ -171,7 +175,7 @@ int vga_switcheroo_register_audio_client(struct pci_dev *pdev, +@@ -171,7 +175,7 @@ int vga_switcheroo_register_audio_client const struct vga_switcheroo_client_ops *ops, int id, bool active) { @@ -135,7 +127,7 @@ index cf787e1d9322..ec0ae2d1686a 100644 } EXPORT_SYMBOL(vga_switcheroo_register_audio_client); -@@ -258,10 +262,11 @@ static int vga_switcheroo_show(struct seq_file *m, void *v) +@@ -258,10 +262,11 @@ static int vga_switcheroo_show(struct se int i = 0; mutex_lock(&vgasr_mutex); list_for_each_entry(client, &vgasr_priv.clients, list) { @@ -148,7 +140,7 @@ index cf787e1d9322..ec0ae2d1686a 100644 client->pwr_state ? "Pwr" : "Off", pci_name(client->pdev)); i++; -@@ -277,6 +282,8 @@ static int vga_switcheroo_debugfs_open(struct inode *inode, struct file *file) +@@ -277,6 +282,8 @@ static int vga_switcheroo_debugfs_open(s static int vga_switchon(struct vga_switcheroo_client *client) { @@ -157,7 +149,7 @@ index cf787e1d9322..ec0ae2d1686a 100644 if (vgasr_priv.handler->power_state) vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_ON); /* call the driver callback to turn on device */ -@@ -287,6 +294,8 @@ static int vga_switchon(struct vga_switcheroo_client *client) +@@ -287,6 +294,8 @@ static int vga_switchon(struct vga_switc static int vga_switchoff(struct vga_switcheroo_client *client) { @@ -166,7 +158,7 @@ index cf787e1d9322..ec0ae2d1686a 100644 /* call the driver callback to turn off device */ client->ops->set_gpu_state(client->pdev, VGA_SWITCHEROO_OFF); if (vgasr_priv.handler->power_state) -@@ -402,6 +411,8 @@ vga_switcheroo_debugfs_write(struct file *filp, const char __user *ubuf, +@@ -402,6 +411,8 @@ vga_switcheroo_debugfs_write(struct file list_for_each_entry(client, &vgasr_priv.clients, list) { if (client->active || client_is_audio(client)) continue; @@ -175,7 +167,7 @@ index cf787e1d9322..ec0ae2d1686a 100644 set_audio_state(client->id, VGA_SWITCHEROO_OFF); if (client->pwr_state == VGA_SWITCHEROO_ON) vga_switchoff(client); -@@ -413,6 +424,8 @@ vga_switcheroo_debugfs_write(struct file *filp, const char __user *ubuf, +@@ -413,6 +424,8 @@ vga_switcheroo_debugfs_write(struct file list_for_each_entry(client, &vgasr_priv.clients, list) { if (client->active || client_is_audio(client)) continue; @@ -312,8 +304,6 @@ index cf787e1d9322..ec0ae2d1686a 100644 + return -EINVAL; +} +EXPORT_SYMBOL(vga_switcheroo_init_domain_pm_optimus_hdmi_audio); -diff --git a/include/linux/vga_switcheroo.h b/include/linux/vga_switcheroo.h -index ddb419cf4530..502073a53dd3 100644 --- a/include/linux/vga_switcheroo.h +++ b/include/linux/vga_switcheroo.h @@ -45,7 +45,8 @@ struct vga_switcheroo_client_ops { @@ -326,7 +316,7 @@ index ddb419cf4530..502073a53dd3 100644 int vga_switcheroo_register_audio_client(struct pci_dev *pdev, const struct vga_switcheroo_client_ops *ops, int id, bool active); -@@ -60,11 +61,15 @@ int vga_switcheroo_process_delayed_switch(void); +@@ -60,11 +61,15 @@ int vga_switcheroo_process_delayed_switc int vga_switcheroo_get_client_state(struct pci_dev *dev); @@ -343,7 +333,7 @@ index ddb419cf4530..502073a53dd3 100644 static inline void vga_switcheroo_client_fb_set(struct pci_dev *dev, struct fb_info *info) {} static inline int vga_switcheroo_register_handler(struct vga_switcheroo_handler *handler) { return 0; } static inline int vga_switcheroo_register_audio_client(struct pci_dev *pdev, -@@ -74,6 +79,10 @@ static inline void vga_switcheroo_unregister_handler(void) {} +@@ -74,6 +79,10 @@ static inline void vga_switcheroo_unregi static inline int vga_switcheroo_process_delayed_switch(void) { return 0; } static inline int vga_switcheroo_get_client_state(struct pci_dev *dev) { return VGA_SWITCHEROO_ON; } @@ -354,6 +344,3 @@ index ddb419cf4530..502073a53dd3 100644 #endif #endif /* _LINUX_VGA_SWITCHEROO_H_ */ --- -1.8.5.rc3 - diff --git a/patches.baytrail/0728-drm-edid-Add-both-60Hz-and-59.94Hz-CEA-modes-to-conn.patch b/patches.baytrail/0728-drm-edid-Add-both-60Hz-and-59.94Hz-CEA-modes-to-conn.patch index 5ce772595ef28e..6c7dd4d93a9605 100644 --- a/patches.baytrail/0728-drm-edid-Add-both-60Hz-and-59.94Hz-CEA-modes-to-conn.patch +++ b/patches.baytrail/0728-drm-edid-Add-both-60Hz-and-59.94Hz-CEA-modes-to-conn.patch @@ -28,14 +28,12 @@ Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit e6e792092e816bea0797995c886fb057c91d4546) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 102 ++++++++++++++++++++++++++++++++++++++------- + drivers/gpu/drm/drm_edid.c | 102 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 88 insertions(+), 14 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 9d4d21f46a8a..298e1052fcc3 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -2353,6 +2353,31 @@ u8 *drm_find_cea_extension(struct edid *edid) +@@ -2358,6 +2358,31 @@ u8 *drm_find_cea_extension(struct edid * } EXPORT_SYMBOL(drm_find_cea_extension); @@ -67,7 +65,7 @@ index 9d4d21f46a8a..298e1052fcc3 100644 /** * drm_match_cea_mode - look for a CEA mode matching given mode * @to_match: display mode -@@ -2371,21 +2396,9 @@ u8 drm_match_cea_mode(const struct drm_display_mode *to_match) +@@ -2376,21 +2401,9 @@ u8 drm_match_cea_mode(const struct drm_d const struct drm_display_mode *cea_mode = &edid_cea_modes[mode]; unsigned int clock1, clock2; @@ -91,7 +89,7 @@ index 9d4d21f46a8a..298e1052fcc3 100644 if ((KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock1) || KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock2)) && -@@ -2396,6 +2409,66 @@ u8 drm_match_cea_mode(const struct drm_display_mode *to_match) +@@ -2401,6 +2414,66 @@ u8 drm_match_cea_mode(const struct drm_d } EXPORT_SYMBOL(drm_match_cea_mode); @@ -158,7 +156,7 @@ index 9d4d21f46a8a..298e1052fcc3 100644 static int do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len) -@@ -3044,6 +3117,7 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid) +@@ -3049,6 +3122,7 @@ int drm_add_edid_modes(struct drm_connec if (edid->features & DRM_EDID_FEATURE_DEFAULT_GTF) num_modes += add_inferred_modes(connector, edid); num_modes += add_cea_modes(connector, edid); @@ -166,6 +164,3 @@ index 9d4d21f46a8a..298e1052fcc3 100644 if (quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75)) edid_fixup_preferred(connector, quirks); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0729-drm-Add-support-for-alternate-clocks-of-4k-modes.patch b/patches.baytrail/0729-drm-Add-support-for-alternate-clocks-of-4k-modes.patch index 6cf5be691a30d7..239fa2b20fd3a1 100644 --- a/patches.baytrail/0729-drm-Add-support-for-alternate-clocks-of-4k-modes.patch +++ b/patches.baytrail/0729-drm-Add-support-for-alternate-clocks-of-4k-modes.patch @@ -17,14 +17,12 @@ Signed-off-by: Dave Airlie <airlied@gmail.com> (cherry picked from commit 3f2f653378112c1453c0d83c81746a9225e4bc75) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 68 ++++++++++++++++++++++++++++++++++++++++++---- + drivers/gpu/drm/drm_edid.c | 68 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 62 insertions(+), 6 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 298e1052fcc3..4adcea91d728 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -2409,6 +2409,54 @@ u8 drm_match_cea_mode(const struct drm_display_mode *to_match) +@@ -2414,6 +2414,54 @@ u8 drm_match_cea_mode(const struct drm_d } EXPORT_SYMBOL(drm_match_cea_mode); @@ -79,7 +77,7 @@ index 298e1052fcc3..4adcea91d728 100644 static int add_alternate_cea_modes(struct drm_connector *connector, struct edid *edid) { -@@ -2426,18 +2474,26 @@ add_alternate_cea_modes(struct drm_connector *connector, struct edid *edid) +@@ -2431,18 +2479,26 @@ add_alternate_cea_modes(struct drm_conne * with the alternate clock for certain CEA modes. */ list_for_each_entry(mode, &connector->probed_modes, head) { @@ -112,6 +110,3 @@ index 298e1052fcc3..4adcea91d728 100644 if (clock1 == clock2) continue; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0730-drm-Make-drm_match_cea_mode-return-the-underlying-2D.patch b/patches.baytrail/0730-drm-Make-drm_match_cea_mode-return-the-underlying-2D.patch index ccc137f3091c33..817d1bacb1e17e 100644 --- a/patches.baytrail/0730-drm-Make-drm_match_cea_mode-return-the-underlying-2D.patch +++ b/patches.baytrail/0730-drm-Make-drm_match_cea_mode-return-the-underlying-2D.patch @@ -19,16 +19,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit f2ecf2e3bc01868f244fc6ba9cf8fe5d8446db5b) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 4 ++-- - drivers/gpu/drm/drm_modes.c | 18 ++++++++++++------ - include/drm/drm_crtc.h | 2 +- + drivers/gpu/drm/drm_edid.c | 4 ++-- + drivers/gpu/drm/drm_modes.c | 18 ++++++++++++------ + include/drm/drm_crtc.h | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 4adcea91d728..1e5db5bb8eaf 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -2402,7 +2402,7 @@ u8 drm_match_cea_mode(const struct drm_display_mode *to_match) +@@ -2407,7 +2407,7 @@ u8 drm_match_cea_mode(const struct drm_d if ((KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock1) || KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock2)) && @@ -37,7 +35,7 @@ index 4adcea91d728..1e5db5bb8eaf 100644 return mode + 1; } return 0; -@@ -2451,7 +2451,7 @@ static u8 drm_match_hdmi_mode(const struct drm_display_mode *to_match) +@@ -2456,7 +2456,7 @@ static u8 drm_match_hdmi_mode(const stru if ((KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock1) || KHZ2PICOS(to_match->clock) == KHZ2PICOS(clock2)) && @@ -46,11 +44,9 @@ index 4adcea91d728..1e5db5bb8eaf 100644 return mode + 1; } return 0; -diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c -index a371ff865a88..1d29b473fe6a 100644 --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c -@@ -848,12 +848,16 @@ bool drm_mode_equal(const struct drm_display_mode *mode1, const struct drm_displ +@@ -848,12 +848,16 @@ bool drm_mode_equal(const struct drm_dis } else if (mode1->clock != mode2->clock) return false; @@ -85,7 +81,7 @@ index a371ff865a88..1d29b473fe6a 100644 { if (mode1->hdisplay == mode2->hdisplay && mode1->hsync_start == mode2->hsync_start && -@@ -878,12 +883,13 @@ bool drm_mode_equal_no_clocks(const struct drm_display_mode *mode1, const struct +@@ -878,12 +883,13 @@ bool drm_mode_equal_no_clocks(const stru mode1->vsync_end == mode2->vsync_end && mode1->vtotal == mode2->vtotal && mode1->vscan == mode2->vscan && @@ -101,11 +97,9 @@ index a371ff865a88..1d29b473fe6a 100644 /** * drm_mode_validate_size - make sure modes adhere to size constraints -diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h -index 2cbbfd44c6df..c2f130e584c3 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h -@@ -920,7 +920,7 @@ extern void drm_mode_config_reset(struct drm_device *dev); +@@ -920,7 +920,7 @@ extern void drm_mode_config_reset(struct extern void drm_mode_config_cleanup(struct drm_device *dev); extern void drm_mode_set_name(struct drm_display_mode *mode); extern bool drm_mode_equal(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2); @@ -114,6 +108,3 @@ index 2cbbfd44c6df..c2f130e584c3 100644 extern int drm_mode_width(const struct drm_display_mode *mode); extern int drm_mode_height(const struct drm_display_mode *mode); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0731-drm-Add-a-helper-to-forge-HDMI-vendor-infoframes.patch b/patches.baytrail/0731-drm-Add-a-helper-to-forge-HDMI-vendor-infoframes.patch index ca6dd13662315a..9b48b1a1d9dfd2 100644 --- a/patches.baytrail/0731-drm-Add-a-helper-to-forge-HDMI-vendor-infoframes.patch +++ b/patches.baytrail/0731-drm-Add-a-helper-to-forge-HDMI-vendor-infoframes.patch @@ -19,15 +19,13 @@ Signed-off-by: Dave Airlie <airlied@gmail.com> (cherry picked from commit 83dd000865eaaeb0799bf5e6d12f8d8cdb740e91) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 36 ++++++++++++++++++++++++++++++++++++ - include/drm/drm_edid.h | 4 ++++ + drivers/gpu/drm/drm_edid.c | 36 ++++++++++++++++++++++++++++++++++++ + include/drm/drm_edid.h | 4 ++++ 2 files changed, 40 insertions(+) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 1e5db5bb8eaf..63c50ce3934f 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -3266,3 +3266,39 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame, +@@ -3274,3 +3274,39 @@ drm_hdmi_avi_infoframe_from_display_mode return 0; } EXPORT_SYMBOL(drm_hdmi_avi_infoframe_from_display_mode); @@ -67,8 +65,6 @@ index 1e5db5bb8eaf..63c50ce3934f 100644 + return 0; +} +EXPORT_SYMBOL(drm_hdmi_vendor_infoframe_from_display_mode); -diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h -index fc481fc17085..7b75621fda4c 100644 --- a/include/drm/drm_edid.h +++ b/include/drm/drm_edid.h @@ -256,6 +256,7 @@ struct drm_encoder; @@ -79,7 +75,7 @@ index fc481fc17085..7b75621fda4c 100644 void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid); int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads); -@@ -268,5 +269,8 @@ int drm_load_edid_firmware(struct drm_connector *connector); +@@ -268,5 +269,8 @@ int drm_load_edid_firmware(struct drm_co int drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame, const struct drm_display_mode *mode); @@ -88,6 +84,3 @@ index fc481fc17085..7b75621fda4c 100644 + const struct drm_display_mode *mode); #endif /* __DRM_EDID_H__ */ --- -1.8.5.rc3 - diff --git a/patches.baytrail/0733-drm-edid-Expose-mandatory-stereo-modes-for-HDMI-sink.patch b/patches.baytrail/0733-drm-edid-Expose-mandatory-stereo-modes-for-HDMI-sink.patch index 06c39a858f83bc..8fe0d0f00cdc1a 100644 --- a/patches.baytrail/0733-drm-edid-Expose-mandatory-stereo-modes-for-HDMI-sink.patch +++ b/patches.baytrail/0733-drm-edid-Expose-mandatory-stereo-modes-for-HDMI-sink.patch @@ -24,14 +24,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit c858cfcae6dd3829e8708a48d009c2f676b79d4d) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 110 ++++++++++++++++++++++++++++++++++++++++++--- + drivers/gpu/drm/drm_edid.c | 110 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 103 insertions(+), 7 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 63c50ce3934f..41a5f3428e93 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -2551,13 +2551,95 @@ do_cea_modes(struct drm_connector *connector, const u8 *db, u8 len) +@@ -2556,13 +2556,95 @@ do_cea_modes(struct drm_connector *conne return modes; } @@ -128,7 +126,7 @@ index 63c50ce3934f..41a5f3428e93 100644 */ static int do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len) -@@ -2583,10 +2665,15 @@ do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len) +@@ -2588,10 +2670,15 @@ do_hdmi_vsdb_modes(struct drm_connector /* the declared length is not long enough for the 2 first bytes * of additional video format capabilities */ @@ -146,7 +144,7 @@ index 63c50ce3934f..41a5f3428e93 100644 vic_len = db[8 + offset] >> 5; for (i = 0; i < vic_len && len >= (9 + offset + i); i++) { -@@ -2666,8 +2753,8 @@ static int +@@ -2671,8 +2758,8 @@ static int add_cea_modes(struct drm_connector *connector, struct edid *edid) { const u8 *cea = drm_find_cea_extension(edid); @@ -157,7 +155,7 @@ index 63c50ce3934f..41a5f3428e93 100644 int modes = 0; if (cea && cea_revision(cea) >= 3) { -@@ -2682,11 +2769,20 @@ add_cea_modes(struct drm_connector *connector, struct edid *edid) +@@ -2687,11 +2774,20 @@ add_cea_modes(struct drm_connector *conn if (cea_db_tag(db) == VIDEO_BLOCK) modes += do_cea_modes(connector, db + 1, dbl); @@ -180,6 +178,3 @@ index 63c50ce3934f..41a5f3428e93 100644 return modes; } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0734-drm-Extract-add_hdmi_mode-out-of-do_hdmi_vsdb_modes.patch b/patches.baytrail/0734-drm-Extract-add_hdmi_mode-out-of-do_hdmi_vsdb_modes.patch index 53a7a8e1b5ae50..084e801f3bc90b 100644 --- a/patches.baytrail/0734-drm-Extract-add_hdmi_mode-out-of-do_hdmi_vsdb_modes.patch +++ b/patches.baytrail/0734-drm-Extract-add_hdmi_mode-out-of-do_hdmi_vsdb_modes.patch @@ -20,14 +20,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 1deee8d76724b478240f1bba5affe017e4f9bfa3) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 36 +++++++++++++++++++++--------------- + drivers/gpu/drm/drm_edid.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 41a5f3428e93..a23a3be52a09 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -2632,6 +2632,26 @@ static int add_hdmi_mandatory_stereo_modes(struct drm_connector *connector) +@@ -2637,6 +2637,26 @@ static int add_hdmi_mandatory_stereo_mod return modes; } @@ -54,7 +52,7 @@ index 41a5f3428e93..a23a3be52a09 100644 /* * do_hdmi_vsdb_modes - Parse the HDMI Vendor Specific data block * @connector: connector corresponding to the HDMI sink -@@ -2644,7 +2664,6 @@ static int add_hdmi_mandatory_stereo_modes(struct drm_connector *connector) +@@ -2649,7 +2669,6 @@ static int add_hdmi_mandatory_stereo_mod static int do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len) { @@ -62,7 +60,7 @@ index 41a5f3428e93..a23a3be52a09 100644 int modes = 0, offset = 0, i; u8 vic_len; -@@ -2677,23 +2696,10 @@ do_hdmi_vsdb_modes(struct drm_connector *connector, const u8 *db, u8 len) +@@ -2682,23 +2701,10 @@ do_hdmi_vsdb_modes(struct drm_connector vic_len = db[8 + offset] >> 5; for (i = 0; i < vic_len && len >= (9 + offset + i); i++) { @@ -87,6 +85,3 @@ index 41a5f3428e93..a23a3be52a09 100644 } out: --- -1.8.5.rc3 - diff --git a/patches.baytrail/0735-drm-Code-stereo-layouts-as-an-enum-rather-than-a-bit.patch b/patches.baytrail/0735-drm-Code-stereo-layouts-as-an-enum-rather-than-a-bit.patch index 0a65ee762b267d..6dfde746e063e3 100644 --- a/patches.baytrail/0735-drm-Code-stereo-layouts-as-an-enum-rather-than-a-bit.patch +++ b/patches.baytrail/0735-drm-Code-stereo-layouts-as-an-enum-rather-than-a-bit.patch @@ -26,16 +26,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit f7e121b76469624459152542c1b809a1ebc835fe) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 47 +++++++++++++++------------------------------ - include/drm/drm_crtc.h | 9 --------- - include/uapi/drm/drm_mode.h | 19 ++++++++++-------- + drivers/gpu/drm/drm_edid.c | 47 ++++++++++++++------------------------------ + include/drm/drm_crtc.h | 9 -------- + include/uapi/drm/drm_mode.h | 19 ++++++++++------- 3 files changed, 26 insertions(+), 49 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index a23a3be52a09..802daf1dfa60 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -2557,16 +2557,16 @@ struct stereo_mandatory_mode { +@@ -2562,16 +2562,16 @@ struct stereo_mandatory_mode { }; static const struct stereo_mandatory_mode stereo_mandatory_modes[] = { @@ -58,7 +56,7 @@ index a23a3be52a09..802daf1dfa60 100644 }; static bool -@@ -2581,50 +2581,33 @@ stereo_match_mandatory(const struct drm_display_mode *mode, +@@ -2586,50 +2586,33 @@ stereo_match_mandatory(const struct drm_ drm_mode_vrefresh(mode) == stereo_mode->vrefresh; } @@ -118,8 +116,6 @@ index a23a3be52a09..802daf1dfa60 100644 } list_splice_tail(&stereo_modes, &connector->probed_modes); -diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h -index f96e7ff0035b..b228321549fa 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -179,15 +179,6 @@ struct drm_display_mode { @@ -138,8 +134,6 @@ index f96e7ff0035b..b228321549fa 100644 static inline bool drm_mode_is_stereo(const struct drm_display_mode *mode) { return mode->flags & DRM_MODE_FLAG_3D_MASK; -diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h -index acc75bac67f1..82adefbabfa4 100644 --- a/include/uapi/drm/drm_mode.h +++ b/include/uapi/drm/drm_mode.h @@ -58,14 +58,17 @@ @@ -168,6 +162,3 @@ index acc75bac67f1..82adefbabfa4 100644 /* DPMS flags */ /* bit compatible with the xorg definitions. */ --- -1.8.5.rc3 - diff --git a/patches.baytrail/0736-drm-Set-the-relevant-infoframe-field-when-scanning-o.patch b/patches.baytrail/0736-drm-Set-the-relevant-infoframe-field-when-scanning-o.patch index 32dfce4b58da8e..81cca3b1614cc9 100644 --- a/patches.baytrail/0736-drm-Set-the-relevant-infoframe-field-when-scanning-o.patch +++ b/patches.baytrail/0736-drm-Set-the-relevant-infoframe-field-when-scanning-o.patch @@ -18,14 +18,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 4eed4a0a4ac31830b4c328739cabb69721584bfc) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 40 ++++++++++++++++++++++++++++++++++++++-- + drivers/gpu/drm/drm_edid.c | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 802daf1dfa60..61fdd6b532fc 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -3352,6 +3352,33 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame, +@@ -3360,6 +3360,33 @@ drm_hdmi_avi_infoframe_from_display_mode } EXPORT_SYMBOL(drm_hdmi_avi_infoframe_from_display_mode); @@ -59,7 +57,7 @@ index 802daf1dfa60..61fdd6b532fc 100644 /** * drm_hdmi_vendor_infoframe_from_display_mode() - fill an HDMI infoframe with * data from a DRM display mode -@@ -3369,20 +3396,29 @@ drm_hdmi_vendor_infoframe_from_display_mode(struct hdmi_vendor_infoframe *frame, +@@ -3377,20 +3404,29 @@ drm_hdmi_vendor_infoframe_from_display_m const struct drm_display_mode *mode) { int err; @@ -91,6 +89,3 @@ index 802daf1dfa60..61fdd6b532fc 100644 return 0; } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0740-drm-i915-Support-render-nodes.patch b/patches.baytrail/0740-drm-i915-Support-render-nodes.patch index fd739e4f4bcdc0..bc88ec89337c27 100644 --- a/patches.baytrail/0740-drm-i915-Support-render-nodes.patch +++ b/patches.baytrail/0740-drm-i915-Support-render-nodes.patch @@ -18,15 +18,13 @@ Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 10ba50129ab0bdbc0ee712e50913d1c8db88c5f0) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 42 ++++++++++++++++++++--------------------- - drivers/gpu/drm/i915/i915_drv.c | 3 ++- + drivers/gpu/drm/i915/i915_dma.c | 42 ++++++++++++++++++++-------------------- + drivers/gpu/drm/i915/i915_drv.c | 3 +- 2 files changed, 23 insertions(+), 22 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 3e4e6073d171..fdaa0915ce56 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1866,7 +1866,7 @@ const struct drm_ioctl_desc i915_ioctls[] = { +@@ -1876,7 +1876,7 @@ const struct drm_ioctl_desc i915_ioctls[ DRM_IOCTL_DEF_DRV(I915_BATCHBUFFER, i915_batchbuffer, DRM_AUTH), DRM_IOCTL_DEF_DRV(I915_IRQ_EMIT, i915_irq_emit, DRM_AUTH), DRM_IOCTL_DEF_DRV(I915_IRQ_WAIT, i915_irq_wait, DRM_AUTH), @@ -35,7 +33,7 @@ index 3e4e6073d171..fdaa0915ce56 100644 DRM_IOCTL_DEF_DRV(I915_SETPARAM, i915_setparam, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(I915_ALLOC, drm_noop, DRM_AUTH), DRM_IOCTL_DEF_DRV(I915_FREE, drm_noop, DRM_AUTH), -@@ -1879,35 +1879,35 @@ const struct drm_ioctl_desc i915_ioctls[] = { +@@ -1889,35 +1889,35 @@ const struct drm_ioctl_desc i915_ioctls[ DRM_IOCTL_DEF_DRV(I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), DRM_IOCTL_DEF_DRV(I915_GEM_INIT, i915_gem_init_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED), DRM_IOCTL_DEF_DRV(I915_GEM_EXECBUFFER, i915_gem_execbuffer, DRM_AUTH|DRM_UNLOCKED), @@ -91,8 +89,6 @@ index 3e4e6073d171..fdaa0915ce56 100644 }; int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); -diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c -index 735dd5625e9e..ccb28ead3501 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -1022,7 +1022,8 @@ static struct drm_driver driver = { @@ -105,6 +101,3 @@ index 735dd5625e9e..ccb28ead3501 100644 .load = i915_driver_load, .unload = i915_driver_unload, .open = i915_driver_open, --- -1.8.5.rc3 - diff --git a/patches.baytrail/0755-i915-Update-VGA-arbiter-support-for-newer-devices.patch b/patches.baytrail/0755-i915-Update-VGA-arbiter-support-for-newer-devices.patch index 79e99e8579bd81..197fb261bed16f 100644 --- a/patches.baytrail/0755-i915-Update-VGA-arbiter-support-for-newer-devices.patch +++ b/patches.baytrail/0755-i915-Update-VGA-arbiter-support-for-newer-devices.patch @@ -37,16 +37,14 @@ fixup 2 (cherry picked from commit 81b5c7bc8de3e6f63419139c2fc91bf81dea8a7d) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 9 ++++++--- - drivers/gpu/drm/i915/intel_display.c | 25 +++++++++++++++++++++++++ - include/linux/vgaarb.h | 7 +++++++ + drivers/gpu/drm/i915/i915_dma.c | 9 ++++++--- + drivers/gpu/drm/i915/intel_display.c | 25 +++++++++++++++++++++++++ + include/linux/vgaarb.h | 7 +++++++ 3 files changed, 38 insertions(+), 3 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index fdaa0915ce56..3de60503378e 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1290,9 +1290,12 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1298,9 +1298,12 @@ static int i915_load_modeset_init(struct * then we do not take part in VGA arbitration and the * vga_client_register() fails with -ENODEV. */ @@ -62,11 +60,9 @@ index fdaa0915ce56..3de60503378e 100644 intel_register_dsm_handler(); -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 2fd611ac91ba..369fdb452125 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -10045,6 +10045,15 @@ static void i915_disable_vga(struct drm_device *dev) +@@ -10045,6 +10045,15 @@ static void i915_disable_vga(struct drm_ outb(SR01, VGA_SR_INDEX); sr1 = inb(VGA_SR_DATA); outb(sr1 | 1<<5, VGA_SR_DATA); @@ -82,7 +78,7 @@ index 2fd611ac91ba..369fdb452125 100644 vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); udelay(300); -@@ -10052,6 +10061,20 @@ static void i915_disable_vga(struct drm_device *dev) +@@ -10052,6 +10061,20 @@ static void i915_disable_vga(struct drm_ POSTING_READ(vga_reg); } @@ -103,7 +99,7 @@ index 2fd611ac91ba..369fdb452125 100644 void intel_modeset_init_hw(struct drm_device *dev) { intel_init_power_well(dev); -@@ -10543,6 +10566,8 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -10545,6 +10568,8 @@ void intel_modeset_cleanup(struct drm_de intel_disable_fbc(dev); @@ -112,8 +108,6 @@ index 2fd611ac91ba..369fdb452125 100644 intel_disable_gt_powersave(dev); ironlake_teardown_rc6(dev); -diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h -index 2c02f3a8d2ba..80cf8173a65b 100644 --- a/include/linux/vgaarb.h +++ b/include/linux/vgaarb.h @@ -65,8 +65,15 @@ struct pci_dev; @@ -132,6 +126,3 @@ index 2c02f3a8d2ba..80cf8173a65b 100644 /** * vga_get - acquire & locks VGA resources --- -1.8.5.rc3 - diff --git a/patches.baytrail/0787-drm-i915-Do-not-add-an-interrupt-for-a-context-switc.patch b/patches.baytrail/0787-drm-i915-Do-not-add-an-interrupt-for-a-context-switc.patch index 88a120a1805ca4..d2b24788d08e91 100644 --- a/patches.baytrail/0787-drm-i915-Do-not-add-an-interrupt-for-a-context-switc.patch +++ b/patches.baytrail/0787-drm-i915-Do-not-add-an-interrupt-for-a-context-switc.patch @@ -42,15 +42,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit c0321e2c5acaaff7ed41d46d97cee71ad9238481) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_gem.c | 1 - - drivers/gpu/drm/i915/i915_gem_context.c | 12 +----------- + drivers/gpu/drm/i915/i915_gem.c | 1 - + drivers/gpu/drm/i915/i915_gem_context.c | 12 +----------- 2 files changed, 1 insertion(+), 12 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 80342c8f02e6..22be39feadc0 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -2045,7 +2045,6 @@ int __i915_add_request(struct intel_ring_buffer *ring, +@@ -2045,7 +2045,6 @@ int __i915_add_request(struct intel_ring if (request == NULL) return -ENOMEM; @@ -58,11 +56,9 @@ index 80342c8f02e6..22be39feadc0 100644 /* Record the position of the start of the request so that * should we detect the updated seqno part-way through the * GPU processing the request, we never over-estimate the -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 403309c2a7d6..b6da70b51aea 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -451,17 +451,7 @@ static int do_switch(struct i915_hw_context *to) +@@ -449,17 +449,7 @@ static int do_switch(struct i915_hw_cont from->obj->dirty = 1; BUG_ON(from->obj->ring != ring); @@ -81,6 +77,3 @@ index 403309c2a7d6..b6da70b51aea 100644 i915_gem_object_unpin(from->obj); i915_gem_context_unreference(from); } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0812-drm-i915-Delay-disabling-of-VGA-memory-until-vgacon-.patch b/patches.baytrail/0812-drm-i915-Delay-disabling-of-VGA-memory-until-vgacon-.patch index 2c59069fab9706..fdf5224a4da28a 100644 --- a/patches.baytrail/0812-drm-i915-Delay-disabling-of-VGA-memory-until-vgacon-.patch +++ b/patches.baytrail/0812-drm-i915-Delay-disabling-of-VGA-memory-until-vgacon-.patch @@ -41,16 +41,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 6e1b4fdad5157bb9e88777d525704aba24389bee) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 6 ++++++ - drivers/gpu/drm/i915/intel_display.c | 27 ++++++++++++++++----------- - drivers/gpu/drm/i915/intel_drv.h | 1 + + drivers/gpu/drm/i915/i915_dma.c | 6 ++++++ + drivers/gpu/drm/i915/intel_display.c | 27 ++++++++++++++++----------- + drivers/gpu/drm/i915/intel_drv.h | 1 + 3 files changed, 23 insertions(+), 11 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 3de60503378e..9b265a4c6a3d 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1351,6 +1351,12 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1359,6 +1359,12 @@ static int i915_load_modeset_init(struct */ intel_fbdev_initial_config(dev); @@ -63,11 +61,9 @@ index 3de60503378e..9b265a4c6a3d 100644 /* Only enable hotplug handling once the fbdev is fully set up. */ dev_priv->enable_hotplug_processing = true; -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index f68091d2078a..099ad416fcdd 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -10065,15 +10065,6 @@ static void i915_disable_vga(struct drm_device *dev) +@@ -10065,15 +10065,6 @@ static void i915_disable_vga(struct drm_ outb(SR01, VGA_SR_INDEX); sr1 = inb(VGA_SR_DATA); outb(sr1 | 1<<5, VGA_SR_DATA); @@ -83,7 +79,7 @@ index f68091d2078a..099ad416fcdd 100644 vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); udelay(300); -@@ -10081,7 +10072,7 @@ static void i915_disable_vga(struct drm_device *dev) +@@ -10081,7 +10072,7 @@ static void i915_disable_vga(struct drm_ POSTING_READ(vga_reg); } @@ -92,7 +88,7 @@ index f68091d2078a..099ad416fcdd 100644 { /* Enable VGA memory on Intel HD */ if (HAS_PCH_SPLIT(dev)) { -@@ -10095,6 +10086,19 @@ static void i915_enable_vga(struct drm_device *dev) +@@ -10095,6 +10086,19 @@ static void i915_enable_vga(struct drm_d } } @@ -112,7 +108,7 @@ index f68091d2078a..099ad416fcdd 100644 void intel_modeset_init_hw(struct drm_device *dev) { intel_init_power_well(dev); -@@ -10373,6 +10377,7 @@ void i915_redisable_vga(struct drm_device *dev) +@@ -10373,6 +10377,7 @@ void i915_redisable_vga(struct drm_devic if (I915_READ(vga_reg) != VGA_DISP_DISABLE) { DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n"); i915_disable_vga(dev); @@ -120,7 +116,7 @@ index f68091d2078a..099ad416fcdd 100644 } } -@@ -10586,7 +10591,7 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -10588,7 +10593,7 @@ void intel_modeset_cleanup(struct drm_de intel_disable_fbc(dev); @@ -129,17 +125,12 @@ index f68091d2078a..099ad416fcdd 100644 intel_disable_gt_powersave(dev); -diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index ea97c2347200..322dbc6b20a2 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -798,5 +798,6 @@ extern void hsw_pc8_disable_interrupts(struct drm_device *dev); +@@ -798,5 +798,6 @@ extern void hsw_pc8_disable_interrupts(s extern void hsw_pc8_restore_interrupts(struct drm_device *dev); extern void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv); extern void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv); +extern void i915_disable_vga_mem(struct drm_device *dev); #endif /* __INTEL_DRV_H__ */ --- -1.8.5.rc3 - diff --git a/patches.baytrail/0883-drm-i915-Do-remaps-for-all-contexts.patch b/patches.baytrail/0883-drm-i915-Do-remaps-for-all-contexts.patch index 0c52272a3b7547..8377d3df2828b1 100644 --- a/patches.baytrail/0883-drm-i915-Do-remaps-for-all-contexts.patch +++ b/patches.baytrail/0883-drm-i915-Do-remaps-for-all-contexts.patch @@ -41,17 +41,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 3ccfd19dea7c5c85aa4b1f929a97a02b026ab356) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_debugfs.c | 8 +++++++ - drivers/gpu/drm/i915/i915_drv.h | 1 + - drivers/gpu/drm/i915/i915_gem_context.c | 22 ++++++++++++++++---- - drivers/gpu/drm/i915/i915_sysfs.c | 37 +++++++++++++-------------------- + drivers/gpu/drm/i915/i915_debugfs.c | 8 ++++++ + drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/i915_gem_context.c | 22 +++++++++++++++---- + drivers/gpu/drm/i915/i915_sysfs.c | 37 ++++++++++++-------------------- 4 files changed, 41 insertions(+), 27 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index ada095023dad..80bed69fe5b7 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c -@@ -145,6 +145,13 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) +@@ -145,6 +145,13 @@ describe_obj(struct seq_file *m, struct seq_printf(m, " (%s)", obj->ring->name); } @@ -65,7 +63,7 @@ index ada095023dad..80bed69fe5b7 100644 static int i915_gem_object_list_info(struct seq_file *m, void *data) { struct drm_info_node *node = (struct drm_info_node *) m->private; -@@ -1463,6 +1470,7 @@ static int i915_context_status(struct seq_file *m, void *unused) +@@ -1463,6 +1470,7 @@ static int i915_context_status(struct se list_for_each_entry(ctx, &dev_priv->context_list, link) { seq_puts(m, "HW context "); @@ -73,8 +71,6 @@ index ada095023dad..80bed69fe5b7 100644 for_each_ring(ring, dev_priv, i) if (ring->default_context == ctx) seq_printf(m, "(default context %s) ", ring->name); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 179592762537..015df5264dcc 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -601,6 +601,7 @@ struct i915_hw_context { @@ -85,11 +81,9 @@ index 179592762537..015df5264dcc 100644 struct drm_i915_file_private *file_priv; struct intel_ring_buffer *ring; struct drm_i915_gem_object *obj; -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 2bbdce821ac3..9af3fe7e42b0 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -181,6 +181,10 @@ create_hw_context(struct drm_device *dev, +@@ -181,6 +181,10 @@ create_hw_context(struct drm_device *dev ctx->file_priv = file_priv; ctx->id = ret; @@ -100,7 +94,7 @@ index 2bbdce821ac3..9af3fe7e42b0 100644 return ctx; -@@ -396,11 +400,11 @@ static int do_switch(struct i915_hw_context *to) +@@ -394,11 +398,11 @@ static int do_switch(struct i915_hw_cont struct intel_ring_buffer *ring = to->ring; struct i915_hw_context *from = ring->last_context; u32 hw_flags = 0; @@ -114,7 +108,7 @@ index 2bbdce821ac3..9af3fe7e42b0 100644 return 0; ret = i915_gem_obj_ggtt_pin(to->obj, CONTEXT_ALIGN, false, false); -@@ -423,8 +427,6 @@ static int do_switch(struct i915_hw_context *to) +@@ -421,8 +425,6 @@ static int do_switch(struct i915_hw_cont if (!to->is_initialized || is_default_context(to)) hw_flags |= MI_RESTORE_INHIBIT; @@ -123,7 +117,7 @@ index 2bbdce821ac3..9af3fe7e42b0 100644 ret = mi_set_context(ring, to, hw_flags); if (ret) { -@@ -432,6 +434,18 @@ static int do_switch(struct i915_hw_context *to) +@@ -430,6 +432,18 @@ static int do_switch(struct i915_hw_cont return ret; } @@ -142,11 +136,9 @@ index 2bbdce821ac3..9af3fe7e42b0 100644 /* The backing object for the context is done after switching to the * *next* context. Therefore we cannot retire the previous context until * the next context has already started running. In fact, the below code -diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c -index b07bdfb8892d..deb8787308d6 100644 --- a/drivers/gpu/drm/i915/i915_sysfs.c +++ b/drivers/gpu/drm/i915/i915_sysfs.c -@@ -118,9 +118,8 @@ i915_l3_read(struct file *filp, struct kobject *kobj, +@@ -118,9 +118,8 @@ i915_l3_read(struct file *filp, struct k struct drm_minor *dminor = container_of(dev, struct drm_minor, kdev); struct drm_device *drm_dev = dminor->dev; struct drm_i915_private *dev_priv = drm_dev->dev_private; @@ -157,7 +149,7 @@ index b07bdfb8892d..deb8787308d6 100644 count = round_down(count, 4); -@@ -134,26 +133,13 @@ i915_l3_read(struct file *filp, struct kobject *kobj, +@@ -134,26 +133,13 @@ i915_l3_read(struct file *filp, struct k if (ret) return ret; @@ -174,11 +166,6 @@ index b07bdfb8892d..deb8787308d6 100644 - - misccpctl = I915_READ(GEN7_MISCCPCTL); - I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE); -- -- for (i = 0; i < count; i += 4) -- *((uint32_t *)(&buf[i])) = I915_READ(GEN7_L3LOG_BASE + offset + i); -- -- I915_WRITE(GEN7_MISCCPCTL, misccpctl); + if (dev_priv->l3_parity.remap_info[slice]) + memcpy(buf, + dev_priv->l3_parity.remap_info[slice] + (offset/4), @@ -186,11 +173,16 @@ index b07bdfb8892d..deb8787308d6 100644 + else + memset(buf, 0, count); +- for (i = 0; i < count; i += 4) +- *((uint32_t *)(&buf[i])) = I915_READ(GEN7_L3LOG_BASE + offset + i); +- +- I915_WRITE(GEN7_MISCCPCTL, misccpctl); +- -out: mutex_unlock(&drm_dev->struct_mutex); return count; -@@ -168,6 +154,7 @@ i915_l3_write(struct file *filp, struct kobject *kobj, +@@ -168,6 +154,7 @@ i915_l3_write(struct file *filp, struct struct drm_minor *dminor = container_of(dev, struct drm_minor, kdev); struct drm_device *drm_dev = dminor->dev; struct drm_i915_private *dev_priv = drm_dev->dev_private; @@ -198,7 +190,7 @@ index b07bdfb8892d..deb8787308d6 100644 u32 *temp = NULL; /* Just here to make handling failures easy */ int slice = (int)(uintptr_t)attr->private; int ret; -@@ -176,6 +163,9 @@ i915_l3_write(struct file *filp, struct kobject *kobj, +@@ -176,6 +163,9 @@ i915_l3_write(struct file *filp, struct if (ret) return ret; @@ -208,7 +200,7 @@ index b07bdfb8892d..deb8787308d6 100644 ret = i915_mutex_lock_interruptible(drm_dev); if (ret) return ret; -@@ -204,8 +194,9 @@ i915_l3_write(struct file *filp, struct kobject *kobj, +@@ -204,8 +194,9 @@ i915_l3_write(struct file *filp, struct memcpy(dev_priv->l3_parity.remap_info[slice] + (offset/4), buf, count); @@ -220,6 +212,3 @@ index b07bdfb8892d..deb8787308d6 100644 mutex_unlock(&drm_dev->struct_mutex); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0893-drm-i915-Pull-intel_init_power_well-out-of-intel_mod.patch b/patches.baytrail/0893-drm-i915-Pull-intel_init_power_well-out-of-intel_mod.patch index 64c9dc7b678735..9671c589991f0b 100644 --- a/patches.baytrail/0893-drm-i915-Pull-intel_init_power_well-out-of-intel_mod.patch +++ b/patches.baytrail/0893-drm-i915-Pull-intel_init_power_well-out-of-intel_mod.patch @@ -16,16 +16,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit d6317290bfd8673d1cf3b6f8a12c72b3297eac36) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 2 ++ - drivers/gpu/drm/i915/i915_drv.c | 2 ++ - drivers/gpu/drm/i915/intel_display.c | 2 -- + drivers/gpu/drm/i915/i915_dma.c | 2 ++ + drivers/gpu/drm/i915/i915_drv.c | 2 ++ + drivers/gpu/drm/i915/intel_display.c | 2 -- 3 files changed, 4 insertions(+), 2 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index be5120f702cc..553586eae991 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1324,6 +1324,8 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1332,6 +1332,8 @@ static int i915_load_modeset_init(struct INIT_WORK(&dev_priv->console_resume_work, intel_console_resume); @@ -34,11 +32,9 @@ index be5120f702cc..553586eae991 100644 intel_modeset_gem_init(dev); /* Always safe in the mode setting case. */ -diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c -index 75e7550064f4..6f385e1e9ed6 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c -@@ -605,6 +605,8 @@ static int __i915_drm_thaw(struct drm_device *dev, bool restore_gtt_mappings) +@@ -605,6 +605,8 @@ static int __i915_drm_thaw(struct drm_de /* We need working interrupts for modeset enabling ... */ drm_irq_install(dev); @@ -47,11 +43,9 @@ index 75e7550064f4..6f385e1e9ed6 100644 intel_modeset_init_hw(dev); drm_modeset_lock_all(dev); -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 5d0b03fbdac7..951e4b5f7e77 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -10279,8 +10279,6 @@ void i915_disable_vga_mem(struct drm_device *dev) +@@ -10279,8 +10279,6 @@ void i915_disable_vga_mem(struct drm_dev void intel_modeset_init_hw(struct drm_device *dev) { @@ -60,6 +54,3 @@ index 5d0b03fbdac7..951e4b5f7e77 100644 intel_prepare_ddi(dev); intel_init_clock_gating(dev); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0900-drm-i915-use-pointer-k-cmz.-alloc-sizeof-pointer-.-p.patch b/patches.baytrail/0900-drm-i915-use-pointer-k-cmz.-alloc-sizeof-pointer-.-p.patch index bb14d65540262b..39458c99f28f01 100644 --- a/patches.baytrail/0900-drm-i915-use-pointer-k-cmz.-alloc-sizeof-pointer-.-p.patch +++ b/patches.baytrail/0900-drm-i915-use-pointer-k-cmz.-alloc-sizeof-pointer-.-p.patch @@ -14,29 +14,27 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit b14c5679dd2c87b5bd14c49c5bdd1962be2ab209) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_debugfs.c | 2 +- - drivers/gpu/drm/i915/i915_dma.c | 6 +++--- - drivers/gpu/drm/i915/i915_gem.c | 2 +- - drivers/gpu/drm/i915/intel_crt.c | 2 +- - drivers/gpu/drm/i915/intel_ddi.c | 6 +++--- - drivers/gpu/drm/i915/intel_display.c | 2 +- - drivers/gpu/drm/i915/intel_dp.c | 4 ++-- - drivers/gpu/drm/i915/intel_dvo.c | 4 ++-- - drivers/gpu/drm/i915/intel_fb.c | 2 +- - drivers/gpu/drm/i915/intel_hdmi.c | 4 ++-- - drivers/gpu/drm/i915/intel_lvds.c | 4 ++-- - drivers/gpu/drm/i915/intel_overlay.c | 4 ++-- - drivers/gpu/drm/i915/intel_pm.c | 2 +- - drivers/gpu/drm/i915/intel_sdvo.c | 10 +++++----- - drivers/gpu/drm/i915/intel_sprite.c | 2 +- - drivers/gpu/drm/i915/intel_tv.c | 4 ++-- + drivers/gpu/drm/i915/i915_debugfs.c | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 6 +++--- + drivers/gpu/drm/i915/i915_gem.c | 2 +- + drivers/gpu/drm/i915/intel_crt.c | 2 +- + drivers/gpu/drm/i915/intel_ddi.c | 6 +++--- + drivers/gpu/drm/i915/intel_display.c | 2 +- + drivers/gpu/drm/i915/intel_dp.c | 4 ++-- + drivers/gpu/drm/i915/intel_dvo.c | 4 ++-- + drivers/gpu/drm/i915/intel_fb.c | 2 +- + drivers/gpu/drm/i915/intel_hdmi.c | 4 ++-- + drivers/gpu/drm/i915/intel_lvds.c | 4 ++-- + drivers/gpu/drm/i915/intel_overlay.c | 4 ++-- + drivers/gpu/drm/i915/intel_pm.c | 2 +- + drivers/gpu/drm/i915/intel_sdvo.c | 10 +++++----- + drivers/gpu/drm/i915/intel_sprite.c | 2 +- + drivers/gpu/drm/i915/intel_tv.c | 4 ++-- 16 files changed, 30 insertions(+), 30 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index 80bed69fe5b7..09c93d7989f1 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c -@@ -2156,7 +2156,7 @@ drm_add_fake_info_node(struct drm_minor *minor, +@@ -2156,7 +2156,7 @@ drm_add_fake_info_node(struct drm_minor { struct drm_info_node *node; @@ -45,11 +43,9 @@ index 80bed69fe5b7..09c93d7989f1 100644 if (node == NULL) { debugfs_remove(ent); return -ENOMEM; -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 553586eae991..b387c6b2af75 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -641,7 +641,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data, +@@ -649,7 +649,7 @@ static int i915_batchbuffer(struct drm_d if (batch->num_cliprects) { cliprects = kcalloc(batch->num_cliprects, @@ -58,7 +54,7 @@ index 553586eae991..b387c6b2af75 100644 GFP_KERNEL); if (cliprects == NULL) return -ENOMEM; -@@ -703,7 +703,7 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data, +@@ -711,7 +711,7 @@ static int i915_cmdbuffer(struct drm_dev if (cmdbuf->num_cliprects) { cliprects = kcalloc(cmdbuf->num_cliprects, @@ -67,7 +63,7 @@ index 553586eae991..b387c6b2af75 100644 if (cliprects == NULL) { ret = -ENOMEM; goto fail_batch_free; -@@ -1480,7 +1480,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1488,7 +1488,7 @@ int i915_driver_load(struct drm_device * dev->types[8] = _DRM_STAT_SECONDARY; dev->types[9] = _DRM_STAT_DMA; @@ -76,11 +72,9 @@ index 553586eae991..b387c6b2af75 100644 if (dev_priv == NULL) return -ENOMEM; -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index c12f44abb69a..08bff16a0b72 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -4630,7 +4630,7 @@ static int i915_gem_init_phys_object(struct drm_device *dev, +@@ -4630,7 +4630,7 @@ static int i915_gem_init_phys_object(str if (dev_priv->mm.phys_objs[id - 1] || !size) return 0; @@ -89,11 +83,9 @@ index c12f44abb69a..08bff16a0b72 100644 if (!phys_obj) return -ENOMEM; -diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c -index 6f101d5620e4..f9a5f3d1f0cd 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c -@@ -764,7 +764,7 @@ void intel_crt_init(struct drm_device *dev) +@@ -764,7 +764,7 @@ void intel_crt_init(struct drm_device *d if (!crt) return; @@ -102,11 +94,9 @@ index 6f101d5620e4..f9a5f3d1f0cd 100644 if (!intel_connector) { kfree(crt); return; -diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c -index 04f68804834d..351e21a0be07 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c -@@ -1337,11 +1337,11 @@ void intel_ddi_init(struct drm_device *dev, enum port port) +@@ -1337,11 +1337,11 @@ void intel_ddi_init(struct drm_device *d struct intel_connector *hdmi_connector = NULL; struct intel_connector *dp_connector = NULL; @@ -120,7 +110,7 @@ index 04f68804834d..351e21a0be07 100644 if (!dp_connector) { kfree(intel_dig_port); return; -@@ -1381,7 +1381,7 @@ void intel_ddi_init(struct drm_device *dev, enum port port) +@@ -1381,7 +1381,7 @@ void intel_ddi_init(struct drm_device *d } if (intel_encoder->type != INTEL_OUTPUT_EDP) { @@ -129,11 +119,9 @@ index 04f68804834d..351e21a0be07 100644 GFP_KERNEL); if (!hdmi_connector) { return; -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 12595a514074..f0b18c342dee 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -8097,7 +8097,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc, +@@ -8097,7 +8097,7 @@ static int intel_crtc_page_flip(struct d fb->pitches[0] != crtc->fb->pitches[0])) return -EINVAL; @@ -142,11 +130,9 @@ index 12595a514074..f0b18c342dee 100644 if (work == NULL) return -ENOMEM; -diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c -index 605908df95d8..2f3d67f12a88 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c -@@ -3633,11 +3633,11 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port) +@@ -3633,11 +3633,11 @@ intel_dp_init(struct drm_device *dev, in struct drm_encoder *encoder; struct intel_connector *intel_connector; @@ -160,11 +146,9 @@ index 605908df95d8..2f3d67f12a88 100644 if (!intel_connector) { kfree(intel_dig_port); return; -diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c -index ff86c366218c..6305433797ac 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c -@@ -448,11 +448,11 @@ void intel_dvo_init(struct drm_device *dev) +@@ -448,11 +448,11 @@ void intel_dvo_init(struct drm_device *d int i; int encoder_type = DRM_MODE_ENCODER_NONE; @@ -178,11 +162,9 @@ index ff86c366218c..6305433797ac 100644 if (!intel_connector) { kfree(intel_dvo); return; -diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c -index bc2100007b21..6aa66aaceaef 100644 --- a/drivers/gpu/drm/i915/intel_fb.c +++ b/drivers/gpu/drm/i915/intel_fb.c -@@ -216,7 +216,7 @@ int intel_fbdev_init(struct drm_device *dev) +@@ -216,7 +216,7 @@ int intel_fbdev_init(struct drm_device * struct drm_i915_private *dev_priv = dev->dev_private; int ret; @@ -191,11 +173,9 @@ index bc2100007b21..6aa66aaceaef 100644 if (!ifbdev) return -ENOMEM; -diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c -index 79582f912414..a6310ca444cf 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c -@@ -1292,11 +1292,11 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port) +@@ -1292,11 +1292,11 @@ void intel_hdmi_init(struct drm_device * struct intel_encoder *intel_encoder; struct intel_connector *intel_connector; @@ -209,11 +189,9 @@ index 79582f912414..a6310ca444cf 100644 if (!intel_connector) { kfree(intel_dig_port); return; -diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c -index 1ba9998add08..87d5a769b3ae 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c -@@ -964,11 +964,11 @@ void intel_lvds_init(struct drm_device *dev) +@@ -964,11 +964,11 @@ void intel_lvds_init(struct drm_device * } } @@ -227,11 +205,9 @@ index 1ba9998add08..87d5a769b3ae 100644 if (!lvds_connector) { kfree(lvds_encoder); return; -diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c -index 8d6d0a1bf5bf..a98a990fbab3 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c -@@ -1053,7 +1053,7 @@ int intel_overlay_put_image(struct drm_device *dev, void *data, +@@ -1053,7 +1053,7 @@ int intel_overlay_put_image(struct drm_d return ret; } @@ -240,7 +216,7 @@ index 8d6d0a1bf5bf..a98a990fbab3 100644 if (!params) return -ENOMEM; -@@ -1320,7 +1320,7 @@ void intel_setup_overlay(struct drm_device *dev) +@@ -1320,7 +1320,7 @@ void intel_setup_overlay(struct drm_devi if (!HAS_OVERLAY(dev)) return; @@ -249,11 +225,9 @@ index 8d6d0a1bf5bf..a98a990fbab3 100644 if (!overlay) return; -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 4692f8cb7724..d27eda661548 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -370,7 +370,7 @@ static void intel_enable_fbc(struct drm_crtc *crtc, unsigned long interval) +@@ -370,7 +370,7 @@ static void intel_enable_fbc(struct drm_ intel_cancel_fbc_work(dev_priv); @@ -262,11 +236,9 @@ index 4692f8cb7724..d27eda661548 100644 if (work == NULL) { DRM_ERROR("Failed to allocate FBC work structure\n"); dev_priv->display.enable_fbc(crtc, interval); -diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c -index 91aea9e1ab6f..d8040e8a68b5 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c -@@ -2397,7 +2397,7 @@ intel_sdvo_dvi_init(struct intel_sdvo *intel_sdvo, int device) +@@ -2397,7 +2397,7 @@ intel_sdvo_dvi_init(struct intel_sdvo *i struct intel_connector *intel_connector; struct intel_sdvo_connector *intel_sdvo_connector; @@ -275,7 +247,7 @@ index 91aea9e1ab6f..d8040e8a68b5 100644 if (!intel_sdvo_connector) return false; -@@ -2445,7 +2445,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) +@@ -2445,7 +2445,7 @@ intel_sdvo_tv_init(struct intel_sdvo *in struct intel_connector *intel_connector; struct intel_sdvo_connector *intel_sdvo_connector; @@ -284,7 +256,7 @@ index 91aea9e1ab6f..d8040e8a68b5 100644 if (!intel_sdvo_connector) return false; -@@ -2482,7 +2482,7 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device) +@@ -2482,7 +2482,7 @@ intel_sdvo_analog_init(struct intel_sdvo struct intel_connector *intel_connector; struct intel_sdvo_connector *intel_sdvo_connector; @@ -293,7 +265,7 @@ index 91aea9e1ab6f..d8040e8a68b5 100644 if (!intel_sdvo_connector) return false; -@@ -2513,7 +2513,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) +@@ -2513,7 +2513,7 @@ intel_sdvo_lvds_init(struct intel_sdvo * struct intel_connector *intel_connector; struct intel_sdvo_connector *intel_sdvo_connector; @@ -302,7 +274,7 @@ index 91aea9e1ab6f..d8040e8a68b5 100644 if (!intel_sdvo_connector) return false; -@@ -2879,7 +2879,7 @@ bool intel_sdvo_init(struct drm_device *dev, uint32_t sdvo_reg, bool is_sdvob) +@@ -2879,7 +2879,7 @@ bool intel_sdvo_init(struct drm_device * struct intel_encoder *intel_encoder; struct intel_sdvo *intel_sdvo; int i; @@ -311,11 +283,9 @@ index 91aea9e1ab6f..d8040e8a68b5 100644 if (!intel_sdvo) return false; -diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c -index 231b289e8e57..cae10bc746d0 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c -@@ -1034,7 +1034,7 @@ intel_plane_init(struct drm_device *dev, enum pipe pipe, int plane) +@@ -1034,7 +1034,7 @@ intel_plane_init(struct drm_device *dev, if (INTEL_INFO(dev)->gen < 5) return -ENODEV; @@ -324,8 +294,6 @@ index 231b289e8e57..cae10bc746d0 100644 if (!intel_plane) return -ENOMEM; -diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c -index dd6f84bf6c22..e6e93ce34f7b 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c @@ -1590,12 +1590,12 @@ intel_tv_init(struct drm_device *dev) @@ -343,6 +311,3 @@ index dd6f84bf6c22..e6e93ce34f7b 100644 if (!intel_connector) { kfree(intel_tv); return; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0911-drm-i915-Fix-unclaimed-register-access-due-to-delaye.patch b/patches.baytrail/0911-drm-i915-Fix-unclaimed-register-access-due-to-delaye.patch index b57afdbfbd9446..0446bafa745732 100644 --- a/patches.baytrail/0911-drm-i915-Fix-unclaimed-register-access-due-to-delaye.patch +++ b/patches.baytrail/0911-drm-i915-Fix-unclaimed-register-access-due-to-delaye.patch @@ -51,14 +51,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit ce352550327b394f3072a07c9cd9d27af9276f15) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 8 +++++++- + drivers/gpu/drm/i915/i915_dma.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index b387c6b2af75..954ea301047d 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1326,13 +1326,18 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1334,13 +1334,18 @@ static int i915_load_modeset_init(struct intel_init_power_well(dev); @@ -78,7 +76,7 @@ index b387c6b2af75..954ea301047d 100644 ret = intel_fbdev_init(dev); if (ret) -@@ -1358,6 +1363,7 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1366,6 +1371,7 @@ static int i915_load_modeset_init(struct * vgacon_save_screen() works during the handover. */ i915_disable_vga_mem(dev); @@ -86,6 +84,3 @@ index b387c6b2af75..954ea301047d 100644 /* Only enable hotplug handling once the fbdev is fully set up. */ dev_priv->enable_hotplug_processing = true; --- -1.8.5.rc3 - diff --git a/patches.baytrail/0913-drm-i915-Move-power-well-init-earlier-during-driver-.patch b/patches.baytrail/0913-drm-i915-Move-power-well-init-earlier-during-driver-.patch index a49ba837d527fe..69ce8a847e9e2d 100644 --- a/patches.baytrail/0913-drm-i915-Move-power-well-init-earlier-during-driver-.patch +++ b/patches.baytrail/0913-drm-i915-Move-power-well-init-earlier-during-driver-.patch @@ -16,14 +16,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit a14853206517b0c8102accbc77401805a0dbdb9e) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 15 ++++++++------- + drivers/gpu/drm/i915/i915_dma.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 954ea301047d..b435414f85a4 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1314,21 +1314,21 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1322,21 +1322,21 @@ static int i915_load_modeset_init(struct if (ret) goto cleanup_gem_stolen; @@ -51,7 +49,7 @@ index 954ea301047d..b435414f85a4 100644 intel_modeset_gem_init(dev); /* Always safe in the mode setting case. */ -@@ -1379,7 +1379,8 @@ cleanup_gem: +@@ -1387,7 +1387,8 @@ cleanup_gem: mutex_unlock(&dev->struct_mutex); i915_gem_cleanup_aliasing_ppgtt(dev); drm_mm_takedown(&dev_priv->gtt.base.mm); @@ -61,6 +59,3 @@ index 954ea301047d..b435414f85a4 100644 drm_irq_uninstall(dev); cleanup_gem_stolen: i915_gem_cleanup_stolen(dev); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0921-drm-i915-Delay-the-release-of-the-forcewake-by-a-jif.patch b/patches.baytrail/0921-drm-i915-Delay-the-release-of-the-forcewake-by-a-jif.patch index 1ac8639832008a..e32d47575ca02d 100644 --- a/patches.baytrail/0921-drm-i915-Delay-the-release-of-the-forcewake-by-a-jif.patch +++ b/patches.baytrail/0921-drm-i915-Delay-the-release-of-the-forcewake-by-a-jif.patch @@ -33,16 +33,14 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit aec347ab197ec064d1e98b52717d968521a62929) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 6 ++++-- - drivers/gpu/drm/i915/i915_drv.h | 3 +++ - drivers/gpu/drm/i915/intel_uncore.c | 33 +++++++++++++++++++++++++++++++-- + drivers/gpu/drm/i915/i915_dma.c | 6 ++++-- + drivers/gpu/drm/i915/i915_drv.h | 3 +++ + drivers/gpu/drm/i915/intel_uncore.c | 33 +++++++++++++++++++++++++++++++-- 3 files changed, 38 insertions(+), 4 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index b435414f85a4..1ef50e154f7c 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1792,8 +1792,6 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1800,8 +1800,6 @@ int i915_driver_unload(struct drm_device list_del(&dev_priv->gtt.base.global_link); WARN_ON(!list_empty(&dev_priv->vm_list)); drm_mm_takedown(&dev_priv->gtt.base.mm); @@ -51,7 +49,7 @@ index b435414f85a4..1ef50e154f7c 100644 intel_teardown_gmbus(dev); intel_teardown_mchbar(dev); -@@ -1803,6 +1801,10 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1811,6 +1809,10 @@ int i915_driver_unload(struct drm_device dev_priv->gtt.base.cleanup(&dev_priv->gtt.base); @@ -62,8 +60,6 @@ index b435414f85a4..1ef50e154f7c 100644 if (dev_priv->slab) kmem_cache_destroy(dev_priv->slab); -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index bbe889dfc0ff..662c0ff0b049 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -408,6 +408,8 @@ struct intel_uncore { @@ -75,7 +71,7 @@ index bbe889dfc0ff..662c0ff0b049 100644 }; #define DEV_INFO_FOR_EACH_FLAG(func, sep) \ -@@ -1801,6 +1803,7 @@ extern void intel_uncore_early_sanitize(struct drm_device *dev); +@@ -1801,6 +1803,7 @@ extern void intel_uncore_early_sanitize( extern void intel_uncore_init(struct drm_device *dev); extern void intel_uncore_clear_errors(struct drm_device *dev); extern void intel_uncore_check_errors(struct drm_device *dev); @@ -83,11 +79,9 @@ index bbe889dfc0ff..662c0ff0b049 100644 void i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask); -diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c -index 8649f1c36b00..f2753d9fb098 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c -@@ -204,6 +204,18 @@ static void vlv_force_wake_put(struct drm_i915_private *dev_priv) +@@ -204,6 +204,18 @@ static void vlv_force_wake_put(struct dr gen6_gt_check_fifodbg(dev_priv); } @@ -106,7 +100,7 @@ index 8649f1c36b00..f2753d9fb098 100644 void intel_uncore_early_sanitize(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; -@@ -216,6 +228,9 @@ void intel_uncore_init(struct drm_device *dev) +@@ -216,6 +228,9 @@ void intel_uncore_init(struct drm_device { struct drm_i915_private *dev_priv = dev->dev_private; @@ -116,7 +110,7 @@ index 8649f1c36b00..f2753d9fb098 100644 if (IS_VALLEYVIEW(dev)) { dev_priv->uncore.funcs.force_wake_get = vlv_force_wake_get; dev_priv->uncore.funcs.force_wake_put = vlv_force_wake_put; -@@ -261,6 +276,16 @@ void intel_uncore_init(struct drm_device *dev) +@@ -261,6 +276,16 @@ void intel_uncore_init(struct drm_device } } @@ -133,7 +127,7 @@ index 8649f1c36b00..f2753d9fb098 100644 static void intel_uncore_forcewake_reset(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; -@@ -306,8 +331,12 @@ void gen6_gt_force_wake_put(struct drm_i915_private *dev_priv) +@@ -306,8 +331,12 @@ void gen6_gt_force_wake_put(struct drm_i unsigned long irqflags; spin_lock_irqsave(&dev_priv->uncore.lock, irqflags); @@ -148,6 +142,3 @@ index 8649f1c36b00..f2753d9fb098 100644 spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags); } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0934-drm-i915-Convert-active-API-to-VMA.patch b/patches.baytrail/0934-drm-i915-Convert-active-API-to-VMA.patch index 6fadc80876364c..52d05db5aef836 100644 --- a/patches.baytrail/0934-drm-i915-Convert-active-API-to-VMA.patch +++ b/patches.baytrail/0934-drm-i915-Convert-active-API-to-VMA.patch @@ -20,17 +20,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit e2d05a8b1e4a7f6feae89a59543b1edbece1bda3) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_drv.h | 5 ++--- - drivers/gpu/drm/i915/i915_gem.c | 9 ++++++++- - drivers/gpu/drm/i915/i915_gem_context.c | 5 +---- - drivers/gpu/drm/i915/i915_gem_execbuffer.c | 3 +-- + drivers/gpu/drm/i915/i915_drv.h | 5 ++--- + drivers/gpu/drm/i915/i915_gem.c | 9 ++++++++- + drivers/gpu/drm/i915/i915_gem_context.c | 5 +---- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 3 +-- 4 files changed, 12 insertions(+), 10 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index a3d43b25e1d9..7ccb0cd35474 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h -@@ -1905,9 +1905,8 @@ static inline void i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj) +@@ -1905,9 +1905,8 @@ static inline void i915_gem_object_unpin int __must_check i915_mutex_lock_interruptible(struct drm_device *dev); int i915_gem_object_sync(struct drm_i915_gem_object *obj, struct intel_ring_buffer *to); @@ -42,11 +40,9 @@ index a3d43b25e1d9..7ccb0cd35474 100644 int i915_gem_dumb_create(struct drm_file *file_priv, struct drm_device *dev, struct drm_mode_create_dumb *args); -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 6b134f08c93e..f6c8b0ed056c 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -1910,7 +1910,7 @@ i915_gem_object_get_pages(struct drm_i915_gem_object *obj) +@@ -1910,7 +1910,7 @@ i915_gem_object_get_pages(struct drm_i91 return 0; } @@ -55,7 +51,7 @@ index 6b134f08c93e..f6c8b0ed056c 100644 i915_gem_object_move_to_active(struct drm_i915_gem_object *obj, struct intel_ring_buffer *ring) { -@@ -1949,6 +1949,13 @@ i915_gem_object_move_to_active(struct drm_i915_gem_object *obj, +@@ -1949,6 +1949,13 @@ i915_gem_object_move_to_active(struct dr } } @@ -69,11 +65,9 @@ index 6b134f08c93e..f6c8b0ed056c 100644 static void i915_gem_object_move_to_inactive(struct drm_i915_gem_object *obj) { -diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c -index 9af3fe7e42b0..1a877a547290 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -453,11 +453,8 @@ static int do_switch(struct i915_hw_context *to) +@@ -451,11 +451,8 @@ static int do_switch(struct i915_hw_cont * MI_SET_CONTEXT instead of when the next seqno has completed. */ if (from != NULL) { @@ -86,11 +80,9 @@ index 9af3fe7e42b0..1a877a547290 100644 /* As long as MI_SET_CONTEXT is serializing, ie. it flushes the * whole damn pipeline, we don't need to explicitly mark the * object dirty. The only exception is that the context must be -diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -index da23cfe3902b..0ce0d47e4b0f 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c -@@ -872,8 +872,7 @@ i915_gem_execbuffer_move_to_active(struct list_head *vmas, +@@ -872,8 +872,7 @@ i915_gem_execbuffer_move_to_active(struc obj->base.read_domains = obj->base.pending_read_domains; obj->fenced_gpu_access = obj->pending_fenced_gpu_access; @@ -100,6 +92,3 @@ index da23cfe3902b..0ce0d47e4b0f 100644 if (obj->base.write_domain) { obj->dirty = 1; obj->last_write_seqno = intel_ring_get_seqno(ring); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0960-drm-i915-destroy-connector-sysfs-files-earlier.patch b/patches.baytrail/0960-drm-i915-destroy-connector-sysfs-files-earlier.patch index 9aa34e319d5b28..e3567398538fdc 100644 --- a/patches.baytrail/0960-drm-i915-destroy-connector-sysfs-files-earlier.patch +++ b/patches.baytrail/0960-drm-i915-destroy-connector-sysfs-files-earlier.patch @@ -36,22 +36,20 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit d9255d57147e1dbcebdf6670409c2fa0ac3609e6) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/intel_crt.c | 1 - - drivers/gpu/drm/i915/intel_display.c | 5 +++++ - drivers/gpu/drm/i915/intel_dp.c | 1 - - drivers/gpu/drm/i915/intel_dsi.c | 1 - - drivers/gpu/drm/i915/intel_dvo.c | 1 - - drivers/gpu/drm/i915/intel_hdmi.c | 1 - - drivers/gpu/drm/i915/intel_lvds.c | 1 - - drivers/gpu/drm/i915/intel_sdvo.c | 7 +++++-- - drivers/gpu/drm/i915/intel_tv.c | 1 - + drivers/gpu/drm/i915/intel_crt.c | 1 - + drivers/gpu/drm/i915/intel_display.c | 5 +++++ + drivers/gpu/drm/i915/intel_dp.c | 1 - + drivers/gpu/drm/i915/intel_dsi.c | 1 - + drivers/gpu/drm/i915/intel_dvo.c | 1 - + drivers/gpu/drm/i915/intel_hdmi.c | 1 - + drivers/gpu/drm/i915/intel_lvds.c | 1 - + drivers/gpu/drm/i915/intel_sdvo.c | 7 +++++-- + drivers/gpu/drm/i915/intel_tv.c | 1 - 9 files changed, 10 insertions(+), 9 deletions(-) -diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c -index 0263629332d0..942b9acb0d8e 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c -@@ -677,7 +677,6 @@ intel_crt_detect(struct drm_connector *connector, bool force) +@@ -677,7 +677,6 @@ intel_crt_detect(struct drm_connector *c static void intel_crt_destroy(struct drm_connector *connector) { @@ -59,11 +57,9 @@ index 0263629332d0..942b9acb0d8e 100644 drm_connector_cleanup(connector); kfree(connector); } -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 925d69044878..c1a51399b9ec 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -10727,6 +10727,7 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -10729,6 +10729,7 @@ void intel_modeset_cleanup(struct drm_de { struct drm_i915_private *dev_priv = dev->dev_private; struct drm_crtc *crtc; @@ -71,7 +67,7 @@ index 925d69044878..c1a51399b9ec 100644 /* * Interrupts and polling as the first thing to avoid creating havoc. -@@ -10769,6 +10770,10 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -10771,6 +10772,10 @@ void intel_modeset_cleanup(struct drm_de /* destroy backlight, if any, before the connectors */ intel_panel_destroy_backlight(dev); @@ -82,11 +78,9 @@ index 925d69044878..c1a51399b9ec 100644 drm_mode_config_cleanup(dev); intel_cleanup_overlay(dev); -diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c -index d1ba44294f3a..8dff9b1c919e 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c -@@ -3197,7 +3197,6 @@ intel_dp_connector_destroy(struct drm_connector *connector) +@@ -3197,7 +3197,6 @@ intel_dp_connector_destroy(struct drm_co if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) intel_panel_fini(&intel_connector->panel); @@ -94,11 +88,9 @@ index d1ba44294f3a..8dff9b1c919e 100644 drm_connector_cleanup(connector); kfree(connector); } -diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c -index 674fd4989b45..9a2fdd2a7e34 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c -@@ -504,7 +504,6 @@ static void intel_dsi_destroy(struct drm_connector *connector) +@@ -504,7 +504,6 @@ static void intel_dsi_destroy(struct drm DRM_DEBUG_KMS("\n"); intel_panel_fini(&intel_connector->panel); @@ -106,11 +98,9 @@ index 674fd4989b45..9a2fdd2a7e34 100644 drm_connector_cleanup(connector); kfree(connector); } -diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c -index 91287d1d3059..1b64145c669a 100644 --- a/drivers/gpu/drm/i915/intel_dvo.c +++ b/drivers/gpu/drm/i915/intel_dvo.c -@@ -367,7 +367,6 @@ static int intel_dvo_get_modes(struct drm_connector *connector) +@@ -367,7 +367,6 @@ static int intel_dvo_get_modes(struct dr static void intel_dvo_destroy(struct drm_connector *connector) { @@ -118,11 +108,9 @@ index 91287d1d3059..1b64145c669a 100644 drm_connector_cleanup(connector); kfree(connector); } -diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c -index 6004f9c549aa..4f4d346db8f0 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c -@@ -1181,7 +1181,6 @@ static void intel_hdmi_post_disable(struct intel_encoder *encoder) +@@ -1181,7 +1181,6 @@ static void intel_hdmi_post_disable(stru static void intel_hdmi_destroy(struct drm_connector *connector) { @@ -130,11 +118,9 @@ index 6004f9c549aa..4f4d346db8f0 100644 drm_connector_cleanup(connector); kfree(connector); } -diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c -index 4986aff3827d..b0ef55833087 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c -@@ -474,7 +474,6 @@ static void intel_lvds_destroy(struct drm_connector *connector) +@@ -474,7 +474,6 @@ static void intel_lvds_destroy(struct dr intel_panel_fini(&lvds_connector->base.panel); @@ -142,11 +128,9 @@ index 4986aff3827d..b0ef55833087 100644 drm_connector_cleanup(connector); kfree(connector); } -diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c -index 5e59d64cfd95..a583e8f718a7 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c -@@ -2009,7 +2009,6 @@ static void intel_sdvo_destroy(struct drm_connector *connector) +@@ -2009,7 +2009,6 @@ static void intel_sdvo_destroy(struct dr intel_sdvo_connector->tv_format); intel_sdvo_destroy_enhance_property(connector); @@ -154,7 +138,7 @@ index 5e59d64cfd95..a583e8f718a7 100644 drm_connector_cleanup(connector); kfree(intel_sdvo_connector); } -@@ -2482,6 +2481,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type) +@@ -2482,6 +2481,7 @@ intel_sdvo_tv_init(struct intel_sdvo *in return true; err: @@ -162,7 +146,7 @@ index 5e59d64cfd95..a583e8f718a7 100644 intel_sdvo_destroy(connector); return false; } -@@ -2553,6 +2553,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) +@@ -2553,6 +2553,7 @@ intel_sdvo_lvds_init(struct intel_sdvo * return true; err: @@ -170,7 +154,7 @@ index 5e59d64cfd95..a583e8f718a7 100644 intel_sdvo_destroy(connector); return false; } -@@ -2624,8 +2625,10 @@ static void intel_sdvo_output_cleanup(struct intel_sdvo *intel_sdvo) +@@ -2624,8 +2625,10 @@ static void intel_sdvo_output_cleanup(st list_for_each_entry_safe(connector, tmp, &dev->mode_config.connector_list, head) { @@ -182,11 +166,9 @@ index 5e59d64cfd95..a583e8f718a7 100644 } } -diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c -index 75925a1ab351..92895f92a738 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c -@@ -1433,7 +1433,6 @@ intel_tv_get_modes(struct drm_connector *connector) +@@ -1433,7 +1433,6 @@ intel_tv_get_modes(struct drm_connector static void intel_tv_destroy(struct drm_connector *connector) { @@ -194,6 +176,3 @@ index 75925a1ab351..92895f92a738 100644 drm_connector_cleanup(connector); kfree(connector); } --- -1.8.5.rc3 - diff --git a/patches.baytrail/0968-drm-i915-Add-some-missing-steps-to-i915_driver_load-.patch b/patches.baytrail/0968-drm-i915-Add-some-missing-steps-to-i915_driver_load-.patch index 4995676cc22e22..f121012b57e3e7 100644 --- a/patches.baytrail/0968-drm-i915-Add-some-missing-steps-to-i915_driver_load-.patch +++ b/patches.baytrail/0968-drm-i915-Add-some-missing-steps-to-i915_driver_load-.patch @@ -13,14 +13,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit cbb47d179fb345c579cd8cd884693903fceed26a) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 19 +++++++++++++++---- + drivers/gpu/drm/i915/i915_dma.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 1ef50e154f7c..901fda3e4dfd 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1561,7 +1561,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1569,7 +1569,7 @@ int i915_driver_load(struct drm_device * ret = i915_gem_gtt_init(dev); if (ret) @@ -29,7 +27,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644 if (drm_core_check_feature(dev, DRIVER_MODESET)) i915_kick_out_firmware_fb(dev_priv); -@@ -1590,7 +1590,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1598,7 +1598,7 @@ int i915_driver_load(struct drm_device * aperture_size); if (dev_priv->gtt.mappable == NULL) { ret = -EIO; @@ -38,7 +36,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644 } dev_priv->gtt.mtrr = arch_phys_wc_add(dev_priv->gtt.mappable_base, -@@ -1664,7 +1664,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1672,7 +1672,7 @@ int i915_driver_load(struct drm_device * ret = i915_load_modeset_init(dev); if (ret < 0) { DRM_ERROR("failed to init modeset\n"); @@ -47,7 +45,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644 } } else { /* Start out suspended in ums mode. */ -@@ -1684,6 +1684,10 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1692,6 +1692,10 @@ int i915_driver_load(struct drm_device * return 0; @@ -58,7 +56,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644 out_gem_unload: if (dev_priv->mm.inactive_shrinker.shrink) unregister_shrinker(&dev_priv->mm.inactive_shrinker); -@@ -1697,12 +1701,17 @@ out_gem_unload: +@@ -1705,12 +1709,17 @@ out_gem_unload: out_mtrrfree: arch_phys_wc_del(dev_priv->gtt.mtrr); io_mapping_free(dev_priv->gtt.mappable); @@ -77,7 +75,7 @@ index 1ef50e154f7c..901fda3e4dfd 100644 kfree(dev_priv); return ret; } -@@ -1793,6 +1802,8 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1801,6 +1810,8 @@ int i915_driver_unload(struct drm_device WARN_ON(!list_empty(&dev_priv->vm_list)); drm_mm_takedown(&dev_priv->gtt.base.mm); @@ -86,6 +84,3 @@ index 1ef50e154f7c..901fda3e4dfd 100644 intel_teardown_gmbus(dev); intel_teardown_mchbar(dev); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0970-drm-i915-Boost-RPS-frequency-for-CPU-stalls.patch b/patches.baytrail/0970-drm-i915-Boost-RPS-frequency-for-CPU-stalls.patch index 7136980e449dc0..9af81bf16d9e39 100644 --- a/patches.baytrail/0970-drm-i915-Boost-RPS-frequency-for-CPU-stalls.patch +++ b/patches.baytrail/0970-drm-i915-Boost-RPS-frequency-for-CPU-stalls.patch @@ -72,25 +72,24 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit b29c19b645287f7062e17d70fa4e9781a01a5d88) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 16 ++--- - drivers/gpu/drm/i915/i915_drv.h | 19 +++-- - drivers/gpu/drm/i915/i915_gem.c | 135 ++++++++++++++++++++++++----------- - drivers/gpu/drm/i915/i915_irq.c | 11 --- - drivers/gpu/drm/i915/intel_display.c | 3 + - drivers/gpu/drm/i915/intel_drv.h | 3 + - drivers/gpu/drm/i915/intel_pm.c | 42 ++++++----- + drivers/gpu/drm/i915/i915_dma.c | 16 +--- + drivers/gpu/drm/i915/i915_drv.h | 19 +++- + drivers/gpu/drm/i915/i915_gem.c | 135 ++++++++++++++++++++++++----------- + drivers/gpu/drm/i915/i915_irq.c | 11 -- + drivers/gpu/drm/i915/intel_display.c | 3 + drivers/gpu/drm/i915/intel_drv.h | 3 + drivers/gpu/drm/i915/intel_pm.c | 42 +++++----- 7 files changed, 138 insertions(+), 91 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 901fda3e4dfd..513a4feb3137 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1827,19 +1827,11 @@ int i915_driver_unload(struct drm_device *dev) +@@ -1835,19 +1835,11 @@ int i915_driver_unload(struct drm_device int i915_driver_open(struct drm_device *dev, struct drm_file *file) { - struct drm_i915_file_private *file_priv; -- ++ int ret; + - DRM_DEBUG_DRIVER("\n"); - file_priv = kzalloc(sizeof(*file_priv), GFP_KERNEL); - if (!file_priv) @@ -100,8 +99,7 @@ index 901fda3e4dfd..513a4feb3137 100644 - - spin_lock_init(&file_priv->mm.lock); - INIT_LIST_HEAD(&file_priv->mm.request_list); -+ int ret; - +- - idr_init(&file_priv->context_idr); + ret = i915_gem_open(dev, file); + if (ret) @@ -109,8 +107,6 @@ index 901fda3e4dfd..513a4feb3137 100644 return 0; } -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 79bbcf925e4a..d1c6b92edae0 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -844,9 +844,6 @@ struct intel_gen6_power_mgmt { @@ -157,7 +153,7 @@ index 79bbcf925e4a..d1c6b92edae0 100644 }; #define INTEL_INFO(dev) (to_i915(dev)->info) -@@ -1953,7 +1963,7 @@ i915_gem_object_unpin_fence(struct drm_i915_gem_object *obj) +@@ -1953,7 +1963,7 @@ i915_gem_object_unpin_fence(struct drm_i } } @@ -166,7 +162,7 @@ index 79bbcf925e4a..d1c6b92edae0 100644 void i915_gem_retire_requests_ring(struct intel_ring_buffer *ring); int __must_check i915_gem_check_wedge(struct i915_gpu_error *error, bool interruptible); -@@ -2004,6 +2014,7 @@ int i915_gem_attach_phys_object(struct drm_device *dev, +@@ -2004,6 +2014,7 @@ int i915_gem_attach_phys_object(struct d void i915_gem_detach_phys_object(struct drm_device *dev, struct drm_i915_gem_object *obj); void i915_gem_free_all_phys_object(struct drm_device *dev); @@ -174,11 +170,9 @@ index 79bbcf925e4a..d1c6b92edae0 100644 void i915_gem_release(struct drm_device *dev, struct drm_file *file); uint32_t -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 6ee80f4e80ce..052280840f99 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -980,6 +980,14 @@ static bool missed_irq(struct drm_i915_private *dev_priv, +@@ -980,6 +980,14 @@ static bool missed_irq(struct drm_i915_p return test_bit(ring->id, &dev_priv->gpu_error.missed_irq_rings); } @@ -193,7 +187,7 @@ index 6ee80f4e80ce..052280840f99 100644 /** * __wait_seqno - wait until execution of seqno has finished * @ring: the ring expected to report seqno -@@ -1000,7 +1008,9 @@ static bool missed_irq(struct drm_i915_private *dev_priv, +@@ -1000,7 +1008,9 @@ static bool missed_irq(struct drm_i915_p */ static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno, unsigned reset_counter, @@ -204,7 +198,7 @@ index 6ee80f4e80ce..052280840f99 100644 { drm_i915_private_t *dev_priv = ring->dev->dev_private; struct timespec before, now; -@@ -1015,6 +1025,14 @@ static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno, +@@ -1015,6 +1025,14 @@ static int __wait_seqno(struct intel_rin timeout_jiffies = timeout ? timespec_to_jiffies_timeout(timeout) : 1; @@ -219,7 +213,7 @@ index 6ee80f4e80ce..052280840f99 100644 if (!(dev_priv->gpu_error.test_irq_rings & intel_ring_flag(ring)) && WARN_ON(!ring->irq_get(ring))) return -ENODEV; -@@ -1114,7 +1132,7 @@ i915_wait_seqno(struct intel_ring_buffer *ring, uint32_t seqno) +@@ -1114,7 +1132,7 @@ i915_wait_seqno(struct intel_ring_buffer return __wait_seqno(ring, seqno, atomic_read(&dev_priv->gpu_error.reset_counter), @@ -228,7 +222,7 @@ index 6ee80f4e80ce..052280840f99 100644 } static int -@@ -1164,6 +1182,7 @@ i915_gem_object_wait_rendering(struct drm_i915_gem_object *obj, +@@ -1164,6 +1182,7 @@ i915_gem_object_wait_rendering(struct dr */ static __must_check int i915_gem_object_wait_rendering__nonblocking(struct drm_i915_gem_object *obj, @@ -236,7 +230,7 @@ index 6ee80f4e80ce..052280840f99 100644 bool readonly) { struct drm_device *dev = obj->base.dev; -@@ -1190,7 +1209,7 @@ i915_gem_object_wait_rendering__nonblocking(struct drm_i915_gem_object *obj, +@@ -1190,7 +1209,7 @@ i915_gem_object_wait_rendering__nonblock reset_counter = atomic_read(&dev_priv->gpu_error.reset_counter); mutex_unlock(&dev->struct_mutex); @@ -245,7 +239,7 @@ index 6ee80f4e80ce..052280840f99 100644 mutex_lock(&dev->struct_mutex); if (ret) return ret; -@@ -1239,7 +1258,7 @@ i915_gem_set_domain_ioctl(struct drm_device *dev, void *data, +@@ -1239,7 +1258,7 @@ i915_gem_set_domain_ioctl(struct drm_dev * We will repeat the flush holding the lock in the normal manner * to catch cases where we are gazumped. */ @@ -254,7 +248,7 @@ index 6ee80f4e80ce..052280840f99 100644 if (ret) goto unref; -@@ -2155,6 +2174,7 @@ int __i915_add_request(struct intel_ring_buffer *ring, +@@ -2155,6 +2174,7 @@ int __i915_add_request(struct intel_ring i915_queue_hangcheck(ring->dev); if (was_empty) { @@ -262,7 +256,7 @@ index 6ee80f4e80ce..052280840f99 100644 queue_delayed_work(dev_priv->wq, &dev_priv->mm.retire_work, round_jiffies_up_relative(HZ)); -@@ -2176,10 +2196,8 @@ i915_gem_request_remove_from_client(struct drm_i915_gem_request *request) +@@ -2176,10 +2196,8 @@ i915_gem_request_remove_from_client(stru return; spin_lock(&file_priv->mm.lock); @@ -275,7 +269,7 @@ index 6ee80f4e80ce..052280840f99 100644 spin_unlock(&file_priv->mm.lock); } -@@ -2443,57 +2461,53 @@ i915_gem_retire_requests_ring(struct intel_ring_buffer *ring) +@@ -2443,57 +2461,53 @@ i915_gem_retire_requests_ring(struct int WARN_ON(i915_verify_lists(ring->dev)); } @@ -361,7 +355,7 @@ index 6ee80f4e80ce..052280840f99 100644 } /** -@@ -2591,7 +2605,7 @@ i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file) +@@ -2591,7 +2605,7 @@ i915_gem_wait_ioctl(struct drm_device *d reset_counter = atomic_read(&dev_priv->gpu_error.reset_counter); mutex_unlock(&dev->struct_mutex); @@ -370,7 +364,7 @@ index 6ee80f4e80ce..052280840f99 100644 if (timeout) args->timeout_ns = timespec_to_ns(timeout); return ret; -@@ -3802,7 +3816,7 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file) +@@ -3802,7 +3816,7 @@ i915_gem_ring_throttle(struct drm_device if (seqno == 0) return 0; @@ -396,7 +390,7 @@ index 6ee80f4e80ce..052280840f99 100644 init_waitqueue_head(&dev_priv->gpu_error.reset_queue); /* On GEN3 we really need to make sure the ARB C3 LP bit is set */ -@@ -4828,6 +4845,8 @@ void i915_gem_release(struct drm_device *dev, struct drm_file *file) +@@ -4828,6 +4845,8 @@ void i915_gem_release(struct drm_device { struct drm_i915_file_private *file_priv = file->driver_priv; @@ -405,7 +399,7 @@ index 6ee80f4e80ce..052280840f99 100644 /* Clean up our request list when the client is going away, so that * later retire_requests won't dereference our soon-to-be-gone * file_priv. -@@ -4845,6 +4864,38 @@ void i915_gem_release(struct drm_device *dev, struct drm_file *file) +@@ -4845,6 +4864,38 @@ void i915_gem_release(struct drm_device spin_unlock(&file_priv->mm.lock); } @@ -444,11 +438,9 @@ index 6ee80f4e80ce..052280840f99 100644 static bool mutex_is_locked_by(struct mutex *mutex, struct task_struct *task) { if (!mutex_is_locked(mutex)) -diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c -index 05c05a6a4360..6ee557280e11 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -859,17 +859,6 @@ static void gen6_pm_rps_work(struct work_struct *work) +@@ -859,17 +859,6 @@ static void gen6_pm_rps_work(struct work gen6_set_rps(dev_priv->dev, new_delay); } @@ -466,11 +458,9 @@ index 05c05a6a4360..6ee557280e11 100644 mutex_unlock(&dev_priv->rps.hw_lock); } -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 3e2c6a464b91..b41c1592ffda 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -7726,6 +7726,9 @@ void intel_mark_idle(struct drm_device *dev) +@@ -7726,6 +7726,9 @@ void intel_mark_idle(struct drm_device * intel_decrease_pllclock(crtc); } @@ -480,11 +470,9 @@ index 3e2c6a464b91..b41c1592ffda 100644 } void intel_mark_fb_busy(struct drm_i915_gem_object *obj, -diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index e6db0c67e0be..922c5d752cc3 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -825,4 +825,7 @@ int intel_sprite_get_colorkey(struct drm_device *dev, void *data, +@@ -825,4 +825,7 @@ int intel_sprite_get_colorkey(struct drm /* intel_tv.c */ void intel_tv_init(struct drm_device *dev); @@ -492,11 +480,9 @@ index e6db0c67e0be..922c5d752cc3 100644 +void gen6_rps_boost(struct drm_i915_private *dev_priv); + #endif /* __INTEL_DRV_H__ */ -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 9753bd9591eb..ca063c25ad32 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -3345,6 +3345,26 @@ void gen6_set_rps(struct drm_device *dev, u8 val) +@@ -3345,6 +3345,26 @@ void gen6_set_rps(struct drm_device *dev trace_intel_gpu_freq_change(val * 50); } @@ -523,7 +509,7 @@ index 9753bd9591eb..ca063c25ad32 100644 /* * Wait until the previous freq change has completed, * or the timeout elapsed, and then update our notion -@@ -3734,24 +3754,6 @@ int valleyview_rps_min_freq(struct drm_i915_private *dev_priv) +@@ -3734,24 +3754,6 @@ int valleyview_rps_min_freq(struct drm_i return vlv_punit_read(dev_priv, PUNIT_REG_GPU_LFM) & 0xff; } @@ -548,7 +534,7 @@ index 9753bd9591eb..ca063c25ad32 100644 static void valleyview_setup_pctx(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; -@@ -3894,8 +3896,6 @@ static void valleyview_enable_rps(struct drm_device *dev) +@@ -3894,8 +3896,6 @@ static void valleyview_enable_rps(struct dev_priv->rps.rpe_delay), dev_priv->rps.rpe_delay); @@ -557,7 +543,7 @@ index 9753bd9591eb..ca063c25ad32 100644 valleyview_set_rps(dev_priv->dev, dev_priv->rps.rpe_delay); gen6_enable_rps_interrupts(dev); -@@ -4635,8 +4635,6 @@ void intel_disable_gt_powersave(struct drm_device *dev) +@@ -4635,8 +4635,6 @@ void intel_disable_gt_powersave(struct d } else if (INTEL_INFO(dev)->gen >= 6) { cancel_delayed_work_sync(&dev_priv->rps.delayed_resume_work); cancel_work_sync(&dev_priv->rps.work); @@ -566,6 +552,3 @@ index 9753bd9591eb..ca063c25ad32 100644 mutex_lock(&dev_priv->rps.hw_lock); if (IS_VALLEYVIEW(dev)) valleyview_disable_rps(dev); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0992-drm-edid-add-drm_edid_duplicate.patch b/patches.baytrail/0992-drm-edid-add-drm_edid_duplicate.patch index 697a40c079b72c..b5fb2ff7145bb1 100644 --- a/patches.baytrail/0992-drm-edid-add-drm_edid_duplicate.patch +++ b/patches.baytrail/0992-drm-edid-add-drm_edid_duplicate.patch @@ -10,15 +10,13 @@ Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 51f8da5916f85c18b696f74f97970e5a7330147e) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_edid.c | 12 ++++++++++++ - include/drm/drm_crtc.h | 1 + + drivers/gpu/drm/drm_edid.c | 12 ++++++++++++ + include/drm/drm_crtc.h | 1 + 2 files changed, 13 insertions(+) -diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c -index 61fdd6b532fc..9494e596d99c 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c -@@ -1261,6 +1261,18 @@ struct edid *drm_get_edid(struct drm_connector *connector, +@@ -1266,6 +1266,18 @@ struct edid *drm_get_edid(struct drm_con } EXPORT_SYMBOL(drm_get_edid); @@ -37,11 +35,9 @@ index 61fdd6b532fc..9494e596d99c 100644 /*** EDID parsing ***/ /** -diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h -index 2743dad5fe88..b3cdbf6fc20b 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h -@@ -919,6 +919,7 @@ extern int drm_mode_group_init_legacy_group(struct drm_device *dev, struct drm_m +@@ -919,6 +919,7 @@ extern int drm_mode_group_init_legacy_gr extern bool drm_probe_ddc(struct i2c_adapter *adapter); extern struct edid *drm_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter); @@ -49,6 +45,3 @@ index 2743dad5fe88..b3cdbf6fc20b 100644 extern int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid); extern void drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode); extern void drm_mode_remove(struct drm_connector *connector, struct drm_display_mode *mode); --- -1.8.5.rc3 - diff --git a/patches.baytrail/0994-drm-Make-vblank_disable_allowed-bool.patch b/patches.baytrail/0994-drm-Make-vblank_disable_allowed-bool.patch index 884eb7865bb562..ab06391da54621 100644 --- a/patches.baytrail/0994-drm-Make-vblank_disable_allowed-bool.patch +++ b/patches.baytrail/0994-drm-Make-vblank_disable_allowed-bool.patch @@ -21,20 +21,18 @@ Conflicts: 'airlied/drm-next' into drm-intel-next")) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_irq.c | 5 +++-- - drivers/gpu/drm/exynos/exynos_drm_fimd.c | 4 ++-- - drivers/gpu/drm/exynos/exynos_drm_vidi.c | 4 ++-- - drivers/gpu/drm/gma500/psb_drv.c | 2 +- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - drivers/staging/imx-drm/imx-drm-core.c | 4 ++-- - include/drm/drmP.h | 2 +- + drivers/gpu/drm/drm_irq.c | 5 +++-- + drivers/gpu/drm/exynos/exynos_drm_fimd.c | 4 ++-- + drivers/gpu/drm/exynos/exynos_drm_vidi.c | 4 ++-- + drivers/gpu/drm/gma500/psb_drv.c | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 2 +- + drivers/staging/imx-drm/imx-drm-core.c | 4 ++-- + include/drm/drmP.h | 2 +- 7 files changed, 12 insertions(+), 11 deletions(-) -diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c -index f92da0a32f0d..81b4c84449a4 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c -@@ -271,7 +271,8 @@ int drm_vblank_init(struct drm_device *dev, int num_crtcs) +@@ -271,7 +271,8 @@ int drm_vblank_init(struct drm_device *d atomic_set(&dev->vblank_refcount[i], 0); } @@ -44,7 +42,7 @@ index f92da0a32f0d..81b4c84449a4 100644 return 0; err: -@@ -1085,7 +1086,7 @@ void drm_vblank_post_modeset(struct drm_device *dev, int crtc) +@@ -1085,7 +1086,7 @@ void drm_vblank_post_modeset(struct drm_ if (dev->vblank_inmodeset[crtc]) { spin_lock_irqsave(&dev->vbl_lock, irqflags); @@ -53,11 +51,9 @@ index f92da0a32f0d..81b4c84449a4 100644 spin_unlock_irqrestore(&dev->vbl_lock, irqflags); if (dev->vblank_inmodeset[crtc] & 0x2) -diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c -index 97c61dbffd82..2cb5b2ad07b3 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c -@@ -710,11 +710,11 @@ static int fimd_subdrv_probe(struct drm_device *drm_dev, struct device *dev) +@@ -710,11 +710,11 @@ static int fimd_subdrv_probe(struct drm_ drm_dev->irq_enabled = 1; /* @@ -71,11 +67,9 @@ index 97c61dbffd82..2cb5b2ad07b3 100644 /* attach this sub driver to iommu mapping if supported. */ if (is_drm_iommu_supported(drm_dev)) -diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c -index 24376c194a5e..51706119faa0 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c -@@ -420,11 +420,11 @@ static int vidi_subdrv_probe(struct drm_device *drm_dev, struct device *dev) +@@ -420,11 +420,11 @@ static int vidi_subdrv_probe(struct drm_ drm_dev->irq_enabled = 1; /* @@ -89,11 +83,9 @@ index 24376c194a5e..51706119faa0 100644 return 0; } -diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c -index 99b5293972c6..937ba40a8f9d 100644 --- a/drivers/gpu/drm/gma500/psb_drv.c +++ b/drivers/gpu/drm/gma500/psb_drv.c -@@ -359,7 +359,7 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset) +@@ -359,7 +359,7 @@ static int psb_driver_load(struct drm_de drm_irq_install(dev); @@ -102,11 +94,9 @@ index 99b5293972c6..937ba40a8f9d 100644 dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 513a4feb3137..0ac796a8d0f9 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1333,7 +1333,7 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -1341,7 +1341,7 @@ static int i915_load_modeset_init(struct /* Always safe in the mode setting case. */ /* FIXME: do pre/post-mode set stuff in core KMS code */ @@ -115,11 +105,9 @@ index 513a4feb3137..0ac796a8d0f9 100644 if (INTEL_INFO(dev)->num_pipes == 0) { intel_display_power_put(dev, POWER_DOMAIN_VGA); return 0; -diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c -index 33eb04e79dfe..11321147fc0b 100644 --- a/drivers/staging/imx-drm/imx-drm-core.c +++ b/drivers/staging/imx-drm/imx-drm-core.c -@@ -440,11 +440,11 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags) +@@ -440,11 +440,11 @@ static int imx_drm_driver_load(struct dr goto err_init; /* @@ -133,8 +121,6 @@ index 33eb04e79dfe..11321147fc0b 100644 ret = 0; -diff --git a/include/drm/drmP.h b/include/drm/drmP.h -index 4bad54c302f6..227292ae8736 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -1155,7 +1155,7 @@ struct drm_device { @@ -146,6 +132,3 @@ index 4bad54c302f6..227292ae8736 100644 wait_queue_head_t *vbl_queue; /**< VBLANK wait queue */ atomic_t *_vblank_count; /**< number of VBLANK interrupts (driver must alloc the right number of counters) */ --- -1.8.5.rc3 - diff --git a/patches.baytrail/1001-drm-Remove-pci_vendor-and-pci_device-from-struct-drm.patch b/patches.baytrail/1001-drm-Remove-pci_vendor-and-pci_device-from-struct-drm.patch index 32c339274cc88f..dade3beabc6849 100644 --- a/patches.baytrail/1001-drm-Remove-pci_vendor-and-pci_device-from-struct-drm.patch +++ b/patches.baytrail/1001-drm-Remove-pci_vendor-and-pci_device-from-struct-drm.patch @@ -16,29 +16,27 @@ Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit ffbab09bf939975b62ec233c426bf7df0dd4cea8) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_pci.c | 3 --- - drivers/gpu/drm/gma500/psb_drv.h | 8 +++---- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - drivers/gpu/drm/i915/i915_drv.h | 36 ++++++++++++++--------------- - drivers/gpu/drm/i915/i915_gpu_error.c | 2 +- - drivers/gpu/drm/i915/intel_tv.c | 2 +- - drivers/gpu/drm/nouveau/dispnv04/arb.c | 8 +++---- - drivers/gpu/drm/nouveau/dispnv04/dfp.c | 4 ++-- - drivers/gpu/drm/nouveau/dispnv04/disp.h | 6 ++--- - drivers/gpu/drm/nouveau/dispnv04/hw.c | 4 ++-- - drivers/gpu/drm/nouveau/nouveau_abi16.c | 4 ++-- - drivers/gpu/drm/nouveau/nouveau_bios.c | 4 ++-- - drivers/gpu/drm/nouveau/nouveau_connector.c | 4 ++-- - drivers/gpu/drm/radeon/radeon_bios.c | 6 ++--- - drivers/gpu/drm/radeon/radeon_kms.c | 2 +- - include/drm/drmP.h | 2 -- + drivers/gpu/drm/drm_pci.c | 3 -- + drivers/gpu/drm/gma500/psb_drv.h | 8 +++--- + drivers/gpu/drm/i915/i915_dma.c | 2 - + drivers/gpu/drm/i915/i915_drv.h | 36 ++++++++++++++-------------- + drivers/gpu/drm/i915/i915_gpu_error.c | 2 - + drivers/gpu/drm/i915/intel_tv.c | 2 - + drivers/gpu/drm/nouveau/dispnv04/arb.c | 8 +++--- + drivers/gpu/drm/nouveau/dispnv04/dfp.c | 4 +-- + drivers/gpu/drm/nouveau/dispnv04/disp.h | 6 ++-- + drivers/gpu/drm/nouveau/dispnv04/hw.c | 4 +-- + drivers/gpu/drm/nouveau/nouveau_abi16.c | 4 +-- + drivers/gpu/drm/nouveau/nouveau_bios.c | 4 +-- + drivers/gpu/drm/nouveau/nouveau_connector.c | 4 +-- + drivers/gpu/drm/radeon/radeon_bios.c | 6 ++-- + drivers/gpu/drm/radeon/radeon_kms.c | 2 - + include/drm/drmP.h | 2 - 16 files changed, 46 insertions(+), 51 deletions(-) -diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c -index efcbc3dbf21a..21c2419a5156 100644 --- a/drivers/gpu/drm/drm_pci.c +++ b/drivers/gpu/drm/drm_pci.c -@@ -335,9 +335,6 @@ int drm_get_pci_dev(struct pci_dev *pdev, const struct pci_device_id *ent, +@@ -335,9 +335,6 @@ int drm_get_pci_dev(struct pci_dev *pdev goto err_g1; dev->pdev = pdev; @@ -48,8 +46,6 @@ index efcbc3dbf21a..21c2419a5156 100644 #ifdef __alpha__ dev->hose = pdev->sysdata; #endif -diff --git a/drivers/gpu/drm/gma500/psb_drv.h b/drivers/gpu/drm/gma500/psb_drv.h -index 5a608c0c2396..0081064e6efd 100644 --- a/drivers/gpu/drm/gma500/psb_drv.h +++ b/drivers/gpu/drm/gma500/psb_drv.h @@ -43,10 +43,10 @@ enum { @@ -67,11 +63,9 @@ index 5a608c0c2396..0081064e6efd 100644 /* * Driver definitions -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 0ac796a8d0f9..a6b170cc35ea 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -931,7 +931,7 @@ static int i915_getparam(struct drm_device *dev, void *data, +@@ -939,7 +939,7 @@ static int i915_getparam(struct drm_devi value = READ_BREADCRUMB(dev_priv); break; case I915_PARAM_CHIPSET_ID: @@ -80,8 +74,6 @@ index 0ac796a8d0f9..a6b170cc35ea 100644 break; case I915_PARAM_HAS_GEM: value = 1; -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index ed8653fd97ad..2792540fa5af 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1615,39 +1615,39 @@ struct drm_i915_file_private { @@ -142,11 +134,9 @@ index ed8653fd97ad..2792540fa5af 100644 #define IS_PRELIMINARY_HW(intel_info) ((intel_info)->is_preliminary) /* -diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c -index da1022a328e3..915c8ca08969 100644 --- a/drivers/gpu/drm/i915/i915_gpu_error.c +++ b/drivers/gpu/drm/i915/i915_gpu_error.c -@@ -304,7 +304,7 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m, +@@ -304,7 +304,7 @@ int i915_error_state_to_str(struct drm_i err_printf(m, "Time: %ld s %ld us\n", error->time.tv_sec, error->time.tv_usec); err_printf(m, "Kernel: " UTS_RELEASE "\n"); @@ -155,11 +145,9 @@ index da1022a328e3..915c8ca08969 100644 err_printf(m, "EIR: 0x%08x\n", error->eir); err_printf(m, "IER: 0x%08x\n", error->ier); err_printf(m, "PGTBL_ER: 0x%08x\n", error->pgtbl_er); -diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c -index 92895f92a738..d61aec23a523 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c -@@ -1044,7 +1044,7 @@ static void intel_tv_mode_set(struct intel_encoder *encoder) +@@ -1044,7 +1044,7 @@ static void intel_tv_mode_set(struct int tv_mode->dda3_inc << TV_SCDDA3_INC_SHIFT; /* Enable two fixes for the chips that need them. */ @@ -168,11 +156,9 @@ index 92895f92a738..d61aec23a523 100644 tv_ctl |= TV_ENC_C0_FIX | TV_ENC_SDP_FIX; I915_WRITE(TV_H_CTL_1, hctl1); -diff --git a/drivers/gpu/drm/nouveau/dispnv04/arb.c b/drivers/gpu/drm/nouveau/dispnv04/arb.c -index 2e70462883e8..2a15b98b4d2b 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/arb.c +++ b/drivers/gpu/drm/nouveau/dispnv04/arb.c -@@ -210,8 +210,8 @@ nv04_update_arb(struct drm_device *dev, int VClk, int bpp, +@@ -210,8 +210,8 @@ nv04_update_arb(struct drm_device *dev, sim_data.nvclk_khz = NVClk; sim_data.bpp = bpp; sim_data.two_heads = nv_two_heads(dev); @@ -183,7 +169,7 @@ index 2e70462883e8..2a15b98b4d2b 100644 uint32_t type; pci_read_config_dword(pci_get_bus_and_slot(0, 1), 0x7c, &type); -@@ -256,8 +256,8 @@ nouveau_calc_arb(struct drm_device *dev, int vclk, int bpp, int *burst, int *lwm +@@ -256,8 +256,8 @@ nouveau_calc_arb(struct drm_device *dev, if (nv_device(drm->device)->card_type < NV_20) nv04_update_arb(dev, vclk, bpp, burst, lwm); @@ -194,11 +180,9 @@ index 2e70462883e8..2a15b98b4d2b 100644 *burst = 128; *lwm = 0x0480; } else -diff --git a/drivers/gpu/drm/nouveau/dispnv04/dfp.c b/drivers/gpu/drm/nouveau/dispnv04/dfp.c -index 93dd23ff0093..59d1c040b84f 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/dfp.c +++ b/drivers/gpu/drm/nouveau/dispnv04/dfp.c -@@ -490,8 +490,8 @@ static void nv04_dfp_update_backlight(struct drm_encoder *encoder, int mode) +@@ -490,8 +490,8 @@ static void nv04_dfp_update_backlight(st /* BIOS scripts usually take care of the backlight, thanks * Apple for your consistency. */ @@ -209,8 +193,6 @@ index 93dd23ff0093..59d1c040b84f 100644 if (mode == DRM_MODE_DPMS_ON) { nv_mask(device, NV_PBUS_DEBUG_DUALHEAD_CTL, 0, 1 << 31); nv_mask(device, NV_PCRTC_GPIO_EXT, 3, 1); -diff --git a/drivers/gpu/drm/nouveau/dispnv04/disp.h b/drivers/gpu/drm/nouveau/dispnv04/disp.h -index a0a031dad13f..fcbc3fdcac21 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/disp.h +++ b/drivers/gpu/drm/nouveau/dispnv04/disp.h @@ -126,7 +126,7 @@ static inline bool @@ -239,11 +221,9 @@ index a0a031dad13f..fcbc3fdcac21 100644 if (impl == 0x0310 || impl == 0x0340 || nv_device(drm->device)->card_type >= NV_40) return true; -diff --git a/drivers/gpu/drm/nouveau/dispnv04/hw.c b/drivers/gpu/drm/nouveau/dispnv04/hw.c -index 973056b86207..f8dee834527f 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/hw.c +++ b/drivers/gpu/drm/nouveau/dispnv04/hw.c -@@ -220,7 +220,7 @@ nouveau_hw_get_clock(struct drm_device *dev, enum nvbios_pll_type plltype) +@@ -220,7 +220,7 @@ nouveau_hw_get_clock(struct drm_device * int ret; if (plltype == PLL_MEMORY && @@ -252,7 +232,7 @@ index 973056b86207..f8dee834527f 100644 uint32_t mpllP; pci_read_config_dword(pci_get_bus_and_slot(0, 3), 0x6c, &mpllP); -@@ -230,7 +230,7 @@ nouveau_hw_get_clock(struct drm_device *dev, enum nvbios_pll_type plltype) +@@ -230,7 +230,7 @@ nouveau_hw_get_clock(struct drm_device * return 400000 / mpllP; } else if (plltype == PLL_MEMORY && @@ -261,11 +241,9 @@ index 973056b86207..f8dee834527f 100644 uint32_t clock; pci_read_config_dword(pci_get_bus_and_slot(0, 5), 0x4c, &clock); -diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c -index 1c4c6c9161ac..2f093f6c7a3c 100644 --- a/drivers/gpu/drm/nouveau/nouveau_abi16.c +++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c -@@ -177,10 +177,10 @@ nouveau_abi16_ioctl_getparam(ABI16_IOCTL_ARGS) +@@ -177,10 +177,10 @@ nouveau_abi16_ioctl_getparam(ABI16_IOCTL getparam->value = device->chipset; break; case NOUVEAU_GETPARAM_PCI_VENDOR: @@ -278,11 +256,9 @@ index 1c4c6c9161ac..2f093f6c7a3c 100644 break; case NOUVEAU_GETPARAM_BUS_TYPE: if (drm_pci_device_is_agp(dev)) -diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c -index 6aa2137e093a..fd55c99ba565 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bios.c +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c -@@ -127,8 +127,8 @@ static int call_lvds_manufacturer_script(struct drm_device *dev, struct dcb_outp +@@ -127,8 +127,8 @@ static int call_lvds_manufacturer_script #ifdef __powerpc__ /* Powerbook specific quirks */ if (script == LVDS_RESET && @@ -293,11 +269,9 @@ index 6aa2137e093a..fd55c99ba565 100644 nv_write_tmds(dev, dcbent->or, 0, 0x02, 0x72); #endif -diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c -index 4da776f344d7..63b94f30f13d 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c -@@ -213,8 +213,8 @@ nouveau_connector_set_encoder(struct drm_connector *connector, +@@ -213,8 +213,8 @@ nouveau_connector_set_encoder(struct drm connector->doublescan_allowed = true; if (nv_device(drm->device)->card_type == NV_20 || (nv_device(drm->device)->card_type == NV_10 && @@ -308,11 +282,9 @@ index 4da776f344d7..63b94f30f13d 100644 /* HW is broken */ connector->interlace_allowed = false; else -diff --git a/drivers/gpu/drm/radeon/radeon_bios.c b/drivers/gpu/drm/radeon/radeon_bios.c -index 061b227dae0c..c155d6f3fa68 100644 --- a/drivers/gpu/drm/radeon/radeon_bios.c +++ b/drivers/gpu/drm/radeon/radeon_bios.c -@@ -499,7 +499,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev) +@@ -499,7 +499,7 @@ static bool legacy_read_disabled_bios(st crtc_ext_cntl = RREG32(RADEON_CRTC_EXT_CNTL); fp2_gen_cntl = 0; @@ -321,7 +293,7 @@ index 061b227dae0c..c155d6f3fa68 100644 fp2_gen_cntl = RREG32(RADEON_FP2_GEN_CNTL); } -@@ -536,7 +536,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev) +@@ -536,7 +536,7 @@ static bool legacy_read_disabled_bios(st (RADEON_CRTC_SYNC_TRISTAT | RADEON_CRTC_DISPLAY_DIS))); @@ -330,7 +302,7 @@ index 061b227dae0c..c155d6f3fa68 100644 WREG32(RADEON_FP2_GEN_CNTL, (fp2_gen_cntl & ~RADEON_FP2_ON)); } -@@ -554,7 +554,7 @@ static bool legacy_read_disabled_bios(struct radeon_device *rdev) +@@ -554,7 +554,7 @@ static bool legacy_read_disabled_bios(st WREG32(RADEON_CRTC2_GEN_CNTL, crtc2_gen_cntl); } WREG32(RADEON_CRTC_EXT_CNTL, crtc_ext_cntl); @@ -339,11 +311,9 @@ index 061b227dae0c..c155d6f3fa68 100644 WREG32(RADEON_FP2_GEN_CNTL, fp2_gen_cntl); } return r; -diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c -index 100d10930da5..69c8157eff74 100644 --- a/drivers/gpu/drm/radeon/radeon_kms.c +++ b/drivers/gpu/drm/radeon/radeon_kms.c -@@ -191,7 +191,7 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp) +@@ -191,7 +191,7 @@ int radeon_info_ioctl(struct drm_device switch (info->request) { case RADEON_INFO_DEVICE_ID: @@ -352,8 +322,6 @@ index 100d10930da5..69c8157eff74 100644 break; case RADEON_INFO_NUM_GB_PIPES: *value = rdev->num_gb_pipes; -diff --git a/include/drm/drmP.h b/include/drm/drmP.h -index 32019d82882e..6b091e5ba4e5 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -1191,8 +1191,6 @@ struct drm_device { @@ -365,6 +333,3 @@ index 32019d82882e..6b091e5ba4e5 100644 #ifdef __alpha__ struct pci_controller *hose; #endif --- -1.8.5.rc3 - diff --git a/patches.baytrail/1008-drm-Kill-drm-perf-counter-leftovers.patch b/patches.baytrail/1008-drm-Kill-drm-perf-counter-leftovers.patch index fac673a42d8bc4..9d05abdeb8b895 100644 --- a/patches.baytrail/1008-drm-Kill-drm-perf-counter-leftovers.patch +++ b/patches.baytrail/1008-drm-Kill-drm-perf-counter-leftovers.patch @@ -29,18 +29,16 @@ Conflicts: 'airlied/drm-next' into drm-intel-next") Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/drm_drv.c | 1 - - drivers/gpu/drm/drm_fops.c | 7 ------- - drivers/gpu/drm/drm_lock.c | 3 --- - drivers/gpu/drm/drm_stub.c | 9 --------- - drivers/gpu/drm/i810/i810_dma.c | 11 ----------- - drivers/gpu/drm/i915/i915_dma.c | 7 ------- - drivers/gpu/drm/mga/mga_dma.c | 5 ----- - include/drm/drmP.h | 7 ------- + drivers/gpu/drm/drm_drv.c | 1 - + drivers/gpu/drm/drm_fops.c | 7 ------- + drivers/gpu/drm/drm_lock.c | 3 --- + drivers/gpu/drm/drm_stub.c | 9 --------- + drivers/gpu/drm/i810/i810_dma.c | 11 ----------- + drivers/gpu/drm/i915/i915_dma.c | 7 ------- + drivers/gpu/drm/mga/mga_dma.c | 5 ----- + include/drm/drmP.h | 7 ------- 8 files changed, 50 deletions(-) -diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c -index d08762962dc0..8c462161ab02 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -323,7 +323,6 @@ long drm_ioctl(struct file *filp, @@ -51,11 +49,9 @@ index d08762962dc0..8c462161ab02 100644 ++file_priv->ioctl_count; if ((nr >= DRM_CORE_IOCTL_COUNT) && -diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c -index 0bfbbe1506c8..6b06ac4029fb 100644 --- a/drivers/gpu/drm/drm_fops.c +++ b/drivers/gpu/drm/drm_fops.c -@@ -112,7 +112,6 @@ int drm_open(struct inode *inode, struct file *filp) +@@ -112,7 +112,6 @@ int drm_open(struct inode *inode, struct retcode = drm_open_helper(inode, filp, dev); if (retcode) goto err_undo; @@ -63,7 +59,7 @@ index 0bfbbe1506c8..6b06ac4029fb 100644 if (need_setup) { retcode = drm_setup(dev); if (retcode) -@@ -376,17 +375,12 @@ static void drm_events_release(struct drm_file *file_priv) +@@ -376,17 +375,12 @@ static void drm_events_release(struct dr */ static void drm_legacy_dev_reinit(struct drm_device *dev) { @@ -81,7 +77,7 @@ index 0bfbbe1506c8..6b06ac4029fb 100644 dev->sigdata.lock = NULL; dev->context_flag = 0; -@@ -570,7 +564,6 @@ int drm_release(struct inode *inode, struct file *filp) +@@ -570,7 +564,6 @@ int drm_release(struct inode *inode, str * End inline drm_release */ @@ -89,11 +85,9 @@ index 0bfbbe1506c8..6b06ac4029fb 100644 if (!--dev->open_count) { if (atomic_read(&dev->ioctl_count)) { DRM_ERROR("Device busy: %d\n", -diff --git a/drivers/gpu/drm/drm_lock.c b/drivers/gpu/drm/drm_lock.c -index d752c96d6090..f6452682141b 100644 --- a/drivers/gpu/drm/drm_lock.c +++ b/drivers/gpu/drm/drm_lock.c -@@ -86,7 +86,6 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv) +@@ -86,7 +86,6 @@ int drm_lock(struct drm_device *dev, voi if (drm_lock_take(&master->lock, lock->context)) { master->lock.file_priv = file_priv; master->lock.lock_time = jiffies; @@ -101,7 +95,7 @@ index d752c96d6090..f6452682141b 100644 break; /* Got lock */ } -@@ -157,8 +156,6 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv) +@@ -157,8 +156,6 @@ int drm_unlock(struct drm_device *dev, v return -EINVAL; } @@ -110,11 +104,9 @@ index d752c96d6090..f6452682141b 100644 if (drm_lock_free(&master->lock, lock->context)) { /* FIXME: Should really bail out here. */ } -diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c -index a2becaff63bc..2ae80bf3bf75 100644 --- a/drivers/gpu/drm/drm_stub.c +++ b/drivers/gpu/drm/drm_stub.c -@@ -496,15 +496,6 @@ struct drm_device *drm_dev_alloc(struct drm_driver *driver, +@@ -496,15 +496,6 @@ struct drm_device *drm_dev_alloc(struct mutex_init(&dev->struct_mutex); mutex_init(&dev->ctxlist_mutex); @@ -130,11 +122,9 @@ index a2becaff63bc..2ae80bf3bf75 100644 if (drm_ht_create(&dev->map_hash, 12)) goto err_free; -diff --git a/drivers/gpu/drm/i810/i810_dma.c b/drivers/gpu/drm/i810/i810_dma.c -index 7f8b7a469ff8..12bb60132420 100644 --- a/drivers/gpu/drm/i810/i810_dma.c +++ b/drivers/gpu/drm/i810/i810_dma.c -@@ -944,8 +944,6 @@ static int i810_dma_vertex(struct drm_device *dev, void *data, +@@ -944,8 +944,6 @@ static int i810_dma_vertex(struct drm_de dma->buflist[vertex->idx], vertex->discard, vertex->used); @@ -143,7 +133,7 @@ index 7f8b7a469ff8..12bb60132420 100644 sarea_priv->last_enqueue = dev_priv->counter - 1; sarea_priv->last_dispatch = (int)hw_status[5]; -@@ -1105,8 +1103,6 @@ static int i810_dma_mc(struct drm_device *dev, void *data, +@@ -1105,8 +1103,6 @@ static int i810_dma_mc(struct drm_device i810_dma_dispatch_mc(dev, dma->buflist[mc->idx], mc->used, mc->last_render); @@ -152,7 +142,7 @@ index 7f8b7a469ff8..12bb60132420 100644 sarea_priv->last_enqueue = dev_priv->counter - 1; sarea_priv->last_dispatch = (int)hw_status[5]; -@@ -1197,13 +1193,6 @@ static int i810_flip_bufs(struct drm_device *dev, void *data, +@@ -1197,13 +1193,6 @@ static int i810_flip_bufs(struct drm_dev int i810_driver_load(struct drm_device *dev, unsigned long flags) { @@ -166,11 +156,9 @@ index 7f8b7a469ff8..12bb60132420 100644 pci_set_master(dev->pdev); return 0; -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index a6b170cc35ea..44b883a4147d 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1480,13 +1480,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1488,13 +1488,6 @@ int i915_driver_load(struct drm_device * if (info->gen >= 6 && !drm_core_check_feature(dev, DRIVER_MODESET)) return -ENODEV; @@ -184,11 +172,9 @@ index a6b170cc35ea..44b883a4147d 100644 dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL); if (dev_priv == NULL) return -ENOMEM; -diff --git a/drivers/gpu/drm/mga/mga_dma.c b/drivers/gpu/drm/mga/mga_dma.c -index cc3166dd445a..087db33f6cff 100644 --- a/drivers/gpu/drm/mga/mga_dma.c +++ b/drivers/gpu/drm/mga/mga_dma.c -@@ -406,11 +406,6 @@ int mga_driver_load(struct drm_device *dev, unsigned long flags) +@@ -406,11 +406,6 @@ int mga_driver_load(struct drm_device *d dev_priv->mmio_base = pci_resource_start(dev->pdev, 1); dev_priv->mmio_size = pci_resource_len(dev->pdev, 1); @@ -200,8 +186,6 @@ index cc3166dd445a..087db33f6cff 100644 ret = drm_vblank_init(dev, 1); if (ret) { -diff --git a/include/drm/drmP.h b/include/drm/drmP.h -index 4dfa1dad9a37..cff006e92449 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -1119,13 +1119,6 @@ struct drm_device { @@ -218,6 +202,3 @@ index 4dfa1dad9a37..cff006e92449 100644 struct list_head filelist; /** \name Memory management */ --- -1.8.5.rc3 - diff --git a/patches.baytrail/1045-drm-i915-Prevent-using-uninitialized-MMIO-funcs.patch b/patches.baytrail/1045-drm-i915-Prevent-using-uninitialized-MMIO-funcs.patch index 7b63b131c8ecf7..82f12029acd961 100644 --- a/patches.baytrail/1045-drm-i915-Prevent-using-uninitialized-MMIO-funcs.patch +++ b/patches.baytrail/1045-drm-i915-Prevent-using-uninitialized-MMIO-funcs.patch @@ -22,14 +22,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 78511f2a6fc6960c8917d9655fffb687822a0225) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 2 +- + drivers/gpu/drm/i915/i915_dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 44b883a4147d..6291dce899e6 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1614,8 +1614,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1622,8 +1622,8 @@ int i915_driver_load(struct drm_device * intel_irq_init(dev); intel_pm_init(dev); @@ -39,6 +37,3 @@ index 44b883a4147d..6291dce899e6 100644 /* Try to make sure MCHBAR is enabled before poking at it */ intel_setup_mchbar(dev); --- -1.8.5.rc3 - diff --git a/patches.baytrail/1046-drm-i915-Move-edram-detection-early_sanitize.patch b/patches.baytrail/1046-drm-i915-Move-edram-detection-early_sanitize.patch index 7a713de45e8453..4bf6a21a4f8300 100644 --- a/patches.baytrail/1046-drm-i915-Move-edram-detection-early_sanitize.patch +++ b/patches.baytrail/1046-drm-i915-Move-edram-detection-early_sanitize.patch @@ -13,15 +13,13 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 18ce39943eb82e457e4c46dc86b1975d79b30aa7) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 10 ---------- - drivers/gpu/drm/i915/intel_uncore.c | 11 +++++++++++ + drivers/gpu/drm/i915/i915_dma.c | 10 ---------- + drivers/gpu/drm/i915/intel_uncore.c | 11 +++++++++++ 2 files changed, 11 insertions(+), 10 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 6291dce899e6..3e2d9b512a1b 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1542,16 +1542,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1550,16 +1550,6 @@ int i915_driver_load(struct drm_device * intel_uncore_early_sanitize(dev); @@ -38,11 +36,9 @@ index 6291dce899e6..3e2d9b512a1b 100644 ret = i915_gem_gtt_init(dev); if (ret) goto out_regs; -diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c -index bfc1a65fcd90..2d16590d5478 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c -@@ -222,6 +222,17 @@ void intel_uncore_early_sanitize(struct drm_device *dev) +@@ -222,6 +222,17 @@ void intel_uncore_early_sanitize(struct if (HAS_FPGA_DBG_UNCLAIMED(dev)) __raw_i915_write32(dev_priv, FPGA_DBG, FPGA_DBG_RM_NOCLAIM); @@ -60,6 +56,3 @@ index bfc1a65fcd90..2d16590d5478 100644 } void intel_uncore_init(struct drm_device *dev) --- -1.8.5.rc3 - diff --git a/patches.baytrail/1054-drm-i915-Do-PCH-and-uncore-init-earlier.patch b/patches.baytrail/1054-drm-i915-Do-PCH-and-uncore-init-earlier.patch index 47009515a340d2..06c6a9f9d45f45 100644 --- a/patches.baytrail/1054-drm-i915-Do-PCH-and-uncore-init-earlier.patch +++ b/patches.baytrail/1054-drm-i915-Do-PCH-and-uncore-init-earlier.patch @@ -17,14 +17,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit c3d685a7a5cd9f18865a717468d2b02092dcefdd) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 10 ++++++---- + drivers/gpu/drm/i915/i915_dma.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 3e2d9b512a1b..1319816a087b 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1542,6 +1542,11 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1550,6 +1550,11 @@ int i915_driver_load(struct drm_device * intel_uncore_early_sanitize(dev); @@ -36,7 +34,7 @@ index 3e2d9b512a1b..1319816a087b 100644 ret = i915_gem_gtt_init(dev); if (ret) goto out_regs; -@@ -1599,12 +1604,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1607,12 +1612,8 @@ int i915_driver_load(struct drm_device * goto out_mtrrfree; } @@ -49,7 +47,7 @@ index 3e2d9b512a1b..1319816a087b 100644 intel_uncore_sanitize(dev); /* Try to make sure MCHBAR is enabled before poking at it */ -@@ -1689,6 +1690,7 @@ out_gtt: +@@ -1697,6 +1698,7 @@ out_gtt: drm_mm_takedown(&dev_priv->gtt.base.mm); dev_priv->gtt.base.cleanup(&dev_priv->gtt.base); out_regs: @@ -57,6 +55,3 @@ index 3e2d9b512a1b..1319816a087b 100644 pci_iounmap(dev->pdev, dev_priv->regs); put_bridge: pci_dev_put(dev_priv->bridge_dev); --- -1.8.5.rc3 - diff --git a/patches.baytrail/1062-drm-i915-tell-the-user-KMS-is-required-for-gen6.patch b/patches.baytrail/1062-drm-i915-tell-the-user-KMS-is-required-for-gen6.patch index 475b22893f6b19..1318ab1d09f8b2 100644 --- a/patches.baytrail/1062-drm-i915-tell-the-user-KMS-is-required-for-gen6.patch +++ b/patches.baytrail/1062-drm-i915-tell-the-user-KMS-is-required-for-gen6.patch @@ -15,14 +15,12 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit e147accbd19f55489dabdcc4dc3551cc3e3f2553) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/i915_dma.c | 5 ++++- + drivers/gpu/drm/i915/i915_dma.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 1319816a087b..aa70c8d292d8 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1477,8 +1477,11 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) +@@ -1485,8 +1485,11 @@ int i915_driver_load(struct drm_device * info = (struct intel_device_info *) flags; /* Refuse to load on gen6+ without kms enabled. */ @@ -35,6 +33,3 @@ index 1319816a087b..aa70c8d292d8 100644 dev_priv = kzalloc(sizeof(*dev_priv), GFP_KERNEL); if (dev_priv == NULL) --- -1.8.5.rc3 - diff --git a/patches.baytrail/1071-drm-i915-Kconfig-option-to-disable-the-legacy-fbdev-.patch b/patches.baytrail/1071-drm-i915-Kconfig-option-to-disable-the-legacy-fbdev-.patch index 7d2fe202c48201..b488772eeea9c7 100644 --- a/patches.baytrail/1071-drm-i915-Kconfig-option-to-disable-the-legacy-fbdev-.patch +++ b/patches.baytrail/1071-drm-i915-Kconfig-option-to-disable-the-legacy-fbdev-.patch @@ -36,19 +36,17 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 4520f53a159fb81b8c27afe52428a0959aff259c) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/Kconfig | 60 +------------------------------- - drivers/gpu/drm/i915/Kconfig | 67 ++++++++++++++++++++++++++++++++++++ - drivers/gpu/drm/i915/Makefile | 3 +- - drivers/gpu/drm/i915/i915_debugfs.c | 9 ++--- - drivers/gpu/drm/i915/i915_dma.c | 6 ++++ - drivers/gpu/drm/i915/i915_drv.h | 2 ++ - drivers/gpu/drm/i915/intel_display.c | 10 ++++++ - drivers/gpu/drm/i915/intel_drv.h | 36 +++++++++++++++---- + drivers/gpu/drm/Kconfig | 60 ------------------------------- + drivers/gpu/drm/i915/Kconfig | 67 +++++++++++++++++++++++++++++++++++ + drivers/gpu/drm/i915/Makefile | 3 + + drivers/gpu/drm/i915/i915_debugfs.c | 9 ++-- + drivers/gpu/drm/i915/i915_dma.c | 6 +++ + drivers/gpu/drm/i915/i915_drv.h | 2 + + drivers/gpu/drm/i915/intel_display.c | 10 +++++ + drivers/gpu/drm/i915/intel_drv.h | 36 +++++++++++++++--- 8 files changed, 122 insertions(+), 71 deletions(-) create mode 100644 drivers/gpu/drm/i915/Kconfig -diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig -index 8847e1e90533..1b51494b76dd 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -128,65 +128,7 @@ config DRM_I810 @@ -118,9 +116,6 @@ index 8847e1e90533..1b51494b76dd 100644 config DRM_MGA tristate "Matrox g200/g400" -diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig -new file mode 100644 -index 000000000000..6199d0b5b958 --- /dev/null +++ b/drivers/gpu/drm/i915/Kconfig @@ -0,0 +1,67 @@ @@ -191,11 +186,9 @@ index 000000000000..6199d0b5b958 + option changes the default for that module option. + + If in doubt, say "N". -diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile -index 65e60d26891b..45e14a8db2f3 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile -@@ -33,7 +33,6 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o \ +@@ -33,7 +33,6 @@ i915-y := i915_drv.o i915_dma.o i915_irq intel_panel.o \ intel_pm.o \ intel_i2c.o \ @@ -212,11 +205,9 @@ index 65e60d26891b..45e14a8db2f3 100644 obj-$(CONFIG_DRM_I915) += i915.o CFLAGS_i915_trace_points.o := -I$(src) -diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c -index a569597125db..72d04588eccb 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c -@@ -1403,12 +1403,12 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data) +@@ -1403,12 +1403,12 @@ static int i915_gem_framebuffer_info(str { struct drm_info_node *node = (struct drm_info_node *) m->private; struct drm_device *dev = node->minor->dev; @@ -233,7 +224,7 @@ index a569597125db..72d04588eccb 100644 if (ret) return ret; -@@ -1424,6 +1424,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data) +@@ -1424,6 +1424,7 @@ static int i915_gem_framebuffer_info(str describe_obj(m, fb->obj); seq_putc(m, '\n'); mutex_unlock(&dev->mode_config.mutex); @@ -241,11 +232,9 @@ index a569597125db..72d04588eccb 100644 mutex_lock(&dev->mode_config.fb_lock); list_for_each_entry(fb, &dev->mode_config.fb_list, base.head) { -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index aa70c8d292d8..8294e86744f9 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1416,6 +1416,7 @@ void i915_master_destroy(struct drm_device *dev, struct drm_master *master) +@@ -1424,6 +1424,7 @@ void i915_master_destroy(struct drm_devi master->driver_priv = NULL; } @@ -253,7 +242,7 @@ index aa70c8d292d8..8294e86744f9 100644 static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv) { struct apertures_struct *ap; -@@ -1436,6 +1437,11 @@ static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv) +@@ -1444,6 +1445,11 @@ static void i915_kick_out_firmware_fb(st kfree(ap); } @@ -265,8 +254,6 @@ index aa70c8d292d8..8294e86744f9 100644 static void i915_dump_device_info(struct drm_i915_private *dev_priv) { -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index bdedebed44dd..6ef70e23de9c 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1368,8 +1368,10 @@ typedef struct drm_i915_private { @@ -280,8 +267,6 @@ index bdedebed44dd..6ef70e23de9c 100644 /* * The console may be contended at resume, but we don't -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 575c154dbd2a..34b1008a41c0 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -7335,6 +7335,7 @@ static struct drm_framebuffer * @@ -292,7 +277,7 @@ index 575c154dbd2a..34b1008a41c0 100644 struct drm_i915_private *dev_priv = dev->dev_private; struct drm_i915_gem_object *obj; struct drm_framebuffer *fb; -@@ -7355,6 +7356,9 @@ mode_fits_in_fbdev(struct drm_device *dev, +@@ -7355,6 +7356,9 @@ mode_fits_in_fbdev(struct drm_device *de return NULL; return fb; @@ -302,7 +287,7 @@ index 575c154dbd2a..34b1008a41c0 100644 } bool intel_get_load_detect_pipe(struct drm_connector *connector, -@@ -10101,6 +10105,12 @@ intel_user_framebuffer_create(struct drm_device *dev, +@@ -10101,6 +10105,12 @@ intel_user_framebuffer_create(struct drm return intel_framebuffer_create(dev, mode_cmd, obj); } @@ -315,11 +300,9 @@ index 575c154dbd2a..34b1008a41c0 100644 static const struct drm_mode_config_funcs intel_mode_funcs = { .fb_create = intel_user_framebuffer_create, .output_poll_changed = intel_fb_output_poll_changed, -diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index b497a96af082..0f8402bc4222 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -713,14 +713,36 @@ bool intel_dsi_init(struct drm_device *dev); +@@ -713,14 +713,36 @@ bool intel_dsi_init(struct drm_device *d void intel_dvo_init(struct drm_device *dev); @@ -363,6 +346,3 @@ index b497a96af082..0f8402bc4222 100644 /* intel_hdmi.c */ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port); --- -1.8.5.rc3 - diff --git a/patches.baytrail/1072-drm-i915-rename-intel_fb.c-to-intel_fbdev.c.patch b/patches.baytrail/1072-drm-i915-rename-intel_fb.c-to-intel_fbdev.c.patch index 07788fca367ddc..257e021b105a1e 100644 --- a/patches.baytrail/1072-drm-i915-rename-intel_fb.c-to-intel_fbdev.c.patch +++ b/patches.baytrail/1072-drm-i915-rename-intel_fb.c-to-intel_fbdev.c.patch @@ -14,16 +14,15 @@ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> (cherry picked from commit 0632fef669912a63c99c8ce4c2ca10c6ea04f0df) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - drivers/gpu/drm/i915/Makefile | 2 +- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - drivers/gpu/drm/i915/intel_display.c | 4 ++-- - drivers/gpu/drm/i915/intel_drv.h | 8 ++++---- - drivers/gpu/drm/i915/{intel_fb.c => intel_fbdev.c} | 4 ++-- - 5 files changed, 10 insertions(+), 10 deletions(-) + drivers/gpu/drm/i915/Makefile | 2 + drivers/gpu/drm/i915/i915_dma.c | 2 + drivers/gpu/drm/i915/intel_display.c | 4 + drivers/gpu/drm/i915/intel_drv.h | 8 + drivers/gpu/drm/i915/intel_fb.c | 323 ----------------------------------- + drivers/gpu/drm/i915/intel_fbdev.c | 323 +++++++++++++++++++++++++++++++++++ + 6 files changed, 331 insertions(+), 331 deletions(-) rename drivers/gpu/drm/i915/{intel_fb.c => intel_fbdev.c} (98%) -diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile -index 45e14a8db2f3..41838eaa799c 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -53,7 +53,7 @@ i915-$(CONFIG_COMPAT) += i915_ioc32.o @@ -35,11 +34,9 @@ index 45e14a8db2f3..41838eaa799c 100644 obj-$(CONFIG_DRM_I915) += i915.o -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 8294e86744f9..a97f8e1b213d 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1853,7 +1853,7 @@ void i915_driver_lastclose(struct drm_device * dev) +@@ -1861,7 +1861,7 @@ void i915_driver_lastclose(struct drm_de return; if (drm_core_check_feature(dev, DRIVER_MODESET)) { @@ -48,11 +45,9 @@ index 8294e86744f9..a97f8e1b213d 100644 vga_switcheroo_process_delayed_switch(); return; } -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 34b1008a41c0..548b1c914a1f 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -10106,14 +10106,14 @@ intel_user_framebuffer_create(struct drm_device *dev, +@@ -10106,14 +10106,14 @@ intel_user_framebuffer_create(struct drm } #ifndef CONFIG_DRM_I915_FBDEV @@ -69,11 +64,9 @@ index 34b1008a41c0..548b1c914a1f 100644 }; /* Set up chip specific display functions */ -diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index 0f8402bc4222..189257df7a0f 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -713,14 +713,14 @@ bool intel_dsi_init(struct drm_device *dev); +@@ -713,14 +713,14 @@ bool intel_dsi_init(struct drm_device *d void intel_dvo_init(struct drm_device *dev); @@ -91,7 +84,7 @@ index 0f8402bc4222..189257df7a0f 100644 #else static inline int intel_fbdev_init(struct drm_device *dev) { -@@ -739,7 +739,7 @@ static inline void intel_fbdev_set_suspend(struct drm_device *dev, int state) +@@ -739,7 +739,7 @@ static inline void intel_fbdev_set_suspe { } @@ -100,29 +93,655 @@ index 0f8402bc4222..189257df7a0f 100644 { } #endif -diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fbdev.c -similarity index 98% -rename from drivers/gpu/drm/i915/intel_fb.c -rename to drivers/gpu/drm/i915/intel_fbdev.c -index d883b77b1b78..acc839569c3f 100644 --- a/drivers/gpu/drm/i915/intel_fb.c -+++ b/drivers/gpu/drm/i915/intel_fbdev.c -@@ -299,13 +299,13 @@ void intel_fbdev_set_suspend(struct drm_device *dev, int state) - - MODULE_LICENSE("GPL and additional rights"); - ++++ /dev/null +@@ -1,323 +0,0 @@ +-/* +- * Copyright © 2007 David Airlie +- * +- * Permission is hereby granted, free of charge, to any person obtaining a +- * copy of this software and associated documentation files (the "Software"), +- * to deal in the Software without restriction, including without limitation +- * the rights to use, copy, modify, merge, publish, distribute, sublicense, +- * and/or sell copies of the Software, and to permit persons to whom the +- * Software is furnished to do so, subject to the following conditions: +- * +- * The above copyright notice and this permission notice (including the next +- * paragraph) shall be included in all copies or substantial portions of the +- * Software. +- * +- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +- * DEALINGS IN THE SOFTWARE. +- * +- * Authors: +- * David Airlie +- */ +- +-#include <linux/module.h> +-#include <linux/kernel.h> +-#include <linux/errno.h> +-#include <linux/string.h> +-#include <linux/mm.h> +-#include <linux/tty.h> +-#include <linux/sysrq.h> +-#include <linux/delay.h> +-#include <linux/fb.h> +-#include <linux/init.h> +-#include <linux/vga_switcheroo.h> +- +-#include <drm/drmP.h> +-#include <drm/drm_crtc.h> +-#include <drm/drm_fb_helper.h> +-#include "intel_drv.h" +-#include <drm/i915_drm.h> +-#include "i915_drv.h" +- +-static struct fb_ops intelfb_ops = { +- .owner = THIS_MODULE, +- .fb_check_var = drm_fb_helper_check_var, +- .fb_set_par = drm_fb_helper_set_par, +- .fb_fillrect = cfb_fillrect, +- .fb_copyarea = cfb_copyarea, +- .fb_imageblit = cfb_imageblit, +- .fb_pan_display = drm_fb_helper_pan_display, +- .fb_blank = drm_fb_helper_blank, +- .fb_setcmap = drm_fb_helper_setcmap, +- .fb_debug_enter = drm_fb_helper_debug_enter, +- .fb_debug_leave = drm_fb_helper_debug_leave, +-}; +- +-static int intelfb_create(struct drm_fb_helper *helper, +- struct drm_fb_helper_surface_size *sizes) +-{ +- struct intel_fbdev *ifbdev = +- container_of(helper, struct intel_fbdev, helper); +- struct drm_device *dev = helper->dev; +- struct drm_i915_private *dev_priv = dev->dev_private; +- struct fb_info *info; +- struct drm_framebuffer *fb; +- struct drm_mode_fb_cmd2 mode_cmd = {}; +- struct drm_i915_gem_object *obj; +- struct device *device = &dev->pdev->dev; +- int size, ret; +- +- /* we don't do packed 24bpp */ +- if (sizes->surface_bpp == 24) +- sizes->surface_bpp = 32; +- +- mode_cmd.width = sizes->surface_width; +- mode_cmd.height = sizes->surface_height; +- +- mode_cmd.pitches[0] = ALIGN(mode_cmd.width * ((sizes->surface_bpp + 7) / +- 8), 64); +- mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp, +- sizes->surface_depth); +- +- size = mode_cmd.pitches[0] * mode_cmd.height; +- size = ALIGN(size, PAGE_SIZE); +- obj = i915_gem_object_create_stolen(dev, size); +- if (obj == NULL) +- obj = i915_gem_alloc_object(dev, size); +- if (!obj) { +- DRM_ERROR("failed to allocate framebuffer\n"); +- ret = -ENOMEM; +- goto out; +- } +- +- mutex_lock(&dev->struct_mutex); +- +- /* Flush everything out, we'll be doing GTT only from now on */ +- ret = intel_pin_and_fence_fb_obj(dev, obj, NULL); +- if (ret) { +- DRM_ERROR("failed to pin fb: %d\n", ret); +- goto out_unref; +- } +- +- info = framebuffer_alloc(0, device); +- if (!info) { +- ret = -ENOMEM; +- goto out_unpin; +- } +- +- info->par = helper; +- +- ret = intel_framebuffer_init(dev, &ifbdev->ifb, &mode_cmd, obj); +- if (ret) +- goto out_unpin; +- +- fb = &ifbdev->ifb.base; +- +- ifbdev->helper.fb = fb; +- ifbdev->helper.fbdev = info; +- +- strcpy(info->fix.id, "inteldrmfb"); +- +- info->flags = FBINFO_DEFAULT | FBINFO_CAN_FORCE_OUTPUT; +- info->fbops = &intelfb_ops; +- +- ret = fb_alloc_cmap(&info->cmap, 256, 0); +- if (ret) { +- ret = -ENOMEM; +- goto out_unpin; +- } +- /* setup aperture base/size for vesafb takeover */ +- info->apertures = alloc_apertures(1); +- if (!info->apertures) { +- ret = -ENOMEM; +- goto out_unpin; +- } +- info->apertures->ranges[0].base = dev->mode_config.fb_base; +- info->apertures->ranges[0].size = dev_priv->gtt.mappable_end; +- +- info->fix.smem_start = dev->mode_config.fb_base + i915_gem_obj_ggtt_offset(obj); +- info->fix.smem_len = size; +- +- info->screen_base = +- ioremap_wc(dev_priv->gtt.mappable_base + i915_gem_obj_ggtt_offset(obj), +- size); +- if (!info->screen_base) { +- ret = -ENOSPC; +- goto out_unpin; +- } +- info->screen_size = size; +- +- /* This driver doesn't need a VT switch to restore the mode on resume */ +- info->skip_vt_switch = true; +- +- drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth); +- drm_fb_helper_fill_var(info, &ifbdev->helper, sizes->fb_width, sizes->fb_height); +- +- /* If the object is shmemfs backed, it will have given us zeroed pages. +- * If the object is stolen however, it will be full of whatever +- * garbage was left in there. +- */ +- if (ifbdev->ifb.obj->stolen) +- memset_io(info->screen_base, 0, info->screen_size); +- +- /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ +- +- DRM_DEBUG_KMS("allocated %dx%d fb: 0x%08lx, bo %p\n", +- fb->width, fb->height, +- i915_gem_obj_ggtt_offset(obj), obj); +- +- +- mutex_unlock(&dev->struct_mutex); +- vga_switcheroo_client_fb_set(dev->pdev, info); +- return 0; +- +-out_unpin: +- i915_gem_object_unpin(obj); +-out_unref: +- drm_gem_object_unreference(&obj->base); +- mutex_unlock(&dev->struct_mutex); +-out: +- return ret; +-} +- +-/** Sets the color ramps on behalf of RandR */ +-static void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, +- u16 blue, int regno) +-{ +- struct intel_crtc *intel_crtc = to_intel_crtc(crtc); +- +- intel_crtc->lut_r[regno] = red >> 8; +- intel_crtc->lut_g[regno] = green >> 8; +- intel_crtc->lut_b[regno] = blue >> 8; +-} +- +-static void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, +- u16 *blue, int regno) +-{ +- struct intel_crtc *intel_crtc = to_intel_crtc(crtc); +- +- *red = intel_crtc->lut_r[regno] << 8; +- *green = intel_crtc->lut_g[regno] << 8; +- *blue = intel_crtc->lut_b[regno] << 8; +-} +- +-static struct drm_fb_helper_funcs intel_fb_helper_funcs = { +- .gamma_set = intel_crtc_fb_gamma_set, +- .gamma_get = intel_crtc_fb_gamma_get, +- .fb_probe = intelfb_create, +-}; +- +-static void intel_fbdev_destroy(struct drm_device *dev, +- struct intel_fbdev *ifbdev) +-{ +- if (ifbdev->helper.fbdev) { +- struct fb_info *info = ifbdev->helper.fbdev; +- +- unregister_framebuffer(info); +- iounmap(info->screen_base); +- if (info->cmap.len) +- fb_dealloc_cmap(&info->cmap); +- +- framebuffer_release(info); +- } +- +- drm_fb_helper_fini(&ifbdev->helper); +- +- drm_framebuffer_unregister_private(&ifbdev->ifb.base); +- intel_framebuffer_fini(&ifbdev->ifb); +-} +- +-int intel_fbdev_init(struct drm_device *dev) +-{ +- struct intel_fbdev *ifbdev; +- struct drm_i915_private *dev_priv = dev->dev_private; +- int ret; +- +- ifbdev = kzalloc(sizeof(*ifbdev), GFP_KERNEL); +- if (!ifbdev) +- return -ENOMEM; +- +- dev_priv->fbdev = ifbdev; +- ifbdev->helper.funcs = &intel_fb_helper_funcs; +- +- ret = drm_fb_helper_init(dev, &ifbdev->helper, +- INTEL_INFO(dev)->num_pipes, +- 4); +- if (ret) { +- kfree(ifbdev); +- return ret; +- } +- +- drm_fb_helper_single_add_all_connectors(&ifbdev->helper); +- +- return 0; +-} +- +-void intel_fbdev_initial_config(struct drm_device *dev) +-{ +- struct drm_i915_private *dev_priv = dev->dev_private; +- +- /* Due to peculiar init order wrt to hpd handling this is separate. */ +- drm_fb_helper_initial_config(&dev_priv->fbdev->helper, 32); +-} +- +-void intel_fbdev_fini(struct drm_device *dev) +-{ +- struct drm_i915_private *dev_priv = dev->dev_private; +- if (!dev_priv->fbdev) +- return; +- +- intel_fbdev_destroy(dev, dev_priv->fbdev); +- kfree(dev_priv->fbdev); +- dev_priv->fbdev = NULL; +-} +- +-void intel_fbdev_set_suspend(struct drm_device *dev, int state) +-{ +- struct drm_i915_private *dev_priv = dev->dev_private; +- struct intel_fbdev *ifbdev = dev_priv->fbdev; +- struct fb_info *info; +- +- if (!ifbdev) +- return; +- +- info = ifbdev->helper.fbdev; +- +- /* On resume from hibernation: If the object is shmemfs backed, it has +- * been restored from swap. If the object is stolen however, it will be +- * full of whatever garbage was left in there. +- */ +- if (state == FBINFO_STATE_RUNNING && ifbdev->ifb.obj->stolen) +- memset_io(info->screen_base, 0, info->screen_size); +- +- fb_set_suspend(info, state); +-} +- +-MODULE_LICENSE("GPL and additional rights"); +- -void intel_fb_output_poll_changed(struct drm_device *dev) -+void intel_fbdev_output_poll_changed(struct drm_device *dev) - { - struct drm_i915_private *dev_priv = dev->dev_private; - drm_fb_helper_hotplug_event(&dev_priv->fbdev->helper); - } - +-{ +- struct drm_i915_private *dev_priv = dev->dev_private; +- drm_fb_helper_hotplug_event(&dev_priv->fbdev->helper); +-} +- -void intel_fb_restore_mode(struct drm_device *dev) +-{ +- int ret; +- struct drm_i915_private *dev_priv = dev->dev_private; +- +- if (INTEL_INFO(dev)->num_pipes == 0) +- return; +- +- drm_modeset_lock_all(dev); +- +- ret = drm_fb_helper_restore_fbdev_mode(&dev_priv->fbdev->helper); +- if (ret) +- DRM_DEBUG("failed to restore crtc mode\n"); +- +- drm_modeset_unlock_all(dev); +-} +--- /dev/null ++++ b/drivers/gpu/drm/i915/intel_fbdev.c +@@ -0,0 +1,323 @@ ++/* ++ * Copyright © 2007 David Airlie ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice (including the next ++ * paragraph) shall be included in all copies or substantial portions of the ++ * Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ * DEALINGS IN THE SOFTWARE. ++ * ++ * Authors: ++ * David Airlie ++ */ ++ ++#include <linux/module.h> ++#include <linux/kernel.h> ++#include <linux/errno.h> ++#include <linux/string.h> ++#include <linux/mm.h> ++#include <linux/tty.h> ++#include <linux/sysrq.h> ++#include <linux/delay.h> ++#include <linux/fb.h> ++#include <linux/init.h> ++#include <linux/vga_switcheroo.h> ++ ++#include <drm/drmP.h> ++#include <drm/drm_crtc.h> ++#include <drm/drm_fb_helper.h> ++#include "intel_drv.h" ++#include <drm/i915_drm.h> ++#include "i915_drv.h" ++ ++static struct fb_ops intelfb_ops = { ++ .owner = THIS_MODULE, ++ .fb_check_var = drm_fb_helper_check_var, ++ .fb_set_par = drm_fb_helper_set_par, ++ .fb_fillrect = cfb_fillrect, ++ .fb_copyarea = cfb_copyarea, ++ .fb_imageblit = cfb_imageblit, ++ .fb_pan_display = drm_fb_helper_pan_display, ++ .fb_blank = drm_fb_helper_blank, ++ .fb_setcmap = drm_fb_helper_setcmap, ++ .fb_debug_enter = drm_fb_helper_debug_enter, ++ .fb_debug_leave = drm_fb_helper_debug_leave, ++}; ++ ++static int intelfb_create(struct drm_fb_helper *helper, ++ struct drm_fb_helper_surface_size *sizes) ++{ ++ struct intel_fbdev *ifbdev = ++ container_of(helper, struct intel_fbdev, helper); ++ struct drm_device *dev = helper->dev; ++ struct drm_i915_private *dev_priv = dev->dev_private; ++ struct fb_info *info; ++ struct drm_framebuffer *fb; ++ struct drm_mode_fb_cmd2 mode_cmd = {}; ++ struct drm_i915_gem_object *obj; ++ struct device *device = &dev->pdev->dev; ++ int size, ret; ++ ++ /* we don't do packed 24bpp */ ++ if (sizes->surface_bpp == 24) ++ sizes->surface_bpp = 32; ++ ++ mode_cmd.width = sizes->surface_width; ++ mode_cmd.height = sizes->surface_height; ++ ++ mode_cmd.pitches[0] = ALIGN(mode_cmd.width * ((sizes->surface_bpp + 7) / ++ 8), 64); ++ mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp, ++ sizes->surface_depth); ++ ++ size = mode_cmd.pitches[0] * mode_cmd.height; ++ size = ALIGN(size, PAGE_SIZE); ++ obj = i915_gem_object_create_stolen(dev, size); ++ if (obj == NULL) ++ obj = i915_gem_alloc_object(dev, size); ++ if (!obj) { ++ DRM_ERROR("failed to allocate framebuffer\n"); ++ ret = -ENOMEM; ++ goto out; ++ } ++ ++ mutex_lock(&dev->struct_mutex); ++ ++ /* Flush everything out, we'll be doing GTT only from now on */ ++ ret = intel_pin_and_fence_fb_obj(dev, obj, NULL); ++ if (ret) { ++ DRM_ERROR("failed to pin fb: %d\n", ret); ++ goto out_unref; ++ } ++ ++ info = framebuffer_alloc(0, device); ++ if (!info) { ++ ret = -ENOMEM; ++ goto out_unpin; ++ } ++ ++ info->par = helper; ++ ++ ret = intel_framebuffer_init(dev, &ifbdev->ifb, &mode_cmd, obj); ++ if (ret) ++ goto out_unpin; ++ ++ fb = &ifbdev->ifb.base; ++ ++ ifbdev->helper.fb = fb; ++ ifbdev->helper.fbdev = info; ++ ++ strcpy(info->fix.id, "inteldrmfb"); ++ ++ info->flags = FBINFO_DEFAULT | FBINFO_CAN_FORCE_OUTPUT; ++ info->fbops = &intelfb_ops; ++ ++ ret = fb_alloc_cmap(&info->cmap, 256, 0); ++ if (ret) { ++ ret = -ENOMEM; ++ goto out_unpin; ++ } ++ /* setup aperture base/size for vesafb takeover */ ++ info->apertures = alloc_apertures(1); ++ if (!info->apertures) { ++ ret = -ENOMEM; ++ goto out_unpin; ++ } ++ info->apertures->ranges[0].base = dev->mode_config.fb_base; ++ info->apertures->ranges[0].size = dev_priv->gtt.mappable_end; ++ ++ info->fix.smem_start = dev->mode_config.fb_base + i915_gem_obj_ggtt_offset(obj); ++ info->fix.smem_len = size; ++ ++ info->screen_base = ++ ioremap_wc(dev_priv->gtt.mappable_base + i915_gem_obj_ggtt_offset(obj), ++ size); ++ if (!info->screen_base) { ++ ret = -ENOSPC; ++ goto out_unpin; ++ } ++ info->screen_size = size; ++ ++ /* This driver doesn't need a VT switch to restore the mode on resume */ ++ info->skip_vt_switch = true; ++ ++ drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth); ++ drm_fb_helper_fill_var(info, &ifbdev->helper, sizes->fb_width, sizes->fb_height); ++ ++ /* If the object is shmemfs backed, it will have given us zeroed pages. ++ * If the object is stolen however, it will be full of whatever ++ * garbage was left in there. ++ */ ++ if (ifbdev->ifb.obj->stolen) ++ memset_io(info->screen_base, 0, info->screen_size); ++ ++ /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ ++ ++ DRM_DEBUG_KMS("allocated %dx%d fb: 0x%08lx, bo %p\n", ++ fb->width, fb->height, ++ i915_gem_obj_ggtt_offset(obj), obj); ++ ++ ++ mutex_unlock(&dev->struct_mutex); ++ vga_switcheroo_client_fb_set(dev->pdev, info); ++ return 0; ++ ++out_unpin: ++ i915_gem_object_unpin(obj); ++out_unref: ++ drm_gem_object_unreference(&obj->base); ++ mutex_unlock(&dev->struct_mutex); ++out: ++ return ret; ++} ++ ++/** Sets the color ramps on behalf of RandR */ ++static void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, ++ u16 blue, int regno) ++{ ++ struct intel_crtc *intel_crtc = to_intel_crtc(crtc); ++ ++ intel_crtc->lut_r[regno] = red >> 8; ++ intel_crtc->lut_g[regno] = green >> 8; ++ intel_crtc->lut_b[regno] = blue >> 8; ++} ++ ++static void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, ++ u16 *blue, int regno) ++{ ++ struct intel_crtc *intel_crtc = to_intel_crtc(crtc); ++ ++ *red = intel_crtc->lut_r[regno] << 8; ++ *green = intel_crtc->lut_g[regno] << 8; ++ *blue = intel_crtc->lut_b[regno] << 8; ++} ++ ++static struct drm_fb_helper_funcs intel_fb_helper_funcs = { ++ .gamma_set = intel_crtc_fb_gamma_set, ++ .gamma_get = intel_crtc_fb_gamma_get, ++ .fb_probe = intelfb_create, ++}; ++ ++static void intel_fbdev_destroy(struct drm_device *dev, ++ struct intel_fbdev *ifbdev) ++{ ++ if (ifbdev->helper.fbdev) { ++ struct fb_info *info = ifbdev->helper.fbdev; ++ ++ unregister_framebuffer(info); ++ iounmap(info->screen_base); ++ if (info->cmap.len) ++ fb_dealloc_cmap(&info->cmap); ++ ++ framebuffer_release(info); ++ } ++ ++ drm_fb_helper_fini(&ifbdev->helper); ++ ++ drm_framebuffer_unregister_private(&ifbdev->ifb.base); ++ intel_framebuffer_fini(&ifbdev->ifb); ++} ++ ++int intel_fbdev_init(struct drm_device *dev) ++{ ++ struct intel_fbdev *ifbdev; ++ struct drm_i915_private *dev_priv = dev->dev_private; ++ int ret; ++ ++ ifbdev = kzalloc(sizeof(*ifbdev), GFP_KERNEL); ++ if (!ifbdev) ++ return -ENOMEM; ++ ++ dev_priv->fbdev = ifbdev; ++ ifbdev->helper.funcs = &intel_fb_helper_funcs; ++ ++ ret = drm_fb_helper_init(dev, &ifbdev->helper, ++ INTEL_INFO(dev)->num_pipes, ++ 4); ++ if (ret) { ++ kfree(ifbdev); ++ return ret; ++ } ++ ++ drm_fb_helper_single_add_all_connectors(&ifbdev->helper); ++ ++ return 0; ++} ++ ++void intel_fbdev_initial_config(struct drm_device *dev) ++{ ++ struct drm_i915_private *dev_priv = dev->dev_private; ++ ++ /* Due to peculiar init order wrt to hpd handling this is separate. */ ++ drm_fb_helper_initial_config(&dev_priv->fbdev->helper, 32); ++} ++ ++void intel_fbdev_fini(struct drm_device *dev) ++{ ++ struct drm_i915_private *dev_priv = dev->dev_private; ++ if (!dev_priv->fbdev) ++ return; ++ ++ intel_fbdev_destroy(dev, dev_priv->fbdev); ++ kfree(dev_priv->fbdev); ++ dev_priv->fbdev = NULL; ++} ++ ++void intel_fbdev_set_suspend(struct drm_device *dev, int state) ++{ ++ struct drm_i915_private *dev_priv = dev->dev_private; ++ struct intel_fbdev *ifbdev = dev_priv->fbdev; ++ struct fb_info *info; ++ ++ if (!ifbdev) ++ return; ++ ++ info = ifbdev->helper.fbdev; ++ ++ /* On resume from hibernation: If the object is shmemfs backed, it has ++ * been restored from swap. If the object is stolen however, it will be ++ * full of whatever garbage was left in there. ++ */ ++ if (state == FBINFO_STATE_RUNNING && ifbdev->ifb.obj->stolen) ++ memset_io(info->screen_base, 0, info->screen_size); ++ ++ fb_set_suspend(info, state); ++} ++ ++MODULE_LICENSE("GPL and additional rights"); ++ ++void intel_fbdev_output_poll_changed(struct drm_device *dev) ++{ ++ struct drm_i915_private *dev_priv = dev->dev_private; ++ drm_fb_helper_hotplug_event(&dev_priv->fbdev->helper); ++} ++ +void intel_fbdev_restore_mode(struct drm_device *dev) - { - int ret; - struct drm_i915_private *dev_priv = dev->dev_private; --- -1.8.5.rc3 - ++{ ++ int ret; ++ struct drm_i915_private *dev_priv = dev->dev_private; ++ ++ if (INTEL_INFO(dev)->num_pipes == 0) ++ return; ++ ++ drm_modeset_lock_all(dev); ++ ++ ret = drm_fb_helper_restore_fbdev_mode(&dev_priv->fbdev->helper); ++ if (ret) ++ DRM_DEBUG("failed to restore crtc mode\n"); ++ ++ drm_modeset_unlock_all(dev); ++} diff --git a/patches.baytrail/1111-ALSA-hda-add-PCI-IDs-for-Intel-BayTrail.patch b/patches.baytrail/1111-ALSA-hda-add-PCI-IDs-for-Intel-BayTrail.patch index 653721aaaa7c25..19b6ab4c99c122 100644 --- a/patches.baytrail/1111-ALSA-hda-add-PCI-IDs-for-Intel-BayTrail.patch +++ b/patches.baytrail/1111-ALSA-hda-add-PCI-IDs-for-Intel-BayTrail.patch @@ -11,14 +11,12 @@ Signed-off-by: Takashi Iwai <tiwai@suse.de> (cherry picked from commit e44007e0f97fdae45b73cf61e9962493ddcc6114) Signed-off-by: Darren Hart <dvhart@linux.intel.com> --- - sound/pci/hda/hda_intel.c | 3 +++ + sound/pci/hda/hda_intel.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c -index 624e6c044a44..26338818f2d4 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c -@@ -3879,6 +3879,9 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = { +@@ -3883,6 +3883,9 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) /* Oaktrail */ { PCI_DEVICE(0x8086, 0x080a), .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_NOPM }, @@ -28,6 +26,3 @@ index 624e6c044a44..26338818f2d4 100644 /* ICH */ { PCI_DEVICE(0x8086, 0x2668), .driver_data = AZX_DRIVER_ICH | AZX_DCAPS_OLD_SSYNC | --- -1.8.5.rc3 - diff --git a/patches.ltsi/ltsi-makefile-addition.patch b/patches.ltsi/ltsi-makefile-addition.patch index 36b85b8de53ffd..d6a7cc11da5c6c 100644 --- a/patches.ltsi/ltsi-makefile-addition.patch +++ b/patches.ltsi/ltsi-makefile-addition.patch @@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 10 - SUBLEVEL = 25 + SUBLEVEL = 26 -EXTRAVERSION = +EXTRAVERSION = -ltsi NAME = TOSSUG Baby Fish diff --git a/patches.renesas/0014-clocksource-arch_timer-use-virtual-counters.patch b/patches.renesas/0014-clocksource-arch_timer-use-virtual-counters.patch deleted file mode 100644 index 733961ba8aefcd..00000000000000 --- a/patches.renesas/0014-clocksource-arch_timer-use-virtual-counters.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 5e0c108a4ec72c035491aad3e48971daa29886e0 Mon Sep 17 00:00:00 2001 -From: Mark Rutland <mark.rutland@arm.com> -Date: Wed, 30 Jan 2013 17:51:26 +0000 -Subject: clocksource: arch_timer: use virtual counters - -Switching between reading the virtual or physical counters is -problematic, as some core code wants a view of time before we're fully -set up. Using a function pointer and switching the source after the -first read can make time appear to go backwards, and having a check in -the read function is an unfortunate block on what we want to be a fast -path. - -Instead, this patch makes us always use the virtual counters. If we're a -guest, or don't have hyp mode, we'll use the virtual timers, and as such -don't care about CNTVOFF as long as it doesn't change in such a way as -to make time appear to travel backwards. As the guest will use the -virtual timers, a (potential) KVM host must use the physical timers -(which can wake up the host even if they fire while a guest is -executing), and hence a host must have CNTVOFF set to zero so as to have -a consistent view of time between the physical timers and virtual -counters. - -Signed-off-by: Mark Rutland <mark.rutland@arm.com> -Acked-by: Catalin Marinas <catalin.marinas@arm.com> -Acked-by: Marc Zyngier <marc.zyngier@arm.com> -Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> -Cc: Rob Herring <rob.herring@calxeda.com> -(cherry picked from commit 0d651e4e65e96989f72236bf83bd4c6e55eb6ce4) -Signed-off-by: Simon Horman <horms+renesas@verge.net.au> ---- - arch/arm/include/asm/arch_timer.h | 9 --------- - arch/arm64/include/asm/arch_timer.h | 10 ---------- - drivers/clocksource/arm_arch_timer.c | 23 +++++------------------ - include/clocksource/arm_arch_timer.h | 2 +- - 4 files changed, 6 insertions(+), 38 deletions(-) - -diff --git a/arch/arm/include/asm/arch_timer.h b/arch/arm/include/asm/arch_timer.h -index 7c1bfc0a..accefe09 100644 ---- a/arch/arm/include/asm/arch_timer.h -+++ b/arch/arm/include/asm/arch_timer.h -@@ -80,15 +80,6 @@ static inline u32 arch_timer_get_cntfrq(void) - return val; - } - --static inline u64 arch_counter_get_cntpct(void) --{ -- u64 cval; -- -- isb(); -- asm volatile("mrrc p15, 0, %Q0, %R0, c14" : "=r" (cval)); -- return cval; --} -- - static inline u64 arch_counter_get_cntvct(void) - { - u64 cval; -diff --git a/arch/arm64/include/asm/arch_timer.h b/arch/arm64/include/asm/arch_timer.h -index bf6ab242..d56ed11b 100644 ---- a/arch/arm64/include/asm/arch_timer.h -+++ b/arch/arm64/include/asm/arch_timer.h -@@ -110,16 +110,6 @@ static inline void __cpuinit arch_counter_set_user_access(void) - asm volatile("msr cntkctl_el1, %0" : : "r" (cntkctl)); - } - --static inline u64 arch_counter_get_cntpct(void) --{ -- u64 cval; -- -- isb(); -- asm volatile("mrs %0, cntpct_el0" : "=r" (cval)); -- -- return cval; --} -- - static inline u64 arch_counter_get_cntvct(void) - { - u64 cval; -diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c -index a2b25418..053d846a 100644 ---- a/drivers/clocksource/arm_arch_timer.c -+++ b/drivers/clocksource/arm_arch_timer.c -@@ -186,27 +186,19 @@ u32 arch_timer_get_rate(void) - return arch_timer_rate; - } - --/* -- * Some external users of arch_timer_read_counter (e.g. sched_clock) may try to -- * call it before it has been initialised. Rather than incur a performance -- * penalty checking for initialisation, provide a default implementation that -- * won't lead to time appearing to jump backwards. -- */ --static u64 arch_timer_read_zero(void) -+u64 arch_timer_read_counter(void) - { -- return 0; -+ return arch_counter_get_cntvct(); - } - --u64 (*arch_timer_read_counter)(void) = arch_timer_read_zero; -- - static cycle_t arch_counter_read(struct clocksource *cs) - { -- return arch_timer_read_counter(); -+ return arch_counter_get_cntvct(); - } - - static cycle_t arch_counter_read_cc(const struct cyclecounter *cc) - { -- return arch_timer_read_counter(); -+ return arch_counter_get_cntvct(); - } - - static struct clocksource clocksource_counter = { -@@ -287,7 +279,7 @@ static int __init arch_timer_register(void) - cyclecounter.mult = clocksource_counter.mult; - cyclecounter.shift = clocksource_counter.shift; - timecounter_init(&timecounter, &cyclecounter, -- arch_counter_get_cntpct()); -+ arch_counter_get_cntvct()); - - if (arch_timer_use_virtual) { - ppi = arch_timer_ppi[VIRT_PPI]; -@@ -376,11 +368,6 @@ static void __init arch_timer_init(struct device_node *np) - } - } - -- if (arch_timer_use_virtual) -- arch_timer_read_counter = arch_counter_get_cntvct; -- else -- arch_timer_read_counter = arch_counter_get_cntpct; -- - arch_timer_register(); - arch_timer_arch_init(); - } -diff --git a/include/clocksource/arm_arch_timer.h b/include/clocksource/arm_arch_timer.h -index e6c9c4cc..c463ce99 100644 ---- a/include/clocksource/arm_arch_timer.h -+++ b/include/clocksource/arm_arch_timer.h -@@ -32,7 +32,7 @@ - #ifdef CONFIG_ARM_ARCH_TIMER - - extern u32 arch_timer_get_rate(void); --extern u64 (*arch_timer_read_counter)(void); -+extern u64 arch_timer_read_counter(void); - extern struct timecounter *arch_timer_get_timecounter(void); - - #else --- -1.8.4.3.gca3854a - diff --git a/patches.workqueues/0001-workqueues-Introduce-new-flag-WQ_POWER_EFFICIENT-for.patch b/patches.workqueues/0001-workqueues-Introduce-new-flag-WQ_POWER_EFFICIENT-for.patch index a9dc1751a07968..6a1ed1b93eb2fd 100644 --- a/patches.workqueues/0001-workqueues-Introduce-new-flag-WQ_POWER_EFFICIENT-for.patch +++ b/patches.workqueues/0001-workqueues-Introduce-new-flag-WQ_POWER_EFFICIENT-for.patch @@ -34,7 +34,7 @@ Signed-off-by: Mark Brown <broonie@linaro.org> --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -3341,6 +3341,21 @@ bytes respectively. Such letter suffixes +@@ -3345,6 +3345,21 @@ bytes respectively. Such letter suffixes that this also can be controlled per-workqueue for workqueues visible under /sys/bus/workqueue/. diff --git a/patches.zynq/0014-arm-zynq-Migrate-platform-to-clock-controller.patch b/patches.zynq/0014-arm-zynq-Migrate-platform-to-clock-controller.patch index fb6ebca5e6f633..8543de69ac624e 100644 --- a/patches.zynq/0014-arm-zynq-Migrate-platform-to-clock-controller.patch +++ b/patches.zynq/0014-arm-zynq-Migrate-platform-to-clock-controller.patch @@ -179,7 +179,7 @@ Signed-off-by: Yoshitake Kobayashi <yoshitake.kobayashi@toshiba.co.jp> +obj-$(CONFIG_ARCH_ZYNQ) += zynq/ obj-$(CONFIG_ARCH_TEGRA) += tegra/ obj-$(CONFIG_PLAT_SAMSUNG) += samsung/ - obj-$(CONFIG_ARCH_SHMOBILE_MULTI) += shmobile/ + --- /dev/null +++ b/drivers/clk/zynq/Makefile @@ -0,0 +1,3 @@ diff --git a/patches.zynq/0039-clk-add-CLK_SET_RATE_NO_REPARENT-flag.patch b/patches.zynq/0039-clk-add-CLK_SET_RATE_NO_REPARENT-flag.patch index ec8840b5ca4473..7571adb9547e85 100644 --- a/patches.zynq/0039-clk-add-CLK_SET_RATE_NO_REPARENT-flag.patch +++ b/patches.zynq/0039-clk-add-CLK_SET_RATE_NO_REPARENT-flag.patch @@ -234,7 +234,7 @@ Signed-off-by: Yoshitake Kobayashi <yoshitake.kobayashi@toshiba.co.jp> 0, 0, &dbgclk_lock); --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h -@@ -28,6 +28,7 @@ +@@ -27,6 +27,7 @@ #define CLK_IS_ROOT BIT(4) /* root clk, has no parent */ #define CLK_IS_BASIC BIT(5) /* Basic clk, can't do a to_clk_foo() */ #define CLK_GET_RATE_NOCACHE BIT(6) /* do not use the cached clk rate */ diff --git a/patches.zynq/0070-arm-dt-zynq-Add-support-for-the-zc706-platform.patch b/patches.zynq/0070-arm-dt-zynq-Add-support-for-the-zc706-platform.patch index adaaecadb53c69..0754279e94a359 100644 --- a/patches.zynq/0070-arm-dt-zynq-Add-support-for-the-zc706-platform.patch +++ b/patches.zynq/0070-arm-dt-zynq-Add-support-for-the-zc706-platform.patch @@ -20,7 +20,7 @@ Signed-off-by: Yoshitake Kobayashi <yoshitake.kobayashi@toshiba.co.jp> --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -219,7 +219,8 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07 +@@ -216,7 +216,8 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07 wm8505-ref.dtb \ wm8650-mid.dtb \ wm8850-w70v2.dtb @@ -61,7 +61,6 @@ patches.renesas/0010-drivers-irq-chip-irq-gic-introduce-gic_cpu_if_down.patch patches.renesas/0011-irqchip-renesas-intc-irqpin-DT-binding-for-sense-bit.patch patches.renesas/0012-ARM-shmobile-irqpin-add-a-DT-property-to-enable-mask.patch patches.renesas/0013-irqchip-renesas-irqc-Fix-irqc_probe-error-handling.patch -patches.renesas/0014-clocksource-arch_timer-use-virtual-counters.patch patches.renesas/0015-clocksource-arch_timer-Make-register-accessors-less-.patch patches.renesas/0016-clocksource-arch_timer-Push-the-read-write-wrappers-.patch patches.renesas/0017-clocksource-em_sti-Convert-to-devm_-managed-helpers.patch |