drm/i915/gt: Re-work intel_write_status_page
Re-work intel_write_status_page to use drm_clflush_virt_range. This will prevent compiler errors when building for non-x86 architectures. Signed-off-by: Michael Cheng <michael.cheng@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220321223819.72833-2-michael.cheng@intel.com
This commit is contained in:
parent
6f30158f40
commit
055f15e7be
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <drm/drm_util.h>
|
#include <drm/drm_util.h>
|
||||||
|
#include <drm/drm_cache.h>
|
||||||
|
|
||||||
#include <linux/hashtable.h>
|
#include <linux/hashtable.h>
|
||||||
#include <linux/irq_work.h>
|
#include <linux/irq_work.h>
|
||||||
@ -143,15 +144,9 @@ intel_write_status_page(struct intel_engine_cs *engine, int reg, u32 value)
|
|||||||
* of extra paranoia to try and ensure that the HWS takes the value
|
* of extra paranoia to try and ensure that the HWS takes the value
|
||||||
* we give and that it doesn't end up trapped inside the CPU!
|
* we give and that it doesn't end up trapped inside the CPU!
|
||||||
*/
|
*/
|
||||||
if (static_cpu_has(X86_FEATURE_CLFLUSH)) {
|
drm_clflush_virt_range(&engine->status_page.addr[reg], sizeof(value));
|
||||||
mb();
|
WRITE_ONCE(engine->status_page.addr[reg], value);
|
||||||
clflush(&engine->status_page.addr[reg]);
|
drm_clflush_virt_range(&engine->status_page.addr[reg], sizeof(value));
|
||||||
engine->status_page.addr[reg] = value;
|
|
||||||
clflush(&engine->status_page.addr[reg]);
|
|
||||||
mb();
|
|
||||||
} else {
|
|
||||||
WRITE_ONCE(engine->status_page.addr[reg], value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user