drm/i915: Compile out error state without DEBUG_FS
Alexander reported that the compilation of intel_overlay.c was failing due to an inclusion that was only valid with CONFIG_DEBUG_FS. As the whole error reporting is only useful with debugfs enabled, remove all the redundant error state collection code when compiling without CONFIG_DEBUG_FS. Reported-by: Alexander Lam <lambchop468@gmail.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
@@ -874,7 +874,6 @@ extern void i915_update_gfx_val(struct drm_i915_private *dev_priv);
|
|||||||
|
|
||||||
/* i915_irq.c */
|
/* i915_irq.c */
|
||||||
void i915_hangcheck_elapsed(unsigned long data);
|
void i915_hangcheck_elapsed(unsigned long data);
|
||||||
void i915_destroy_error_state(struct drm_device *dev);
|
|
||||||
extern int i915_irq_emit(struct drm_device *dev, void *data,
|
extern int i915_irq_emit(struct drm_device *dev, void *data,
|
||||||
struct drm_file *file_priv);
|
struct drm_file *file_priv);
|
||||||
extern int i915_irq_wait(struct drm_device *dev, void *data,
|
extern int i915_irq_wait(struct drm_device *dev, void *data,
|
||||||
@@ -911,6 +910,12 @@ i915_disable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask);
|
|||||||
|
|
||||||
void intel_enable_asle (struct drm_device *dev);
|
void intel_enable_asle (struct drm_device *dev);
|
||||||
|
|
||||||
|
#ifdef CONFIG_DEBUG_FS
|
||||||
|
extern void i915_destroy_error_state(struct drm_device *dev);
|
||||||
|
#else
|
||||||
|
#define i915_destroy_error_state(x)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* i915_mem.c */
|
/* i915_mem.c */
|
||||||
extern int i915_mem_alloc(struct drm_device *dev, void *data,
|
extern int i915_mem_alloc(struct drm_device *dev, void *data,
|
||||||
@@ -1091,8 +1096,10 @@ extern void intel_detect_pch (struct drm_device *dev);
|
|||||||
extern int intel_trans_dp_port_sel (struct drm_crtc *crtc);
|
extern int intel_trans_dp_port_sel (struct drm_crtc *crtc);
|
||||||
|
|
||||||
/* overlay */
|
/* overlay */
|
||||||
|
#ifdef CONFIG_DEBUG_FS
|
||||||
extern struct intel_overlay_error_state *intel_overlay_capture_error_state(struct drm_device *dev);
|
extern struct intel_overlay_error_state *intel_overlay_capture_error_state(struct drm_device *dev);
|
||||||
extern void intel_overlay_print_error_state(struct seq_file *m, struct intel_overlay_error_state *error);
|
extern void intel_overlay_print_error_state(struct seq_file *m, struct intel_overlay_error_state *error);
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lock test for when it's just for synchronization of ring access.
|
* Lock test for when it's just for synchronization of ring access.
|
||||||
|
@@ -421,6 +421,7 @@ static void i915_error_work_func(struct work_struct *work)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_DEBUG_FS
|
||||||
static struct drm_i915_error_object *
|
static struct drm_i915_error_object *
|
||||||
i915_error_object_create(struct drm_device *dev,
|
i915_error_object_create(struct drm_device *dev,
|
||||||
struct drm_gem_object *src)
|
struct drm_gem_object *src)
|
||||||
@@ -744,6 +745,9 @@ void i915_destroy_error_state(struct drm_device *dev)
|
|||||||
if (error)
|
if (error)
|
||||||
i915_error_state_free(dev, error);
|
i915_error_state_free(dev, error);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define i915_capture_error_state(x)
|
||||||
|
#endif
|
||||||
|
|
||||||
static void i915_report_and_clear_eir(struct drm_device *dev)
|
static void i915_report_and_clear_eir(struct drm_device *dev)
|
||||||
{
|
{
|
||||||
|
@@ -189,31 +189,6 @@ struct intel_overlay {
|
|||||||
void (*flip_tail)(struct intel_overlay *);
|
void (*flip_tail)(struct intel_overlay *);
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct overlay_registers *
|
|
||||||
intel_overlay_map_regs_atomic(struct intel_overlay *overlay,
|
|
||||||
int slot)
|
|
||||||
{
|
|
||||||
drm_i915_private_t *dev_priv = overlay->dev->dev_private;
|
|
||||||
struct overlay_registers *regs;
|
|
||||||
|
|
||||||
if (OVERLAY_NEEDS_PHYSICAL(overlay->dev))
|
|
||||||
regs = overlay->reg_bo->phys_obj->handle->vaddr;
|
|
||||||
else
|
|
||||||
regs = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping,
|
|
||||||
overlay->reg_bo->gtt_offset,
|
|
||||||
slot);
|
|
||||||
|
|
||||||
return regs;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void intel_overlay_unmap_regs_atomic(struct intel_overlay *overlay,
|
|
||||||
int slot,
|
|
||||||
struct overlay_registers *regs)
|
|
||||||
{
|
|
||||||
if (!OVERLAY_NEEDS_PHYSICAL(overlay->dev))
|
|
||||||
io_mapping_unmap_atomic(regs, slot);
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct overlay_registers *
|
static struct overlay_registers *
|
||||||
intel_overlay_map_regs(struct intel_overlay *overlay)
|
intel_overlay_map_regs(struct intel_overlay *overlay)
|
||||||
{
|
{
|
||||||
@@ -1454,6 +1429,9 @@ void intel_cleanup_overlay(struct drm_device *dev)
|
|||||||
kfree(dev_priv->overlay);
|
kfree(dev_priv->overlay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_DEBUG_FS
|
||||||
|
#include <linux/seq_file.h>
|
||||||
|
|
||||||
struct intel_overlay_error_state {
|
struct intel_overlay_error_state {
|
||||||
struct overlay_registers regs;
|
struct overlay_registers regs;
|
||||||
unsigned long base;
|
unsigned long base;
|
||||||
@@ -1461,6 +1439,32 @@ struct intel_overlay_error_state {
|
|||||||
u32 isr;
|
u32 isr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct overlay_registers *
|
||||||
|
intel_overlay_map_regs_atomic(struct intel_overlay *overlay,
|
||||||
|
int slot)
|
||||||
|
{
|
||||||
|
drm_i915_private_t *dev_priv = overlay->dev->dev_private;
|
||||||
|
struct overlay_registers *regs;
|
||||||
|
|
||||||
|
if (OVERLAY_NEEDS_PHYSICAL(overlay->dev))
|
||||||
|
regs = overlay->reg_bo->phys_obj->handle->vaddr;
|
||||||
|
else
|
||||||
|
regs = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping,
|
||||||
|
overlay->reg_bo->gtt_offset,
|
||||||
|
slot);
|
||||||
|
|
||||||
|
return regs;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void intel_overlay_unmap_regs_atomic(struct intel_overlay *overlay,
|
||||||
|
int slot,
|
||||||
|
struct overlay_registers *regs)
|
||||||
|
{
|
||||||
|
if (!OVERLAY_NEEDS_PHYSICAL(overlay->dev))
|
||||||
|
io_mapping_unmap_atomic(regs, slot);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct intel_overlay_error_state *
|
struct intel_overlay_error_state *
|
||||||
intel_overlay_capture_error_state(struct drm_device *dev)
|
intel_overlay_capture_error_state(struct drm_device *dev)
|
||||||
{
|
{
|
||||||
@@ -1549,3 +1553,4 @@ intel_overlay_print_error_state(struct seq_file *m, struct intel_overlay_error_s
|
|||||||
P(UVSCALEV);
|
P(UVSCALEV);
|
||||||
#undef P
|
#undef P
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
Reference in New Issue
Block a user