Commit a168cabd authored by Dave Airlie's avatar Dave Airlie

Merge tag 'drm-intel-fixes-2019-11-13' of...

Merge tag 'drm-intel-fixes-2019-11-13' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes

- MOCS table fixes for EHL and TGL
- Update Display's rawclock on resume
- GVT's dmabuf reference drop fix
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191114055302.GA3564@intel.com
parents 31f4f5b4 1c602006
...@@ -4896,6 +4896,9 @@ void intel_power_domains_init_hw(struct drm_i915_private *i915, bool resume) ...@@ -4896,6 +4896,9 @@ void intel_power_domains_init_hw(struct drm_i915_private *i915, bool resume)
power_domains->initializing = true; power_domains->initializing = true;
/* Must happen before power domain init on VLV/CHV */
intel_update_rawclk(i915);
if (INTEL_GEN(i915) >= 11) { if (INTEL_GEN(i915) >= 11) {
icl_display_core_init(i915, resume); icl_display_core_init(i915, resume);
} else if (IS_CANNONLAKE(i915)) { } else if (IS_CANNONLAKE(i915)) {
......
...@@ -199,14 +199,6 @@ static const struct drm_i915_mocs_entry broxton_mocs_table[] = { ...@@ -199,14 +199,6 @@ static const struct drm_i915_mocs_entry broxton_mocs_table[] = {
MOCS_ENTRY(15, \ MOCS_ENTRY(15, \
LE_3_WB | LE_TC_1_LLC | LE_LRUM(2) | LE_AOM(1), \ LE_3_WB | LE_TC_1_LLC | LE_LRUM(2) | LE_AOM(1), \
L3_3_WB), \ L3_3_WB), \
/* Bypass LLC - Uncached (EHL+) */ \
MOCS_ENTRY(16, \
LE_1_UC | LE_TC_1_LLC | LE_SCF(1), \
L3_1_UC), \
/* Bypass LLC - L3 (Read-Only) (EHL+) */ \
MOCS_ENTRY(17, \
LE_1_UC | LE_TC_1_LLC | LE_SCF(1), \
L3_3_WB), \
/* Self-Snoop - L3 + LLC */ \ /* Self-Snoop - L3 + LLC */ \
MOCS_ENTRY(18, \ MOCS_ENTRY(18, \
LE_3_WB | LE_TC_1_LLC | LE_LRUM(3) | LE_SSE(3), \ LE_3_WB | LE_TC_1_LLC | LE_LRUM(3) | LE_SSE(3), \
...@@ -270,7 +262,7 @@ static const struct drm_i915_mocs_entry tigerlake_mocs_table[] = { ...@@ -270,7 +262,7 @@ static const struct drm_i915_mocs_entry tigerlake_mocs_table[] = {
L3_1_UC), L3_1_UC),
/* HW Special Case (Displayable) */ /* HW Special Case (Displayable) */
MOCS_ENTRY(61, MOCS_ENTRY(61,
LE_1_UC | LE_TC_1_LLC | LE_SCF(1), LE_1_UC | LE_TC_1_LLC,
L3_3_WB), L3_3_WB),
}; };
......
...@@ -498,8 +498,6 @@ int intel_vgpu_get_dmabuf(struct intel_vgpu *vgpu, unsigned int dmabuf_id) ...@@ -498,8 +498,6 @@ int intel_vgpu_get_dmabuf(struct intel_vgpu *vgpu, unsigned int dmabuf_id)
goto out_free_gem; goto out_free_gem;
} }
i915_gem_object_put(obj);
ret = dma_buf_fd(dmabuf, DRM_CLOEXEC | DRM_RDWR); ret = dma_buf_fd(dmabuf, DRM_CLOEXEC | DRM_RDWR);
if (ret < 0) { if (ret < 0) {
gvt_vgpu_err("create dma-buf fd failed ret:%d\n", ret); gvt_vgpu_err("create dma-buf fd failed ret:%d\n", ret);
...@@ -524,6 +522,8 @@ int intel_vgpu_get_dmabuf(struct intel_vgpu *vgpu, unsigned int dmabuf_id) ...@@ -524,6 +522,8 @@ int intel_vgpu_get_dmabuf(struct intel_vgpu *vgpu, unsigned int dmabuf_id)
file_count(dmabuf->file), file_count(dmabuf->file),
kref_read(&obj->base.refcount)); kref_read(&obj->base.refcount));
i915_gem_object_put(obj);
return dmabuf_fd; return dmabuf_fd;
out_free_dmabuf: out_free_dmabuf:
......
...@@ -364,9 +364,6 @@ static int i915_driver_modeset_probe(struct drm_device *dev) ...@@ -364,9 +364,6 @@ static int i915_driver_modeset_probe(struct drm_device *dev)
if (ret) if (ret)
goto cleanup_vga_client; goto cleanup_vga_client;
/* must happen before intel_power_domains_init_hw() on VLV/CHV */
intel_update_rawclk(dev_priv);
intel_power_domains_init_hw(dev_priv, false); intel_power_domains_init_hw(dev_priv, false);
intel_csr_ucode_init(dev_priv); intel_csr_ucode_init(dev_priv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment