hostb(4) and vgapci(4) patch

Anish Mistry mistry.7 at osu.edu
Wed Dec 14 21:31:03 PST 2005


On Wednesday 14 December 2005 05:20 pm, John Baldwin wrote:
> I have a patch that is an attempt to untangle a few things in
> relation to Host-PCI bridges and VGA PCI devices.  Basically, the
> change is to create a more "real" hostb driver as well as a new
> vgapci driver and to change agp, drm, and acpi_video to attach to
> these drivers.  This means among other things:
>
> - In theory you can now kldload agp after boot since it still has a
> place to attach to.
> - i830/915 drm is no longer a child of agp, instead both become
> children of vgapci0.
> - You can now use acpi_video with drm as both attach as children of
> vgapci0. - This provides a way for us to possibly solve the DPMS
> problem for suspend/resume (including a cleaner way to do the hack
> dpms patch I posted to acpi@ a long while ago that several people
> still use).
>
> Some other details include:
>
> - agp devices no longer map the _entire_ aperture into contiguous
> KVA meaning that it might be possible now to use a 256 MB aperture
> without panicing - I've added a new pci_if.m method for locating a
> specific capability for a PCI device.
>
> I have tested this on my laptop and verified that dri still works,
> but it needs some wider testing, especially the i830/i915 case is
> slightly more complicated.  Also, this is not going to work with
> the nvidia-driver currently, but that's something that can be fixed
> in the future.  If the agp non-mapping does fix the 256 MB aperture
> issues then I will probably MFC that part to RELENG_6.
>
> http://www.FreeBSD.org/~jhb/patches/agp_cvs.patch
Thank you!  It seems to work as advertised.  I'm running mach64 DRM 
with the DPMS patch acpi_video and they both work. :)
One small problem though.  When I unload the acpi_video module and 
reload it I get the following:
littleguy# kldload acpi_video
acpi_video0: <ACPI video extension> on vgapci0
acpi_video1: <ACPI video extension> on vgapci0
littleguy# kldunload acpi_video
acpi_video0: detached
acpi_video1: detached
littleguy# kldunload acpi_video
kldunload: can't find file acpi_video: No such file or directory
littleguy# kldload acpi_video
acpi_video0: <ACPI video extension> on vgapci0
acpi_video1: <ACPI video extension> on vgapci0
acpi_video2: <ACPI video extension> on vgapci0
littleguy#
It also created multiple sysctls with subsequent loads:
hw.acpi.video.crt0.active: 1
hw.acpi.video.lcd0.active: 1
hw.acpi.video.tv0.active: 0
hw.acpi.video.crt1.active: 1
hw.acpi.video.lcd1.active: 1
hw.acpi.video.tv1.active: 0
hw.acpi.video.crt2.active: 1
hw.acpi.video.lcd2.active: 1
hw.acpi.video.tv2.active: 0


-- 
Anish Mistry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20051215/e7b9a89a/attachment.bin


More information about the freebsd-current mailing list