sub_type_hdr 426 drivers/gpu/drm/amd/amdkfd/kfd_crat.c static int kfd_parse_subtype(struct crat_subtype_generic *sub_type_hdr, sub_type_hdr 435 drivers/gpu/drm/amd/amdkfd/kfd_crat.c switch (sub_type_hdr->type) { sub_type_hdr 437 drivers/gpu/drm/amd/amdkfd/kfd_crat.c cu = (struct crat_subtype_computeunit *)sub_type_hdr; sub_type_hdr 441 drivers/gpu/drm/amd/amdkfd/kfd_crat.c mem = (struct crat_subtype_memory *)sub_type_hdr; sub_type_hdr 445 drivers/gpu/drm/amd/amdkfd/kfd_crat.c cache = (struct crat_subtype_cache *)sub_type_hdr; sub_type_hdr 461 drivers/gpu/drm/amd/amdkfd/kfd_crat.c iolink = (struct crat_subtype_iolink *)sub_type_hdr; sub_type_hdr 466 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->type); sub_type_hdr 486 drivers/gpu/drm/amd/amdkfd/kfd_crat.c struct crat_subtype_generic *sub_type_hdr; sub_type_hdr 523 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (struct crat_subtype_generic *)(crat_table+1); sub_type_hdr 524 drivers/gpu/drm/amd/amdkfd/kfd_crat.c while ((char *)sub_type_hdr + sizeof(struct crat_subtype_generic) < sub_type_hdr 526 drivers/gpu/drm/amd/amdkfd/kfd_crat.c if (sub_type_hdr->flags & CRAT_SUBTYPE_FLAGS_ENABLED) { sub_type_hdr 527 drivers/gpu/drm/amd/amdkfd/kfd_crat.c ret = kfd_parse_subtype(sub_type_hdr, device_list); sub_type_hdr 532 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr + sub_type_hdr 533 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length); sub_type_hdr 804 drivers/gpu/drm/amd/amdkfd/kfd_crat.c struct crat_subtype_computeunit *sub_type_hdr) sub_type_hdr 812 drivers/gpu/drm/amd/amdkfd/kfd_crat.c memset(sub_type_hdr, 0, sizeof(struct crat_subtype_computeunit)); sub_type_hdr 815 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->type = CRAT_SUBTYPE_COMPUTEUNIT_AFFINITY; sub_type_hdr 816 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length = sizeof(struct crat_subtype_computeunit); sub_type_hdr 817 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->flags = CRAT_SUBTYPE_FLAGS_ENABLED; sub_type_hdr 822 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->flags |= CRAT_CU_FLAGS_CPU_PRESENT; sub_type_hdr 823 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain = proximity_domain; sub_type_hdr 824 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->processor_id_low = kfd_numa_node_to_apic_id(numa_node_id); sub_type_hdr 825 drivers/gpu/drm/amd/amdkfd/kfd_crat.c if (sub_type_hdr->processor_id_low == -1) sub_type_hdr 828 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->num_cpu_cores = cpumask_weight(cpumask); sub_type_hdr 843 drivers/gpu/drm/amd/amdkfd/kfd_crat.c struct crat_subtype_memory *sub_type_hdr) sub_type_hdr 853 drivers/gpu/drm/amd/amdkfd/kfd_crat.c memset(sub_type_hdr, 0, sizeof(struct crat_subtype_memory)); sub_type_hdr 856 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->type = CRAT_SUBTYPE_MEMORY_AFFINITY; sub_type_hdr 857 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length = sizeof(struct crat_subtype_memory); sub_type_hdr 858 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->flags = CRAT_SUBTYPE_FLAGS_ENABLED; sub_type_hdr 871 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length_low = lower_32_bits(mem_in_bytes); sub_type_hdr 872 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length_high = upper_32_bits(mem_in_bytes); sub_type_hdr 873 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain = proximity_domain; sub_type_hdr 881 drivers/gpu/drm/amd/amdkfd/kfd_crat.c struct crat_subtype_iolink *sub_type_hdr) sub_type_hdr 903 drivers/gpu/drm/amd/amdkfd/kfd_crat.c memset(sub_type_hdr, 0, sizeof(struct crat_subtype_iolink)); sub_type_hdr 906 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->type = CRAT_SUBTYPE_IOLINK_AFFINITY; sub_type_hdr 907 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length = sizeof(struct crat_subtype_iolink); sub_type_hdr 908 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->flags = CRAT_SUBTYPE_FLAGS_ENABLED; sub_type_hdr 911 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain_from = numa_node_id; sub_type_hdr 912 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain_to = nid; sub_type_hdr 913 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->io_interface_type = link_type; sub_type_hdr 916 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr++; sub_type_hdr 934 drivers/gpu/drm/amd/amdkfd/kfd_crat.c struct crat_subtype_generic *sub_type_hdr; sub_type_hdr 970 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (struct crat_subtype_generic *)(crat_table+1); sub_type_hdr 979 drivers/gpu/drm/amd/amdkfd/kfd_crat.c (struct crat_subtype_computeunit *)sub_type_hdr); sub_type_hdr 982 drivers/gpu/drm/amd/amdkfd/kfd_crat.c crat_table->length += sub_type_hdr->length; sub_type_hdr 985 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr + sub_type_hdr 986 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length); sub_type_hdr 991 drivers/gpu/drm/amd/amdkfd/kfd_crat.c (struct crat_subtype_memory *)sub_type_hdr); sub_type_hdr 994 drivers/gpu/drm/amd/amdkfd/kfd_crat.c crat_table->length += sub_type_hdr->length; sub_type_hdr 997 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr + sub_type_hdr 998 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length); sub_type_hdr 1004 drivers/gpu/drm/amd/amdkfd/kfd_crat.c (struct crat_subtype_iolink *)sub_type_hdr); sub_type_hdr 1007 drivers/gpu/drm/amd/amdkfd/kfd_crat.c crat_table->length += (sub_type_hdr->length * entries); sub_type_hdr 1010 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr + sub_type_hdr 1011 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length * entries); sub_type_hdr 1035 drivers/gpu/drm/amd/amdkfd/kfd_crat.c struct crat_subtype_memory *sub_type_hdr, sub_type_hdr 1043 drivers/gpu/drm/amd/amdkfd/kfd_crat.c memset((void *)sub_type_hdr, 0, sizeof(struct crat_subtype_memory)); sub_type_hdr 1044 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->type = CRAT_SUBTYPE_MEMORY_AFFINITY; sub_type_hdr 1045 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length = sizeof(struct crat_subtype_memory); sub_type_hdr 1046 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->flags |= CRAT_SUBTYPE_FLAGS_ENABLED; sub_type_hdr 1048 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain = proximity_domain; sub_type_hdr 1053 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length_low = lower_32_bits(size); sub_type_hdr 1054 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length_high = upper_32_bits(size); sub_type_hdr 1056 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->width = local_mem_info->vram_width; sub_type_hdr 1057 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->visibility_type = type; sub_type_hdr 1073 drivers/gpu/drm/amd/amdkfd/kfd_crat.c struct crat_subtype_iolink *sub_type_hdr, sub_type_hdr 1080 drivers/gpu/drm/amd/amdkfd/kfd_crat.c memset((void *)sub_type_hdr, 0, sizeof(struct crat_subtype_iolink)); sub_type_hdr 1083 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->type = CRAT_SUBTYPE_IOLINK_AFFINITY; sub_type_hdr 1084 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length = sizeof(struct crat_subtype_iolink); sub_type_hdr 1085 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->flags |= CRAT_SUBTYPE_FLAGS_ENABLED; sub_type_hdr 1087 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->flags |= CRAT_IOLINK_FLAGS_BI_DIRECTIONAL; sub_type_hdr 1092 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->io_interface_type = CRAT_IOLINK_TYPE_PCIEXPRESS; sub_type_hdr 1093 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain_from = proximity_domain; sub_type_hdr 1096 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain_to = 0; sub_type_hdr 1098 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain_to = kdev->pdev->dev.numa_node; sub_type_hdr 1100 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain_to = 0; sub_type_hdr 1108 drivers/gpu/drm/amd/amdkfd/kfd_crat.c struct crat_subtype_iolink *sub_type_hdr, sub_type_hdr 1116 drivers/gpu/drm/amd/amdkfd/kfd_crat.c memset((void *)sub_type_hdr, 0, sizeof(struct crat_subtype_iolink)); sub_type_hdr 1118 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->type = CRAT_SUBTYPE_IOLINK_AFFINITY; sub_type_hdr 1119 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length = sizeof(struct crat_subtype_iolink); sub_type_hdr 1120 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->flags |= CRAT_SUBTYPE_FLAGS_ENABLED | sub_type_hdr 1123 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->io_interface_type = CRAT_IOLINK_TYPE_XGMI; sub_type_hdr 1124 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain_from = proximity_domain_from; sub_type_hdr 1125 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->proximity_domain_to = proximity_domain_to; sub_type_hdr 1126 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->num_hops_xgmi = sub_type_hdr 1142 drivers/gpu/drm/amd/amdkfd/kfd_crat.c struct crat_subtype_generic *sub_type_hdr; sub_type_hdr 1180 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (struct crat_subtype_generic *)(crat_table + 1); sub_type_hdr 1181 drivers/gpu/drm/amd/amdkfd/kfd_crat.c memset(sub_type_hdr, 0, sizeof(struct crat_subtype_computeunit)); sub_type_hdr 1183 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->type = CRAT_SUBTYPE_COMPUTEUNIT_AFFINITY; sub_type_hdr 1184 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length = sizeof(struct crat_subtype_computeunit); sub_type_hdr 1185 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->flags = CRAT_SUBTYPE_FLAGS_ENABLED; sub_type_hdr 1188 drivers/gpu/drm/amd/amdkfd/kfd_crat.c cu = (struct crat_subtype_computeunit *)sub_type_hdr; sub_type_hdr 1215 drivers/gpu/drm/amd/amdkfd/kfd_crat.c crat_table->length += sub_type_hdr->length; sub_type_hdr 1224 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr + sub_type_hdr 1225 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length); sub_type_hdr 1234 drivers/gpu/drm/amd/amdkfd/kfd_crat.c (struct crat_subtype_memory *)sub_type_hdr, sub_type_hdr 1242 drivers/gpu/drm/amd/amdkfd/kfd_crat.c (struct crat_subtype_memory *)sub_type_hdr, sub_type_hdr 1254 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr + sub_type_hdr 1255 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr->length); sub_type_hdr 1259 drivers/gpu/drm/amd/amdkfd/kfd_crat.c (struct crat_subtype_cache *)sub_type_hdr, sub_type_hdr 1274 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr + sub_type_hdr 1277 drivers/gpu/drm/amd/amdkfd/kfd_crat.c (struct crat_subtype_iolink *)sub_type_hdr, proximity_domain); sub_type_hdr 1282 drivers/gpu/drm/amd/amdkfd/kfd_crat.c crat_table->length += sub_type_hdr->length; sub_type_hdr 1301 drivers/gpu/drm/amd/amdkfd/kfd_crat.c sub_type_hdr = (typeof(sub_type_hdr))( sub_type_hdr 1302 drivers/gpu/drm/amd/amdkfd/kfd_crat.c (char *)sub_type_hdr + sub_type_hdr 1306 drivers/gpu/drm/amd/amdkfd/kfd_crat.c (struct crat_subtype_iolink *)sub_type_hdr, sub_type_hdr 1310 drivers/gpu/drm/amd/amdkfd/kfd_crat.c crat_table->length += sub_type_hdr->length;