Author: yongari
Date: Thu Mar 25 17:17:35 2010
New Revision: 205651
URL: http://svn.freebsd.org/changeset/base/205651

Log:
  Use pci_get_max_read_req() and pci_set_max_read_req() to set maximim
  read request size.

Modified:
  head/sys/dev/bge/if_bge.c

Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c   Thu Mar 25 17:14:47 2010        (r205650)
+++ head/sys/dev/bge/if_bge.c   Thu Mar 25 17:17:35 2010        (r205651)
@@ -421,7 +421,6 @@ static uint32_t bge_readreg_ind(struct b
 #endif
 static void bge_writemem_direct(struct bge_softc *, int, int);
 static void bge_writereg_ind(struct bge_softc *, int, int);
-static void bge_set_max_readrq(struct bge_softc *);
 
 static int bge_miibus_readreg(device_t, int, int);
 static int bge_miibus_writereg(device_t, int, int, int);
@@ -561,32 +560,6 @@ bge_writemem_ind(struct bge_softc *sc, i
        pci_write_config(dev, BGE_PCI_MEMWIN_BASEADDR, 0, 4);
 }
 
-/*
- * PCI Express only
- */
-static void
-bge_set_max_readrq(struct bge_softc *sc)
-{
-       device_t dev;
-       uint16_t val;
-
-       dev = sc->bge_dev;
-
-       val = pci_read_config(dev, sc->bge_expcap + PCIR_EXPRESS_DEVICE_CTL, 2);
-       if ((val & PCIM_EXP_CTL_MAX_READ_REQUEST) !=
-           BGE_PCIE_DEVCTL_MAX_READRQ_4096) {
-               if (bootverbose)
-                       device_printf(dev, "adjust device control 0x%04x ",
-                           val);
-               val &= ~PCIM_EXP_CTL_MAX_READ_REQUEST;
-               val |= BGE_PCIE_DEVCTL_MAX_READRQ_4096;
-               pci_write_config(dev, sc->bge_expcap + PCIR_EXPRESS_DEVICE_CTL,
-                   val, 2);
-               if (bootverbose)
-                       printf("-> 0x%04x\n", val);
-       }
-}
-
 #ifdef notdef
 static uint32_t
 bge_readreg_ind(struct bge_softc *sc, int off)
@@ -2695,7 +2668,8 @@ bge_attach(device_t dev)
                 */
                sc->bge_flags |= BGE_FLAG_PCIE;
                sc->bge_expcap = reg;
-               bge_set_max_readrq(sc);
+               if (pci_get_max_read_req(dev) != 4096)
+                       pci_set_max_read_req(dev, 4096);
        } else {
                /*
                 * Check if the device is in PCI-X Mode.
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to