Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Apr 1999 12:37:24 -0600
From:      Nate Williams <nate@mt.sri.com>
To:        Roger Hardiman <roger@cs.strath.ac.uk>
Cc:        Wes Peters <wes@softweyr.com>, hackers@FreeBSD.ORG, multimedia@FreeBSD.ORG
Subject:   Re: Bt848 corruption since upgrading to 3.1. Has DMA code changed?
Message-ID:  <199904081837.MAA28461@mt.sri.com>
In-Reply-To: <370CD277.E9A64E04@cs.strath.ac.uk>
References:  <370CB2DC.709E7CEA@cs.strath.ac.uk> <370CAA37.3645E2B9@softweyr.com> <370CD277.E9A64E04@cs.strath.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
> > Does the driver explicitly turn on PCI bus mastering on the card?  The
> > PCI initialization code no longer does this.  This change bit the fxp
> > driver on some machines where the BIOS doesn't initialize bus mastering
> > on the card.
> 
> The driver has this code which enables the Bus Mastering.
> It was added back in the days of 3.0-current (about 12 months ago) when
> the driver
> was common to 2.2.x and 3.x. That is why there is a #if around the code.
> 
>   #if __FreeBSD__ > 2
>         fun = pci_conf_read(tag, PCI_COMMAND_STATUS_REG);
>         pci_conf_write(tag, PCI_COMMAND_STATUS_REG, fun | 4);
>   #endif  

Other than using a magic number of 4, that's almost the same as what's
used in the fxp code.  However, that also enables adds 0x2, which has
another meaning.

(It should be updated to not use the magic numbers, and instead use the
constants supplied in <pci/pcireg.h>, but that's a minor issue).



Nate


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message




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