2011-05-25 04:01:08

by Dave Airlie

[permalink] [raw]
Subject: [PATCH] uv/x2apic: update for change in pci bridge handling.

From: Dave Airlie <[email protected]>

I forgot about the special uv handling code for this, so this
patch fixes it up.

Signed-off-by: Dave Airlie <[email protected]>
---
arch/x86/kernel/apic/x2apic_uv_x.c | 8 ++++----
drivers/pci/pci.c | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c
index 33b10a0..185cd1e 100644
--- a/arch/x86/kernel/apic/x2apic_uv_x.c
+++ b/arch/x86/kernel/apic/x2apic_uv_x.c
@@ -599,14 +599,14 @@ late_initcall(uv_init_heartbeat);

/* Direct Legacy VGA I/O traffic to designated IOH */
int uv_set_vga_state(struct pci_dev *pdev, bool decode,
- unsigned int command_bits, bool change_bridge)
+ unsigned int command_bits, u32 flags)
{
int domain, bus, rc;

- PR_DEVEL("devfn %x decode %d cmd %x chg_brdg %d\n",
- pdev->devfn, decode, command_bits, change_bridge);
+ PR_DEVEL("devfn %x decode %d cmd %x flags %d\n",
+ pdev->devfn, decode, command_bits, flags);

- if (!change_bridge)
+ if (!(flags & PCI_VGA_STATE_CHANGE_BRIDGE))
return 0;

if ((command_bits & PCI_COMMAND_IO) == 0)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index a339237..4528ee7 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -2862,11 +2862,11 @@ void __init pci_register_set_vga_state(arch_set_vga_state_t func)
}

static int pci_set_vga_state_arch(struct pci_dev *dev, bool decode,
- unsigned int command_bits, bool change_bridge)
+ unsigned int command_bits, u32 flags)
{
if (arch_set_vga_state)
return arch_set_vga_state(dev, decode, command_bits,
- change_bridge);
+ flags);
return 0;
}

--
1.7.1


2011-06-09 03:43:56

by Dave Airlie

[permalink] [raw]
Subject: Re: [PATCH] uv/x2apic: update for change in pci bridge handling.

On Wed, May 25, 2011 at 2:00 PM, Dave Airlie <[email protected]> wrote:
> From: Dave Airlie <[email protected]>
>
> I forgot about the special uv handling code for this, so this
> patch fixes it up.

ping?

This fixes a warning and bug in Linus tree,

CC arch/x86/kernel/apic/x2apic_uv_x.o
/home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c: In
function ?uv_system_init?:
/home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c:882:2:
warning: passing argument 1 of ?pci_register_set_vga_state? from
incompatible pointer type [enabled by default]
/home/airlied/git/linux-2.6/include/linux/pci.h:1094:13: note:
expected ?arch_set_vga_state_t? but argument is of type ?int
(*)(struct pci_dev *, bool, unsigned int, bool)?


Dave.

>
> Signed-off-by: Dave Airlie <[email protected]>
> ---
> ?arch/x86/kernel/apic/x2apic_uv_x.c | ? ?8 ++++----
> ?drivers/pci/pci.c ? ? ? ? ? ? ? ? ?| ? ?4 ++--
> ?2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c
> index 33b10a0..185cd1e 100644
> --- a/arch/x86/kernel/apic/x2apic_uv_x.c
> +++ b/arch/x86/kernel/apic/x2apic_uv_x.c
> @@ -599,14 +599,14 @@ late_initcall(uv_init_heartbeat);
>
> ?/* Direct Legacy VGA I/O traffic to designated IOH */
> ?int uv_set_vga_state(struct pci_dev *pdev, bool decode,
> - ? ? ? ? ? ? ? ? ? ? unsigned int command_bits, bool change_bridge)
> + ? ? ? ? ? ? ? ? ? ? unsigned int command_bits, u32 flags)
> ?{
> ? ? ? ?int domain, bus, rc;
>
> - ? ? ? PR_DEVEL("devfn %x decode %d cmd %x chg_brdg %d\n",
> - ? ? ? ? ? ? ? ? ? ? ? pdev->devfn, decode, command_bits, change_bridge);
> + ? ? ? PR_DEVEL("devfn %x decode %d cmd %x flags %d\n",
> + ? ? ? ? ? ? ? ? ? ? ? pdev->devfn, decode, command_bits, flags);
>
> - ? ? ? if (!change_bridge)
> + ? ? ? if (!(flags & PCI_VGA_STATE_CHANGE_BRIDGE))
> ? ? ? ? ? ? ? ?return 0;
>
> ? ? ? ?if ((command_bits & PCI_COMMAND_IO) == 0)
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index a339237..4528ee7 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -2862,11 +2862,11 @@ void __init pci_register_set_vga_state(arch_set_vga_state_t func)
> ?}
>
> ?static int pci_set_vga_state_arch(struct pci_dev *dev, bool decode,
> - ? ? ? ? ? ? ? ? ? ? unsigned int command_bits, bool change_bridge)
> + ? ? ? ? ? ? ? ? ? ? unsigned int command_bits, u32 flags)
> ?{
> ? ? ? ?if (arch_set_vga_state)
> ? ? ? ? ? ? ? ?return arch_set_vga_state(dev, decode, command_bits,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? change_bridge);
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? flags);
> ? ? ? ?return 0;
> ?}
>
> --
> 1.7.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at ?http://www.tux.org/lkml/
>

