Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Aug 2012 19:47:16 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r239918 - stable/8/sys/dev/pci
Message-ID:  <201208301947.q7UJlGpv002489@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Thu Aug 30 19:47:15 2012
New Revision: 239918
URL: http://svn.freebsd.org/changeset/base/239918

Log:
  MFC 239103:
  Explicitly enable busmastering on PCI-PCI bridges.  Transactions initiated
  on the secondary side of a bridge will not be propagated to the primary
  bus unless this is enabled.  Busmastering is not enabled by default (we
  have relied on firmware to set this bit to date).  The OS needs to set it
  for any bridges not configured by system firmware.

Modified:
  stable/8/sys/dev/pci/pci_pci.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/boot/   (props changed)
  stable/8/sys/cddl/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/compat/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/   (props changed)
  stable/8/sys/dev/e1000/   (props changed)
  stable/8/sys/dev/sound/   (props changed)
  stable/8/sys/dev/sound/pci/   (props changed)
  stable/8/sys/dev/virtio/   (props changed)
  stable/8/sys/kern/   (props changed)
  stable/8/sys/sys/   (props changed)
  stable/8/sys/vm/   (props changed)

Modified: stable/8/sys/dev/pci/pci_pci.c
==============================================================================
--- stable/8/sys/dev/pci/pci_pci.c	Thu Aug 30 19:46:38 2012	(r239917)
+++ stable/8/sys/dev/pci/pci_pci.c	Thu Aug 30 19:47:15 2012	(r239918)
@@ -582,6 +582,13 @@ pcib_attach_common(device_t dev)
      *     would be more widely routed than absolutely necessary.  We could
      *     then do a walk of the tree later and fix it.
      */
+
+    /*
+     * Always enable busmastering on bridges so that transactions
+     * initiated on the secondary bus are passed through to the
+     * primary bus.
+     */
+    pci_enable_busmaster(dev);
 }
 
 int



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208301947.q7UJlGpv002489>