Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/agpvar.h
RevisionDateAuthorComments
 1.22  10-Apr-2022  andvar fix various typos in comments and output/log messages.
 1.21  02-Nov-2014  christos make the apple code compile again.
 1.20  12-Jun-2014  riastradh Extend agp_generic_bind_memory with bounds to check.

New routine agp_generic_bind_memory_bounded.

Use it in agp_i810 to replace the pile of code I wrote as a
replacement which is apparently broken.
 1.19  12-Jun-2014  riastradh Check bounds in agp_i810_borrow.

Out of paranoia, do a bus_space_subregion in case the old drm code
tries sizes that the agp_i810 code doesn't agree with.
 1.18  06-May-2009  cegger branches: 1.18.22; 1.18.36;
struct device * -> device_t, no functional changes intended.
 1.17  09-Jun-2008  freza branches: 1.17.12;
o Split device_t/softc for agp(4).
o agp_ali.c: remove unused 'agp' member from agp_ali_softc.
o drm: agp_find_device() returns 'void *', not a device_t.
o Use device_t, cfdata_t instead of struct pointers.
o Don't cast void pointers in assignments.
 1.16  22-Feb-2008  drochner branches: 1.16.2; 1.16.4; 1.16.6;
Add a horrible hack to allow the DRM driver to get at the bus_space_handle
allocated by the AGP driver in the case of Intel chipset graphics.
This is different from the patch by Yorick Hardy circulated a while ago
in that it doesn't change the semantics of reference counting within
the (3rd-party) DRM code -- it just bypasses it.
Needless to say that it is uglier, but it eases future updates to
the DRM code because the change there is just 2 LOC.

Imo, a cleaner solution for all that would be to attach "agp" to "vga"
in the intel chipset graphics case, which better reflects how the hardware
is structured. This would still need a hack to the DRM code, but
it would be confined to childs of the "vga" device, without need for
global variables.
Since there is a variety of intel chipsets with AGP and/or builtin
graphics options, this would need a considerable testing effort.
 1.15  04-Aug-2007  kiyohara branches: 1.15.2; 1.15.18; 1.15.22; 1.15.24;
Add support agp_amd64. Imported from FreeBSD.
 1.14  06-Mar-2007  xtraeme branches: 1.14.2; 1.14.10; 1.14.14;
Use a mutex rather than lockmgr. Approved by Andrew Doran.
 1.13  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.12  17-Aug-2006  christos branches: 1.12.8;
Fix all the -D*DEBUG* code that it was rotting away and did not even compile.
Mostly from Arnaud Lacombe, many thanks!
 1.11  16-Jan-2006  christos branches: 1.11.2; 1.11.6;
PR/32550: Michael Eriksson: No agp(4) support for i915 integrated graphics
 1.10  11-Dec-2005  christos branches: 1.10.2;
merge ktrace-lwp.
 1.9  27-Feb-2005  perry branches: 1.9.2; 1.9.4;
nuke trailing whitespace
 1.8  30-Aug-2004  drochner branches: 1.8.4; 1.8.6;
Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
 1.7  30-Aug-2004  drochner add centralized {eisa,isa,pci,agp,mca}busprint() functions which do
what tens of the bus' parents foo{...}bridge_print()s scattered around do
 1.6  08-Jul-2003  itojun function prototype must not have variable name
 1.5  01-Feb-2003  thorpej branches: 1.5.2;
Add extensible malloc types, adapted from FreeBSD. This turns
malloc types into a structure, a pointer to which is passed around,
instead of an int constant. Allow the limit to be adjusted when the
malloc type is defined, or with a function call, as suggested by
Jonathan Stone.
 1.4  01-Oct-2001  fvdl Don't map the aperture into KVA, it isn't needed.
 1.3  15-Sep-2001  thorpej branches: 1.3.2; 1.3.4;
Clean up the AGP match/attach code somewhat.
 1.2  11-Sep-2001  fvdl branches: 1.2.2;
Fix i810/other intel chipsets attach mishap.
 1.1  10-Sep-2001  fvdl AGP GART support code. Originally written by Doug Rabson for FreeBSD,
