Lines Matching refs:smmu

411 	struct acpi_iort_smmu_v3 *smmu;  in iort_get_id_mapping_index()  local
423 smmu = (struct acpi_iort_smmu_v3 *)node->node_data; in iort_get_id_mapping_index()
429 if (smmu->event_gsiv && smmu->pri_gsiv && in iort_get_id_mapping_index()
430 smmu->gerr_gsiv && smmu->sync_gsiv) in iort_get_id_mapping_index()
432 } else if (!(smmu->flags & ACPI_IORT_SMMU_V3_DEVICEID_VALID)) { in iort_get_id_mapping_index()
436 if (smmu->id_mapping_index >= node->mapping_count) { in iort_get_id_mapping_index()
442 return smmu->id_mapping_index; in iort_get_id_mapping_index()
887 struct acpi_iort_node *smmu, in iort_get_rmrs() argument
980 struct acpi_iort_node *smmu = NULL; in iort_node_get_rmr_info() local
1034 iort_get_rmrs(node, smmu, sids, num_sids, head); in iort_node_get_rmr_info()
1095 struct acpi_iort_smmu_v3 *smmu; in iort_get_msi_resv_iommu() local
1097 smmu = (struct acpi_iort_smmu_v3 *)iommu->node_data; in iort_get_msi_resv_iommu()
1098 if (smmu->model == ACPI_IORT_SMMU_V3_HISILICON_HI161X) in iort_get_msi_resv_iommu()
1455 struct acpi_iort_smmu_v3 *smmu; in arm_smmu_v3_count_resources() local
1460 smmu = (struct acpi_iort_smmu_v3 *)node->node_data; in arm_smmu_v3_count_resources()
1462 if (smmu->event_gsiv) in arm_smmu_v3_count_resources()
1465 if (smmu->pri_gsiv) in arm_smmu_v3_count_resources()
1468 if (smmu->gerr_gsiv) in arm_smmu_v3_count_resources()
1471 if (smmu->sync_gsiv) in arm_smmu_v3_count_resources()
1477 static bool arm_smmu_v3_is_combined_irq(struct acpi_iort_smmu_v3 *smmu) in arm_smmu_v3_is_combined_irq() argument
1483 if (smmu->model != ACPI_IORT_SMMU_V3_CAVIUM_CN99XX) in arm_smmu_v3_is_combined_irq()
1490 return smmu->event_gsiv == smmu->pri_gsiv && in arm_smmu_v3_is_combined_irq()
1491 smmu->event_gsiv == smmu->gerr_gsiv && in arm_smmu_v3_is_combined_irq()
1492 smmu->event_gsiv == smmu->sync_gsiv; in arm_smmu_v3_is_combined_irq()
1495 static unsigned long arm_smmu_v3_resource_size(struct acpi_iort_smmu_v3 *smmu) in arm_smmu_v3_resource_size() argument
1501 if (smmu->model == ACPI_IORT_SMMU_V3_CAVIUM_CN99XX) in arm_smmu_v3_resource_size()
1510 struct acpi_iort_smmu_v3 *smmu; in arm_smmu_v3_init_resources() local
1514 smmu = (struct acpi_iort_smmu_v3 *)node->node_data; in arm_smmu_v3_init_resources()
1516 res[num_res].start = smmu->base_address; in arm_smmu_v3_init_resources()
1517 res[num_res].end = smmu->base_address + in arm_smmu_v3_init_resources()
1518 arm_smmu_v3_resource_size(smmu) - 1; in arm_smmu_v3_init_resources()
1522 if (arm_smmu_v3_is_combined_irq(smmu)) { in arm_smmu_v3_init_resources()
1523 if (smmu->event_gsiv) in arm_smmu_v3_init_resources()
1524 acpi_iort_register_irq(smmu->event_gsiv, "combined", in arm_smmu_v3_init_resources()
1529 if (smmu->event_gsiv) in arm_smmu_v3_init_resources()
1530 acpi_iort_register_irq(smmu->event_gsiv, "eventq", in arm_smmu_v3_init_resources()
1534 if (smmu->pri_gsiv) in arm_smmu_v3_init_resources()
1535 acpi_iort_register_irq(smmu->pri_gsiv, "priq", in arm_smmu_v3_init_resources()
1539 if (smmu->gerr_gsiv) in arm_smmu_v3_init_resources()
1540 acpi_iort_register_irq(smmu->gerr_gsiv, "gerror", in arm_smmu_v3_init_resources()
1544 if (smmu->sync_gsiv) in arm_smmu_v3_init_resources()
1545 acpi_iort_register_irq(smmu->sync_gsiv, "cmdq-sync", in arm_smmu_v3_init_resources()
1554 struct acpi_iort_smmu_v3 *smmu; in arm_smmu_v3_dma_configure() local
1558 smmu = (struct acpi_iort_smmu_v3 *)node->node_data; in arm_smmu_v3_dma_configure()
1560 attr = (smmu->flags & ACPI_IORT_SMMU_V3_COHACC_OVERRIDE) ? in arm_smmu_v3_dma_configure()
1577 struct acpi_iort_smmu_v3 *smmu; in arm_smmu_v3_set_proximity() local
1579 smmu = (struct acpi_iort_smmu_v3 *)node->node_data; in arm_smmu_v3_set_proximity()
1580 if (smmu->flags & ACPI_IORT_SMMU_V3_PXM_VALID) { in arm_smmu_v3_set_proximity()
1581 int dev_node = pxm_to_node(smmu->pxm); in arm_smmu_v3_set_proximity()
1588 smmu->base_address, in arm_smmu_v3_set_proximity()
1589 smmu->pxm); in arm_smmu_v3_set_proximity()
1599 struct acpi_iort_smmu *smmu; in arm_smmu_count_resources() local
1602 smmu = (struct acpi_iort_smmu *)node->node_data; in arm_smmu_count_resources()
1612 return smmu->context_interrupt_count + 2; in arm_smmu_count_resources()
1618 struct acpi_iort_smmu *smmu; in arm_smmu_init_resources() local
1623 smmu = (struct acpi_iort_smmu *)node->node_data; in arm_smmu_init_resources()
1625 res[num_res].start = smmu->base_address; in arm_smmu_init_resources()
1626 res[num_res].end = smmu->base_address + smmu->span - 1; in arm_smmu_init_resources()
1630 glb_irq = ACPI_ADD_PTR(u64, node, smmu->global_interrupt_offset); in arm_smmu_init_resources()
1639 ctx_irq = ACPI_ADD_PTR(u64, node, smmu->context_interrupt_offset); in arm_smmu_init_resources()
1640 for (i = 0; i < smmu->context_interrupt_count; i++) { in arm_smmu_init_resources()
1652 struct acpi_iort_smmu *smmu; in arm_smmu_dma_configure() local
1656 smmu = (struct acpi_iort_smmu *)node->node_data; in arm_smmu_dma_configure()
1658 attr = (smmu->flags & ACPI_IORT_SMMU_COHERENT_WALK) ? in arm_smmu_dma_configure()