All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/1] PCI: kirin: Add MSI support
@ 2018-07-11  8:09 Xiaowei Song
  2018-07-11  8:09 ` [PATCH v7 1/1] " Xiaowei Song
  0 siblings, 1 reply; 8+ messages in thread
From: Xiaowei Song @ 2018-07-11  8:09 UTC (permalink / raw)
  To: wangbinghui, bhelgaas, lorenzo.pieralisi, robh+dt, linux-pci,
	linux-kernel, suzhuangluan, andy.shevchenko
  Cc: kongfei, chenyao11, songxiaowei


Before Version Patches
======================
patch v6
https://patchwork.kernel.org/patch/10518843/
patch v5
https://patchwork.kernel.org/patch/10493797/
patch v4
https://patchwork.kernel.org/patch/10402399/
patch v3
https://www.spinics.net/lists/linux-pci/msg72322.html
patch v2
https://www.spinics.net/lists/kernel/msg2797610.html

patch v1
https://www.spinics.net/lists/kernel/msg2796410.html

Changes between V7 and V6
=========================
1. Fix the bug pointed by Lorenzo.
	(1) Function kirin_pcie_add_msi return 0 instead of irq_num if irq_num ger from DT successfully,
		according to the comments from Lorenzo and Andy.
	(2) Rename the variable from 'ret' to 'irq', according to the comments from Andy.

Changes between V6 and V5
=========================
1. Fix the bug pointed by Lorenzo.
	(1) The bug of checking the return value of kirin_pcie_add_msi is fixed, which was pointed by Lorenzo.
2. Test the patch based on Hikey960.
	2. Test the patch based on Hikey960.
   (1) the patch is tested on Hikey960 board with COLORFUL CN600 M.2 SSD connected.
   (2) As i can not cat /proc/interrupts for "adb shell"  is not working, so some log was added to test this patch as following.
			--- a/drivers/nvme/host/pci.c
			+++ b/drivers/nvme/host/pci.c
			@@ -1966,8 +1966,13 @@ static int nvme_setup_io_queues(struct nvme_dev *dev)
					pci_free_irq_vectors(pdev);
					result = pci_alloc_irq_vectors_affinity(pdev, 1, nr_io_queues + 1,
									PCI_IRQ_ALL_TYPES | PCI_IRQ_AFFINITY, &affd);
			-       if (result <= 0)
			+       if (result <= 0) {
			+               printk(KERN_ERR "NVMe: alloc irq Fail.\n");
							return -EIO;
			+       }
			+       else
			+               printk(KERN_ERR "PCIe Device NVMe enable MSI IRQ Success.\n");
			+

			--- a/drivers/pci/dwc/pcie-kirin.c
			+++ b/drivers/pci/dwc/pcie-kirin.c
			@@ -462,6 +462,9 @@ static int kirin_pcie_add_msi(struct dw_pcie *pci,
							}

							pci->pp.msi_irq = ret;
			+
			+               dev_err(&pdev->dev,
			+                               "Kirin PCIe MSI IRQ No.(%d)\n", ret);
					}

					return ret;

    (3) The running log is shown as below:
			...
			[    0.567993] kirin-pcie f4000000.pcie: Kirin PCIe MSI IRQ No.(55)
			[    0.568012] PCI: OF: host bridge /soc/pcie@f4000000 ranges:
			[    0.568026] PCI: OF:   MEM 0xf6000000..0xf7ffffff -> 0x00000000
			[    0.587310] kirin-pcie f4000000.pcie: PCI host bridge to bus 0000:00
			[    0.587319] pci_bus 0000:00: root bus resource [bus 00-ff]
			[    0.587326] pci_bus 0000:00: root bus resource [mem 0xf6000000-0xf7ffffff] (bus address [0x00000000-0x01ffffff])
			[    0.587362] pci 0000:00:00.0: [19e5:3660] type 01 class 0x060400
			[    0.587409] pci 0000:00:00.0: reg 0x10: [mem 0xf6000000-0xf6ffffff 64bit]
			[    0.587514] pci 0000:00:00.0: supports D1 D2
			[    0.587519] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
			[    0.589065] pci 0000:01:00.0: [10ec:5760] type 00 class 0x010802
			[    0.589643] pci 0000:01:00.0: reg 0x10: [mem 0xf6000000-0xf6003fff 64bit]
			[    0.590142] pci 0000:01:00.0: reg 0x24: [mem 0xf6000000-0xf6001fff]
			[    0.604141] pci 0000:00:00.0: BAR 0: assigned [mem 0xf6000000-0xf6ffffff 64bit]
			[    0.604158] pci 0000:00:00.0: BAR 14: assigned [mem 0xf7000000-0xf70fffff]
			[    0.604166] pci 0000:01:00.0: BAR 0: assigned [mem 0xf7000000-0xf7003fff 64bit]
			[    0.604344] pci 0000:01:00.0: BAR 5: assigned [mem 0xf7004000-0xf7005fff]
			[    0.604400] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
			[    0.604409] pci 0000:00:00.0:   bridge window [mem 0xf7000000-0xf70fffff]
			[    0.604750] pcieport 0000:00:00.0: Signaling PME with IRQ 62
			[    0.604853] pcieport 0000:00:00.0: AER enabled with IRQ 62
			...
			[    0.623179] nvme nvme0: pci function 0000:01:00.0
			[    0.623252] nvme 0000:01:00.0: enabling device (0000 -> 0002)
			...
			[    0.974765] PCIe Device NVMe enable MSI IRQ Success.

			...

Changes between V5 and V4
=========================
1. rebase the patch based on Linux next-version branch.
2. fix issues according to review comments from Andy Shevchenko and Lorenzo.
   (1) Del MSI irq handler for DW handle it, while Kirin only read the number from DT,
   (2) Use the function dw_pcie_msi_init directly if CONFIG_PCI_MSI is enabled.

Changes between V4 and V3
=========================
1. remove DT binding patch, for Wei Xu had applied it.
2. fix issues according to review comments from Andy Shevchenko.
   (1) Take the msi number get and request as a seperate function,
   (2) Use the result of  platform_get_irq as return val.

Changes between V3 and V2
=========================
1. fix issues according to review comments
   (1)from Bjorn Helgaas: Check for 'pci->pp.msi_irq < 0'.
   (2)from Bjorn Helgaas: Update the message of 'msi irq' in dev_err().

Changes between V2 and V1
=========================
1. seperate DT binding patch.
2. fix issues according to review comments
   (1)from Bjorn Helgaas: Update the style of subject and changelog.
   (2)from Bjorn Helgaas: Add msi irq number in the message.
   (3)from Bjorn Helgaas: Delete unnecessary code 'pci->pp.root_bus_nr = -1'.
   (4)from Dmitry Shmidt: Fix typing error. Replace 'interrupts-names' of 'interrupt-names'.

Xiaowei Song (1):
  PCI: kirin: Add MSI support

 drivers/pci/dwc/pcie-kirin.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

-- 
2.11.GIT


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v7 1/1] PCI: kirin: Add MSI support
  2018-07-11  8:09 [PATCH v7 0/1] PCI: kirin: Add MSI support Xiaowei Song
@ 2018-07-11  8:09 ` Xiaowei Song
  2018-07-11  9:30   ` Andy Shevchenko
  2018-07-11 11:33   ` Lorenzo Pieralisi
  0 siblings, 2 replies; 8+ messages in thread
