|
@@ -97,7 +97,8 @@ struct drm_i915_mocs_table {
|
|
* end.
|
|
* end.
|
|
*/
|
|
*/
|
|
static const struct drm_i915_mocs_entry skylake_mocs_table[] = {
|
|
static const struct drm_i915_mocs_entry skylake_mocs_table[] = {
|
|
- { /* 0x00000009 */
|
|
|
|
|
|
+ [I915_MOCS_UNCACHED] = {
|
|
|
|
+ /* 0x00000009 */
|
|
.control_value = LE_CACHEABILITY(LE_UC) |
|
|
.control_value = LE_CACHEABILITY(LE_UC) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
LE_LRUM(0) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) |
|
|
LE_LRUM(0) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) |
|
|
@@ -106,7 +107,7 @@ static const struct drm_i915_mocs_entry skylake_mocs_table[] = {
|
|
/* 0x0010 */
|
|
/* 0x0010 */
|
|
.l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_UC),
|
|
.l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_UC),
|
|
},
|
|
},
|
|
- {
|
|
|
|
|
|
+ [I915_MOCS_PTE] = {
|
|
/* 0x00000038 */
|
|
/* 0x00000038 */
|
|
.control_value = LE_CACHEABILITY(LE_PAGETABLE) |
|
|
.control_value = LE_CACHEABILITY(LE_PAGETABLE) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
@@ -115,7 +116,7 @@ static const struct drm_i915_mocs_entry skylake_mocs_table[] = {
|
|
/* 0x0030 */
|
|
/* 0x0030 */
|
|
.l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB),
|
|
.l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB),
|
|
},
|
|
},
|
|
- {
|
|
|
|
|
|
+ [I915_MOCS_CACHED] = {
|
|
/* 0x0000003b */
|
|
/* 0x0000003b */
|
|
.control_value = LE_CACHEABILITY(LE_WB) |
|
|
.control_value = LE_CACHEABILITY(LE_WB) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
@@ -128,7 +129,7 @@ static const struct drm_i915_mocs_entry skylake_mocs_table[] = {
|
|
|
|
|
|
/* NOTE: the LE_TGT_CACHE is not used on Broxton */
|
|
/* NOTE: the LE_TGT_CACHE is not used on Broxton */
|
|
static const struct drm_i915_mocs_entry broxton_mocs_table[] = {
|
|
static const struct drm_i915_mocs_entry broxton_mocs_table[] = {
|
|
- {
|
|
|
|
|
|
+ [I915_MOCS_UNCACHED] = {
|
|
/* 0x00000009 */
|
|
/* 0x00000009 */
|
|
.control_value = LE_CACHEABILITY(LE_UC) |
|
|
.control_value = LE_CACHEABILITY(LE_UC) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
@@ -138,7 +139,7 @@ static const struct drm_i915_mocs_entry broxton_mocs_table[] = {
|
|
/* 0x0010 */
|
|
/* 0x0010 */
|
|
.l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_UC),
|
|
.l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_UC),
|
|
},
|
|
},
|
|
- {
|
|
|
|
|
|
+ [I915_MOCS_PTE] = {
|
|
/* 0x00000038 */
|
|
/* 0x00000038 */
|
|
.control_value = LE_CACHEABILITY(LE_PAGETABLE) |
|
|
.control_value = LE_CACHEABILITY(LE_PAGETABLE) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
@@ -148,7 +149,7 @@ static const struct drm_i915_mocs_entry broxton_mocs_table[] = {
|
|
/* 0x0030 */
|
|
/* 0x0030 */
|
|
.l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB),
|
|
.l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB),
|
|
},
|
|
},
|
|
- {
|
|
|
|
|
|
+ [I915_MOCS_CACHED] = {
|
|
/* 0x00000039 */
|
|
/* 0x00000039 */
|
|
.control_value = LE_CACHEABILITY(LE_UC) |
|
|
.control_value = LE_CACHEABILITY(LE_UC) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|
|
LE_TGT_CACHE(LE_TC_LLC_ELLC) |
|