From a4cabc1334e6ed225bb80f4d75cb85e7edc8952d Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sat, 7 Mar 2026 08:50:28 -0800 Subject: [PATCH] freedreno: Add --nvtop arg Add a way to generate the table of gpu-ids that nvtop uses, to simplify syncing nvtop with mesa when new gpu-ids are added. For example: python3 src/freedreno/common/freedreno_devices.py -p ./$builddir/src/freedreno/registers/adreno/ --nvtop Signed-off-by: Rob Clark Part-of: --- src/freedreno/common/freedreno_dev_info.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/freedreno/common/freedreno_dev_info.py b/src/freedreno/common/freedreno_dev_info.py index 43e8d2357dc..383dd7f8b1a 100644 --- a/src/freedreno/common/freedreno_dev_info.py +++ b/src/freedreno/common/freedreno_dev_info.py @@ -13,6 +13,7 @@ def max_bitfield_val(high, low, shift): parser = argparse.ArgumentParser() parser.add_argument('-p', '--import-path', required=True) +parser.add_argument('--nvtop', action='store_true') args = parser.parse_args() sys.path.insert(0, args.import_path) @@ -259,5 +260,16 @@ fd_dev_info_apply_dbg_options(struct fd_dev_info *info) } """ +nvtop_template=""" +static const struct msm_id_struct msm_ids[] = { +%for id, info in s.gpus.items(): + { ${hex(id.chip_id)}, "${id.name}" }, +%endfor +}; +""" + def main(): - print(Template(template).render(s=s, unique_props=GPUProps.unique_props)) + if args.nvtop: + print(Template(nvtop_template).render(s=s, unique_props=GPUProps.unique_props)) + else: + print(Template(template).render(s=s, unique_props=GPUProps.unique_props))