Re: hostb(4) and vgapci(4) patch

From: Anish Mistry <mistry.7_at_osu.edu>
Date: Thu, 15 Dec 2005 00:32:54 -0500
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_at_ 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

Received on Thu Dec 15 2005 - 04:31:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:49 UTC