From: Zhou Wang <wangzhou1@hisilicon.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Gabriele Paoloni <gabriele.paoloni@huawei.com>,
Bjorn Helgaas <helgaas@kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>,
"jingoohan1@gmail.com" <jingoohan1@gmail.com>,
"pratyush.anand@gmail.com" <pratyush.anand@gmail.com>,
"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
"thomas.petazzoni@free-electrons.com"
<thomas.petazzoni@free-electrons.com>,
"lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>,
"james.morse@arm.com" <james.morse@arm.com>,
"Liviu.Dudau@arm.com" <Liviu.Dudau@arm.com>,
"jason@lakedaemon.net" <jason@lakedaemon.net>,
"robh@kernel.org" <robh@kernel.org>,
"gabriel.fernandez@linaro.org" <gabriel.fernandez@linaro.org>,
"Minghuan.Lian@freescale.com" <Minghuan.Lian@freescale.com>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
zhangjukuo <zhangjukuo@huawei.com>,
qiuzhenfa <qiuzhenfa@hisilicon.com>,
"liudongdong (C)" <liudongdong3@huawei.com>,
qiujiang <qiujiang@huawei.com>,
"xuwei (O)" <xuwei5@hisilicon.com>,
"Liguozhu (Kenneth)" <liguozhu@hisilicon.com>,
"Wangkefeng (Kevin)" <wangkefeng.wang@huawei.com>,
Rob Herring <robh+dt@kernel.org>
Subject: Re: [PATCH v10 4/6] PCI: hisi: Add PCIe host support for HiSilicon SoC Hip05
Date: Wed, 14 Oct 2015 16:59:03 +0800 [thread overview]
Message-ID: <561E1957.5030503@hisilicon.com> (raw)
In-Reply-To: <11677087.JbqAo0FWJE@wuerfel>
On 2015/10/13 23:00, Arnd Bergmann wrote:
> On Tuesday 13 October 2015 14:49:07 Gabriele Paoloni wrote:
>>> On Monday 12 October 2015 16:35:45 Bjorn Helgaas wrote:
>>>>
>>>>> +{
>>>>> + u64 addr;
>>>>> + struct device_node *msi_node;
>>>>> + struct resource res;
>>>>> + struct device_node *np = pp->dev->of_node;
>>>>> + struct hisi_pcie *pcie = to_hisi_pcie(pp);
>>>>> +
>>>>> + msi_node = of_parse_phandle(np, "msi-parent", 0);
>>>>> + if (!msi_node) {
>>>>> + dev_err(pp->dev, "failed to find msi-parent\n");
>>>>> + return -EINVAL;
>>>>> + }
>>>>> + of_address_to_resource(msi_node, 0, &res);
>>>>
>>>> Does this use the "msi-parent" node in the same way as other drivers
>>>> do? I'm sure there must be other places where we extract struct
>>>> resource information from an "msi-parent" node, but I don't see them.
>>>>
>>>> I'm trying to verify that this isn't some kind of incompatible
>>>> extension of the "msi-parent" property. I cc'd Arnd and Rob (DT
>>>> experts).
>>>
>>> This is not ok, what this does is that it relies on a particular
>>> implementation of the MSI controller and directly accesses its
>>> registers.
>>
>> Hi Arnd, thanks for reviewing.
>>
>> What we do is to retrieve the msi-parent physical address and we store it
>> in our internal PCIe register locations...
>
> Ah, thanks for the clarification, I missed that part.
>
>> So we do not operate directly on the msi controller registers...
>>
>> So I wonder if the current implementation is Ok to retrieve the
>> msi-parent address....
>
> Not sure. Why do you do this? Normally the PCI host does not know
> or care about the address of the MSI controller, because the messages
> are just passed up to the parent bus as DMA transfers.
>
Hi Arnd,
In Hip05 PCIe host, it uses GITS_TRANSLATER's address to get TLP package
which contains MSI address and MSI data, and then combine BDF and MSI data
to a 32 bit data which will be writen to GITS_TRANSLATER register of ITS.
I think maybe this is a defect of our PCIe controller.
> I don't think what you do here is safe because the 'reg' property
> of the MSI controller might point to the address that is used for
> the message directly.
I see your point, however we must get address of GITS_TRANSLATER and set it to PCIe
host. How about adding necessary comments here?
Best Regards,
Zhou
>
> Arnd
>
> .
>
WARNING: multiple messages have this Message-ID (diff)
From: wangzhou1@hisilicon.com (Zhou Wang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v10 4/6] PCI: hisi: Add PCIe host support for HiSilicon SoC Hip05
Date: Wed, 14 Oct 2015 16:59:03 +0800 [thread overview]
Message-ID: <561E1957.5030503@hisilicon.com> (raw)
In-Reply-To: <11677087.JbqAo0FWJE@wuerfel>
On 2015/10/13 23:00, Arnd Bergmann wrote:
> On Tuesday 13 October 2015 14:49:07 Gabriele Paoloni wrote:
>>> On Monday 12 October 2015 16:35:45 Bjorn Helgaas wrote:
>>>>
>>>>> +{
>>>>> + u64 addr;
>>>>> + struct device_node *msi_node;
>>>>> + struct resource res;
>>>>> + struct device_node *np = pp->dev->of_node;
>>>>> + struct hisi_pcie *pcie = to_hisi_pcie(pp);
>>>>> +
>>>>> + msi_node = of_parse_phandle(np, "msi-parent", 0);
>>>>> + if (!msi_node) {
>>>>> + dev_err(pp->dev, "failed to find msi-parent\n");
>>>>> + return -EINVAL;
>>>>> + }
>>>>> + of_address_to_resource(msi_node, 0, &res);
>>>>
>>>> Does this use the "msi-parent" node in the same way as other drivers
>>>> do? I'm sure there must be other places where we extract struct
>>>> resource information from an "msi-parent" node, but I don't see them.
>>>>
>>>> I'm trying to verify that this isn't some kind of incompatible
>>>> extension of the "msi-parent" property. I cc'd Arnd and Rob (DT
>>>> experts).
>>>
>>> This is not ok, what this does is that it relies on a particular
>>> implementation of the MSI controller and directly accesses its
>>> registers.
>>
>> Hi Arnd, thanks for reviewing.
>>
>> What we do is to retrieve the msi-parent physical address and we store it
>> in our internal PCIe register locations...
>
> Ah, thanks for the clarification, I missed that part.
>
>> So we do not operate directly on the msi controller registers...
>>
>> So I wonder if the current implementation is Ok to retrieve the
>> msi-parent address....
>
> Not sure. Why do you do this? Normally the PCI host does not know
> or care about the address of the MSI controller, because the messages
> are just passed up to the parent bus as DMA transfers.
>
Hi Arnd,
In Hip05 PCIe host, it uses GITS_TRANSLATER's address to get TLP package
which contains MSI address and MSI data, and then combine BDF and MSI data
to a 32 bit data which will be writen to GITS_TRANSLATER register of ITS.
I think maybe this is a defect of our PCIe controller.
> I don't think what you do here is safe because the 'reg' property
> of the MSI controller might point to the address that is used for
> the message directly.
I see your point, however we must get address of GITS_TRANSLATER and set it to PCIe
host. How about adding necessary comments here?
Best Regards,
Zhou
>
> Arnd
>
> .
>
WARNING: multiple messages have this Message-ID (diff)
From: Zhou Wang <wangzhou1-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Gabriele Paoloni
<gabriele.paoloni-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
Bjorn Helgaas <helgaas-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
"jingoohan1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
<jingoohan1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"pratyush.anand-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
<pratyush.anand-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org"
<linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
"thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org"
<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
"lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org"
<lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>,
"james.morse-5wv7dgnIgG8@public.gmane.org"
<james.morse-5wv7dgnIgG8@public.gmane.org>,
"Liviu.Dudau-5wv7dgnIgG8@public.gmane.org"
<Liviu.Dudau-5wv7dgnIgG8@public.gmane.org>,
"jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org"
<jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
"robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org"
<robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
"gabriel.fernandez-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
<gabriel.fernandez-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"Minghuan.Lian-KZfg59tc24xl57MIdRCFDg@public.gmane.org"
<Minghuan.Lian-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
"linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" <devi>
Subject: Re: [PATCH v10 4/6] PCI: hisi: Add PCIe host support for HiSilicon SoC Hip05
Date: Wed, 14 Oct 2015 16:59:03 +0800 [thread overview]
Message-ID: <561E1957.5030503@hisilicon.com> (raw)
In-Reply-To: <11677087.JbqAo0FWJE@wuerfel>
On 2015/10/13 23:00, Arnd Bergmann wrote:
> On Tuesday 13 October 2015 14:49:07 Gabriele Paoloni wrote:
>>> On Monday 12 October 2015 16:35:45 Bjorn Helgaas wrote:
>>>>
>>>>> +{
>>>>> + u64 addr;
>>>>> + struct device_node *msi_node;
>>>>> + struct resource res;
>>>>> + struct device_node *np = pp->dev->of_node;
>>>>> + struct hisi_pcie *pcie = to_hisi_pcie(pp);
>>>>> +
>>>>> + msi_node = of_parse_phandle(np, "msi-parent", 0);
>>>>> + if (!msi_node) {
>>>>> + dev_err(pp->dev, "failed to find msi-parent\n");
>>>>> + return -EINVAL;
>>>>> + }
>>>>> + of_address_to_resource(msi_node, 0, &res);
>>>>
>>>> Does this use the "msi-parent" node in the same way as other drivers
>>>> do? I'm sure there must be other places where we extract struct
>>>> resource information from an "msi-parent" node, but I don't see them.
>>>>
>>>> I'm trying to verify that this isn't some kind of incompatible
>>>> extension of the "msi-parent" property. I cc'd Arnd and Rob (DT
>>>> experts).
>>>
>>> This is not ok, what this does is that it relies on a particular
>>> implementation of the MSI controller and directly accesses its
>>> registers.
>>
>> Hi Arnd, thanks for reviewing.
>>
>> What we do is to retrieve the msi-parent physical address and we store it
>> in our internal PCIe register locations...
>
> Ah, thanks for the clarification, I missed that part.
>
>> So we do not operate directly on the msi controller registers...
>>
>> So I wonder if the current implementation is Ok to retrieve the
>> msi-parent address....
>
> Not sure. Why do you do this? Normally the PCI host does not know
> or care about the address of the MSI controller, because the messages
> are just passed up to the parent bus as DMA transfers.
>
Hi Arnd,
In Hip05 PCIe host, it uses GITS_TRANSLATER's address to get TLP package
which contains MSI address and MSI data, and then combine BDF and MSI data
to a 32 bit data which will be writen to GITS_TRANSLATER register of ITS.
I think maybe this is a defect of our PCIe controller.
> I don't think what you do here is safe because the 'reg' property
> of the MSI controller might point to the address that is used for
> the message directly.
I see your point, however we must get address of GITS_TRANSLATER and set it to PCIe
host. How about adding necessary comments here?
Best Regards,
Zhou
>
> Arnd
>
> .
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-10-14 8:59 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-10 2:59 [PATCH v10 0/6] PCI: hisi: Add PCIe host support for HiSilicon SoC Hip05 Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` [PATCH v10 1/6] PCI: designware: move calculation of bus addresses to DRA7xx Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` [PATCH v10 2/6] ARM/PCI: remove align_resource in pci_sys_data Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` [PATCH v10 3/6] PCI: designware: Add ARM64 support Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` [PATCH v10 4/6] PCI: hisi: Add PCIe host support for HiSilicon SoC Hip05 Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-12 21:35 ` Bjorn Helgaas
2015-10-12 21:35 ` Bjorn Helgaas
2015-10-13 6:33 ` Zhou Wang
2015-10-13 6:33 ` Zhou Wang
2015-10-13 6:33 ` Zhou Wang
2015-10-13 6:58 ` Gabriele Paoloni
2015-10-13 6:58 ` Gabriele Paoloni
2015-10-13 6:58 ` Gabriele Paoloni
2015-10-13 11:18 ` Arnd Bergmann
2015-10-13 11:18 ` Arnd Bergmann
2015-10-13 11:18 ` Arnd Bergmann
2015-10-14 8:34 ` Gabriele Paoloni
2015-10-14 8:34 ` Gabriele Paoloni
2015-10-14 8:34 ` Gabriele Paoloni
2015-10-14 9:04 ` Arnd Bergmann
2015-10-14 9:04 ` Arnd Bergmann
2015-10-14 9:04 ` Arnd Bergmann
2015-10-14 9:31 ` Gabriele Paoloni
2015-10-14 9:31 ` Gabriele Paoloni
2015-10-14 9:31 ` Gabriele Paoloni
2015-10-14 9:42 ` Arnd Bergmann
2015-10-14 9:42 ` Arnd Bergmann
2015-10-14 9:42 ` Arnd Bergmann
2015-10-14 9:56 ` Gabriele Paoloni
2015-10-14 9:56 ` Gabriele Paoloni
2015-10-14 9:56 ` Gabriele Paoloni
2015-10-13 11:12 ` Arnd Bergmann
2015-10-13 11:12 ` Arnd Bergmann
2015-10-13 11:12 ` Arnd Bergmann
2015-10-13 14:49 ` Gabriele Paoloni
2015-10-13 14:49 ` Gabriele Paoloni
2015-10-13 14:49 ` Gabriele Paoloni
2015-10-13 15:00 ` Arnd Bergmann
2015-10-13 15:00 ` Arnd Bergmann
2015-10-13 15:00 ` Arnd Bergmann
2015-10-14 8:59 ` Zhou Wang [this message]
2015-10-14 8:59 ` Zhou Wang
2015-10-14 8:59 ` Zhou Wang
2015-10-14 9:06 ` Arnd Bergmann
2015-10-14 9:06 ` Arnd Bergmann
2015-10-14 9:06 ` Arnd Bergmann
2015-10-14 9:44 ` Zhou Wang
2015-10-14 9:44 ` Zhou Wang
2015-10-14 9:44 ` Zhou Wang
2015-10-14 21:56 ` Arnd Bergmann
2015-10-14 21:56 ` Arnd Bergmann
2015-10-14 21:56 ` Arnd Bergmann
2015-10-15 8:33 ` Zhou Wang
2015-10-15 8:33 ` Zhou Wang
2015-10-15 8:33 ` Zhou Wang
2015-10-10 2:59 ` [PATCH v10 5/6] Documentation: DT: Add HiSilicon PCIe host binding Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` [PATCH v10 6/6] MAINTAINERS: Add pcie-hisi maintainer Zhou Wang
2015-10-10 2:59 ` Zhou Wang
2015-10-10 2:59 ` Zhou Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=561E1957.5030503@hisilicon.com \
--to=wangzhou1@hisilicon.com \
--cc=Liviu.Dudau@arm.com \
--cc=Minghuan.Lian@freescale.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=gabriel.fernandez@linaro.org \
--cc=gabriele.paoloni@huawei.com \
--cc=helgaas@kernel.org \
--cc=james.morse@arm.com \
--cc=jason@lakedaemon.net \
--cc=jingoohan1@gmail.com \
--cc=liguozhu@hisilicon.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=liudongdong3@huawei.com \
--cc=lorenzo.pieralisi@arm.com \
--cc=pratyush.anand@gmail.com \
--cc=qiujiang@huawei.com \
--cc=qiuzhenfa@hisilicon.com \
--cc=robh+dt@kernel.org \
--cc=robh@kernel.org \
--cc=thomas.petazzoni@free-electrons.com \
--cc=wangkefeng.wang@huawei.com \
--cc=xuwei5@hisilicon.com \
--cc=zhangjukuo@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.