2017-12-21 00:45:38 +01:00
|
|
|
/*
|
2019-02-18 13:43:10 +01:00
|
|
|
* Copyright (C) 2018-2019 Intel Corporation
|
2017-12-21 00:45:38 +01:00
|
|
|
*
|
2019-02-18 13:43:10 +01:00
|
|
|
* SPDX-License-Identifier: MIT
|
2017-12-21 00:45:38 +01:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
2018-02-20 08:11:24 +01:00
|
|
|
#include "runtime/command_stream/thread_arbitration_policy.h"
|
2019-02-27 11:39:32 +01:00
|
|
|
#include "runtime/helpers/preamble.h"
|
2018-02-20 08:11:24 +01:00
|
|
|
|
2019-03-26 11:59:46 +01:00
|
|
|
namespace NEO {
|
2018-01-17 08:37:47 +01:00
|
|
|
struct SKLFamily;
|
2017-12-21 00:45:38 +01:00
|
|
|
template <>
|
|
|
|
struct L3CNTLREGConfig<IGFX_SKYLAKE> {
|
2019-02-18 13:43:10 +01:00
|
|
|
static const uint32_t valueForSLM = 0x60000321u;
|
|
|
|
static const uint32_t valueForNoSLM = 0x80000340u;
|
2017-12-21 00:45:38 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
template <>
|
|
|
|
struct L3CNTLRegisterOffset<SKLFamily> {
|
|
|
|
static const uint32_t registerOffset = 0x7034;
|
|
|
|
};
|
|
|
|
|
|
|
|
template <>
|
|
|
|
struct L3CNTLREGConfig<IGFX_BROXTON> {
|
2019-02-18 13:43:10 +01:00
|
|
|
static const uint32_t valueForSLM = 0x60000321u;
|
|
|
|
static const uint32_t valueForNoSLM = 0x80000340u;
|
2017-12-21 00:45:38 +01:00
|
|
|
};
|
2018-02-20 08:11:24 +01:00
|
|
|
|
|
|
|
namespace DebugControlReg2 {
|
|
|
|
constexpr uint32_t address = 0xE404;
|
|
|
|
constexpr uint32_t getRegData(const uint32_t &policy) {
|
|
|
|
return policy == ThreadArbitrationPolicy::RoundRobin ? 0x100 : 0x0;
|
|
|
|
};
|
|
|
|
} // namespace DebugControlReg2
|
|
|
|
|
2019-03-26 11:59:46 +01:00
|
|
|
} // namespace NEO
|