mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-20 06:07:59 +00:00
eb62d9cc04
Fixes #2736
245 lines
6.1 KiB
Diff
245 lines
6.1 KiB
Diff
--- a/drivers/gpu/drm/i915/i915_gem_object.h
|
|
--- b/drivers/gpu/drm/i915/i915_gem_object.h
|
|
@@ -26,6 +26,7 @@
|
|
#define __I915_GEM_OBJECT_H__
|
|
|
|
#include <linux/reservation.h>
|
|
+#include <linux/radix-tree.h>
|
|
|
|
#include <drm/drm_vma_manager.h>
|
|
#include <drm/drm_gem.h>
|
|
--- a/drivers/gpu/drm/drm_connector.c
|
|
+++ b/drivers/gpu/drm/drm_connector.c
|
|
@@ -544,7 +544,9 @@
|
|
{
|
|
iter->dev = dev;
|
|
iter->conn = NULL;
|
|
+#ifdef CONFIG_LOCKDEP
|
|
lock_acquire_shared_recursive(&connector_list_iter_dep_map, 0, 1, NULL, _RET_IP_);
|
|
+#endif
|
|
}
|
|
EXPORT_SYMBOL(drm_connector_list_iter_begin);
|
|
|
|
@@ -625,7 +627,9 @@
|
|
__drm_connector_put_safe(iter->conn);
|
|
spin_unlock_irqrestore(&config->connector_list_lock, flags);
|
|
}
|
|
+#ifdef CONFIG_LOCKDEP
|
|
lock_release(&connector_list_iter_dep_map, 0, _RET_IP_);
|
|
+#endif
|
|
}
|
|
EXPORT_SYMBOL(drm_connector_list_iter_end);
|
|
|
|
--- a/include/drm/drm_mm.h
|
|
+++ b/include/drm/drm_mm.h
|
|
@@ -423,7 +423,7 @@
|
|
struct drm_mm_node *node,
|
|
u64 size)
|
|
{
|
|
- return drm_mm_insert_node_generic(mm, node, size, 0, 0, 0);
|
|
+ return drm_mm_insert_node_generic(mm, node, size, 0, 0, DRM_MM_INSERT_BEST);
|
|
}
|
|
|
|
void drm_mm_remove_node(struct drm_mm_node *node);
|
|
--- a/include/drm/drm_print.h
|
|
+++ b/include/drm/drm_print.h
|
|
@@ -122,10 +122,9 @@
|
|
*/
|
|
static inline struct drm_printer drm_debug_printer(const char *prefix)
|
|
{
|
|
- struct drm_printer p = {
|
|
- .printfn = __drm_printfn_debug,
|
|
- .prefix = prefix
|
|
- };
|
|
+ struct drm_printer p;
|
|
+ p.printfn = __drm_printfn_debug;
|
|
+ p.prefix = prefix;
|
|
return p;
|
|
}
|
|
#endif /* DRM_PRINT_H_ */
|
|
--- a/drivers/gpu/drm/i915/intel_guc.c
|
|
+++ b/drivers/gpu/drm/i915/intel_guc.c
|
|
@@ -24,6 +24,7 @@
|
|
|
|
#include "intel_guc.h"
|
|
#include "i915_drv.h"
|
|
+#include "intel_drv.h"
|
|
|
|
static void gen8_guc_raise_irq(struct intel_guc *guc)
|
|
{
|
|
--- a/drivers/gpu/drm/i915/intel_uc.c
|
|
+++ b/drivers/gpu/drm/i915/intel_uc.c
|
|
@@ -26,6 +26,7 @@
|
|
#include "intel_guc_submission.h"
|
|
#include "intel_guc.h"
|
|
#include "i915_drv.h"
|
|
+#include "intel_drv.h"
|
|
|
|
/* Reset GuC providing us with fresh state for both GuC and HuC.
|
|
*/
|
|
--- a/drivers/gpu/drm/i915/intel_guc_fw.c
|
|
+++ b/drivers/gpu/drm/i915/intel_guc_fw.c
|
|
@@ -29,6 +29,7 @@
|
|
|
|
#include "intel_guc_fw.h"
|
|
#include "i915_drv.h"
|
|
+#include "intel_drv.h"
|
|
|
|
#define SKL_FW_MAJOR 6
|
|
#define SKL_FW_MINOR 1
|
|
--- a/drivers/gpu/drm/i915/i915_gem_fence_reg.c
|
|
+++ b/drivers/gpu/drm/i915/i915_gem_fence_reg.c
|
|
@@ -24,6 +24,7 @@
|
|
#include <drm/drmP.h>
|
|
#include <drm/i915_drm.h>
|
|
#include "i915_drv.h"
|
|
+#include "intel_drv.h"
|
|
|
|
/**
|
|
* DOC: fence register handling
|
|
--- a/drivers/gpu/drm/i915/intel_huc.c
|
|
+++ b/drivers/gpu/drm/i915/intel_huc.c
|
|
@@ -26,6 +26,7 @@
|
|
|
|
#include "intel_huc.h"
|
|
#include "i915_drv.h"
|
|
+#include "intel_drv.h"
|
|
|
|
/**
|
|
* DOC: HuC Firmware
|
|
--- a/drivers/gpu/drm/i915/i915_gem_request.c
|
|
+++ b/drivers/gpu/drm/i915/i915_gem_request.c
|
|
@@ -29,6 +29,7 @@
|
|
#include <linux/sched/signal.h>
|
|
|
|
#include "i915_drv.h"
|
|
+#include "intel_drv.h"
|
|
|
|
static const char *i915_fence_get_driver_name(struct dma_fence *fence)
|
|
{
|
|
--- a/drivers/gpu/drm/i915/i915_vma.c
|
|
+++ b/drivers/gpu/drm/i915/i915_vma.c
|
|
@@ -27,6 +27,7 @@
|
|
#include "i915_drv.h"
|
|
#include "intel_ringbuffer.h"
|
|
#include "intel_frontbuffer.h"
|
|
+#include "intel_drv.h"
|
|
|
|
#include <drm/drm_gem.h>
|
|
|
|
--- a/drivers/i2c/i2c-core-base.c
|
|
+++ b/drivers/i2c/i2c-core-base.c
|
|
@@ -1276,9 +1276,11 @@
|
|
goto out_list;
|
|
}
|
|
|
|
+#if IS_ENABLED(CONFIG_I2C_SMBUS) && IS_ENABLED(CONFIG_OF)
|
|
res = of_i2c_setup_smbus_alert(adap);
|
|
if (res)
|
|
goto out_reg;
|
|
+#endif
|
|
|
|
dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name);
|
|
|
|
@@ -1311,7 +1313,9 @@
|
|
|
|
return 0;
|
|
|
|
+#if IS_ENABLED(CONFIG_I2C_SMBUS) && IS_ENABLED(CONFIG_OF)
|
|
out_reg:
|
|
+#endif
|
|
init_completion(&adap->dev_released);
|
|
device_unregister(&adap->dev);
|
|
wait_for_completion(&adap->dev_released);
|
|
--- a/include/drm/intel-gtt.h
|
|
+++ b/include/drm/intel-gtt.h
|
|
@@ -4,6 +4,8 @@
|
|
#ifndef _DRM_INTEL_GTT_H
|
|
#define _DRM_INTEL_GTT_H
|
|
|
|
+#include <linux/scatterlist.h>
|
|
+
|
|
void intel_gtt_get(u64 *gtt_total,
|
|
u32 *stolen_size,
|
|
phys_addr_t *mappable_base,
|
|
--- a/drivers/gpu/drm/i915/i915_drv.c
|
|
+++ b/drivers/gpu/drm/i915/i915_drv.c
|
|
@@ -1022,11 +1022,11 @@
|
|
|
|
intel_uc_init_mmio(dev_priv);
|
|
|
|
- ret = intel_engines_init_mmio(dev_priv);
|
|
+// ret = intel_engines_init_mmio(dev_priv);
|
|
if (ret)
|
|
goto err_uncore;
|
|
|
|
- i915_gem_init_mmio(dev_priv);
|
|
+// i915_gem_init_mmio(dev_priv);
|
|
|
|
return 0;
|
|
|
|
--- a/drivers/gpu/drm/i915/i915_gem_context.c
|
|
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
|
|
@@ -487,9 +487,11 @@
|
|
}
|
|
dev_priv->preempt_context = ctx;
|
|
|
|
+/*
|
|
DRM_DEBUG_DRIVER("%s context support initialized\n",
|
|
dev_priv->engine[RCS]->context_size ? "logical" :
|
|
"fake");
|
|
+*/
|
|
return 0;
|
|
|
|
err_kernel_context:
|
|
--- a/drivers/gpu/drm/drm_framebuffer.c
|
|
--- b/drivers/gpu/drm/drm_framebuffer.c
|
|
@@ -675,7 +675,8 @@
|
|
INIT_LIST_HEAD(&fb->filp_head);
|
|
|
|
fb->funcs = funcs;
|
|
- strcpy(fb->comm, current->comm);
|
|
+ if (current) /* used for debugging */
|
|
+ strcpy(fb->comm, current->comm);
|
|
|
|
ret = __drm_mode_object_add(dev, &fb->base, DRM_MODE_OBJECT_FB,
|
|
false, drm_framebuffer_free);
|
|
--- a/drivers/gpu/drm/i915/intel_display.c
|
|
--- b/drivers/gpu/drm/i915/intel_display.c
|
|
@@ -12199,7 +12199,7 @@
|
|
u64 put_domains[I915_MAX_PIPES] = {};
|
|
int i;
|
|
|
|
- intel_atomic_commit_fence_wait(intel_state);
|
|
+// intel_atomic_commit_fence_wait(intel_state);
|
|
|
|
drm_atomic_helper_wait_for_dependencies(state);
|
|
|
|
@@ -12479,13 +12479,14 @@
|
|
dev_priv->cdclk.actual = intel_state->cdclk.actual;
|
|
}
|
|
|
|
- drm_atomic_state_get(state);
|
|
INIT_WORK(&state->commit_work, intel_atomic_commit_work);
|
|
|
|
i915_sw_fence_commit(&intel_state->commit_ready);
|
|
if (nonblock && intel_state->modeset) {
|
|
+ drm_atomic_state_get(state);
|
|
queue_work(dev_priv->modeset_wq, &state->commit_work);
|
|
} else if (nonblock) {
|
|
+ drm_atomic_state_get(state);
|
|
queue_work(system_unbound_wq, &state->commit_work);
|
|
} else {
|
|
if (intel_state->modeset)
|
|
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
|
|
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
|
|
@@ -154,7 +158,7 @@
|
|
* We don't allow disabling PPGTT for gen9+ as it's a requirement for
|
|
* execlists, the sole mechanism available to submit work.
|
|
*/
|
|
- if (enable_ppgtt == 0 && INTEL_GEN(dev_priv) < 9)
|
|
+ if (enable_ppgtt == 0) // && INTEL_GEN(dev_priv) < 9)
|
|
return 0;
|
|
|
|
if (enable_ppgtt == 1)
|