| /linux/lib/ |
| H A D | cache_maint.c | 30 struct cache_coherency_ops_inst *cci = in __cache_coherency_ops_instance_free() local 32 kfree(cci); in __cache_coherency_ops_instance_free() 35 void cache_coherency_ops_instance_put(struct cache_coherency_ops_inst *cci) in cache_coherency_ops_instance_put() argument 37 kref_put(&cci->kref, __cache_coherency_ops_instance_free); in cache_coherency_ops_instance_put() 41 static int cache_inval_one(struct cache_coherency_ops_inst *cci, void *data) in cache_inval_one() argument 43 if (!cci->ops) in cache_inval_one() 46 return cci->ops->wbinv(cci, data); in cache_inval_one() 49 static int cache_inval_done_one(struct cache_coherency_ops_inst *cci) in cache_inval_done_one() argument 51 if (!cci->ops) in cache_inval_done_one() 54 if (!cci->ops->done) in cache_inval_done_one() [all …]
|
| /linux/Documentation/devicetree/bindings/arm/ |
| H A D | arm,cci-400.yaml | 4 $id: http://devicetree.org/schemas/arm/arm,cci-400.yaml# 7 title: ARM CCI Cache Coherent Interconnect 14 coherent interconnect (CCI) that is capable of monitoring bus transactions 24 pattern: "^cci(@[0-9a-f]+)?$" 28 - arm,cci-400 29 - arm,cci-500 30 - arm,cci-550 35 Specifies base physical address of CCI control registers common to all 48 const: arm,cci-400-ctrl-if 71 - const: arm,cci-400-pmu,r0 [all …]
|
| H A D | cci-control-port.yaml | 4 $id: http://devicetree.org/schemas/arm/cci-control-port.yaml# 7 title: CCI Interconnect Bus Masters 13 Masters in the device tree connected to a CCI port (inclusive of CPUs 19 cci-control-port: 33 cci-control-port = <&cci_control1>;
|
| /linux/drivers/bus/ |
| H A D | arm-cci.c | 2 * CCI cache coherent interconnect driver 17 #include <linux/arm-cci.h> 49 {.compatible = "arm,cci-400", .data = CCI400_PORTS_DATA }, 52 { .compatible = "arm,cci-500", }, 53 { .compatible = "arm,cci-550", }, 59 OF_DEV_AUXDATA("arm,cci-400-pmu", 0, NULL, &cci_ctrl_base), 60 OF_DEV_AUXDATA("arm,cci-400-pmu,r0", 0, NULL, &cci_ctrl_base), 61 OF_DEV_AUXDATA("arm,cci-400-pmu,r1", 0, NULL, &cci_ctrl_base), 62 OF_DEV_AUXDATA("arm,cci-500-pmu,r0", 0, NULL, &cci_ctrl_base), 63 OF_DEV_AUXDATA("arm,cci-550-pmu,r0", 0, NULL, &cci_ctrl_base), [all …]
|
| /linux/Documentation/devicetree/bindings/interconnect/ |
| H A D | mediatek,cci.yaml | 4 $id: http://devicetree.org/schemas/interconnect/mediatek,cci.yaml# 7 title: MediaTek Cache Coherent Interconnect (CCI) frequency and voltage scaling 14 MediaTek Cache Coherent Interconnect (CCI) is a hardware engine used by 22 - mediatek,mt8183-cci 23 - mediatek,mt8186-cci 26 - mediatek,mt7988-cci 27 - const: mediatek,mt8183-cci 40 - const: cci 49 Phandle of the regulator for CCI that provides the supply voltage. 53 Phandle of the regulator for sram of CCI that provides the supply [all …]
|
| /linux/drivers/cache/ |
| H A D | hisi_soc_hha.c | 47 struct cache_coherency_ops_inst cci; member 63 static int hisi_soc_hha_wbinv(struct cache_coherency_ops_inst *cci, in hisi_soc_hha_wbinv() argument 67 container_of(cci, struct hisi_soc_hha, cci); in hisi_soc_hha_wbinv() 106 static int hisi_soc_hha_done(struct cache_coherency_ops_inst *cci) in hisi_soc_hha_done() argument 109 container_of(cci, struct hisi_soc_hha, cci); in hisi_soc_hha_done() 130 struct hisi_soc_hha, cci); in hisi_soc_hha_probe() 151 ret = cache_coherency_ops_instance_register(&soc_hha->cci); in hisi_soc_hha_probe() 160 cache_coherency_ops_instance_put(&soc_hha->cci); in hisi_soc_hha_probe() 168 cache_coherency_ops_instance_unregister(&soc_hha->cci); in hisi_soc_hha_remove() 170 cache_coherency_ops_instance_put(&soc_hha->cci); in hisi_soc_hha_remove()
|
| /linux/drivers/usb/typec/ucsi/ |
| H A D | ucsi_acpi.c | 59 static int ucsi_acpi_read_cci(struct ucsi *ucsi, u32 *cci) in ucsi_acpi_read_cci() argument 63 memcpy(cci, ua->base + UCSI_CCI, sizeof(*cci)); in ucsi_acpi_read_cci() 68 static int ucsi_acpi_poll_cci(struct ucsi *ucsi, u32 *cci) in ucsi_acpi_poll_cci() argument 77 return ucsi_acpi_read_cci(ucsi, cci); in ucsi_acpi_poll_cci() 108 static int ucsi_gram_sync_control(struct ucsi *ucsi, u64 command, u32 *cci, in ucsi_gram_sync_control() argument 116 ret = ucsi_sync_control_common(ucsi, command, cci, val, len); in ucsi_gram_sync_control() 161 u32 cci; in ucsi_acpi_notify() local 164 ret = ua->ucsi->ops->read_cci(ua->ucsi, &cci); in ucsi_acpi_notify() 168 ucsi_notify_common(ua->ucsi, cci); in ucsi_acpi_notify()
|
| H A D | ucsi_yoga_c630.c | 50 static int yoga_c630_ucsi_read_cci(struct ucsi *ucsi, u32 *cci) in yoga_c630_ucsi_read_cci() argument 60 memcpy(cci, buf, sizeof(*cci)); in yoga_c630_ucsi_read_cci() 91 u32 *cci, in yoga_c630_ucsi_sync_control() argument 112 *cci = UCSI_CCI_COMMAND_COMPLETE | UCSI_SET_CCI_LENGTH(sizeof(alt)); in yoga_c630_ucsi_sync_control() 125 *cci = UCSI_CCI_COMMAND_COMPLETE; in yoga_c630_ucsi_sync_control() 129 ret = ucsi_sync_control_common(ucsi, command, cci, data, size); in yoga_c630_ucsi_sync_control() 214 u32 cci; in yoga_c630_ucsi_notify() local 225 ret = uec->ucsi->ops->read_cci(uec->ucsi, &cci); in yoga_c630_ucsi_notify() 229 ucsi_notify_common(uec->ucsi, cci); in yoga_c630_ucsi_notify()
|
| H A D | ucsi.c | 40 void ucsi_notify_common(struct ucsi *ucsi, u32 cci) in ucsi_notify_common() argument 42 /* Ignore bogus data in CCI if busy indicator is set. */ in ucsi_notify_common() 43 if (cci & UCSI_CCI_BUSY) in ucsi_notify_common() 46 if (UCSI_CCI_CONNECTOR(cci)) { in ucsi_notify_common() 48 UCSI_CCI_CONNECTOR(cci) <= ucsi->cap.num_connectors) in ucsi_notify_common() 49 ucsi_connector_change(ucsi, UCSI_CCI_CONNECTOR(cci)); in ucsi_notify_common() 51 dev_err(ucsi->dev, "bogus connector number in CCI: %lu\n", in ucsi_notify_common() 52 UCSI_CCI_CONNECTOR(cci)); in ucsi_notify_common() 55 if (cci & UCSI_CCI_ACK_COMPLETE && in ucsi_notify_common() 59 if (cci & UCSI_CCI_COMMAND_COMPLETE && in ucsi_notify_common() [all …]
|
| H A D | ucsi_ccg.c | 198 __le32 cci; member 231 * This spinlock protects op_data which includes CCI and MESSAGE_IN that 319 static int ccg_op_region_update(struct ucsi_ccg *uc, u32 cci) in ccg_op_region_update() argument 329 if (UCSI_CCI_LENGTH(cci)) { in ccg_op_region_update() 339 data->cci = cpu_to_le32(cci); in ccg_op_region_update() 340 if (UCSI_CCI_LENGTH(cci)) in ccg_op_region_update() 572 static int ucsi_ccg_read_cci(struct ucsi *ucsi, u32 *cci) in ucsi_ccg_read_cci() argument 577 *cci = uc->op_data.cci; in ucsi_ccg_read_cci() 600 * UCSI may read CCI instantly after async_control, in ucsi_ccg_async_control() 601 * clear CCI to avoid caller getting wrong data before we get CCI from ISR in ucsi_ccg_async_control() [all …]
|
| /linux/arch/arm/boot/dts/samsung/ |
| H A D | exynos5422-cpus.dtsi | 62 cci-control-port = <&cci_control0>; 75 cci-control-port = <&cci_control0>; 88 cci-control-port = <&cci_control0>; 101 cci-control-port = <&cci_control0>; 114 cci-control-port = <&cci_control1>; 127 cci-control-port = <&cci_control1>; 140 cci-control-port = <&cci_control1>; 153 cci-control-port = <&cci_control1>;
|
| H A D | exynos5420-cpus.dtsi | 63 cci-control-port = <&cci_control1>; 75 cci-control-port = <&cci_control1>; 87 cci-control-port = <&cci_control1>; 99 cci-control-port = <&cci_control1>; 111 cci-control-port = <&cci_control0>; 123 cci-control-port = <&cci_control0>; 135 cci-control-port = <&cci_control0>; 147 cci-control-port = <&cci_control0>;
|
| H A D | exynos5260.dtsi | 67 cci-control-port = <&cci_control1>; 74 cci-control-port = <&cci_control1>; 81 cci-control-port = <&cci_control0>; 88 cci-control-port = <&cci_control0>; 95 cci-control-port = <&cci_control0>; 102 cci-control-port = <&cci_control0>; 355 cci: cci@10f00000 { label 356 compatible = "arm,cci-400"; 363 compatible = "arm,cci-400-ctrl-if"; 369 compatible = "arm,cci-400-ctrl-if";
|
| /linux/include/linux/ |
| H A D | cache_coherency.h | 22 int (*wbinv)(struct cache_coherency_ops_inst *cci, 24 int (*done)(struct cache_coherency_ops_inst *cci); 33 int cache_coherency_ops_instance_register(struct cache_coherency_ops_inst *cci); 34 void cache_coherency_ops_instance_unregister(struct cache_coherency_ops_inst *cci); 59 void cache_coherency_ops_instance_put(struct cache_coherency_ops_inst *cci);
|
| H A D | arm-cci.h | 3 * CCI cache coherent interconnect support 14 #include <asm/arm-cci.h>
|
| /linux/include/media/ |
| H A D | v4l2-cci.h | 3 * MIPI Camera Control Interface (CCI) register access helpers. 18 * struct cci_reg_sequence - An individual write from a sequence of CCI writes 38 * Private CCI register flags, for the use of drivers. 59 * cci_read() - Read a value from a single CCI register 72 * cci_write() - Write a value to a single CCI register 86 * a single CCI register
|
| /linux/arch/arm/boot/dts/mediatek/ |
| H A D | mt7629.dtsi | 32 cci-control-port = <&cci_control2>; 40 cci-control-port = <&cci_control2>; 174 cci: cci@10390000 { label 175 compatible = "arm,cci-400"; 182 compatible = "arm,cci-400-ctrl-if"; 188 compatible = "arm,cci-400-ctrl-if"; 194 compatible = "arm,cci-400-ctrl-if"; 200 compatible = "arm,cci-400-pmu,r1";
|
| /linux/arch/arm/boot/dts/arm/ |
| H A D | vexpress-v2p-ca15_a7.dts | 42 cci-control-port = <&cci_control1>; 52 cci-control-port = <&cci_control1>; 62 cci-control-port = <&cci_control2>; 72 cci-control-port = <&cci_control2>; 82 cci-control-port = <&cci_control2>; 161 cci@2c090000 { 162 compatible = "arm,cci-400"; 169 compatible = "arm,cci-400-ctrl-if"; 175 compatible = "arm,cci-400-ctrl-if"; 181 compatible = "arm,cci-400-pmu,r0";
|
| /linux/arch/arm/mach-versatile/ |
| H A D | platsmp-vexpress.c | 28 * is to detect if the kernel can take over CCI ports in vexpress_smp_init_ops() 29 * control. Loop over possible CPUs and check if CCI in vexpress_smp_init_ops() 40 cci_node = of_parse_phandle(cpu_node, "cci-control-port", 0); in vexpress_smp_init_ops()
|
| /linux/Documentation/driver-api/media/ |
| H A D | v4l2-cci.rst | 3 V4L2 CCI kAPI 5 .. kernel-doc:: include/media/v4l2-cci.h
|
| /linux/arch/arm/boot/dts/allwinner/ |
| H A D | sun9i-a80.dtsi | 70 cci-control-port = <&cci_control0>; 79 cci-control-port = <&cci_control0>; 88 cci-control-port = <&cci_control0>; 97 cci-control-port = <&cci_control0>; 106 cci-control-port = <&cci_control1>; 115 cci-control-port = <&cci_control1>; 124 cci-control-port = <&cci_control1>; 133 cci-control-port = <&cci_control1>; 551 cci: cci@1c90000 { label 552 compatible = "arm,cci-400"; [all …]
|
| H A D | sun8i-a83t.dtsi | 69 cci-control-port = <&cci_control0>; 80 cci-control-port = <&cci_control0>; 91 cci-control-port = <&cci_control0>; 102 cci-control-port = <&cci_control0>; 113 cci-control-port = <&cci_control1>; 124 cci-control-port = <&cci_control1>; 135 cci-control-port = <&cci_control1>; 146 cci-control-port = <&cci_control1>; 405 cci@1790000 { 406 compatible = "arm,cci-400"; [all …]
|
| /linux/drivers/media/v4l2-core/ |
| H A D | v4l2-cci.c | 3 * MIPI Camera Control Interface (CCI) register access helpers. 17 #include <media/v4l2-cci.h> 203 MODULE_DESCRIPTION("MIPI Camera Control Interface (CCI) support");
|
| /linux/arch/arm64/boot/dts/mediatek/ |
| H A D | mt7622.dtsi | 82 cci-control-port = <&cci_control2>; 97 cci-control-port = <&cci_control2>; 350 cci: cci@10390000 { label 351 compatible = "arm,cci-400"; 358 compatible = "arm,cci-400-ctrl-if"; 364 compatible = "arm,cci-400-ctrl-if"; 370 compatible = "arm,cci-400-ctrl-if", "syscon"; 376 compatible = "arm,cci-400-pmu,r1"; 992 cci-control-port = <&cci_control2>;
|
| /linux/drivers/devfreq/ |
| H A D | Kconfig | 134 tristate "MEDIATEK CCI DEVFREQ Driver" 140 buck voltages and update a proper CCI frequency. Use the notification
|