summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBen Widawsky <[email protected]>2017-05-01 10:07:47 -0700
committerAnuj Phogat <[email protected]>2017-06-20 12:18:26 -0700
commit3e1055591b442ed367d9f6b80c8912f0cae94b95 (patch)
tree870bb7a3100e21eb66c903e9ec61ba815633fbb5 /src
parent1024dad4d936b6a618e58522071c37a0989832f1 (diff)
i965/cnl: Add l3 configuration for Cannonlake
V2 (Anuj): Squash the changes in one patch rebase on master. Address the review comments made by Francisco Jerez. Do the URB allocation per slice (not per bank). V3 (Anuj): Update the comment. Format the table as other l3 config tables. Signed-off-by: Ben Widawsky <[email protected]> Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Francisco Jerez <[email protected]> --- V1 was sent out with the heading: "i965/cnl: Properly handle l3 configuration"
Diffstat (limited to 'src')
-rw-r--r--src/intel/common/gen_l3_config.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/intel/common/gen_l3_config.c b/src/intel/common/gen_l3_config.c
index 21ee5ca5dca..aff13c06ec0 100644
--- a/src/intel/common/gen_l3_config.c
+++ b/src/intel/common/gen_l3_config.c
@@ -116,6 +116,23 @@ static const struct gen_l3_config bxt_2x6_l3_configs[] = {
};
/**
+ * CNL validated L3 configurations. \sa ivb_l3_configs.
+ */
+static const struct gen_l3_config cnl_l3_configs[] = {
+ /* SLM URB ALL DC RO IS C T */
+ {{ 0, 64, 64, 0, 0, 0, 0, 0 }},
+ {{ 0, 64, 0, 16, 48, 0, 0, 0 }},
+ {{ 0, 48, 0, 16, 64, 0, 0, 0 }},
+ {{ 0, 32, 0, 0, 96, 0, 0, 0 }},
+ {{ 0, 32, 96, 0, 0, 0, 0, 0 }},
+ {{ 0, 32, 0, 16, 80, 0, 0, 0 }},
+ {{ 32, 16, 80, 0, 0, 0, 0, 0 }},
+ {{ 32, 16, 0, 64, 16, 0, 0, 0 }},
+ {{ 32, 0, 96, 0, 0, 0, 0, 0 }},
+ {{ 0 }}
+};
+
+/**
* Return a zero-terminated array of validated L3 configurations for the
* specified device.
*/
@@ -130,11 +147,13 @@ get_l3_configs(const struct gen_device_info *devinfo)
return (devinfo->is_cherryview ? chv_l3_configs : bdw_l3_configs);
case 9:
- case 10:
if (devinfo->l3_banks == 1)
return bxt_2x6_l3_configs;
return chv_l3_configs;
+ case 10:
+ return cnl_l3_configs;
+
default:
unreachable("Not implemented");
}