@@ -1138,8 +1138,6 @@ static void guc_read_update_log_buffer(struct intel_guc *guc)
src_data += buffer_size;
dst_data += buffer_size;
-
- /* FIXME: invalidate/flush for log buffer needed */
}
if (log_buf_snapshot_state)
@@ -1202,8 +1200,11 @@ static int guc_create_log_extras(struct intel_guc *guc)
return 0;
if (!guc->log.buf_addr) {
- /* Create a vmalloc mapping of log buffer pages */
- vaddr = i915_gem_object_pin_map(guc->log.vma->obj, I915_MAP_WB);
+ /* Create a WC (Uncached for read) vmalloc mapping of log
+ * buffer pages, so that we can directly get the data
+ * (up-to-date) from memory.
+ */
+ vaddr = i915_gem_object_pin_map(guc->log.vma->obj, I915_MAP_WC);
if (IS_ERR(vaddr)) {
ret = PTR_ERR(vaddr);
DRM_ERROR("Couldn't map log buffer pages %d\n", ret);