[Mesa-dev] [PATCH 1/2] i965: Fix broxton 2x6 l3 config
Francisco Jerez
currojerez at riseup.net
Mon Jun 12 18:10:12 UTC 2017
Anuj Phogat <anuj.phogat at gmail.com> writes:
> The new table added in this patch matches with the table
> in gfxspecs. We were programming the wrong values earlier.
>
> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
> Cc: Francisco Jerez <currojerez at riseup.net>
> Cc: "17.1" <mesa-stable at lists.freedesktop.org>
> ---
> src/intel/common/gen_device_info.c | 1 +
> src/intel/common/gen_device_info.h | 1 +
> src/intel/common/gen_l3_config.c | 19 +++++++++++++++++++
> 3 files changed, 21 insertions(+)
>
> diff --git a/src/intel/common/gen_device_info.c b/src/intel/common/gen_device_info.c
> index 75284a6..eccb464 100644
> --- a/src/intel/common/gen_device_info.c
> +++ b/src/intel/common/gen_device_info.c
> @@ -502,6 +502,7 @@ static const struct gen_device_info gen_device_info_bxt = {
>
> static const struct gen_device_info gen_device_info_bxt_2x6 = {
> GEN9_LP_FEATURES_2X6,
> + .is_broxton_2x6 = 1,
> .l3_banks = 1,
> };
> /*
> diff --git a/src/intel/common/gen_device_info.h b/src/intel/common/gen_device_info.h
> index 6207630..4fe1b21 100644
> --- a/src/intel/common/gen_device_info.h
> +++ b/src/intel/common/gen_device_info.h
> @@ -41,6 +41,7 @@ struct gen_device_info
> bool is_haswell;
> bool is_cherryview;
> bool is_broxton;
> + bool is_broxton_2x6;
I don't think this boolean flag is useful. The hardware spec refers to
the validated configurations that apply to BXT 2x6 as relevant to all
products with a single bank, which means you should probably check for
gen >= 9 and l3_banks == 1 instead.
> bool is_kabylake;
>
> bool has_hiz_and_separate_stencil;
> diff --git a/src/intel/common/gen_l3_config.c b/src/intel/common/gen_l3_config.c
> index ae31d08..e17994b 100644
> --- a/src/intel/common/gen_l3_config.c
> +++ b/src/intel/common/gen_l3_config.c
> @@ -102,6 +102,23 @@ static const struct gen_l3_config chv_l3_configs[] = {
> };
>
> /**
> + * BXT 2x6 validated L3 configurations. \sa ivb_l3_configs.
> + * Number of ways =
> + * Allocation in KB for SKU / (Way size per bank * Number of banks).
Is this formula relevant? The way size per bank is not really
documented in the BSpec so it doesn't really give the reader any
additional useful information.
> + * For BXT 2x6: Banks = 1, Way size per bank = 4.
> + */
> +static const struct gen_l3_config bxt_2x6_l3_configs[] = {
> + /*SLM URB All DC RO IS C T */
> + {{ 0, 32, 48, 0, 0, 0, 0, 0 }},
> + {{ 0, 32, 0, 8, 40, 0, 0, 0 }},
> + {{ 0, 32, 0, 32, 16, 0, 0, 0 }},
> + {{ 16, 16, 48, 0, 0, 0, 0, 0 }},
> + {{ 16, 16, 0, 40, 8, 0, 0, 0 }},
> + {{ 16, 16, 0, 16, 32, 0, 0, 0 }},
> + {{ 0 }}
> +};
> +
> +/**
> * Return a zero-terminated array of validated L3 configurations for the
> * specified device.
> */
> @@ -117,6 +134,8 @@ get_l3_configs(const struct gen_device_info *devinfo)
>
> case 9:
> case 10:
> + if (devinfo->is_broxton_2x6)
> + return bxt_2x6_l3_configs;
> return chv_l3_configs;
>
> default:
> --
> 2.9.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170612/eaf5c849/attachment.sig>
More information about the mesa-dev
mailing list