modifications to fit it into the NetBSD device/config structure and
to use bus_dma by me.
 1.2.2.3  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.2.2  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.2.2.1  11-Sep-2001  thorpej file agpvar.h was added on branch kqueue on 2001-09-13 01:15:52 +0000
 1.3.4.3  11-Oct-2001  fvdl Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.
 1.3.4.2  01-Oct-2001  fvdl Catch up with -current.
 1.3.4.1  15-Sep-2001  fvdl file agpvar.h was added on branch thorpej-devvp on 2001-10-01 12:45:52 +0000
 1.3.2.3  08-Oct-2001  nathanw Catch up to -current.
 1.3.2.2  21-Sep-2001  nathanw Catch up to -current.
 1.3.2.1  15-Sep-2001  nathanw file agpvar.h was added on branch nathanw_sa on 2001-09-21 22:35:53 +0000
 1.5.2.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.5.2.2  03-Sep-2004  skrll Sync with HEAD
 1.5.2.1  03-Aug-2004  skrll Sync with HEAD
 1.8.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.8.4.1  29-Apr-2005  kent sync with -current
 1.9.4.4  27-Feb-2008  yamt sync with head.
 1.9.4.3  03-Sep-2007  yamt sync with head.
 1.9.4.2  30-Dec-2006  yamt sync with head.
 1.9.4.1  21-Jun-2006  yamt sync with head.
 1.9.2.1  14-Feb-2006  riz Pull up following revision(s) (requested by tron in ticket #1168):
sys/dev/pci/agp_i810.c: revision 1.28
sys/arch/i386/pci/pchb.c: revision 1.57
sys/dev/pci/agpvar.h: revision 1.11
sys/dev/pci/agp_via.c: revision 1.9
sys/dev/pci/agp.c: revision 1.37
sys/dev/pci/agpreg.h: revision 1.10
sys/dev/pci/pcidevs: revision 1.757
sys/dev/pci/agp_amd.c: revision 1.14
sys/dev/pci/agp_intel.c: revision 1.17
sys/dev/pci/agp_sis.c: revision 1.8
sys/dev/pci/agp_ali.c: revision 1.9
sys/arch/i386/pci/pchb_rnd.c: revision 1.16
PR/32550: Michael Eriksson: No agp(4) support for i915 integrated graphics
 1.10.2.1  01-Feb-2006  yamt sync with head.
 1.11.6.1  03-Sep-2006  yamt sync with head.
 1.11.2.1  09-Sep-2006  rpaulo sync with head
 1.12.8.1  12-Mar-2007  rmind Sync with HEAD.
 1.14.14.4  06-Nov-2007  joerg Refactor PNP API:
- Make suspend/resume directly a device functionality. It consists of
three layers (class logic, device logic, bus logic), all of them being
optional. This replaces D0/D3 transitions.
- device_is_active returns true if the device was not disabled and was
not suspended (even partially), device_is_enabled returns true if the
device was enabled.
- Change pnp_global_transition into pnp_system_suspend and
pnp_system_resume. Before running any suspend/resume handlers, check
that all currently attached devices support power management and bail
out otherwise. The latter is not done for the shutdown/panic case.
- Make the former bus-specific generic network handlers a class handler.
- Make PNP message like volume up/down/toogle PNP events. Each device
can register what events they are interested in and whether the handler
should be global or not.
- Introduce device_active API for devices to mark themselve in use from
either the system or the device. Use this to implement the idle handling
for audio and input devices. This is intended to replace most ad-hoc
watchdogs as well.
- Fix somes situations in which audio resume would lose mixer settings.
- Make USB host controllers better deal with suspend in the light of
shared interrupts.
- Flush filesystem cache on suspend.
- Flush disk caches on suspend. Put ATA disks into standby on suspend as
well.
- Adopt drivers to use the new PNP API.
- Fix a critical bug in the generic cardbus layer that made D0->D3
break.
- Fix ral(4) to set if_stop.
- Convert cbb(4) to the new PNP API.
- Apply the PCI Express SCI fix on resume again.
 1.14.14.3  01-Oct-2007  joerg Extend device API by device_power_private and device_power_set_private.
The latter is a temporary mean until the pnp_register API itself is
overhault. This functions allow a generic power handler to store its
state independent of the driver.

Use this and revamp the PCI power handling. Pretty much all PCI devices
had power handlers that did the same thing, generalize this in
pci_generic_power_register/deregister and the handler. This interface
offers callbacks for the drivers to save and restore state on
transistions. After a long discussion with jmcneill@ it was considered
to be powerful enough until evidence is shown that devices can handle
D1/D2 with less code and higher speed than without the full
save/restore. The generic code is carefully written to handle device
without PCI-PM support and ensure that the correct registers are written
to when D3 loses all state.

Reimplement the generic PCI network device handling on
top of PCI generic power handling.

Introduce pci_disable_retry as used and implemented locally at least by
ath(4) and iwi(4). Use it in this drivers to restore behaviour from
before the introduction of generic PCI network handling.

Convert all PCI drivers that were using pnp_register to the new
framework. The only exception is vga(4) as it is commonly used as
console device. Add a note therein that this should be fixed later.
 1.14.14.2  06-Aug-2007  jmcneill Move agp_i810_power to agp, since it does nothing specific to the i810
hardware. Allow agp front-ends to override the default power handler if
specific configuration needs to take place, and expose agp_power via
agpvar.h so the front-ends can call back to it to do generic initialization.
 1.14.14.1  04-Aug-2007  jmcneill Sync with HEAD.
 1.14.10.1  15-Aug-2007  skrll Sync with HEAD.
 1.14.2.1  20-Aug-2007  ad Sync with HEAD.
 1.15.24.2  04-Aug-2007  kiyohara Add support agp_amd64. Imported from FreeBSD.
 1.15.24.1  04-Aug-2007  kiyohara file agpvar.h was added on branch matt-mips64 on 2007-08-04 09:33:06 +0000
 1.15.22.2  29-Jun-2008  mjf Sync with HEAD.
 1.15.22.1  03-Apr-2008  mjf Sync with HEAD.
 1.15.18.1  24-Mar-2008  keiichi sync with head.
 1.15.2.1  23-Mar-2008  matt sync with HEAD
 1.16.6.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.16.4.2  16-May-2009  yamt sync with head
 1.16.4.1  04-May-2009  yamt sync with head.
 1.16.2.1  17-Jun-2008  yamt sync with head.
 1.17.12.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.36.1  10-Aug-2014  tls Rebase.
 1.18.22.2  03-Dec-2017  jdolecek update from HEAD
 1.18.22.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.

RSS XML Feed