Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
u32 intr_index;
u32 have_shift = 0;
struct fsl_msi_cascade_data *cascade_data;
u32 intr_index;
u32 have_shift = 0;
struct fsl_msi_cascade_data *cascade_data;
cascade_data = irq_get_handler_data(irq);
msi_data = cascade_data->msi_data;
cascade_data = irq_get_handler_data(irq);
msi_data = cascade_data->msi_data;
case FSL_PIC_IP_IPIC:
msir_value = fsl_msi_read(msi_data->msi_regs, msir_index * 0x4);
break;
case FSL_PIC_IP_IPIC:
msir_value = fsl_msi_read(msi_data->msi_regs, msir_index * 0x4);
break;
+#ifdef CONFIG_EPAPR_PARAVIRT
+ case FSL_PIC_IP_VMPIC: {
+ unsigned int ret;
ret = fh_vmpic_get_msir(virq_to_hw(irq), &msir_value);
if (ret) {
pr_err("fsl-msi: fh_vmpic_get_msir() failed for "
ret = fh_vmpic_get_msir(virq_to_hw(irq), &msir_value);
if (ret) {
pr_err("fsl-msi: fh_vmpic_get_msir() failed for "
while (msir_value) {
intr_index = ffs(msir_value) - 1;
while (msir_value) {
intr_index = ffs(msir_value) - 1;
.compatible = "fsl,ipic-msi",
.data = (void *)&ipic_msi_feature,
},
.compatible = "fsl,ipic-msi",
.data = (void *)&ipic_msi_feature,
},
+#ifdef CONFIG_EPAPR_PARAVIRT
{
.compatible = "fsl,vmpic-msi",
.data = (void *)&vmpic_msi_feature,
},
{
.compatible = "fsl,vmpic-msi",
.data = (void *)&vmpic_msi_feature,
},
EXPORT_SYMBOL(diu_ops);
#endif
EXPORT_SYMBOL(diu_ops);
#endif
+#ifdef CONFIG_EPAPR_PARAVIRT
/*
* Restart the current partition
*
/*
* Restart the current partition
*
pr_info("hv exit\n");
fh_partition_stop(-1);
}
pr_info("hv exit\n");
fh_partition_stop(-1);
}