Lines Matching +full:gic +full:- +full:v3 +full:- +full:its
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2013-2015 ARM Limited, All Rights Reserved.
14 .name = "ITS-pMSI",
22 /* Suck the DeviceID out of the msi-parent property */ in of_pmsi_get_dev_id()
26 ret = of_parse_phandle_with_args(dev->of_node, in of_pmsi_get_dev_id()
27 "msi-parent", "#msi-cells", in of_pmsi_get_dev_id()
31 return -EINVAL; in of_pmsi_get_dev_id()
43 return -1; in iort_pmsi_get_dev_id()
53 msi_info = msi_get_domain_info(domain->parent); in its_pmsi_prepare()
55 if (dev->of_node) in its_pmsi_prepare()
62 /* ITS specific DeviceID, as the core ITS ignores dev. */ in its_pmsi_prepare()
63 info->scratchpad[0].ul = dev_id; in its_pmsi_prepare()
67 return msi_info->ops->msi_prepare(domain->parent, in its_pmsi_prepare()
82 { .compatible = "arm,gic-v3-its", },
93 pr_err("%s: unable to locate ITS domain\n", name); in its_pmsi_init_one()
94 return -ENXIO; in its_pmsi_init_one()
100 return -ENXIO; in its_pmsi_init_one()
115 int err = -ENXIO; in its_pmsi_parse_madt()
118 node_name = kasprintf(GFP_KERNEL, "ITS@0x%lx", in its_pmsi_parse_madt()
119 (long)its_entry->base_address); in its_pmsi_parse_madt()
120 domain_handle = iort_find_domain_token(its_entry->translation_id); in its_pmsi_parse_madt()
122 pr_err("%s: Unable to locate ITS domain handle\n", node_name); in its_pmsi_parse_madt()
150 if (!of_property_read_bool(np, "msi-controller")) in its_pmsi_of_init()
153 its_pmsi_init_one(of_node_to_fwnode(np), np->full_name); in its_pmsi_of_init()