Xe2 Caching demotion for L3XD|L4WT|NC request (#212)
diff --git a/Source/GmmLib/CachePolicy/GmmXe2_LPGCachePolicy.cpp b/Source/GmmLib/CachePolicy/GmmXe2_LPGCachePolicy.cpp index b141363..6552d22 100644 --- a/Source/GmmLib/CachePolicy/GmmXe2_LPGCachePolicy.cpp +++ b/Source/GmmLib/CachePolicy/GmmXe2_LPGCachePolicy.cpp
@@ -130,7 +130,17 @@ if ((UsagePATElement.Xe2.L4CC == GMM_GFX_PHY_L4_MT_WT) && (UsagePATElement.Xe2.L3CC == GMM_GFX_PHY_L3_MT_WB_XD)) { - PATIdx = 8; + // With L3:XD, L4:WT, NC combination + if (pGmmLibContext->GetSkuTable().FtrDiscrete) + { + // On BMG, L4 is a pass through, demote L4 to UC, keep L3 at XD + PATIdx = PAT6; + } + else + { + // On LNL, L3:XD is not needed + PATIdx = PAT13; + } } else {