[PATCH] AGP 1/7: factor device command updates

From: Bjorn Helgaas (bjorn_helgaas@hp.com)
Date: Tue Jan 07 2003 - 15:35:36 EST


Here's a series of minor AGP cleanups for 2.5. The point of
doing these is to reduce all the code duplication in the agp_enable
functions. The next step will be to wean hp-agp from its dependence
on "fake PCI devices," which requires a new agp_enable function, and
I didn't have the stomach to copy-n-paste all the stuff in there again.

Summary:
    1: factor device command updates
    2: fix old pci_find_capability merge botch
    3: remove unused var in amd-k8-agp.c
    4: add generic print of AGP version & mode when programming devices
    5: factor device capability collection
    6: use PCI_AGP_* constants
    7: use pci_find_capability in sworks-agp.c

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.971 -> 1.972
# drivers/char/agp/generic.c 1.10 -> 1.11
# drivers/char/agp/sworks-agp.c 1.12 -> 1.13
# drivers/char/agp/amd-k8-agp.c 1.15 -> 1.16
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/01/07 bjorn_helgaas@hp.com 1.972
# Factor out updating AGP device command registers.
# --------------------------------------------
#
diff -Nru a/drivers/char/agp/amd-k8-agp.c b/drivers/char/agp/amd-k8-agp.c
--- a/drivers/char/agp/amd-k8-agp.c Tue Jan 7 12:51:49 2003
+++ b/drivers/char/agp/amd-k8-agp.c Tue Jan 7 12:51:49 2003
@@ -435,11 +435,7 @@
          * command registers.
          */
 
- pci_for_each_dev(device) {
- cap_ptr = pci_find_capability(device, PCI_CAP_ID_AGP);
- if (cap_ptr != 0x00)
- pci_write_config_dword(device, cap_ptr + 8, command);
- }
+ agp_device_command(command);
 }
 
 
diff -Nru a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c
--- a/drivers/char/agp/generic.c Tue Jan 7 12:51:49 2003
+++ b/drivers/char/agp/generic.c Tue Jan 7 12:51:49 2003
@@ -313,6 +313,20 @@
 
 
 /* Generic Agp routines - Start */
+
+void agp_device_command(u32 command)
+{
+ struct pci_dev *device;
+
+ pci_for_each_dev(device) {
+ u8 agp = pci_find_capability(device, PCI_CAP_ID_AGP);
+ if (!agp)
+ continue;
+
+ pci_write_config_dword(device, agp + 8, command);
+ }
+}
+
 void agp_generic_agp_enable(u32 mode)
 {
         struct pci_dev *device = NULL;
@@ -395,11 +409,7 @@
          * command registers.
          */
 
- pci_for_each_dev(device) {
- cap_ptr = pci_find_capability(device, PCI_CAP_ID_AGP);
- if (cap_ptr != 0x00)
- pci_write_config_dword(device, cap_ptr + 8, command);
- }
+ agp_device_command(command);
 }
 
 int agp_generic_create_gatt_table(void)
diff -Nru a/drivers/char/agp/sworks-agp.c b/drivers/char/agp/sworks-agp.c
--- a/drivers/char/agp/sworks-agp.c Tue Jan 7 12:51:49 2003
+++ b/drivers/char/agp/sworks-agp.c Tue Jan 7 12:51:49 2003
@@ -506,11 +506,7 @@
          * command registers.
          */
 
- pci_for_each_dev(device) {
- cap_ptr = pci_find_capability(device, PCI_CAP_ID_AGP);
- if (cap_ptr != 0x00)
- pci_write_config_dword(device, cap_ptr + 8, command);
- }
+ agp_device_command(command);
 }
 
 static int __init serverworks_setup (struct pci_dev *pdev)

-
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/



This archive was generated by hypermail 2b29 : Tue Jan 07 2003 - 22:00:36 EST