2011-06-09 07:09:28

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] uv/x2apic: update for change in pci bridge handling.


* Dave Airlie <[email protected]> wrote:

> On Wed, May 25, 2011 at 2:00 PM, Dave Airlie <[email protected]> wrote:
> > From: Dave Airlie <[email protected]>
> >
> > I forgot about the special uv handling code for this, so this
> > patch fixes it up.
>
> ping?
>
> This fixes a warning and bug in Linus tree,
>
> CC arch/x86/kernel/apic/x2apic_uv_x.o
> /home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c: In
> function ‘uv_system_init’:
> /home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c:882:2:
> warning: passing argument 1 of ‘pci_register_set_vga_state’ from
> incompatible pointer type [enabled by default]
> /home/airlied/git/linux-2.6/include/linux/pci.h:1094:13: note:
> expected ‘arch_set_vga_state_t’ but argument is of type ‘int
> (*)(struct pci_dev *, bool, unsigned int, bool)’
>
>
> Dave.
>
> >
> > Signed-off-by: Dave Airlie <[email protected]>
> > ---
> >  arch/x86/kernel/apic/x2apic_uv_x.c |    8 ++++----
> >  drivers/pci/pci.c                  |    4 ++--
> >  2 files changed, 6 insertions(+), 6 deletions(-)

Bug introduced via the DRM tree? Then the fix should go via the DRM
tree or via the PCI tree i suspect.

Thanks,

Ingo

2011-06-09 10:40:50

by David Airlie

[permalink] [raw]
Subject: Re: [PATCH] uv/x2apic: update for change in pci bridge handling.

On Thu, 2011-06-09 at 09:09 +0200, Ingo Molnar wrote:
> * Dave Airlie <[email protected]> wrote:
>
> > On Wed, May 25, 2011 at 2:00 PM, Dave Airlie <[email protected]> wrote:
> > > From: Dave Airlie <[email protected]>
> > >
> > > I forgot about the special uv handling code for this, so this
> > > patch fixes it up.
> >
> > ping?
> >
> > This fixes a warning and bug in Linus tree,
> >
> > CC arch/x86/kernel/apic/x2apic_uv_x.o
> > /home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c: In
> > function ‘uv_system_init’:
> > /home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c:882:2:
> > warning: passing argument 1 of ‘pci_register_set_vga_state’ from
> > incompatible pointer type [enabled by default]
> > /home/airlied/git/linux-2.6/include/linux/pci.h:1094:13: note:
> > expected ‘arch_set_vga_state_t’ but argument is of type ‘int
> > (*)(struct pci_dev *, bool, unsigned int, bool)’
> >
> >
> > Dave.
> >
> > >
> > > Signed-off-by: Dave Airlie <[email protected]>
> > > ---
> > > arch/x86/kernel/apic/x2apic_uv_x.c | 8 ++++----
> > > drivers/pci/pci.c | 4 ++--
> > > 2 files changed, 6 insertions(+), 6 deletions(-)
>
> Bug introduced via the DRM tree? Then the fix should go via the DRM
> tree or via the PCI tree i suspect.

So I can take that as an ack for the x86 bit? :-)

I don't mind pushing it, just didn't want to step outside my box

Dave.

2011-06-09 11:16:56

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] uv/x2apic: update for change in pci bridge handling.


* Dave Airlie <[email protected]> wrote:

> On Thu, 2011-06-09 at 09:09 +0200, Ingo Molnar wrote:
> > * Dave Airlie <[email protected]> wrote:
> >
> > > On Wed, May 25, 2011 at 2:00 PM, Dave Airlie <[email protected]> wrote:
> > > > From: Dave Airlie <[email protected]>
> > > >
> > > > I forgot about the special uv handling code for this, so this
> > > > patch fixes it up.
> > >
> > > ping?
> > >
> > > This fixes a warning and bug in Linus tree,
> > >
> > > CC arch/x86/kernel/apic/x2apic_uv_x.o
> > > /home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c: In
> > > function ‘uv_system_init’:
> > > /home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c:882:2:
> > > warning: passing argument 1 of ‘pci_register_set_vga_state’ from
> > > incompatible pointer type [enabled by default]
> > > /home/airlied/git/linux-2.6/include/linux/pci.h:1094:13: note:
> > > expected ‘arch_set_vga_state_t’ but argument is of type ‘int
> > > (*)(struct pci_dev *, bool, unsigned int, bool)’
> > >
> > >
> > > Dave.
> > >
> > > >
> > > > Signed-off-by: Dave Airlie <[email protected]>
> > > > ---
> > > > arch/x86/kernel/apic/x2apic_uv_x.c | 8 ++++----
> > > > drivers/pci/pci.c | 4 ++--
> > > > 2 files changed, 6 insertions(+), 6 deletions(-)
> >
> > Bug introduced via the DRM tree? Then the fix should go via the DRM
> > tree or via the PCI tree i suspect.
>
> So I can take that as an ack for the x86 bit? :-)

Sure thing, you always have my implicit ack for obvious bug fixes,
especially if you were the one who broke things ;-)

[ I might criticise you if you do something ugly, but i generally do
that regardless of who maintains what. In any case, as long as you
don't do ugly fixes you should always be safe from me! ;-) ]

Thanks,

Ingo

2011-06-09 15:13:44

by Jesse Barnes

[permalink] [raw]
Subject: Re: [PATCH] uv/x2apic: update for change in pci bridge handling.

On Thu, 9 Jun 2011 13:43:52 +1000
Dave Airlie <[email protected]> wrote:

> On Wed, May 25, 2011 at 2:00 PM, Dave Airlie <[email protected]> wrote:
> > From: Dave Airlie <[email protected]>
> >
> > I forgot about the special uv handling code for this, so this
> > patch fixes it up.
>
> ping?
>
> This fixes a warning and bug in Linus tree,
>
> CC arch/x86/kernel/apic/x2apic_uv_x.o
> /home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c: In
> function ?uv_system_init?:
> /home/airlied/git/linux-2.6/arch/x86/kernel/apic/x2apic_uv_x.c:882:2:
> warning: passing argument 1 of ?pci_register_set_vga_state? from
> incompatible pointer type [enabled by default]
> /home/airlied/git/linux-2.6/include/linux/pci.h:1094:13: note:
> expected ?arch_set_vga_state_t? but argument is of type ?int
> (*)(struct pci_dev *, bool, unsigned int, bool)?
>
>
> Dave.
>
> >
> > Signed-off-by: Dave Airlie <[email protected]>
> > ---
> > ?arch/x86/kernel/apic/x2apic_uv_x.c | ? ?8 ++++----
> > ?drivers/pci/pci.c ? ? ? ? ? ? ? ? ?| ? ?4 ++--
> > ?2 files changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c
> > index 33b10a0..185cd1e 100644
> > --- a/arch/x86/kernel/apic/x2apic_uv_x.c
> > +++ b/arch/x86/kernel/apic/x2apic_uv_x.c
> > @@ -599,14 +599,14 @@ late_initcall(uv_init_heartbeat);
> >
> > ?/* Direct Legacy VGA I/O traffic to designated IOH */
> > ?int uv_set_vga_state(struct pci_dev *pdev, bool decode,
> > - ? ? ? ? ? ? ? ? ? ? unsigned int command_bits, bool change_bridge)
> > + ? ? ? ? ? ? ? ? ? ? unsigned int command_bits, u32 flags)
> > ?{
> > ? ? ? ?int domain, bus, rc;
> >
> > - ? ? ? PR_DEVEL("devfn %x decode %d cmd %x chg_brdg %d\n",
> > - ? ? ? ? ? ? ? ? ? ? ? pdev->devfn, decode, command_bits, change_bridge);
> > + ? ? ? PR_DEVEL("devfn %x decode %d cmd %x flags %d\n",
> > + ? ? ? ? ? ? ? ? ? ? ? pdev->devfn, decode, command_bits, flags);
> >
> > - ? ? ? if (!change_bridge)
> > + ? ? ? if (!(flags & PCI_VGA_STATE_CHANGE_BRIDGE))
> > ? ? ? ? ? ? ? ?return 0;
> >
> > ? ? ? ?if ((command_bits & PCI_COMMAND_IO) == 0)
> > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> > index a339237..4528ee7 100644
> > --- a/drivers/pci/pci.c
> > +++ b/drivers/pci/pci.c
> > @@ -2862,11 +2862,11 @@ void __init pci_register_set_vga_state(arch_set_vga_state_t func)
> > ?}
> >
> > ?static int pci_set_vga_state_arch(struct pci_dev *dev, bool decode,
> > - ? ? ? ? ? ? ? ? ? ? unsigned int command_bits, bool change_bridge)
> > + ? ? ? ? ? ? ? ? ? ? unsigned int command_bits, u32 flags)
> > ?{
> > ? ? ? ?if (arch_set_vga_state)
> > ? ? ? ? ? ? ? ?return arch_set_vga_state(dev, decode, command_bits,
> > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? change_bridge);
> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? flags);
> > ? ? ? ?return 0;
> > ?}

Yeah, this is fine with me, you can push it through your tree.

Acked-by: Jesse Barnes <[email protected]>

--
Jesse Barnes, Intel Open Source Technology Center