* Re: [patch 07/26] pci: pcie-designware: Remove irq_desc abuse
@ 2014-02-23 23:33 Jingoo Han
2014-02-24 21:38 ` Bjorn Helgaas
0 siblings, 1 reply; 6+ messages in thread
From: Jingoo Han @ 2014-02-23 23:33 UTC (permalink / raw)
To: Thomas Gleixner, LKML
Cc: Ingo Molnar, Peter Zijlstra, Bjorn Helgaas, Mohit Kumar, pci,
Jingoo Han
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=euc-kr, Size: 1608 bytes --]
On Monday, February 24, 2014 6:40 AM, Thomas Gleixner wrote:
>
> There is no reason to care about irq_desc in that context, escpecially
> as irq_data for that interrupt is retrieved as well.
>
> Use the proper accessor for the msi descriptor
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: Jingoo Han <jg1.han@samsung.com>
> Cc: Mohit Kumar <mohit.kumar@st.com>
> Cc: pci <linux-pci@vger.kernel.org>
Acked-by: Jingoo Han <jg1.han@samsung.com>
A few days ago, I noticed that irq_data_get_msi() can be used.
However, I did not submit the same patch. I really appreciate
your patch. :-)
Best regards,
Jingoo Han
> ---
> drivers/pci/host/pcie-designware.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> Index: tip/drivers/pci/host/pcie-designware.c
> ===================================================================
> --- tip.orig/drivers/pci/host/pcie-designware.c
> +++ tip/drivers/pci/host/pcie-designware.c
> @@ -294,14 +294,12 @@ no_valid_irq:
> static void clear_irq(unsigned int irq)
> {
> unsigned int pos, nvec;
> - struct irq_desc *desc;
> struct msi_desc *msi;
> struct pcie_port *pp;
> struct irq_data *data = irq_get_irq_data(irq);
>
> /* get the port structure */
> - desc = irq_to_desc(irq);
> - msi = irq_desc_get_msi_desc(desc);
> + msi = irq_data_get_msi(data);
> pp = sys_to_pcie(msi->dev->bus->sysdata);
> if (!pp) {
> BUG();ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [patch 07/26] pci: pcie-designware: Remove irq_desc abuse
2014-02-23 23:33 [patch 07/26] pci: pcie-designware: Remove irq_desc abuse Jingoo Han
@ 2014-02-24 21:38 ` Bjorn Helgaas
2014-02-24 22:06 ` Thomas Gleixner
0 siblings, 1 reply; 6+ messages in thread
From: Bjorn Helgaas @ 2014-02-24 21:38 UTC (permalink / raw)
To: Jingoo Han
Cc: Thomas Gleixner, LKML, Ingo Molnar, Peter Zijlstra, Mohit Kumar,
pci
On Sun, Feb 23, 2014 at 4:33 PM, Jingoo Han <jg1.han@samsung.com> wrote:
> On Monday, February 24, 2014 6:40 AM, Thomas Gleixner wrote:
>>
>> There is no reason to care about irq_desc in that context, escpecially
>> as irq_data for that interrupt is retrieved as well.
>>
>> Use the proper accessor for the msi descriptor
>>
>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>> Cc: Bjorn Helgaas <bhelgaas@google.com>
>> Cc: Jingoo Han <jg1.han@samsung.com>
>> Cc: Mohit Kumar <mohit.kumar@st.com>
>> Cc: pci <linux-pci@vger.kernel.org>
>
> Acked-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Thomas, I assume you'll merge this along with the rest of your series.
I don't have any pending changes in this area.
Bjorn
> A few days ago, I noticed that irq_data_get_msi() can be used.
> However, I did not submit the same patch. I really appreciate
> your patch. :-)
>
> Best regards,
> Jingoo Han
>
>> ---
>> drivers/pci/host/pcie-designware.c | 4 +---
>> 1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> Index: tip/drivers/pci/host/pcie-designware.c
>> ===================================================================
>> --- tip.orig/drivers/pci/host/pcie-designware.c
>> +++ tip/drivers/pci/host/pcie-designware.c
>> @@ -294,14 +294,12 @@ no_valid_irq:
>> static void clear_irq(unsigned int irq)
>> {
>> unsigned int pos, nvec;
>> - struct irq_desc *desc;
>> struct msi_desc *msi;
>> struct pcie_port *pp;
>> struct irq_data *data = irq_get_irq_data(irq);
>>
>> /* get the port structure */
>> - desc = irq_to_desc(irq);
>> - msi = irq_desc_get_msi_desc(desc);
>> + msi = irq_data_get_msi(data);
>> pp = sys_to_pcie(msi->dev->bus->sysdata);
>> if (!pp) {
>> BUG();
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [patch 07/26] pci: pcie-designware: Remove irq_desc abuse
2014-02-24 21:38 ` Bjorn Helgaas
@ 2014-02-24 22:06 ` Thomas Gleixner
2014-02-24 23:03 ` Bjorn Helgaas
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Gleixner @ 2014-02-24 22:06 UTC (permalink / raw)
To: Bjorn Helgaas
Cc: Jingoo Han, LKML, Ingo Molnar, Peter Zijlstra, Mohit Kumar, pci
On Mon, 24 Feb 2014, Bjorn Helgaas wrote:
> On Sun, Feb 23, 2014 at 4:33 PM, Jingoo Han <jg1.han@samsung.com> wrote:
> > On Monday, February 24, 2014 6:40 AM, Thomas Gleixner wrote:
> >>
> >> There is no reason to care about irq_desc in that context, escpecially
> >> as irq_data for that interrupt is retrieved as well.
> >>
> >> Use the proper accessor for the msi descriptor
> >>
> >> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> >> Cc: Bjorn Helgaas <bhelgaas@google.com>
> >> Cc: Jingoo Han <jg1.han@samsung.com>
> >> Cc: Mohit Kumar <mohit.kumar@st.com>
> >> Cc: pci <linux-pci@vger.kernel.org>
> >
> > Acked-by: Jingoo Han <jg1.han@samsung.com>
>
> Acked-by: Bjorn Helgaas <bhelgaas@google.com>
>
> Thomas, I assume you'll merge this along with the rest of your series.
> I don't have any pending changes in this area.
I can do, but it does not depend on anything else, so you can pick it
up as well. Either way is fine.
Thanks,
tglx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch 07/26] pci: pcie-designware: Remove irq_desc abuse
2014-02-24 22:06 ` Thomas Gleixner
@ 2014-02-24 23:03 ` Bjorn Helgaas
2014-02-24 23:15 ` Thomas Gleixner
0 siblings, 1 reply; 6+ messages in thread
From: Bjorn Helgaas @ 2014-02-24 23:03 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Jingoo Han, LKML, Ingo Molnar, Peter Zijlstra, Mohit Kumar, pci
On Mon, Feb 24, 2014 at 3:06 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> On Mon, 24 Feb 2014, Bjorn Helgaas wrote:
>> On Sun, Feb 23, 2014 at 4:33 PM, Jingoo Han <jg1.han@samsung.com> wrote:
>> > On Monday, February 24, 2014 6:40 AM, Thomas Gleixner wrote:
>> >>
>> >> There is no reason to care about irq_desc in that context, escpecially
>> >> as irq_data for that interrupt is retrieved as well.
>> >>
>> >> Use the proper accessor for the msi descriptor
>> >>
>> >> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>> >> Cc: Bjorn Helgaas <bhelgaas@google.com>
>> >> Cc: Jingoo Han <jg1.han@samsung.com>
>> >> Cc: Mohit Kumar <mohit.kumar@st.com>
>> >> Cc: pci <linux-pci@vger.kernel.org>
>> >
>> > Acked-by: Jingoo Han <jg1.han@samsung.com>
>>
>> Acked-by: Bjorn Helgaas <bhelgaas@google.com>
>>
>> Thomas, I assume you'll merge this along with the rest of your series.
>> I don't have any pending changes in this area.
>
> I can do, but it does not depend on anything else, so you can pick it
> up as well. Either way is fine.
I never know what to do with these. I suggested that you pick it up
so the whole series would be together, because I assumed it would make
more sense in the git history to have all these similar changes
grouped together. But maybe that really doesn't matter.
What's the recommended practice?
Bjorn
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch 07/26] pci: pcie-designware: Remove irq_desc abuse
2014-02-24 23:03 ` Bjorn Helgaas
@ 2014-02-24 23:15 ` Thomas Gleixner
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Gleixner @ 2014-02-24 23:15 UTC (permalink / raw)
To: Bjorn Helgaas
Cc: Jingoo Han, LKML, Ingo Molnar, Peter Zijlstra, Mohit Kumar, pci
On Mon, 24 Feb 2014, Bjorn Helgaas wrote:
> On Mon, Feb 24, 2014 at 3:06 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> > On Mon, 24 Feb 2014, Bjorn Helgaas wrote:
> >> On Sun, Feb 23, 2014 at 4:33 PM, Jingoo Han <jg1.han@samsung.com> wrote:
> >> > On Monday, February 24, 2014 6:40 AM, Thomas Gleixner wrote:
> >> >>
> >> >> There is no reason to care about irq_desc in that context, escpecially
> >> >> as irq_data for that interrupt is retrieved as well.
> >> >>
> >> >> Use the proper accessor for the msi descriptor
> >> >>
> >> >> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> >> >> Cc: Bjorn Helgaas <bhelgaas@google.com>
> >> >> Cc: Jingoo Han <jg1.han@samsung.com>
> >> >> Cc: Mohit Kumar <mohit.kumar@st.com>
> >> >> Cc: pci <linux-pci@vger.kernel.org>
> >> >
> >> > Acked-by: Jingoo Han <jg1.han@samsung.com>
> >>
> >> Acked-by: Bjorn Helgaas <bhelgaas@google.com>
> >>
> >> Thomas, I assume you'll merge this along with the rest of your series.
> >> I don't have any pending changes in this area.
> >
> > I can do, but it does not depend on anything else, so you can pick it
> > up as well. Either way is fine.
>
> I never know what to do with these. I suggested that you pick it up
> so the whole series would be together, because I assumed it would make
> more sense in the git history to have all these similar changes
> grouped together. But maybe that really doesn't matter.
>
> What's the recommended practice?
Dunno. There is no rule. I'll merge it up with the rest of the lot.
Thanks,
tglx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [patch 00/26] genirq: Another round of tree wide cleanups
@ 2014-02-23 21:40 Thomas Gleixner
2014-02-23 21:40 ` [patch 07/26] pci: pcie-designware: Remove irq_desc abuse Thomas Gleixner
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Gleixner @ 2014-02-23 21:40 UTC (permalink / raw)
To: LKML; +Cc: Ingo Molnar, Peter Zijlstra
Since the last tree wide sweep a serious amount of braindamage,
blatant abuse and serious trainwrecks of the generic irq subsystem has
found its way into mainline.
The top score on the shitlist definitely gets this gem:
#include "../../../kernel/irq/settings.h"
tightly followed by the HYpedPERVersity irq handling.
The series contains the following cleanups:
- Rewrite abusive code written by incomptetent ...
- Replace open coded constructs by the proper core functions.
- Replace common patterns by a core implementation
This adds a few functions to the core code, which might be not
necessary at all, but I'm not masochistic enough to try to dechipher
the undocumented mess of Xen and HyperV.
The releavant patches have a Not-Yet-SOB tag and might be dropped if
the maintainers of the code in question can't come up with reasonable
explanations why they are necessary at all.
Thanks,
tglx
---
arch/arm/mach-imx/pm-imx6q.c | 7 +-
arch/arm/mach-mmp/pm-mmp2.c | 16 -----
arch/arm/mach-mmp/pm-pxa910.c | 20 +-----
arch/arm/mach-omap1/ams-delta-fiq.c | 7 --
arch/blackfin/Kconfig | 1
arch/blackfin/kernel/irqchip.c | 36 ++----------
arch/ia64/kernel/irq_ia64.c | 10 +--
arch/metag/kernel/irq.c | 20 +-----
arch/mips/kernel/smtc.c | 2
arch/mips/sgi-ip22/ip22-int.c | 2
arch/mips/sgi-ip22/ip22-time.c | 2
arch/mips/sibyte/bcm1480/smp.c | 2
arch/mips/sibyte/sb1250/smp.c | 2
arch/mn10300/kernel/mn10300-watchdog.c | 2
arch/powerpc/kernel/eeh_driver.c | 26 +++++++-
arch/powerpc/kernel/irq.c | 8 --
arch/powerpc/sysdev/ehv_pic.c | 10 ---
arch/sh/kernel/irq.c | 16 -----
arch/sparc/kernel/time_64.c | 2
arch/x86/include/asm/hardirq.h | 3 +
arch/x86/include/asm/mshyperv.h | 4 +
arch/x86/kernel/cpu/mshyperv.c | 97 ++++++++++++++++++++-------------
arch/x86/kernel/irq.c | 6 ++
arch/x86/xen/spinlock.c | 2
arch/xtensa/kernel/irq.c | 20 +-----
drivers/hv/vmbus_drv.c | 39 +------------
drivers/pci/host/pcie-designware.c | 4 -
drivers/s390/cio/cio.c | 5 -
drivers/xen/events/events_2l.c | 15 +----
drivers/xen/events/events_base.c | 27 ++-------
drivers/xen/events/events_fifo.c | 8 --
include/linux/irq.h | 8 ++
include/linux/kernel_stat.h | 12 ++--
kernel/irq/chip.c | 15 +++++
kernel/irq/irqdesc.c | 16 +++++
kernel/irq/manage.c | 6 +-
36 files changed, 204 insertions(+), 274 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread* [patch 07/26] pci: pcie-designware: Remove irq_desc abuse
2014-02-23 21:40 [patch 00/26] genirq: Another round of tree wide cleanups Thomas Gleixner
@ 2014-02-23 21:40 ` Thomas Gleixner
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Gleixner @ 2014-02-23 21:40 UTC (permalink / raw)
To: LKML
Cc: Ingo Molnar, Peter Zijlstra, Bjorn Helgaas, Jingoo Han,
Mohit Kumar, pci
[-- Attachment #1: pci-pcie-designware-remove-irq-desc-abuse.patch --]
[-- Type: text/plain, Size: 1107 bytes --]
There is no reason to care about irq_desc in that context, escpecially
as irq_data for that interrupt is retrieved as well.
Use the proper accessor for the msi descriptor
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Mohit Kumar <mohit.kumar@st.com>
Cc: pci <linux-pci@vger.kernel.org>
---
drivers/pci/host/pcie-designware.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
Index: tip/drivers/pci/host/pcie-designware.c
===================================================================
--- tip.orig/drivers/pci/host/pcie-designware.c
+++ tip/drivers/pci/host/pcie-designware.c
@@ -294,14 +294,12 @@ no_valid_irq:
static void clear_irq(unsigned int irq)
{
unsigned int pos, nvec;
- struct irq_desc *desc;
struct msi_desc *msi;
struct pcie_port *pp;
struct irq_data *data = irq_get_irq_data(irq);
/* get the port structure */
- desc = irq_to_desc(irq);
- msi = irq_desc_get_msi_desc(desc);
+ msi = irq_data_get_msi(data);
pp = sys_to_pcie(msi->dev->bus->sysdata);
if (!pp) {
BUG();
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-02-24 23:15 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-23 23:33 [patch 07/26] pci: pcie-designware: Remove irq_desc abuse Jingoo Han
2014-02-24 21:38 ` Bjorn Helgaas
2014-02-24 22:06 ` Thomas Gleixner
2014-02-24 23:03 ` Bjorn Helgaas
2014-02-24 23:15 ` Thomas Gleixner
-- strict thread matches above, loose matches on Subject: below --
2014-02-23 21:40 [patch 00/26] genirq: Another round of tree wide cleanups Thomas Gleixner
2014-02-23 21:40 ` [patch 07/26] pci: pcie-designware: Remove irq_desc abuse Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox