[igt-dev] [PATCH i-g-t] lib/instdone: GEN12 INSTDONE initialization
Matt Roper
matthew.d.roper at intel.com
Thu May 25 16:18:56 UTC 2023
On Wed, May 17, 2023 at 02:28:17PM +0530, janga.rahul.kumar at intel.com wrote:
> From: Janga Rahul Kumar <janga.rahul.kumar at intel.com>
>
> Add GEN12 INSTDONE initialization as per spec.
>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Signed-off-by: Janga Rahul Kumar <janga.rahul.kumar at intel.com>
> ---
> lib/instdone.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 68 insertions(+), 1 deletion(-)
>
> diff --git a/lib/instdone.c b/lib/instdone.c
> index a83f8836..d1c92793 100644
> --- a/lib/instdone.c
> +++ b/lib/instdone.c
> @@ -274,6 +274,30 @@
> # define GEN6_VS0_DONE (1 << 1)
> # define GEN6_VF_DONE (1 << 0)
>
> +# define GEN12_TSG1_DONE (1 << 24)
> +# define GEN12_RCCFBC_CS_DONE (1 << 23)
> +# define GEN12_SDE_DONE (1 << 22)
> +# define GEN12_CS_DONE (1 << 21)
> +# define GEN12_RS_DONE (1 << 20)
> +# define GEN12_GAFD_DONE (1 << 19)
> +# define GEN12_GAFM_DONE (1 << 18)
> +# define GEN12_TSG0_DONE (1 << 17)
> +# define GEN12_VFE_DONE (1 << 16)
> +# define GEN12_GAFS_DONE (1 << 15)
> +# define GEN12_SVG_DONE (1 << 14)
> +# define GEN12_URBM_DONE (1 << 13)
> +# define GEN12_TDG0_DONE (1 << 12)
> +# define GEN12_TDG1_DONE (1 << 11)
> +# define GEN12_SF_DONE (1 << 9)
> +# define GEN12_CL_DONE (1 << 8)
> +# define GEN12_SOL_DONE (1 << 7)
> +# define GEN12_GS_DONE (1 << 6)
> +# define GEN12_DS_DONE (1 << 5)
> +# define GEN12_TE_DONE (1 << 4)
> +# define GEN12_HS_DONE (1 << 3)
> +# define GEN12_VS_DONE (1 << 2)
> +# define GEN12_VFG_DONE (1 << 1)
> +
> struct instdone_bit instdone_bits[MAX_INSTDONE_BITS];
> int num_instdone_bits = 0;
>
> @@ -425,10 +449,53 @@ init_gen11_instdone(void)
> init_gen8_instdone();
> }
>
> +static void
> +init_xehp_instdone(void)
> +{
> + gen6_instdone1_bit(GEN12_RCCFBC_CS_DONE, "RCCFBC CS");
> + gen6_instdone1_bit(GEN12_CS_DONE, "CS");
> + gen6_instdone1_bit(GEN12_RS_DONE, "RS");
> + gen6_instdone1_bit(GEN12_VFE_DONE, "VFE");
> + gen6_instdone1_bit(GEN12_VFG_DONE, "VFG");
> +}
> +
> +static void
> +init_gen12_instdone(uint32_t devid)
> +{
> + if (intel_graphics_ver(devid) >= IP_VER(12, 50)) {
> + init_xehp_instdone();
Rather than putting this inside the init_gen12_instdone function it
would be better to add this to the top of the if/else ladder in
init_instdone_definitions(). Even though Xe_HP platforms have a version
number that starts with 12, they're not considered to be "gen12"
platforms so putting it here is confusing.
Aside from that minor change,
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> + } else {
> + gen6_instdone1_bit(GEN12_TSG1_DONE, "TSG1");
> + gen6_instdone1_bit(GEN12_RCCFBC_CS_DONE, "RCCFBC CS");
> + gen6_instdone1_bit(GEN12_SDE_DONE, "SDE");
> + gen6_instdone1_bit(GEN12_CS_DONE, "CS");
> + gen6_instdone1_bit(GEN12_RS_DONE, "RS");
> + gen6_instdone1_bit(GEN12_GAFD_DONE, "GAFD");
> + gen6_instdone1_bit(GEN12_GAFM_DONE, "GAFM");
> + gen6_instdone1_bit(GEN12_TSG0_DONE, "TSG0");
> + gen6_instdone1_bit(GEN12_VFE_DONE, "VFE");
> + gen6_instdone1_bit(GEN12_GAFS_DONE, "GAFS");
> + gen6_instdone1_bit(GEN12_SVG_DONE, "SVG");
> + gen6_instdone1_bit(GEN12_URBM_DONE, "URBM");
> + gen6_instdone1_bit(GEN12_TDG0_DONE, "TDG0");
> + gen6_instdone1_bit(GEN12_TDG1_DONE, "TDG1");
> + gen6_instdone1_bit(GEN12_SF_DONE, "SF");
> + gen6_instdone1_bit(GEN12_CL_DONE, "CL");
> + gen6_instdone1_bit(GEN12_SOL_DONE, "SOL");
> + gen6_instdone1_bit(GEN12_GS_DONE, "GS");
> + gen6_instdone1_bit(GEN12_DS_DONE, "DS");
> + gen6_instdone1_bit(GEN12_TE_DONE, "TE");
> + gen6_instdone1_bit(GEN12_HS_DONE, "HS");
> + gen6_instdone1_bit(GEN12_VS_DONE, "VS");
> + gen6_instdone1_bit(GEN12_VFG_DONE, "VFG");
> + }
> +}
> bool
> init_instdone_definitions(uint32_t devid)
> {
> - if (IS_GEN11(devid)) {
> + if (IS_GEN12(devid)) {
> + init_gen12_instdone(devid);
> + } else if (IS_GEN11(devid)) {
> init_gen11_instdone();
> } else if (IS_GEN8(devid) || IS_GEN9(devid) || IS_GEN10(devid)) {
> init_gen8_instdone();
> --
> 2.25.1
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the igt-dev
mailing list