/* * Copyright (C) 2021-2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "shared/source/gen9/hw_cmds_cfl.h" #include "shared/source/helpers/hw_info.h" #include "shared/source/os_interface/product_helper.h" #include "shared/source/os_interface/product_helper.inl" #include "shared/source/os_interface/product_helper_bdw_and_later.inl" constexpr static auto gfxProduct = IGFX_COFFEELAKE; #include "shared/source/gen9/cfl/os_agnostic_product_helper_cfl.inl" #include "shared/source/os_interface/product_helper_before_gen12lp.inl" namespace NEO { template <> int ProductHelperHw::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const { if (nullptr == osIface) { return 0; } GT_SYSTEM_INFO *gtSystemInfo = &hwInfo->gtSystemInfo; if (gtSystemInfo->SubSliceCount > 3) { gtSystemInfo->SliceCount = 2; } else { gtSystemInfo->SliceCount = 1; } gtSystemInfo->VEBoxInfo.Instances.Bits.VEBox0Enabled = true; gtSystemInfo->VEBoxInfo.IsValid = true; if (hwInfo->platform.usDeviceID == 0x3EA8 || hwInfo->platform.usDeviceID == 0x3EA6) { gtSystemInfo->EdramSizeInKb = 64 * 1024; } auto &kmdNotifyProperties = hwInfo->capabilityTable.kmdNotifyProperties; kmdNotifyProperties.enableKmdNotify = true; kmdNotifyProperties.enableQuickKmdSleep = true; kmdNotifyProperties.enableQuickKmdSleepForSporadicWaits = true; kmdNotifyProperties.delayKmdNotifyMicroseconds = 50000; kmdNotifyProperties.delayQuickKmdSleepMicroseconds = 5000; kmdNotifyProperties.delayQuickKmdSleepForSporadicWaitsMicroseconds = 200000; return 0; } template class ProductHelperHw; } // namespace NEO