Lines Matching full:cluster

3  * dcscb.c - Dual Cluster System Configuration Block
39 static int dcscb_cpu_powerup(unsigned int cpu, unsigned int cluster) in dcscb_cpu_powerup() argument
43 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in dcscb_cpu_powerup()
44 if (cluster >= 2 || !(cpumask & dcscb_allcpus_mask[cluster])) in dcscb_cpu_powerup()
47 rst_hold = readl_relaxed(dcscb_base + RST_HOLD0 + cluster * 4); in dcscb_cpu_powerup()
49 writel_relaxed(rst_hold, dcscb_base + RST_HOLD0 + cluster * 4); in dcscb_cpu_powerup()
53 static int dcscb_cluster_powerup(unsigned int cluster) in dcscb_cluster_powerup() argument
57 pr_debug("%s: cluster %u\n", __func__, cluster); in dcscb_cluster_powerup()
58 if (cluster >= 2) in dcscb_cluster_powerup()
61 /* remove cluster reset and add individual CPU's reset */ in dcscb_cluster_powerup()
62 rst_hold = readl_relaxed(dcscb_base + RST_HOLD0 + cluster * 4); in dcscb_cluster_powerup()
64 rst_hold |= dcscb_allcpus_mask[cluster]; in dcscb_cluster_powerup()
65 writel_relaxed(rst_hold, dcscb_base + RST_HOLD0 + cluster * 4); in dcscb_cluster_powerup()
69 static void dcscb_cpu_powerdown_prepare(unsigned int cpu, unsigned int cluster) in dcscb_cpu_powerdown_prepare() argument
73 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in dcscb_cpu_powerdown_prepare()
74 BUG_ON(cluster >= 2 || !((1 << cpu) & dcscb_allcpus_mask[cluster])); in dcscb_cpu_powerdown_prepare()
76 rst_hold = readl_relaxed(dcscb_base + RST_HOLD0 + cluster * 4); in dcscb_cpu_powerdown_prepare()
78 writel_relaxed(rst_hold, dcscb_base + RST_HOLD0 + cluster * 4); in dcscb_cpu_powerdown_prepare()
81 static void dcscb_cluster_powerdown_prepare(unsigned int cluster) in dcscb_cluster_powerdown_prepare() argument
85 pr_debug("%s: cluster %u\n", __func__, cluster); in dcscb_cluster_powerdown_prepare()
86 BUG_ON(cluster >= 2); in dcscb_cluster_powerdown_prepare()
88 rst_hold = readl_relaxed(dcscb_base + RST_HOLD0 + cluster * 4); in dcscb_cluster_powerdown_prepare()
90 writel_relaxed(rst_hold, dcscb_base + RST_HOLD0 + cluster * 4); in dcscb_cluster_powerdown_prepare()
101 /* Flush all cache levels for this cluster. */ in dcscb_cluster_cache_disable()
108 * cluster standing" would need to be implemented if the in dcscb_cluster_cache_disable()
117 * Disable cluster-level coherency by masking in dcscb_cluster_cache_disable()
166 * through the cluster entry vectors. in dcscb_init()