Re: [PATCH] AGP 4/7: add generic print of AGP version & mode

Ingo Oeser (ingo.oeser@informatik.tu-chemnitz.de)
Wed, 8 Jan 2003 17:11:48 +0100


Hi Bjorn,
hi lkml,

On Tue, Jan 07, 2003 at 01:38:17PM -0700, Bjorn Helgaas wrote:
> diff -Nru a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c
> --- a/drivers/char/agp/generic.c Tue Jan 7 12:52:25 2003
> +++ b/drivers/char/agp/generic.c Tue Jan 7 12:52:25 2003
> @@ -314,15 +314,22 @@
>
> /* Generic Agp routines - Start */
>
> -void agp_device_command(u32 command)
> +void agp_device_command(u32 command, int agp_v3)

Why not agp_version?

> {
> struct pci_dev *device;
> + int mode;
> +
> + mode = command & 0x7;
> + if (agp_v3)
> + mode *= 4;
>
> pci_for_each_dev(device) {
> u8 agp = pci_find_capability(device, PCI_CAP_ID_AGP);
> if (!agp)
> continue;
>
> + printk(KERN_INFO PFX "Putting AGP V%d device at %s into %dx mode\n",
> + agp_v3 ? 3 : 2, device->slot_name, mode);

Why not use agp_version directly here?

> pci_write_config_dword(device, agp + 8, command);
> }
> }

And always supply AGP_VERSION_1, AGP_VERSION_2, AGP_VERSION_3 and
so or simply numbers to that command?

This offers a lot of possibilities:

- Version checking (drivers can deny commands not suitable for
this interface, if this checking is enabled)

- Support for AGP_VERSION_4 can be implemented without
obfuscating the interface for older (non-compliant) drivers.

- One check less ;-)

- Cleaner Code

Regards

Ingo Oeser

-- 
Science is what we can tell a computer. Art is everything else. --- D.E.Knuth
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/