Date: Mon, 6 Aug 2012 19:49:57 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r239103 - head/sys/dev/pci Message-ID: <201208061949.q76Jnv7c076068@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhb Date: Mon Aug 6 19:49:57 2012 New Revision: 239103 URL: http://svn.freebsd.org/changeset/base/239103 Log: 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. Tested by: Steve Polyack korvus comcast net MFC after: 2 weeks Modified: head/sys/dev/pci/pci_pci.c Modified: head/sys/dev/pci/pci_pci.c ============================================================================== --- head/sys/dev/pci/pci_pci.c Mon Aug 6 18:54:17 2012 (r239102) +++ head/sys/dev/pci/pci_pci.c Mon Aug 6 19:49:57 2012 (r239103) @@ -683,6 +683,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?201208061949.q76Jnv7c076068>