From: Yijing Wang <wangyijing@huawei.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arch@vger.kernel.org, Wuyun <wuyun.wu@huawei.com>,
Russell King <linux@arm.linux.org.uk>,
Paul.Mundt@huawei.com, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org,
"James E.J. Bottomley" <jejb@parisc-linux.org>,
Xinwei Hu <huxinwei@huawei.com>,
Hanjun Guo <guohanjun@huawei.com>,
Bjorn Helgaas <bhelgaas@google.com>,
virtualization@lists.linux-foundation.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Date: Tue, 5 Aug 2014 10:12:01 +0800 [thread overview]
Message-ID: <53E03D71.5080800@huawei.com> (raw)
In-Reply-To: <201408041659.31364.arnd@arndb.de>
>>> The method you describe here makes sense for PCI devices that are required to support
>>> legacy interrupts and may or may not support MSI on a given system, but not so much
>>> for platform devices for which we know exactly whether we want to use MSI
>>> or legacy interrupts.
>>>
>>> In particular if you have a device that can only do MSI, the entire pci_enable_msi
>>> step is pointless: all we need to do is program the correct MSI target address/message
>>> pair into the device and register the handler.
>>
>> Yes, I almost agree if we won't change the existing hundreds of drivers, what
>> I worried about is some drivers may want to know the IRQ numbers, and use the IRQ
>> number to process different things, as I mentioned in another reply.
>> But we can also provide the interface which integrate MSI configuration and request_irq(),
>> if most drivers don't care the IRQ number.
>
> The driver would still have the option of getting the IRQ number for now: With
> the interface I imagine, you would get a 'struct msi_desc' pointer, from which
> you can look up the 'struct irq_desc' pointer (either embedded in msi_desc,
> or using a pointer from a member of msi_desc), and you can already get the
> interrupt number from the irq_desc.
>
> My point was that a well-written driver already does not care about the interrupt
> number: the only information a driver needs in the interrupt handler is a pointer
> to its own context, which we already derive from the irq_desc.
Agree, I will try to introduce this similar interface in next version, thanks!
>
> The main interface that currently requires the irq number is free_irq(), but
> I would argue that we can just add a wrapper that takes the msi_desc pointer
> as its first argument so the driver does not have to worry about it.
>
> We can add additional wrappers like that as needed.
OK
>>>> This is a huge change for device drivers, and some device drivers don't know which msi_chip
>>>> their MSI irq deliver to. I'm reworking the msi_chip, and try to use msi_chip to eliminate
>>>> all arch_msi_xxx() under every arch in kernel. And the important point is how to create the
>>>> binding for the MSI device to the target msi_chip.
>>>
>>> Which drivers are you thinking of? Again, I wouldn't expect to change any PCI drivers,
>>> but only platform drivers that do native MSI, so we only have to change drivers that
>>> do not support any MSI at all yet and that need to be changed anyway in order to add
>>> support.
>>
>> I mean platform device drivers, because we can find the target msi_chip by some platform
>> interfaces(like the existing of_pci_find_msi_chip_by_node()). So we no need to explicitly
>> provide the msi_chip as the function argument.
>
> Right, that works too. I was thinking we might need an interface that allows us to
> pick a particular msi_chip if there are several alternatives (e.g. one in the GIC
> and one in the PCI host), but you are right: we should normally be able to hardwire
> that information in DT or elsewhere, and just need the 'struct device pointer' which
> should probably be the first argument here.
>
> As you pointed out, it's common to have multiple MSIs for a single device, so we
> also need a context to pass around, so my suggestion would become something like:
>
> struct msi_desc *msi_request(struct device *dev, irq_handler_t handler,
> unsigned long flags, const char *name, void *data);
>
> It's possible that we have to add one or two more arguments here.
Good suggestion, thanks!
>
>>> A degenerate case of this would be a system where a PCI device sends its MSI into
>>> the host controller, that generates a legacy interrupt and that in turn gets
>>> sent to an irqchip which turns it back into an MSI for the GICv3. This would of
>>> course be very inefficient, but I think we should be able to express this with
>>> both the binding and the in-kernel framework just to be on the safe side.
>>
>> Yes, the best way to tell the kernel which msi_chip should deliver to is describe
>> the binding in DTS file. If a real degenerate case found, we can update the platform
>> interface which is responsible for getting the match msi_chip in future.
>
> Ok.
>
> Arnd
>
> .
>
--
Thanks!
Yijing
WARNING: multiple messages have this Message-ID (diff)
From: Yijing Wang <wangyijing@huawei.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
Russell King <linux@arm.linux.org.uk>,
Paul.Mundt@huawei.com, Marc Zyngier <marc.zyngier@arm.com>,
linux-pci@vger.kernel.org,
"James E.J. Bottomley" <jejb@parisc-linux.org>,
virtualization@lists.linux-foundation.org,
Xinwei Hu <huxinwei@huawei.com>,
Hanjun Guo <guohanjun@huawei.com>,
Bjorn Helgaas <bhelgaas@google.com>, Wuyun <wuyun.wu@huawei.com>
Subject: Re: [RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Date: Tue, 5 Aug 2014 10:12:01 +0800 [thread overview]
Message-ID: <53E03D71.5080800@huawei.com> (raw)
Message-ID: <20140805021201.TInXG5b7lmc_d3jeiuvet1KI5e2BJCZ3sBJcGG2Dlb0@z> (raw)
In-Reply-To: <201408041659.31364.arnd@arndb.de>
>>> The method you describe here makes sense for PCI devices that are required to support
>>> legacy interrupts and may or may not support MSI on a given system, but not so much
>>> for platform devices for which we know exactly whether we want to use MSI
>>> or legacy interrupts.
>>>
>>> In particular if you have a device that can only do MSI, the entire pci_enable_msi
>>> step is pointless: all we need to do is program the correct MSI target address/message
>>> pair into the device and register the handler.
>>
>> Yes, I almost agree if we won't change the existing hundreds of drivers, what
>> I worried about is some drivers may want to know the IRQ numbers, and use the IRQ
>> number to process different things, as I mentioned in another reply.
>> But we can also provide the interface which integrate MSI configuration and request_irq(),
>> if most drivers don't care the IRQ number.
>
> The driver would still have the option of getting the IRQ number for now: With
> the interface I imagine, you would get a 'struct msi_desc' pointer, from which
> you can look up the 'struct irq_desc' pointer (either embedded in msi_desc,
> or using a pointer from a member of msi_desc), and you can already get the
> interrupt number from the irq_desc.
>
> My point was that a well-written driver already does not care about the interrupt
> number: the only information a driver needs in the interrupt handler is a pointer
> to its own context, which we already derive from the irq_desc.
Agree, I will try to introduce this similar interface in next version, thanks!
>
> The main interface that currently requires the irq number is free_irq(), but
> I would argue that we can just add a wrapper that takes the msi_desc pointer
> as its first argument so the driver does not have to worry about it.
>
> We can add additional wrappers like that as needed.
OK
>>>> This is a huge change for device drivers, and some device drivers don't know which msi_chip
>>>> their MSI irq deliver to. I'm reworking the msi_chip, and try to use msi_chip to eliminate
>>>> all arch_msi_xxx() under every arch in kernel. And the important point is how to create the
>>>> binding for the MSI device to the target msi_chip.
>>>
>>> Which drivers are you thinking of? Again, I wouldn't expect to change any PCI drivers,
>>> but only platform drivers that do native MSI, so we only have to change drivers that
>>> do not support any MSI at all yet and that need to be changed anyway in order to add
>>> support.
>>
>> I mean platform device drivers, because we can find the target msi_chip by some platform
>> interfaces(like the existing of_pci_find_msi_chip_by_node()). So we no need to explicitly
>> provide the msi_chip as the function argument.
>
> Right, that works too. I was thinking we might need an interface that allows us to
> pick a particular msi_chip if there are several alternatives (e.g. one in the GIC
> and one in the PCI host), but you are right: we should normally be able to hardwire
> that information in DT or elsewhere, and just need the 'struct device pointer' which
> should probably be the first argument here.
>
> As you pointed out, it's common to have multiple MSIs for a single device, so we
> also need a context to pass around, so my suggestion would become something like:
>
> struct msi_desc *msi_request(struct device *dev, irq_handler_t handler,
> unsigned long flags, const char *name, void *data);
>
> It's possible that we have to add one or two more arguments here.
Good suggestion, thanks!
>
>>> A degenerate case of this would be a system where a PCI device sends its MSI into
>>> the host controller, that generates a legacy interrupt and that in turn gets
>>> sent to an irqchip which turns it back into an MSI for the GICv3. This would of
>>> course be very inefficient, but I think we should be able to express this with
>>> both the binding and the in-kernel framework just to be on the safe side.
>>
>> Yes, the best way to tell the kernel which msi_chip should deliver to is describe
>> the binding in DTS file. If a real degenerate case found, we can update the platform
>> interface which is responsible for getting the match msi_chip in future.
>
> Ok.
>
> Arnd
>
> .
>
--
Thanks!
Yijing
WARNING: multiple messages have this Message-ID (diff)
From: Yijing Wang <wangyijing@huawei.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: <linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <linux-arch@vger.kernel.org>,
Russell King <linux@arm.linux.org.uk>, <Paul.Mundt@huawei.com>,
Marc Zyngier <marc.zyngier@arm.com>, <linux-pci@vger.kernel.org>,
"James E.J. Bottomley" <jejb@parisc-linux.org>,
<virtualization@lists.linux-foundation.org>,
Xinwei Hu <huxinwei@huawei.com>,
Hanjun Guo <guohanjun@huawei.com>,
Bjorn Helgaas <bhelgaas@google.com>, Wuyun <wuyun.wu@huawei.com>
Subject: Re: [RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Date: Tue, 5 Aug 2014 10:12:01 +0800 [thread overview]
Message-ID: <53E03D71.5080800@huawei.com> (raw)
In-Reply-To: <201408041659.31364.arnd@arndb.de>
>>> The method you describe here makes sense for PCI devices that are required to support
>>> legacy interrupts and may or may not support MSI on a given system, but not so much
>>> for platform devices for which we know exactly whether we want to use MSI
>>> or legacy interrupts.
>>>
>>> In particular if you have a device that can only do MSI, the entire pci_enable_msi
>>> step is pointless: all we need to do is program the correct MSI target address/message
>>> pair into the device and register the handler.
>>
>> Yes, I almost agree if we won't change the existing hundreds of drivers, what
>> I worried about is some drivers may want to know the IRQ numbers, and use the IRQ
>> number to process different things, as I mentioned in another reply.
>> But we can also provide the interface which integrate MSI configuration and request_irq(),
>> if most drivers don't care the IRQ number.
>
> The driver would still have the option of getting the IRQ number for now: With
> the interface I imagine, you would get a 'struct msi_desc' pointer, from which
> you can look up the 'struct irq_desc' pointer (either embedded in msi_desc,
> or using a pointer from a member of msi_desc), and you can already get the
> interrupt number from the irq_desc.
>
> My point was that a well-written driver already does not care about the interrupt
> number: the only information a driver needs in the interrupt handler is a pointer
> to its own context, which we already derive from the irq_desc.
Agree, I will try to introduce this similar interface in next version, thanks!
>
> The main interface that currently requires the irq number is free_irq(), but
> I would argue that we can just add a wrapper that takes the msi_desc pointer
> as its first argument so the driver does not have to worry about it.
>
> We can add additional wrappers like that as needed.
OK
>>>> This is a huge change for device drivers, and some device drivers don't know which msi_chip
>>>> their MSI irq deliver to. I'm reworking the msi_chip, and try to use msi_chip to eliminate
>>>> all arch_msi_xxx() under every arch in kernel. And the important point is how to create the
>>>> binding for the MSI device to the target msi_chip.
>>>
>>> Which drivers are you thinking of? Again, I wouldn't expect to change any PCI drivers,
>>> but only platform drivers that do native MSI, so we only have to change drivers that
>>> do not support any MSI at all yet and that need to be changed anyway in order to add
>>> support.
>>
>> I mean platform device drivers, because we can find the target msi_chip by some platform
>> interfaces(like the existing of_pci_find_msi_chip_by_node()). So we no need to explicitly
>> provide the msi_chip as the function argument.
>
> Right, that works too. I was thinking we might need an interface that allows us to
> pick a particular msi_chip if there are several alternatives (e.g. one in the GIC
> and one in the PCI host), but you are right: we should normally be able to hardwire
> that information in DT or elsewhere, and just need the 'struct device pointer' which
> should probably be the first argument here.
>
> As you pointed out, it's common to have multiple MSIs for a single device, so we
> also need a context to pass around, so my suggestion would become something like:
>
> struct msi_desc *msi_request(struct device *dev, irq_handler_t handler,
> unsigned long flags, const char *name, void *data);
>
> It's possible that we have to add one or two more arguments here.
Good suggestion, thanks!
>
>>> A degenerate case of this would be a system where a PCI device sends its MSI into
>>> the host controller, that generates a legacy interrupt and that in turn gets
>>> sent to an irqchip which turns it back into an MSI for the GICv3. This would of
>>> course be very inefficient, but I think we should be able to express this with
>>> both the binding and the in-kernel framework just to be on the safe side.
>>
>> Yes, the best way to tell the kernel which msi_chip should deliver to is describe
>> the binding in DTS file. If a real degenerate case found, we can update the platform
>> interface which is responsible for getting the match msi_chip in future.
>
> Ok.
>
> Arnd
>
> .
>
--
Thanks!
Yijing
WARNING: multiple messages have this Message-ID (diff)
From: wangyijing@huawei.com (Yijing Wang)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Date: Tue, 5 Aug 2014 10:12:01 +0800 [thread overview]
Message-ID: <53E03D71.5080800@huawei.com> (raw)
In-Reply-To: <201408041659.31364.arnd@arndb.de>
>>> The method you describe here makes sense for PCI devices that are required to support
>>> legacy interrupts and may or may not support MSI on a given system, but not so much
>>> for platform devices for which we know exactly whether we want to use MSI
>>> or legacy interrupts.
>>>
>>> In particular if you have a device that can only do MSI, the entire pci_enable_msi
>>> step is pointless: all we need to do is program the correct MSI target address/message
>>> pair into the device and register the handler.
>>
>> Yes, I almost agree if we won't change the existing hundreds of drivers, what
>> I worried about is some drivers may want to know the IRQ numbers, and use the IRQ
>> number to process different things, as I mentioned in another reply.
>> But we can also provide the interface which integrate MSI configuration and request_irq(),
>> if most drivers don't care the IRQ number.
>
> The driver would still have the option of getting the IRQ number for now: With
> the interface I imagine, you would get a 'struct msi_desc' pointer, from which
> you can look up the 'struct irq_desc' pointer (either embedded in msi_desc,
> or using a pointer from a member of msi_desc), and you can already get the
> interrupt number from the irq_desc.
>
> My point was that a well-written driver already does not care about the interrupt
> number: the only information a driver needs in the interrupt handler is a pointer
> to its own context, which we already derive from the irq_desc.
Agree, I will try to introduce this similar interface in next version, thanks!
>
> The main interface that currently requires the irq number is free_irq(), but
> I would argue that we can just add a wrapper that takes the msi_desc pointer
> as its first argument so the driver does not have to worry about it.
>
> We can add additional wrappers like that as needed.
OK
>>>> This is a huge change for device drivers, and some device drivers don't know which msi_chip
>>>> their MSI irq deliver to. I'm reworking the msi_chip, and try to use msi_chip to eliminate
>>>> all arch_msi_xxx() under every arch in kernel. And the important point is how to create the
>>>> binding for the MSI device to the target msi_chip.
>>>
>>> Which drivers are you thinking of? Again, I wouldn't expect to change any PCI drivers,
>>> but only platform drivers that do native MSI, so we only have to change drivers that
>>> do not support any MSI at all yet and that need to be changed anyway in order to add
>>> support.
>>
>> I mean platform device drivers, because we can find the target msi_chip by some platform
>> interfaces(like the existing of_pci_find_msi_chip_by_node()). So we no need to explicitly
>> provide the msi_chip as the function argument.
>
> Right, that works too. I was thinking we might need an interface that allows us to
> pick a particular msi_chip if there are several alternatives (e.g. one in the GIC
> and one in the PCI host), but you are right: we should normally be able to hardwire
> that information in DT or elsewhere, and just need the 'struct device pointer' which
> should probably be the first argument here.
>
> As you pointed out, it's common to have multiple MSIs for a single device, so we
> also need a context to pass around, so my suggestion would become something like:
>
> struct msi_desc *msi_request(struct device *dev, irq_handler_t handler,
> unsigned long flags, const char *name, void *data);
>
> It's possible that we have to add one or two more arguments here.
Good suggestion, thanks!
>
>>> A degenerate case of this would be a system where a PCI device sends its MSI into
>>> the host controller, that generates a legacy interrupt and that in turn gets
>>> sent to an irqchip which turns it back into an MSI for the GICv3. This would of
>>> course be very inefficient, but I think we should be able to express this with
>>> both the binding and the in-kernel framework just to be on the safe side.
>>
>> Yes, the best way to tell the kernel which msi_chip should deliver to is describe
>> the binding in DTS file. If a real degenerate case found, we can update the platform
>> interface which is responsible for getting the match msi_chip in future.
>
> Ok.
>
> Arnd
>
> .
>
--
Thanks!
Yijing
next prev parent reply other threads:[~2014-08-05 2:12 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-26 3:08 [RFC PATCH 00/11] Refactor MSI to support Non-PCI device Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 01/11] PCI/MSI: Use pci_dev->msi_cap instead of msi_desc->msi_attrib.pos Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 02/11] PCI/MSI: Use new MSI type macro instead of PCI MSI flags Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled() Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-08-05 22:35 ` Stuart Yoder
2014-08-05 22:35 ` Stuart Yoder
2014-08-05 22:35 ` Stuart Yoder
2014-08-06 1:23 ` Yijing Wang
2014-08-06 1:23 ` Yijing Wang
2014-08-06 1:23 ` Yijing Wang
2014-08-06 1:23 ` Yijing Wang
2014-08-20 5:57 ` Bharat.Bhushan
2014-08-20 5:57 ` Bharat.Bhushan at freescale.com
2014-08-20 5:57 ` Bharat.Bhushan
2014-08-20 5:57 ` Bharat.Bhushan
2014-08-20 6:30 ` Yijing Wang
2014-08-20 6:30 ` Yijing Wang
2014-08-20 6:30 ` Yijing Wang
2014-08-20 5:57 ` Bharat.Bhushan
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 04/11] PCI/MSI: Move MSIX table address mapping out of msix_capability_init Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 05/11] PCI/MSI: Move populate_msi_sysfs() out of msi_capability_init() Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 06/11] PCI/MSI: Save MSI irq in PCI MSI layer Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 07/11] PCI/MSI: Mask MSI-X entry in msix_setup_entries() Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 08/11] PCI/MSI: Introduce new struct msi_irqs and struct msi_ops Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-08-20 6:06 ` Bharat.Bhushan
2014-08-20 6:06 ` Bharat.Bhushan at freescale.com
2014-08-20 6:06 ` Bharat.Bhushan
2014-08-20 6:34 ` Yijing Wang
2014-08-20 6:34 ` Yijing Wang
2014-08-20 6:34 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-08-20 6:18 ` Bharat.Bhushan
2014-08-20 6:18 ` Bharat.Bhushan at freescale.com
2014-08-20 6:18 ` Bharat.Bhushan
2014-08-20 6:43 ` Yijing Wang
2014-08-20 6:43 ` Yijing Wang
2014-08-20 6:43 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` [RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-07-26 3:08 ` Yijing Wang
2014-08-20 6:20 ` Bharat.Bhushan
2014-08-20 6:20 ` Bharat.Bhushan at freescale.com
2014-08-20 6:20 ` Bharat.Bhushan
2014-08-20 7:01 ` Yijing Wang
2014-08-20 7:01 ` Yijing Wang
2014-08-20 7:01 ` Yijing Wang
2014-07-29 14:08 ` [RFC PATCH 00/11] Refactor MSI to support Non-PCI device Arnd Bergmann
2014-07-29 14:08 ` Arnd Bergmann
2014-07-29 14:08 ` Arnd Bergmann
2014-07-30 2:45 ` Yijing Wang
2014-07-30 2:45 ` Yijing Wang
2014-07-30 2:45 ` Yijing Wang
2014-07-30 2:45 ` Yijing Wang
2014-07-30 6:47 ` Jiang Liu
2014-07-30 6:47 ` Jiang Liu
2014-07-30 6:47 ` Jiang Liu
2014-07-30 7:20 ` Yijing Wang
2014-07-30 7:20 ` Yijing Wang
2014-07-30 7:20 ` Yijing Wang
2014-07-30 7:20 ` Yijing Wang
2014-08-01 13:16 ` Arnd Bergmann
2014-08-01 13:16 ` Arnd Bergmann
2014-08-01 13:16 ` Arnd Bergmann
2014-08-04 3:32 ` Yijing Wang
2014-08-04 3:32 ` Yijing Wang
2014-08-04 3:32 ` Yijing Wang
2014-08-04 14:45 ` Arnd Bergmann
2014-08-04 14:45 ` Arnd Bergmann
2014-08-04 14:45 ` Arnd Bergmann
2014-08-05 2:20 ` Yijing Wang
2014-08-05 2:20 ` Yijing Wang
2014-08-05 2:20 ` Yijing Wang
2014-08-05 2:20 ` Yijing Wang
2014-08-04 3:32 ` Yijing Wang
2014-08-01 13:52 ` Arnd Bergmann
2014-08-01 13:52 ` Arnd Bergmann
2014-08-04 6:43 ` Yijing Wang
2014-08-04 6:43 ` Yijing Wang
2014-08-04 6:43 ` Yijing Wang
2014-08-04 6:43 ` Yijing Wang
2014-08-04 14:59 ` Arnd Bergmann
2014-08-04 14:59 ` Arnd Bergmann
2014-08-04 14:59 ` Arnd Bergmann
2014-08-05 2:12 ` Yijing Wang [this message]
2014-08-05 2:12 ` Yijing Wang
2014-08-05 2:12 ` Yijing Wang
2014-08-05 2:12 ` Yijing Wang
2014-08-01 13:52 ` Arnd Bergmann
2014-08-01 10:27 ` arnab.basu
2014-08-01 10:27 ` arnab.basu
2014-08-01 10:27 ` arnab.basu at freescale.com
2014-08-04 3:03 ` Yijing Wang
2014-08-04 3:03 ` Yijing Wang
2014-08-04 3:03 ` Yijing Wang
2014-08-20 5:44 ` Bharat.Bhushan
2014-08-20 5:44 ` Bharat.Bhushan at freescale.com
2014-08-20 5:44 ` Bharat.Bhushan
2014-08-20 6:28 ` Yijing Wang
2014-08-20 6:28 ` Yijing Wang
2014-08-20 7:41 ` Bharat.Bhushan
2014-08-20 7:41 ` Bharat.Bhushan at freescale.com
2014-08-20 7:55 ` Yijing Wang
2014-08-20 7:55 ` Yijing Wang
2014-08-20 7:55 ` Yijing Wang
2014-09-03 7:15 ` Yijing Wang
2014-09-03 7:15 ` Yijing Wang
2014-09-03 7:15 ` Yijing Wang
2014-08-20 7:41 ` Bharat.Bhushan
2014-08-20 6:28 ` Yijing Wang
-- strict thread matches above, loose matches on Subject: below --
2014-07-26 3:08 Yijing 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=53E03D71.5080800@huawei.com \
--to=wangyijing@huawei.com \
--cc=Paul.Mundt@huawei.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=guohanjun@huawei.com \
--cc=huxinwei@huawei.com \
--cc=jejb@parisc-linux.org \
--cc=linux-arch@vger.kernel.org \
--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=virtualization@lists.linux-foundation.org \
--cc=wuyun.wu@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.