From 2a98a948c14fbe062a14b75c022a280c5dd2e04a Mon Sep 17 00:00:00 2001 From: Sherry Sun Date: Fri, 7 Aug 2020 20:59:00 +0800 Subject: [PATCH] MLK-24569-2: pci: endpoint: function: imx_mic: add probe mic driver function call Invoke mic driver API to probe mic card driver when imx_mic_epf setup pci outbound configuration. Signed-off-by: Joakim Zhang Signed-off-by: Sherry Sun Reviewed-by: Frank Li Reviewed-by: Fugang Duan --- drivers/pci/endpoint/functions/imx_mic_epf.c | 8 ++++++++ include/linux/imx_mic_epf.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/drivers/pci/endpoint/functions/imx_mic_epf.c b/drivers/pci/endpoint/functions/imx_mic_epf.c index 487d263d32f3..96e75e7c23a7 100644 --- a/drivers/pci/endpoint/functions/imx_mic_epf.c +++ b/drivers/pci/endpoint/functions/imx_mic_epf.c @@ -50,6 +50,8 @@ static void imx_mic_epf_unbind(struct pci_epf *epf) cancel_delayed_work(&imx_epf->bar0_handler); + imx_mic_remove(); + pci_epc_stop(epc); if (imx_epf->reg[BAR_0]) { @@ -96,6 +98,12 @@ static int imx_mic_epf_set_outbound(struct imx_mic_epf *imx_epf, dev_info(dev, "%s: rc map share region to ep (rc->ep: 0x%llx->0x%llx), size 0x%llx", __func__, imx_epf->aper.rc_shmem_pa, imx_epf->aper.pci_pa, imx_epf->aper.pci_len); + ret = imx_mic_probe(imx_epf); + if (ret) { + dev_err(dev, "Failed to probe i.MX MIC\n"); + return ret; + } + return 0; } diff --git a/include/linux/imx_mic_epf.h b/include/linux/imx_mic_epf.h index 83c298695c7e..c2ec7be5029e 100644 --- a/include/linux/imx_mic_epf.h +++ b/include/linux/imx_mic_epf.h @@ -27,4 +27,6 @@ struct imx_mic_epf { }; void imx_mic_get_doorbell_info(u32 *doorbell_reg_base, u32 *doorbell_reg_size); +int imx_mic_probe(struct imx_mic_epf *mic_epf); +void imx_mic_remove(void); #endif