drm/i915/selftests: Move igt_atomic_section[] out of the header
Move the definition of the igt_atomic_section[] into a C file, leaving the declaration in the header so as not to upset headertest! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200103104516.1757103-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
6056e50033
commit
f3bc632acb
@ -252,6 +252,7 @@ i915-$(CONFIG_DRM_I915_SELFTEST) += \
|
||||
gem/selftests/igt_gem_utils.o \
|
||||
selftests/i915_random.o \
|
||||
selftests/i915_selftest.o \
|
||||
selftests/igt_atomic.o \
|
||||
selftests/igt_flush_test.o \
|
||||
selftests/igt_live_test.o \
|
||||
selftests/igt_mmap.o \
|
||||
|
47
drivers/gpu/drm/i915/selftests/igt_atomic.c
Normal file
47
drivers/gpu/drm/i915/selftests/igt_atomic.c
Normal file
@ -0,0 +1,47 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
/*
|
||||
* Copyright © 2018 Intel Corporation
|
||||
*/
|
||||
|
||||
#include <linux/preempt.h>
|
||||
#include <linux/bottom_half.h>
|
||||
#include <linux/irqflags.h>
|
||||
|
||||
#include "igt_atomic.h"
|
||||
|
||||
static void __preempt_begin(void)
|
||||
{
|
||||
preempt_disable();
|
||||
}
|
||||
|
||||
static void __preempt_end(void)
|
||||
{
|
||||
preempt_enable();
|
||||
}
|
||||
|
||||
static void __softirq_begin(void)
|
||||
{
|
||||
local_bh_disable();
|
||||
}
|
||||
|
||||
static void __softirq_end(void)
|
||||
{
|
||||
local_bh_enable();
|
||||
}
|
||||
|
||||
static void __hardirq_begin(void)
|
||||
{
|
||||
local_irq_disable();
|
||||
}
|
||||
|
||||
static void __hardirq_end(void)
|
||||
{
|
||||
local_irq_enable();
|
||||
}
|
||||
|
||||
const struct igt_atomic_section igt_atomic_phases[] = {
|
||||
{ "preempt", __preempt_begin, __preempt_end },
|
||||
{ "softirq", __softirq_begin, __softirq_end },
|
||||
{ "hardirq", __hardirq_begin, __hardirq_end },
|
||||
{ }
|
||||
};
|
@ -6,51 +6,12 @@
|
||||
#ifndef IGT_ATOMIC_H
|
||||
#define IGT_ATOMIC_H
|
||||
|
||||
#include <linux/preempt.h>
|
||||
#include <linux/bottom_half.h>
|
||||
#include <linux/irqflags.h>
|
||||
|
||||
static void __preempt_begin(void)
|
||||
{
|
||||
preempt_disable();
|
||||
}
|
||||
|
||||
static void __preempt_end(void)
|
||||
{
|
||||
preempt_enable();
|
||||
}
|
||||
|
||||
static void __softirq_begin(void)
|
||||
{
|
||||
local_bh_disable();
|
||||
}
|
||||
|
||||
static void __softirq_end(void)
|
||||
{
|
||||
local_bh_enable();
|
||||
}
|
||||
|
||||
static void __hardirq_begin(void)
|
||||
{
|
||||
local_irq_disable();
|
||||
}
|
||||
|
||||
static void __hardirq_end(void)
|
||||
{
|
||||
local_irq_enable();
|
||||
}
|
||||
|
||||
struct igt_atomic_section {
|
||||
const char *name;
|
||||
void (*critical_section_begin)(void);
|
||||
void (*critical_section_end)(void);
|
||||
};
|
||||
|
||||
static const struct igt_atomic_section igt_atomic_phases[] = {
|
||||
{ "preempt", __preempt_begin, __preempt_end },
|
||||
{ "softirq", __softirq_begin, __softirq_end },
|
||||
{ "hardirq", __hardirq_begin, __hardirq_end },
|
||||
{ }
|
||||
};
|
||||
extern const struct igt_atomic_section igt_atomic_phases[];
|
||||
|
||||
#endif /* IGT_ATOMIC_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user