Skip to content

Commit ff978a2

Browse files
Jing Liopsiff
authored andcommitted
sw64: irqchip: update effective affinity for PINTC
Since CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK is selected, it is necessary to update effective affinity when setting affinity for PINTC. Signed-off-by: Jing Li <[email protected]> Reviewed-by: He Sheng <[email protected]> Signed-off-by: Gu Zitao <[email protected]>
1 parent f79a655 commit ff978a2

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

drivers/irqchip/irq-sunway-pintc.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,10 @@ static void update_pintc_mcu_target(struct pintc_chip_data *chip_data,
243243
raw_spin_unlock_irqrestore(&chip_data->pintc_lock, flags);
244244
}
245245

246-
static int assign_mcu_irq_config(struct pintc_chip_data *chip_data,
246+
static int assign_mcu_irq_config(struct irq_data *irq_data,
247247
cpumask_t *targets)
248248
{
249+
struct pintc_chip_data *chip_data = irq_data->chip_data;
249250
unsigned long dev_int_tar;
250251
unsigned int cpu;
251252
int rcid;
@@ -270,21 +271,22 @@ static int assign_mcu_irq_config(struct pintc_chip_data *chip_data,
270271
dev_int_tar = make_pintc_int_target(chip_data->version, rcid);
271272
update_pintc_mcu_target(chip_data, dev_int_tar);
272273

274+
irq_data_update_effective_affinity(irq_data, cpumask_of(cpu));
275+
273276
return 0;
274277
}
275278

276279
static int mcu_irq_set_affinity(struct irq_data *irq_data,
277280
const struct cpumask *dest, bool force)
278281
{
279-
struct pintc_chip_data *chip_data = irq_data->chip_data;
280282
cpumask_t targets;
281283

282284
if (cpumask_any_and(dest, cpu_online_mask) >= nr_cpu_ids)
283285
return -EINVAL;
284286

285287
cpumask_and(&targets, dest, cpu_online_mask);
286288

287-
return assign_mcu_irq_config(chip_data, &targets);
289+
return assign_mcu_irq_config(irq_data, &targets);
288290
}
289291

290292
static struct irq_chip pintc_mcu_chips[SUNWAY_MAX_NODES] = {

0 commit comments

Comments
 (0)