Lines Matching refs:lisn
590 static int spapr_xive_claim_irq(SpaprInterruptController *intc, int lisn, in spapr_xive_claim_irq() argument
596 assert(lisn < xive->nr_irqs); in spapr_xive_claim_irq()
598 trace_spapr_xive_claim_irq(lisn, lsi); in spapr_xive_claim_irq()
600 if (xive_eas_is_valid(&xive->eat[lisn])) { in spapr_xive_claim_irq()
601 error_setg(errp, "IRQ %d is not free", lisn); in spapr_xive_claim_irq()
608 xive->eat[lisn].w |= cpu_to_be64(EAS_VALID | EAS_MASKED); in spapr_xive_claim_irq()
610 xive_source_irq_set_lsi(xsrc, lisn); in spapr_xive_claim_irq()
614 return kvmppc_xive_source_reset_one(xsrc, lisn, errp); in spapr_xive_claim_irq()
620 static void spapr_xive_free_irq(SpaprInterruptController *intc, int lisn) in spapr_xive_free_irq() argument
623 assert(lisn < xive->nr_irqs); in spapr_xive_free_irq()
625 trace_spapr_xive_free_irq(lisn); in spapr_xive_free_irq()
627 xive->eat[lisn].w &= cpu_to_be64(~EAS_VALID); in spapr_xive_free_irq()
941 target_ulong lisn = args[1]; in h_int_get_source_info() local
943 trace_spapr_xive_get_source_info(flags, lisn); in h_int_get_source_info()
953 if (lisn >= xive->nr_irqs) { in h_int_get_source_info()
955 lisn); in h_int_get_source_info()
959 if (!xive_eas_is_valid(&xive->eat[lisn])) { in h_int_get_source_info()
961 lisn); in h_int_get_source_info()
982 if (xive_source_irq_is_lsi(xsrc, lisn)) { in h_int_get_source_info()
987 args[1] = xive->vc_base + xive_source_esb_mgmt(xsrc, lisn); in h_int_get_source_info()
994 args[2] = xive->vc_base + xive_source_esb_page(xsrc, lisn); in h_int_get_source_info()
1053 target_ulong lisn = args[1]; in h_int_set_source_config() local
1060 trace_spapr_xive_set_source_config(flags, lisn, target, priority, eisn); in h_int_set_source_config()
1070 if (lisn >= xive->nr_irqs) { in h_int_set_source_config()
1072 lisn); in h_int_set_source_config()
1076 eas = xive->eat[lisn]; in h_int_set_source_config()
1079 lisn); in h_int_set_source_config()
1120 kvmppc_xive_set_source_config(xive, lisn, &new_eas, &local_err); in h_int_set_source_config()
1128 xive->eat[lisn] = new_eas; in h_int_set_source_config()
1161 target_ulong lisn = args[1]; in h_int_get_source_config() local
1167 trace_spapr_xive_get_source_config(flags, lisn); in h_int_get_source_config()
1177 if (lisn >= xive->nr_irqs) { in h_int_get_source_config()
1179 lisn); in h_int_get_source_config()
1183 eas = xive->eat[lisn]; in h_int_get_source_config()
1186 lisn); in h_int_get_source_config()
1686 target_ulong lisn = args[1]; in h_int_esb() local
1692 trace_spapr_xive_esb(flags, lisn, offset, data); in h_int_esb()
1702 if (lisn >= xive->nr_irqs) { in h_int_esb()
1704 lisn); in h_int_esb()
1708 eas = xive->eat[lisn]; in h_int_esb()
1711 lisn); in h_int_esb()
1720 args[0] = kvmppc_xive_esb_rw(xsrc, lisn, offset, data, in h_int_esb()
1723 mmio_addr = xive->vc_base + xive_source_esb_mgmt(xsrc, lisn) + offset; in h_int_esb()
1762 target_ulong lisn = args[1]; in h_int_sync() local
1764 trace_spapr_xive_sync(flags, lisn); in h_int_sync()
1774 if (lisn >= xive->nr_irqs) { in h_int_sync()
1776 lisn); in h_int_sync()
1780 eas = xive->eat[lisn]; in h_int_sync()
1783 lisn); in h_int_sync()
1800 kvmppc_xive_sync_source(xive, lisn, &local_err); in h_int_sync()