Re: [Patch] x86: intel-mid: fix conflicts between 78a3bb9e408b and 9f354b0252b8
Thanks, David! On 2014/6/27 3:33, David Cohen wrote: > On Mon, Jun 23, 2014 at 10:38:07AM -0700, David Cohen wrote: >> Hi Jiang, >> >> On Mon, Jun 23, 2014 at 10:30:35AM +0800, Jiang Liu wrote: >>> Commit 9f354b0252b8 "x86, irq: Clean up unused IOAPIC interface" kills >>> interface io_apic_set_pci_routing(), so change arch/x86/platform/ >>> intel-mid/device_libs/platform_wdt.c to use new interfaces. >>> >>> Due to hardware resource restriction, this patch only passes compilation >>> without functional tests. >> >> I'll test this patch. > > It sounds good. > Acked-by: David Cohen > >> >> BR, David >> >>> >>> Signed-off-by: Jiang Liu >>> --- >>> .../platform/intel-mid/device_libs/platform_wdt.c | 22 >>> ++-- >>> 1 file changed, 6 insertions(+), 16 deletions(-) >>> >>> diff --git a/arch/x86/platform/intel-mid/device_libs/platform_wdt.c >>> b/arch/x86/platform/intel-mid/device_libs/platform_wdt.c >>> index 973cf3bfa9fd..0b283d4d0ad7 100644 >>> --- a/arch/x86/platform/intel-mid/device_libs/platform_wdt.c >>> +++ b/arch/x86/platform/intel-mid/device_libs/platform_wdt.c >>> @@ -26,28 +26,18 @@ static struct platform_device wdt_dev = { >>> >>> static int tangier_probe(struct platform_device *pdev) >>> { >>> - int ioapic; >>> - int irq; >>> + int gsi; >>> struct intel_mid_wdt_pdata *pdata = pdev->dev.platform_data; >>> - struct io_apic_irq_attr irq_attr = { 0 }; >>> >>> if (!pdata) >>> return -EINVAL; >>> >>> - irq = pdata->irq; >>> - ioapic = mp_find_ioapic(irq); >>> - if (ioapic >= 0) { >>> - int ret; >>> - irq_attr.ioapic = ioapic; >>> - irq_attr.ioapic_pin = irq; >>> - irq_attr.trigger = 1; >>> - /* irq_attr.polarity = 0; -> Active high */ >>> - ret = io_apic_set_pci_routing(NULL, irq, &irq_attr); >>> - if (ret) >>> - return ret; >>> - } else { >>> + /* IOAPIC builds identity mapping between GSI and IRQ on MID */ >>> + gsi = pdata->irq; >>> + if (mp_set_gsi_attr(gsi, 1, 0, cpu_to_node(0)) || >>> + mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC) <= 0) { >>> dev_warn(&pdev->dev, "cannot find interrupt %d in ioapic\n", >>> -irq); >>> +gsi); >>> return -EINVAL; >>> } >>> >>> -- >>> 1.7.10.4 >>> > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [Patch] x86: intel-mid: fix conflicts between 78a3bb9e408b and 9f354b0252b8
On Mon, Jun 23, 2014 at 10:38:07AM -0700, David Cohen wrote: > Hi Jiang, > > On Mon, Jun 23, 2014 at 10:30:35AM +0800, Jiang Liu wrote: > > Commit 9f354b0252b8 "x86, irq: Clean up unused IOAPIC interface" kills > > interface io_apic_set_pci_routing(), so change arch/x86/platform/ > > intel-mid/device_libs/platform_wdt.c to use new interfaces. > > > > Due to hardware resource restriction, this patch only passes compilation > > without functional tests. > > I'll test this patch. It sounds good. Acked-by: David Cohen > > BR, David > > > > > Signed-off-by: Jiang Liu > > --- > > .../platform/intel-mid/device_libs/platform_wdt.c | 22 > > ++-- > > 1 file changed, 6 insertions(+), 16 deletions(-) > > > > diff --git a/arch/x86/platform/intel-mid/device_libs/platform_wdt.c > > b/arch/x86/platform/intel-mid/device_libs/platform_wdt.c > > index 973cf3bfa9fd..0b283d4d0ad7 100644 > > --- a/arch/x86/platform/intel-mid/device_libs/platform_wdt.c > > +++ b/arch/x86/platform/intel-mid/device_libs/platform_wdt.c > > @@ -26,28 +26,18 @@ static struct platform_device wdt_dev = { > > > > static int tangier_probe(struct platform_device *pdev) > > { > > - int ioapic; > > - int irq; > > + int gsi; > > struct intel_mid_wdt_pdata *pdata = pdev->dev.platform_data; > > - struct io_apic_irq_attr irq_attr = { 0 }; > > > > if (!pdata) > > return -EINVAL; > > > > - irq = pdata->irq; > > - ioapic = mp_find_ioapic(irq); > > - if (ioapic >= 0) { > > - int ret; > > - irq_attr.ioapic = ioapic; > > - irq_attr.ioapic_pin = irq; > > - irq_attr.trigger = 1; > > - /* irq_attr.polarity = 0; -> Active high */ > > - ret = io_apic_set_pci_routing(NULL, irq, &irq_attr); > > - if (ret) > > - return ret; > > - } else { > > + /* IOAPIC builds identity mapping between GSI and IRQ on MID */ > > + gsi = pdata->irq; > > + if (mp_set_gsi_attr(gsi, 1, 0, cpu_to_node(0)) || > > + mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC) <= 0) { > > dev_warn(&pdev->dev, "cannot find interrupt %d in ioapic\n", > > -irq); > > +gsi); > > return -EINVAL; > > } > > > > -- > > 1.7.10.4 > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [Patch] x86: intel-mid: fix conflicts between 78a3bb9e408b and 9f354b0252b8
Hi Jiang, On Mon, Jun 23, 2014 at 10:30:35AM +0800, Jiang Liu wrote: > Commit 9f354b0252b8 "x86, irq: Clean up unused IOAPIC interface" kills > interface io_apic_set_pci_routing(), so change arch/x86/platform/ > intel-mid/device_libs/platform_wdt.c to use new interfaces. > > Due to hardware resource restriction, this patch only passes compilation > without functional tests. I'll test this patch. BR, David > > Signed-off-by: Jiang Liu > --- > .../platform/intel-mid/device_libs/platform_wdt.c | 22 > ++-- > 1 file changed, 6 insertions(+), 16 deletions(-) > > diff --git a/arch/x86/platform/intel-mid/device_libs/platform_wdt.c > b/arch/x86/platform/intel-mid/device_libs/platform_wdt.c > index 973cf3bfa9fd..0b283d4d0ad7 100644 > --- a/arch/x86/platform/intel-mid/device_libs/platform_wdt.c > +++ b/arch/x86/platform/intel-mid/device_libs/platform_wdt.c > @@ -26,28 +26,18 @@ static struct platform_device wdt_dev = { > > static int tangier_probe(struct platform_device *pdev) > { > - int ioapic; > - int irq; > + int gsi; > struct intel_mid_wdt_pdata *pdata = pdev->dev.platform_data; > - struct io_apic_irq_attr irq_attr = { 0 }; > > if (!pdata) > return -EINVAL; > > - irq = pdata->irq; > - ioapic = mp_find_ioapic(irq); > - if (ioapic >= 0) { > - int ret; > - irq_attr.ioapic = ioapic; > - irq_attr.ioapic_pin = irq; > - irq_attr.trigger = 1; > - /* irq_attr.polarity = 0; -> Active high */ > - ret = io_apic_set_pci_routing(NULL, irq, &irq_attr); > - if (ret) > - return ret; > - } else { > + /* IOAPIC builds identity mapping between GSI and IRQ on MID */ > + gsi = pdata->irq; > + if (mp_set_gsi_attr(gsi, 1, 0, cpu_to_node(0)) || > + mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC) <= 0) { > dev_warn(&pdev->dev, "cannot find interrupt %d in ioapic\n", > - irq); > + gsi); > return -EINVAL; > } > > -- > 1.7.10.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[Patch] x86: intel-mid: fix conflicts between 78a3bb9e408b and 9f354b0252b8
Commit 9f354b0252b8 "x86, irq: Clean up unused IOAPIC interface" kills interface io_apic_set_pci_routing(), so change arch/x86/platform/ intel-mid/device_libs/platform_wdt.c to use new interfaces. Due to hardware resource restriction, this patch only passes compilation without functional tests. Signed-off-by: Jiang Liu --- .../platform/intel-mid/device_libs/platform_wdt.c | 22 ++-- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/arch/x86/platform/intel-mid/device_libs/platform_wdt.c b/arch/x86/platform/intel-mid/device_libs/platform_wdt.c index 973cf3bfa9fd..0b283d4d0ad7 100644 --- a/arch/x86/platform/intel-mid/device_libs/platform_wdt.c +++ b/arch/x86/platform/intel-mid/device_libs/platform_wdt.c @@ -26,28 +26,18 @@ static struct platform_device wdt_dev = { static int tangier_probe(struct platform_device *pdev) { - int ioapic; - int irq; + int gsi; struct intel_mid_wdt_pdata *pdata = pdev->dev.platform_data; - struct io_apic_irq_attr irq_attr = { 0 }; if (!pdata) return -EINVAL; - irq = pdata->irq; - ioapic = mp_find_ioapic(irq); - if (ioapic >= 0) { - int ret; - irq_attr.ioapic = ioapic; - irq_attr.ioapic_pin = irq; - irq_attr.trigger = 1; - /* irq_attr.polarity = 0; -> Active high */ - ret = io_apic_set_pci_routing(NULL, irq, &irq_attr); - if (ret) - return ret; - } else { + /* IOAPIC builds identity mapping between GSI and IRQ on MID */ + gsi = pdata->irq; + if (mp_set_gsi_attr(gsi, 1, 0, cpu_to_node(0)) || + mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC) <= 0) { dev_warn(&pdev->dev, "cannot find interrupt %d in ioapic\n", -irq); +gsi); return -EINVAL; } -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/