From: Xiaowei Song @ 2018-07-11  8:09 UTC (permalink / raw)
  To: wangbinghui, bhelgaas, lorenzo.pieralisi, robh+dt, linux-pci,
	linux-kernel, suzhuangluan, andy.shevchenko
  Cc: kongfei, chenyao11, songxiaowei

Add support for MSI

Signed-off-by: Xiaowei Song <songxiaowei@hisilicon.com>
Signed-off-by: Yao Chen <chenyao11@huawei.com>
---
 drivers/pci/dwc/pcie-kirin.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/drivers/pci/dwc/pcie-kirin.c b/drivers/pci/dwc/pcie-kirin.c
index d2970a009eb5..5352e0c3be82 100644
--- a/drivers/pci/dwc/pcie-kirin.c
+++ b/drivers/pci/dwc/pcie-kirin.c
@@ -430,6 +430,9 @@ static int kirin_pcie_host_init(struct pcie_port *pp)
 {
 	kirin_pcie_establish_link(pp);
 
+	if (IS_ENABLED(CONFIG_PCI_MSI))
+		dw_pcie_msi_init(pp);
+
 	return 0;
 }
 
@@ -445,9 +448,34 @@ static const struct dw_pcie_host_ops kirin_pcie_host_ops = {
 	.host_init = kirin_pcie_host_init,
 };
 
+static int kirin_pcie_add_msi(struct dw_pcie *pci,
+				struct platform_device *pdev)
+{
+	int irq;
+
+	if (IS_ENABLED(CONFIG_PCI_MSI)) {
+		irq = platform_get_irq(pdev, 0);
+		if (irq < 0) {
+			dev_err(&pdev->dev,
+				"failed to get MSI IRQ (%d)\n", irq);
+			return irq;
+		}
+
+		pci->pp.msi_irq = irq;
+	}
+
+	return 0;
+}
+
 static int __init kirin_add_pcie_port(struct dw_pcie *pci,
 				      struct platform_device *pdev)
 {
+	int ret;
+
+	ret = kirin_pcie_add_msi(pci, pdev);
+	if (ret)
+		return ret;
+
 	pci->pp.ops = &kirin_pcie_host_ops;
 
 	return dw_pcie_host_init(&pci->pp);
-- 
2.11.GIT


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 1/1] PCI: kirin: Add MSI support
  2018-07-11  8:09 ` [PATCH v7 1/1] " Xiaowei Song
@ 2018-07-11  9:30   ` Andy Shevchenko
  2018-07-11  9:42       ` Songxiaowei (Kirin_DRV)
  2018-07-11 11:33   ` Lorenzo Pieralisi
  1 sibling, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2018-07-11  9:30 UTC (permalink / raw)
  To: Xiaowei Song
  Cc: Wangbinghui, Bjorn Helgaas, Lorenzo Pieralisi, Rob Herring,
	linux-pci, Linux Kernel Mailing List, Suzhuangluan, Kongfei,
	Yao Chen

On Wed, Jul 11, 2018 at 11:09 AM, Xiaowei Song
<songxiaowei@hisilicon.com> wrote:
> Add support for MSI
>

FWIW,
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Signed-off-by: Xiaowei Song <songxiaowei@hisilicon.com>
> Signed-off-by: Yao Chen <chenyao11@huawei.com>
> ---
>  drivers/pci/dwc/pcie-kirin.c | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
>
> diff --git a/drivers/pci/dwc/pcie-kirin.c b/drivers/pci/dwc/pcie-kirin.c
> index d2970a009eb5..5352e0c3be82 100644
> --- a/drivers/pci/dwc/pcie-kirin.c
> +++ b/drivers/pci/dwc/pcie-kirin.c
> @@ -430,6 +430,9 @@ static int kirin_pcie_host_init(struct pcie_port *pp)
>  {
>         kirin_pcie_establish_link(pp);
>
> +       if (IS_ENABLED(CONFIG_PCI_MSI))
> +               dw_pcie_msi_init(pp);
> +
>         return 0;
>  }
>
> @@ -445,9 +448,34 @@ static const struct dw_pcie_host_ops kirin_pcie_host_ops = {
>         .host_init = kirin_pcie_host_init,
>  };
>
> +static int kirin_pcie_add_msi(struct dw_pcie *pci,
> +                               struct platform_device *pdev)
> +{
> +       int irq;
> +
> +       if (IS_ENABLED(CONFIG_PCI_MSI)) {
> +               irq = platform_get_irq(pdev, 0);
> +               if (irq < 0) {
> +                       dev_err(&pdev->dev,
> +                               "failed to get MSI IRQ (%d)\n", irq);
> +                       return irq;
> +               }
> +
> +               pci->pp.msi_irq = irq;
> +       }
> +
> +       return 0;
> +}
> +
>  static int __init kirin_add_pcie_port(struct dw_pcie *pci,
>                                       struct platform_device *pdev)
>  {
> +       int ret;
> +
> +       ret = kirin_pcie_add_msi(pci, pdev);
> +       if (ret)
> +               return ret;
> +
>         pci->pp.ops = &kirin_pcie_host_ops;
>
>         return dw_pcie_host_init(&pci->pp);
> --
> 2.11.GIT
>



-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 8+ messages in thread

* 答复: [PATCH v7 1/1] PCI: kirin: Add MSI support
  2018-07-11  9:30   ` Andy Shevchenko
@ 2018-07-11  9:42       ` Songxiaowei (Kirin_DRV)
  0 siblings, 0 replies; 8+ messages in thread
From: Songxiaowei (Kirin_DRV) @ 2018-07-11  9:42 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Wangbinghui, Bjorn Helgaas, Lorenzo Pieralisi, Rob Herring,
	linux-pci, Linux Kernel Mailing List, Suzhuangluan, Kongfei,
	chenyao (F)

Hi Andy,

Thank you a lot.

Best Regards,
Xiaowei.

> -----邮件原件-----
> 发件人: Andy Shevchenko [mailto:andy.shevchenko@gmail.com]
> 发送时间: 2018年7月11日 17:30
> 收件人: Songxiaowei (Kirin_DRV) <songxiaowei@hisilicon.com>
> 抄送: Wangbinghui <wangbinghui@hisilicon.com>; Bjorn Helgaas
> <bhelgaas@google.com>; Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>;
> Rob Herring <robh+dt@kernel.org>; linux-pci@vger.kernel.org; Linux Kernel
> Mailing List <linux-kernel@vger.kernel.org>; Suzhuangluan
> <suzhuangluan@hisilicon.com>; Kongfei <kongfei@hisilicon.com>; chenyao
> (F) <chenyao11@huawei.com>
> 主题: Re: [PATCH v7 1/1] PCI: kirin: Add MSI support
> 
> On Wed, Jul 11, 2018 at 11:09 AM, Xiaowei Song
> <songxiaowei@hisilicon.com> wrote:
> > Add support for MSI
> >
> 
> FWIW,
> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> 
> > Signed-off-by: Xiaowei Song <songxiaowei@hisilicon.com>
> > Signed-off-by: Yao Chen <chenyao11@huawei.com>
> > ---
> >  drivers/pci/dwc/pcie-kirin.c | 28 ++++++++++++++++++++++++++++
> >  1 file changed, 28 insertions(+)
> >
> > diff --git a/drivers/pci/dwc/pcie-kirin.c
> > b/drivers/pci/dwc/pcie-kirin.c index d2970a009eb5..5352e0c3be82
> 100644
> > --- a/drivers/pci/dwc/pcie-kirin.c
> > +++ b/drivers/pci/dwc/pcie-kirin.c
> > @@ -430,6 +430,9 @@ static int kirin_pcie_host_init(struct pcie_port
> > *pp)  {
> >         kirin_pcie_establish_link(pp);
> >
> > +       if (IS_ENABLED(CONFIG_PCI_MSI))
> > +               dw_pcie_msi_init(pp);
> > +
> >         return 0;
> >  }
> >
> > @@ -445,9 +448,34 @@ static const struct dw_pcie_host_ops
> kirin_pcie_host_ops = {
> >         .host_init = kirin_pcie_host_init,  };
> >
> > +static int kirin_pcie_add_msi(struct dw_pcie *pci,
> > +                               struct platform_device *pdev) {
> > +       int irq;
> > +
> > +       if (IS_ENABLED(CONFIG_PCI_MSI)) {
> > +               irq = platform_get_irq(pdev, 0);
> > +               if (irq < 0) {
> > +                       dev_err(&pdev->dev,
> > +                               "failed to get MSI IRQ (%d)\n", irq);
> > +                       return irq;
> > +               }
> > +
> > +               pci->pp.msi_irq = irq;
> > +       }
> > +
> > +       return 0;
> > +}
> > +
> >  static int __init kirin_add_pcie_port(struct dw_pcie *pci,
> >                                       struct platform_device *pdev)
> {
> > +       int ret;
> > +
> > +       ret = kirin_pcie_add_msi(pci, pdev);
> > +       if (ret)
> > +               return ret;
> > +
> >         pci->pp.ops = &kirin_pcie_host_ops;
> >
> >         return dw_pcie_host_init(&pci->pp);
> > --
> > 2.11.GIT
> >
> 
> 
> 
> --
> With Best Regards,
> Andy Shevchenko

^ permalink raw reply	[flat|nested] 8+ messages in thread

* 答复: [PATCH v7 1/1] PCI: kirin: Add MSI support
@ 2018-07-11  9:42       ` Songxiaowei (Kirin_DRV)
  0 siblings, 0 replies; 8+ messages in thread
From: Songxiaowei (Kirin_DRV) @ 2018-07-11  9:42 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Wangbinghui, Bjorn Helgaas, Lorenzo Pieralisi, Rob Herring,
	linux-pci, Linux Kernel Mailing List, Suzhuangluan, Kongfei,
	chenyao (F)

SGkgQW5keSwNCg0KVGhhbmsgeW91IGEgbG90Lg0KDQpCZXN0IFJlZ2FyZHMsDQpYaWFvd2VpLg0K
DQo+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBBbmR5IFNoZXZjaGVua28g
W21haWx0bzphbmR5LnNoZXZjaGVua29AZ21haWwuY29tXQ0KPiDlj5HpgIHml7bpl7Q6IDIwMTjl
ubQ35pyIMTHml6UgMTc6MzANCj4g5pS25Lu25Lq6OiBTb25neGlhb3dlaSAoS2lyaW5fRFJWKSA8
c29uZ3hpYW93ZWlAaGlzaWxpY29uLmNvbT4NCj4g5oqE6YCBOiBXYW5nYmluZ2h1aSA8d2FuZ2Jp
bmdodWlAaGlzaWxpY29uLmNvbT47IEJqb3JuIEhlbGdhYXMNCj4gPGJoZWxnYWFzQGdvb2dsZS5j
b20+OyBMb3JlbnpvIFBpZXJhbGlzaSA8bG9yZW56by5waWVyYWxpc2lAYXJtLmNvbT47DQo+IFJv
YiBIZXJyaW5nIDxyb2JoK2R0QGtlcm5lbC5vcmc+OyBsaW51eC1wY2lAdmdlci5rZXJuZWwub3Jn
OyBMaW51eCBLZXJuZWwNCj4gTWFpbGluZyBMaXN0IDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwu
b3JnPjsgU3V6aHVhbmdsdWFuDQo+IDxzdXpodWFuZ2x1YW5AaGlzaWxpY29uLmNvbT47IEtvbmdm
ZWkgPGtvbmdmZWlAaGlzaWxpY29uLmNvbT47IGNoZW55YW8NCj4gKEYpIDxjaGVueWFvMTFAaHVh
d2VpLmNvbT4NCj4g5Li76aKYOiBSZTogW1BBVENIIHY3IDEvMV0gUENJOiBraXJpbjogQWRkIE1T
SSBzdXBwb3J0DQo+IA0KPiBPbiBXZWQsIEp1bCAxMSwgMjAxOCBhdCAxMTowOSBBTSwgWGlhb3dl
aSBTb25nDQo+IDxzb25neGlhb3dlaUBoaXNpbGljb24uY29tPiB3cm90ZToNCj4gPiBBZGQgc3Vw
cG9ydCBmb3IgTVNJDQo+ID4NCj4gDQo+IEZXSVcsDQo+IFJldmlld2VkLWJ5OiBBbmR5IFNoZXZj
aGVua28gPGFuZHkuc2hldmNoZW5rb0BnbWFpbC5jb20+DQo+IA0KPiA+IFNpZ25lZC1vZmYtYnk6
IFhpYW93ZWkgU29uZyA8c29uZ3hpYW93ZWlAaGlzaWxpY29uLmNvbT4NCj4gPiBTaWduZWQtb2Zm
LWJ5OiBZYW8gQ2hlbiA8Y2hlbnlhbzExQGh1YXdlaS5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZl
cnMvcGNpL2R3Yy9wY2llLWtpcmluLmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysr
DQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspDQo+ID4NCj4gPiBkaWZmIC0t
Z2l0IGEvZHJpdmVycy9wY2kvZHdjL3BjaWUta2lyaW4uYw0KPiA+IGIvZHJpdmVycy9wY2kvZHdj
L3BjaWUta2lyaW4uYyBpbmRleCBkMjk3MGEwMDllYjUuLjUzNTJlMGMzYmU4Mg0KPiAxMDA2NDQN
Cj4gPiAtLS0gYS9kcml2ZXJzL3BjaS9kd2MvcGNpZS1raXJpbi5jDQo+ID4gKysrIGIvZHJpdmVy
cy9wY2kvZHdjL3BjaWUta2lyaW4uYw0KPiA+IEBAIC00MzAsNiArNDMwLDkgQEAgc3RhdGljIGlu
dCBraXJpbl9wY2llX2hvc3RfaW5pdChzdHJ1Y3QgcGNpZV9wb3J0DQo+ID4gKnBwKSAgew0KPiA+
ICAgICAgICAga2lyaW5fcGNpZV9lc3RhYmxpc2hfbGluayhwcCk7DQo+ID4NCj4gPiArICAgICAg
IGlmIChJU19FTkFCTEVEKENPTkZJR19QQ0lfTVNJKSkNCj4gPiArICAgICAgICAgICAgICAgZHdf
cGNpZV9tc2lfaW5pdChwcCk7DQo+ID4gKw0KPiA+ICAgICAgICAgcmV0dXJuIDA7DQo+ID4gIH0N
Cj4gPg0KPiA+IEBAIC00NDUsOSArNDQ4LDM0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHdfcGNp
ZV9ob3N0X29wcw0KPiBraXJpbl9wY2llX2hvc3Rfb3BzID0gew0KPiA+ICAgICAgICAgLmhvc3Rf
aW5pdCA9IGtpcmluX3BjaWVfaG9zdF9pbml0LCAgfTsNCj4gPg0KPiA+ICtzdGF0aWMgaW50IGtp
cmluX3BjaWVfYWRkX21zaShzdHJ1Y3QgZHdfcGNpZSAqcGNpLA0KPiA+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikgew0KPiA+ICsg
ICAgICAgaW50IGlycTsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAoSVNfRU5BQkxFRChDT05GSUdf
UENJX01TSSkpIHsNCj4gPiArICAgICAgICAgICAgICAgaXJxID0gcGxhdGZvcm1fZ2V0X2lycShw
ZGV2LCAwKTsNCj4gPiArICAgICAgICAgICAgICAgaWYgKGlycSA8IDApIHsNCj4gPiArICAgICAg
ICAgICAgICAgICAgICAgICBkZXZfZXJyKCZwZGV2LT5kZXYsDQo+ID4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZmFpbGVkIHRvIGdldCBNU0kgSVJRICglZClcbiIsIGlycSk7DQo+
ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlycTsNCj4gPiArICAgICAgICAgICAg
ICAgfQ0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgcGNpLT5wcC5tc2lfaXJxID0gaXJxOw0K
PiA+ICsgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgIHJldHVybiAwOw0KPiA+ICt9DQo+ID4g
Kw0KPiA+ICBzdGF0aWMgaW50IF9faW5pdCBraXJpbl9hZGRfcGNpZV9wb3J0KHN0cnVjdCBkd19w
Y2llICpwY2ksDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiB7DQo+ID4gKyAgICAgICBpbnQgcmV0Ow0KPiA+
ICsNCj4gPiArICAgICAgIHJldCA9IGtpcmluX3BjaWVfYWRkX21zaShwY2ksIHBkZXYpOw0KPiA+
ICsgICAgICAgaWYgKHJldCkNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4gPiAr
DQo+ID4gICAgICAgICBwY2ktPnBwLm9wcyA9ICZraXJpbl9wY2llX2hvc3Rfb3BzOw0KPiA+DQo+
ID4gICAgICAgICByZXR1cm4gZHdfcGNpZV9ob3N0X2luaXQoJnBjaS0+cHApOw0KPiA+IC0tDQo+
ID4gMi4xMS5HSVQNCj4gPg0KPiANCj4gDQo+IA0KPiAtLQ0KPiBXaXRoIEJlc3QgUmVnYXJkcywN
Cj4gQW5keSBTaGV2Y2hlbmtvDQo=

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v7 1/1] PCI: kirin: Add MSI support
  2018-07-11  8:09 ` [PATCH v7 1/1] " Xiaowei Song
  2018-07-11  9:30   ` Andy Shevchenko
@ 2018-07-11 11:33   ` Lorenzo Pieralisi
  2018-07-12  1:00       ` Songxiaowei (Kirin_DRV)
  1 sibling, 1 reply; 8+ messages in thread
From: Lorenzo Pieralisi @ 2018-07-11 11:33 UTC (permalink / raw)
  To: Xiaowei Song
  Cc: wangbinghui, bhelgaas, robh+dt, linux-pci, linux-kernel,
	suzhuangluan, andy.shevchenko, kongfei, chenyao11

On Wed, Jul 11, 2018 at 04:09:46PM +0800, Xiaowei Song wrote:
> Add support for MSI
> 
> Signed-off-by: Xiaowei Song <songxiaowei@hisilicon.com>
> Signed-off-by: Yao Chen <chenyao11@huawei.com>
> ---
>  drivers/pci/dwc/pcie-kirin.c | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)

Applied to pci/dwc for v4.19, thanks.

Lorenzo

> diff --git a/drivers/pci/dwc/pcie-kirin.c b/drivers/pci/dwc/pcie-kirin.c
> index d2970a009eb5..5352e0c3be82 100644
> --- a/drivers/pci/dwc/pcie-kirin.c
> +++ b/drivers/pci/dwc/pcie-kirin.c
> @@ -430,6 +430,9 @@ static int kirin_pcie_host_init(struct pcie_port *pp)
>  {
>  	kirin_pcie_establish_link(pp);
>  
> +	if (IS_ENABLED(CONFIG_PCI_MSI))
> +		dw_pcie_msi_init(pp);
> +
>  	return 0;
>  }
>  
> @@ -445,9 +448,34 @@ static const struct dw_pcie_host_ops kirin_pcie_host_ops = {
>  	.host_init = kirin_pcie_host_init,
>  };
>  
> +static int kirin_pcie_add_msi(struct dw_pcie *pci,
> +				struct platform_device *pdev)
> +{
> +	int irq;
> +
> +	if (IS_ENABLED(CONFIG_PCI_MSI)) {
> +		irq = platform_get_irq(pdev, 0);
> +		if (irq < 0) {
> +			dev_err(&pdev->dev,
> +				"failed to get MSI IRQ (%d)\n", irq);
> +			return irq;
> +		}
> +
> +		pci->pp.msi_irq = irq;
> +	}
> +
> +	return 0;
> +}
> +
>  static int __init kirin_add_pcie_port(struct dw_pcie *pci,
>  				      struct platform_device *pdev)
>  {
> +	int ret;
> +
> +	ret = kirin_pcie_add_msi(pci, pdev);
> +	if (ret)
> +		return ret;
> +
>  	pci->pp.ops = &kirin_pcie_host_ops;
>  
>  	return dw_pcie_host_init(&pci->pp);
> -- 
> 2.11.GIT
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* 答复: [PATCH v7 1/1] PCI: kirin: Add MSI support
  2018-07-11 11:33   ` Lorenzo Pieralisi
@ 2018-07-12  1:00       ` Songxiaowei (Kirin_DRV)
  0 siblings, 0 replies; 8+ messages in thread
From: Songxiaowei (Kirin_DRV) @ 2018-07-12  1:00 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: Wangbinghui, bhelgaas, robh+dt, linux-pci, linux-kernel,
	andy.shevchenko, Kongfei, chenyao (F)

Hi Lorenzo,

Thanks a lot.

Best Regards,
Xiaowei Song.

> -----邮件原件-----
> 发件人: Lorenzo Pieralisi [mailto:lorenzo.pieralisi@arm.com]
> 发送时间: 2018年7月11日 19:33
> 收件人: Songxiaowei (Kirin_DRV) <songxiaowei@hisilicon.com>
> 抄送: Wangbinghui <wangbinghui@hisilicon.com>; bhelgaas@google.com;
> robh+dt@kernel.org; linux-pci@vger.kernel.org; linux-kernel@vger.kernel.org;
> Suzhuangluan <suzhuangluan@hisilicon.com>; andy.shevchenko@gmail.com;
> Kongfei <kongfei@hisilicon.com>; chenyao (F) <chenyao11@huawei.com>
> 主题: Re: [PATCH v7 1/1] PCI: kirin: Add MSI support
> 
> On Wed, Jul 11, 2018 at 04:09:46PM +0800, Xiaowei Song wrote:
> > Add support for MSI
> >
> > Signed-off-by: Xiaowei Song <songxiaowei@hisilicon.com>
> > Signed-off-by: Yao Chen <chenyao11@huawei.com>
> > ---
> >  drivers/pci/dwc/pcie-kirin.c | 28 ++++++++++++++++++++++++++++
> >  1 file changed, 28 insertions(+)
> 
> Applied to pci/dwc for v4.19, thanks.
> 
> Lorenzo
> 
> > diff --git a/drivers/pci/dwc/pcie-kirin.c
> > b/drivers/pci/dwc/pcie-kirin.c index d2970a009eb5..5352e0c3be82
> 100644
> > --- a/drivers/pci/dwc/pcie-kirin.c
> > +++ b/drivers/pci/dwc/pcie-kirin.c
> > @@ -430,6 +430,9 @@ static int kirin_pcie_host_init(struct pcie_port
> > *pp)  {
> >  	kirin_pcie_establish_link(pp);
> >
> > +	if (IS_ENABLED(CONFIG_PCI_MSI))
> > +		dw_pcie_msi_init(pp);
> > +
> >  	return 0;
> >  }
> >
> > @@ -445,9 +448,34 @@ static const struct dw_pcie_host_ops
> kirin_pcie_host_ops = {
> >  	.host_init = kirin_pcie_host_init,
> >  };
> >
> > +static int kirin_pcie_add_msi(struct dw_pcie *pci,
> > +				struct platform_device *pdev)
> > +{
> > +	int irq;
> > +
> > +	if (IS_ENABLED(CONFIG_PCI_MSI)) {
> > +		irq = platform_get_irq(pdev, 0);
> > +		if (irq < 0) {
> > +			dev_err(&pdev->dev,
> > +				"failed to get MSI IRQ (%d)\n", irq);
> > +			return irq;
> > +		}
> > +
> > +		pci->pp.msi_irq = irq;
> > +	}
> > +
> > +	return 0;
> > +}
> > +
> >  static int __init kirin_add_pcie_port(struct dw_pcie *pci,
> >  				      struct platform_device *pdev)  {
> > +	int ret;
> > +
> > +	ret = kirin_pcie_add_msi(pci, pdev);
> > +	if (ret)
> > +		return ret;
> > +
> >  	pci->pp.ops = &kirin_pcie_host_ops;
> >
> >  	return dw_pcie_host_init(&pci->pp);
> > --
> > 2.11.GIT
> >

^ permalink raw reply	[flat|nested] 8+ messages in thread

* 答复: [PATCH v7 1/1] PCI: kirin: Add MSI support
@ 2018-07-12  1:00       ` Songxiaowei (Kirin_DRV)
  0 siblings, 0 replies; 8+ messages in thread
From: Songxiaowei (Kirin_DRV) @ 2018-07-12  1:00 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: Wangbinghui, bhelgaas, robh+dt, linux-pci, linux-kernel,
	andy.shevchenko, Kongfei, chenyao (F)

SGkgTG9yZW56bywNCg0KVGhhbmtzIGEgbG90Lg0KDQpCZXN0IFJlZ2FyZHMsDQpYaWFvd2VpIFNv
bmcuDQoNCj4gLS0tLS3Tyrz+1K28/i0tLS0tDQo+ILeivP7IyzogTG9yZW56byBQaWVyYWxpc2kg
W21haWx0bzpsb3JlbnpvLnBpZXJhbGlzaUBhcm0uY29tXQ0KPiC3osvNyrG85DogMjAxOMTqN9TC
MTHI1SAxOTozMw0KPiDK1bz+yMs6IFNvbmd4aWFvd2VpIChLaXJpbl9EUlYpIDxzb25neGlhb3dl
aUBoaXNpbGljb24uY29tPg0KPiCzrcvNOiBXYW5nYmluZ2h1aSA8d2FuZ2JpbmdodWlAaGlzaWxp
Y29uLmNvbT47IGJoZWxnYWFzQGdvb2dsZS5jb207DQo+IHJvYmgrZHRAa2VybmVsLm9yZzsgbGlu
dXgtcGNpQHZnZXIua2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsNCj4g
U3V6aHVhbmdsdWFuIDxzdXpodWFuZ2x1YW5AaGlzaWxpY29uLmNvbT47IGFuZHkuc2hldmNoZW5r
b0BnbWFpbC5jb207DQo+IEtvbmdmZWkgPGtvbmdmZWlAaGlzaWxpY29uLmNvbT47IGNoZW55YW8g
KEYpIDxjaGVueWFvMTFAaHVhd2VpLmNvbT4NCj4g1vfM4jogUmU6IFtQQVRDSCB2NyAxLzFdIFBD
SToga2lyaW46IEFkZCBNU0kgc3VwcG9ydA0KPiANCj4gT24gV2VkLCBKdWwgMTEsIDIwMTggYXQg
MDQ6MDk6NDZQTSArMDgwMCwgWGlhb3dlaSBTb25nIHdyb3RlOg0KPiA+IEFkZCBzdXBwb3J0IGZv
ciBNU0kNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFhpYW93ZWkgU29uZyA8c29uZ3hpYW93ZWlA
aGlzaWxpY29uLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBZYW8gQ2hlbiA8Y2hlbnlhbzExQGh1
YXdlaS5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZlcnMvcGNpL2R3Yy9wY2llLWtpcmluLmMgfCAy
OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyOCBp
bnNlcnRpb25zKCspDQo+IA0KPiBBcHBsaWVkIHRvIHBjaS9kd2MgZm9yIHY0LjE5LCB0aGFua3Mu
DQo+IA0KPiBMb3JlbnpvDQo+IA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9kd2MvcGNp
ZS1raXJpbi5jDQo+ID4gYi9kcml2ZXJzL3BjaS9kd2MvcGNpZS1raXJpbi5jIGluZGV4IGQyOTcw
YTAwOWViNS4uNTM1MmUwYzNiZTgyDQo+IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvcGNpL2R3
Yy9wY2llLWtpcmluLmMNCj4gPiArKysgYi9kcml2ZXJzL3BjaS9kd2MvcGNpZS1raXJpbi5jDQo+
ID4gQEAgLTQzMCw2ICs0MzAsOSBAQCBzdGF0aWMgaW50IGtpcmluX3BjaWVfaG9zdF9pbml0KHN0
cnVjdCBwY2llX3BvcnQNCj4gPiAqcHApICB7DQo+ID4gIAlraXJpbl9wY2llX2VzdGFibGlzaF9s
aW5rKHBwKTsNCj4gPg0KPiA+ICsJaWYgKElTX0VOQUJMRUQoQ09ORklHX1BDSV9NU0kpKQ0KPiA+
ICsJCWR3X3BjaWVfbXNpX2luaXQocHApOw0KPiA+ICsNCj4gPiAgCXJldHVybiAwOw0KPiA+ICB9
DQo+ID4NCj4gPiBAQCAtNDQ1LDkgKzQ0OCwzNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGR3X3Bj
aWVfaG9zdF9vcHMNCj4ga2lyaW5fcGNpZV9ob3N0X29wcyA9IHsNCj4gPiAgCS5ob3N0X2luaXQg
PSBraXJpbl9wY2llX2hvc3RfaW5pdCwNCj4gPiAgfTsNCj4gPg0KPiA+ICtzdGF0aWMgaW50IGtp
cmluX3BjaWVfYWRkX21zaShzdHJ1Y3QgZHdfcGNpZSAqcGNpLA0KPiA+ICsJCQkJc3RydWN0IHBs
YXRmb3JtX2RldmljZSAqcGRldikNCj4gPiArew0KPiA+ICsJaW50IGlycTsNCj4gPiArDQo+ID4g
KwlpZiAoSVNfRU5BQkxFRChDT05GSUdfUENJX01TSSkpIHsNCj4gPiArCQlpcnEgPSBwbGF0Zm9y
bV9nZXRfaXJxKHBkZXYsIDApOw0KPiA+ICsJCWlmIChpcnEgPCAwKSB7DQo+ID4gKwkJCWRldl9l
cnIoJnBkZXYtPmRldiwNCj4gPiArCQkJCSJmYWlsZWQgdG8gZ2V0IE1TSSBJUlEgKCVkKVxuIiwg
aXJxKTsNCj4gPiArCQkJcmV0dXJuIGlycTsNCj4gPiArCQl9DQo+ID4gKw0KPiA+ICsJCXBjaS0+
cHAubXNpX2lycSA9IGlycTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gMDsNCj4gPiAr
fQ0KPiA+ICsNCj4gPiAgc3RhdGljIGludCBfX2luaXQga2lyaW5fYWRkX3BjaWVfcG9ydChzdHJ1
Y3QgZHdfcGNpZSAqcGNpLA0KPiA+ICAJCQkJICAgICAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAq
cGRldikgIHsNCj4gPiArCWludCByZXQ7DQo+ID4gKw0KPiA+ICsJcmV0ID0ga2lyaW5fcGNpZV9h
ZGRfbXNpKHBjaSwgcGRldik7DQo+ID4gKwlpZiAocmV0KQ0KPiA+ICsJCXJldHVybiByZXQ7DQo+
ID4gKw0KPiA+ICAJcGNpLT5wcC5vcHMgPSAma2lyaW5fcGNpZV9ob3N0X29wczsNCj4gPg0KPiA+
ICAJcmV0dXJuIGR3X3BjaWVfaG9zdF9pbml0KCZwY2ktPnBwKTsNCj4gPiAtLQ0KPiA+IDIuMTEu
R0lUDQo+ID4NCg==

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-07-12  1:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-11  8:09 [PATCH v7 0/1] PCI: kirin: Add MSI support Xiaowei Song
2018-07-11  8:09 ` [PATCH v7 1/1] " Xiaowei Song
2018-07-11  9:30   ` Andy Shevchenko
2018-07-11  9:42     ` 答复: " Songxiaowei (Kirin_DRV)
2018-07-11  9:42       ` Songxiaowei (Kirin_DRV)
2018-07-11 11:33   ` Lorenzo Pieralisi
2018-07-12  1:00     ` 答复: " Songxiaowei (Kirin_DRV)
2018-07-12  1:00       ` Songxiaowei (Kirin_DRV)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.