@@ -111,11 +111,15 @@ static int eiointc_set_irq_affinity(struct irq_data *d, const struct cpumask *af
111111 regaddr = EIOINTC_REG_ENABLE + ((vector >> 5 ) << 2 );
112112
113113 /* Mask target vector */
114- csr_any_send (regaddr , EIOINTC_ALL_ENABLE & (~BIT (vector & 0x1F )), 0x0 , 0 );
114+ csr_any_send (regaddr , EIOINTC_ALL_ENABLE & (~BIT (vector & 0x1F )),
115+ 0x0 , priv -> node * CORES_PER_EIO_NODE );
116+
115117 /* Set route for target vector */
116118 eiointc_set_irq_route (vector , cpu , priv -> node , & priv -> node_map );
119+
117120 /* Unmask target vector */
118- csr_any_send (regaddr , EIOINTC_ALL_ENABLE , 0x0 , 0 );
121+ csr_any_send (regaddr , EIOINTC_ALL_ENABLE ,
122+ 0x0 , priv -> node * CORES_PER_EIO_NODE );
119123
120124 irq_data_update_effective_affinity (d , cpumask_of (cpu ));
121125
@@ -286,7 +290,7 @@ static void acpi_set_vec_parent(int node, struct irq_domain *parent, struct acpi
286290 }
287291}
288292
289- struct irq_domain * acpi_get_vec_parent (int node , struct acpi_vector_group * vec_group )
293+ static struct irq_domain * acpi_get_vec_parent (int node , struct acpi_vector_group * vec_group )
290294{
291295 int i ;
292296
@@ -344,7 +348,8 @@ int __init eiointc_acpi_init(struct irq_domain *parent,
344348 if (!priv )
345349 return - ENOMEM ;
346350
347- priv -> domain_handle = irq_domain_alloc_fwnode ((phys_addr_t * )acpi_eiointc );
351+ priv -> domain_handle = irq_domain_alloc_named_id_fwnode ("EIOPIC" ,
352+ acpi_eiointc -> node );
348353 if (!priv -> domain_handle ) {
349354 pr_err ("Unable to allocate domain handle\n" );
350355 goto out_free_priv ;
0 commit comments