Merge tag 'drm-intel-next-fixes-2015-07-02' of git://anongit.freedesktop.org/drm-intel
Pull intel drm fixes from Jani Nikula: "Almost all of it is regression fixes all around, with cc: stable, and then there's Ander's fix for one of the warnings you reported. We're still working on the rest" [ Dave is on vacation, and Jani is heading out on vacation too ] * tag 'drm-intel-next-fixes-2015-07-02' of git://anongit.freedesktop.org/drm-intel: drm/i915: Clear pipe's pll hw state in hsw_dp_set_ddi_pll_sel() drm/i915: fix backlight after resume on 855gm agp/intel: Fix typo in needs_ilk_vtd_wa() drm/i915/ppgtt: Break loop in gen8_ppgtt_clear_range failure path drm/i915: Fix IPS related flicker
This commit is contained in:
commit
c021bf1e52
|
@ -581,7 +581,7 @@ static inline int needs_ilk_vtd_wa(void)
|
||||||
/* Query intel_iommu to see if we need the workaround. Presumably that
|
/* Query intel_iommu to see if we need the workaround. Presumably that
|
||||||
* was loaded first.
|
* was loaded first.
|
||||||
*/
|
*/
|
||||||
if ((gpu_devid == PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB ||
|
if ((gpu_devid == PCI_DEVICE_ID_INTEL_IRONLAKE_D_IG ||
|
||||||
gpu_devid == PCI_DEVICE_ID_INTEL_IRONLAKE_M_IG) &&
|
gpu_devid == PCI_DEVICE_ID_INTEL_IRONLAKE_M_IG) &&
|
||||||
intel_iommu_gfx_mapped)
|
intel_iommu_gfx_mapped)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -516,17 +516,17 @@ static void gen8_ppgtt_clear_range(struct i915_address_space *vm,
|
||||||
struct page *page_table;
|
struct page *page_table;
|
||||||
|
|
||||||
if (WARN_ON(!ppgtt->pdp.page_directory[pdpe]))
|
if (WARN_ON(!ppgtt->pdp.page_directory[pdpe]))
|
||||||
continue;
|
break;
|
||||||
|
|
||||||
pd = ppgtt->pdp.page_directory[pdpe];
|
pd = ppgtt->pdp.page_directory[pdpe];
|
||||||
|
|
||||||
if (WARN_ON(!pd->page_table[pde]))
|
if (WARN_ON(!pd->page_table[pde]))
|
||||||
continue;
|
break;
|
||||||
|
|
||||||
pt = pd->page_table[pde];
|
pt = pd->page_table[pde];
|
||||||
|
|
||||||
if (WARN_ON(!pt->page))
|
if (WARN_ON(!pt->page))
|
||||||
continue;
|
break;
|
||||||
|
|
||||||
page_table = pt->page;
|
page_table = pt->page;
|
||||||
|
|
||||||
|
|
|
@ -3491,6 +3491,7 @@ enum skl_disp_power_wells {
|
||||||
#define BLM_POLARITY_PNV (1 << 0) /* pnv only */
|
#define BLM_POLARITY_PNV (1 << 0) /* pnv only */
|
||||||
|
|
||||||
#define BLC_HIST_CTL (dev_priv->info.display_mmio_offset + 0x61260)
|
#define BLC_HIST_CTL (dev_priv->info.display_mmio_offset + 0x61260)
|
||||||
|
#define BLM_HISTOGRAM_ENABLE (1 << 31)
|
||||||
|
|
||||||
/* New registers for PCH-split platforms. Safe where new bits show up, the
|
/* New registers for PCH-split platforms. Safe where new bits show up, the
|
||||||
* register layout machtes with gen4 BLC_PWM_CTL[12]. */
|
* register layout machtes with gen4 BLC_PWM_CTL[12]. */
|
||||||
|
|
|
@ -13303,6 +13303,16 @@ intel_check_primary_plane(struct drm_plane *plane,
|
||||||
intel_crtc->atomic.wait_vblank = true;
|
intel_crtc->atomic.wait_vblank = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FIXME: Actually if we will still have any other plane enabled
|
||||||
|
* on the pipe we could let IPS enabled still, but for
|
||||||
|
* now lets consider that when we make primary invisible
|
||||||
|
* by setting DSPCNTR to 0 on update_primary_plane function
|
||||||
|
* IPS needs to be disable.
|
||||||
|
*/
|
||||||
|
if (!state->visible || !fb)
|
||||||
|
intel_crtc->atomic.disable_ips = true;
|
||||||
|
|
||||||
intel_crtc->atomic.fb_bits |=
|
intel_crtc->atomic.fb_bits |=
|
||||||
INTEL_FRONTBUFFER_PRIMARY(intel_crtc->pipe);
|
INTEL_FRONTBUFFER_PRIMARY(intel_crtc->pipe);
|
||||||
|
|
||||||
|
@ -13400,6 +13410,9 @@ static void intel_begin_crtc_commit(struct drm_crtc *crtc)
|
||||||
if (intel_crtc->atomic.disable_fbc)
|
if (intel_crtc->atomic.disable_fbc)
|
||||||
intel_fbc_disable(dev);
|
intel_fbc_disable(dev);
|
||||||
|
|
||||||
|
if (intel_crtc->atomic.disable_ips)
|
||||||
|
hsw_disable_ips(intel_crtc);
|
||||||
|
|
||||||
if (intel_crtc->atomic.pre_disable_primary)
|
if (intel_crtc->atomic.pre_disable_primary)
|
||||||
intel_pre_disable_primary(crtc);
|
intel_pre_disable_primary(crtc);
|
||||||
|
|
||||||
|
|
|
@ -1140,6 +1140,9 @@ skl_edp_set_pll_config(struct intel_crtc_state *pipe_config, int link_clock)
|
||||||
static void
|
static void
|
||||||
hsw_dp_set_ddi_pll_sel(struct intel_crtc_state *pipe_config, int link_bw)
|
hsw_dp_set_ddi_pll_sel(struct intel_crtc_state *pipe_config, int link_bw)
|
||||||
{
|
{
|
||||||
|
memset(&pipe_config->dpll_hw_state, 0,
|
||||||
|
sizeof(pipe_config->dpll_hw_state));
|
||||||
|
|
||||||
switch (link_bw) {
|
switch (link_bw) {
|
||||||
case DP_LINK_BW_1_62:
|
case DP_LINK_BW_1_62:
|
||||||
pipe_config->ddi_pll_sel = PORT_CLK_SEL_LCPLL_810;
|
pipe_config->ddi_pll_sel = PORT_CLK_SEL_LCPLL_810;
|
||||||
|
|
|
@ -485,6 +485,7 @@ struct intel_crtc_atomic_commit {
|
||||||
/* Sleepable operations to perform before commit */
|
/* Sleepable operations to perform before commit */
|
||||||
bool wait_for_flips;
|
bool wait_for_flips;
|
||||||
bool disable_fbc;
|
bool disable_fbc;
|
||||||
|
bool disable_ips;
|
||||||
bool pre_disable_primary;
|
bool pre_disable_primary;
|
||||||
bool update_wm;
|
bool update_wm;
|
||||||
unsigned disabled_planes;
|
unsigned disabled_planes;
|
||||||
|
|
|
@ -907,6 +907,14 @@ static void i9xx_enable_backlight(struct intel_connector *connector)
|
||||||
|
|
||||||
/* XXX: combine this into above write? */
|
/* XXX: combine this into above write? */
|
||||||
intel_panel_actually_set_backlight(connector, panel->backlight.level);
|
intel_panel_actually_set_backlight(connector, panel->backlight.level);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Needed to enable backlight on some 855gm models. BLC_HIST_CTL is
|
||||||
|
* 855gm only, but checking for gen2 is safe, as 855gm is the only gen2
|
||||||
|
* that has backlight.
|
||||||
|
*/
|
||||||
|
if (IS_GEN2(dev))
|
||||||
|
I915_WRITE(BLC_HIST_CTL, BLM_HISTOGRAM_ENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void i965_enable_backlight(struct intel_connector *connector)
|
static void i965_enable_backlight(struct intel_connector *connector)
|
||||||
|
|
Loading…
Reference in New Issue