Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/agp_amd64.c
RevisionDateAuthorComments
 1.9  10-Nov-2019  chs in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.8  04-Apr-2015  riastradh branches: 1.8.18;
Fix error branches in agp_amd64.c.

- agp_generic_detach always.
- Free asc if it was allocated. (Found by Brainy, noted by maxv@.)
- Free the GATT if it was allocated.
 1.7  25-Feb-2012  tsutsui branches: 1.7.2; 1.7.14; 1.7.16;
- make agp_amd64_attach() also checks AMD64 Family 10h CPU's
misc configuration devices
- print proper error message if no misc configuration device is found

Fixes kernel crash right after starting Xserver with radeondrm
on ASRock AM2NF3-VSTA (AM2 + nForce3 250 AGP) with Athlon II X2 CPU.
 1.6  13-Nov-2010  uebayasi branches: 1.6.8; 1.6.12; 1.6.14;
Don't pull in the whole uvm(9) API to access only PAGE_SIZE and
some other constants. These are provided by sys/param.h now.
 1.5  28-Mar-2008  kiyohara branches: 1.5.26;
Fix ugly format in aprint_normal{,_dev}.
 1.4  27-Mar-2008  kiyohara Split device_t/softc.
 1.3  04-Jan-2008  ad branches: 1.3.6;
Start detangling lock.h from intr.h. This is likely to cause short term
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.
 1.2  19-Oct-2007  ad branches: 1.2.2; 1.2.8;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.1  04-Aug-2007  kiyohara branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.14; 1.1.16;
Add support agp_amd64. Imported from FreeBSD.
 1.1.16.2  04-Aug-2007  kiyohara Add support agp_amd64. Imported from FreeBSD.
 1.1.16.1  04-Aug-2007  kiyohara file agp_amd64.c was added on branch matt-mips64 on 2007-08-04 09:33:06 +0000
 1.1.14.1  25-Oct-2007  bouyer Sync with HEAD.
 1.1.10.4  21-Jan-2008  yamt sync with head
 1.1.10.3  27-Oct-2007  yamt sync with head.
 1.1.10.2  03-Sep-2007  yamt sync with head.
 1.1.10.1  04-Aug-2007  yamt file agp_amd64.c was added on branch yamt-lazymbuf on 2007-09-03 14:36:17 +0000
 1.1.8.2  09-Jan-2008  matt sync with HEAD
 1.1.8.1  06-Nov-2007  matt sync with HEAD
 1.1.6.3  23-Oct-2007  ad Sync with head.
 1.1.6.2  20-Aug-2007  ad Sync with HEAD.
 1.1.6.1  04-Aug-2007  ad file agp_amd64.c was added on branch vmlocking on 2007-08-20 22:07:03 +0000
 1.1.4.2  15-Aug-2007  skrll Sync with HEAD.
 1.1.4.1  04-Aug-2007  skrll file agp_amd64.c was added on branch nick-csl-alignment on 2007-08-15 13:48:27 +0000
 1.1.2.3  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.1.2.2  04-Aug-2007  jmcneill Sync with HEAD.
 1.1.2.1  04-Aug-2007  jmcneill file agp_amd64.c was added on branch jmcneill-pm on 2007-08-04 12:33:09 +0000
 1.2.8.1  08-Jan-2008  bouyer Sync with HEAD
 1.2.2.1  18-Feb-2008  mjf Sync with HEAD.
 1.3.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.5.26.1  05-Mar-2011  rmind sync with head
 1.6.14.1  08-Mar-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #95):
sys/dev/pci/agp_amd64.c: revision 1.7
- make agp_amd64_attach() also checks AMD64 Family 10h CPU's
misc configuration devices
- print proper error message if no misc configuration device is found
Fixes kernel crash right after starting Xserver with radeondrm
on ASRock AM2NF3-VSTA (AM2 + nForce3 250 AGP) with Athlon II X2 CPU.
 1.6.12.1  04-Mar-2012  mrg sync to latest -current.
 1.6.8.1  17-Apr-2012  yamt sync with head
 1.7.16.1  06-Apr-2015  skrll Sync with HEAD
 1.7.14.1  23-Apr-2015  snj Pull up following revision(s) (requested by mrg in ticket #718):
sys/arch/x86/include/pmap.h: revision 1.56
sys/arch/x86/x86/pmap.c: revision 1.188
sys/dev/pci/agp_amd64.c: revision 1.8
sys/dev/pci/agp_i810.c: revision 1.118
sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revision 1.16
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.29
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_agp.c: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.c: revision 1.4
sys/external/bsd/drm2/dist/drm/radeon/atombios_crtc.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/radeon_agp.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/radeon_display.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_crtc.c: revision 1.2
sys/external/bsd/drm2/dist/drm/radeon/radeon_object.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c: revision 1.7
sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c: revisions 1.7-1.10
sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c: revision 1.5
sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.13
sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: revisions 1.12, 1.13
sys/external/bsd/drm2/include/linux/mm.h: revision 1.5
sys/external/bsd/drm2/include/linux/pci.h: revisions 1.16, 1.17
sys/external/bsd/drm2/nouveau/nouveaufb.c: revision 1.2
sys/external/bsd/drm2/radeon/radeon_pci.c: revisions 1.8, 1.9
sys/uvm/uvm_init.c: revision 1.46
Hack against the blank console problem:
Leave the CLUT alone on ancient cards. At least this leaves us with a
semi working console (red and blue are flipped). Leave an example of what
seems to be happening but disable it because colors are better than 444 bit
greyscale.
--
Initialize P->V tracking for unmanaged device pages in uvm_init.

Conditional on __HAVE_PMAP_PV_TRACK until we add it to all pmaps.

MI part of pmap_pv(9) change proposed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html
--
Implement pmap_pv(9) for x86 for P->V tracking of unmanaged pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html
--
Use pmap_pv(9) to remove mappings of Intel graphics aperture pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html

Further background at:

https://mail-index.netbsd.org/tech-kern/2014/07/23/msg017392.html
--
Use pmap_pv(9) to remove mappings of device pages in TTM.

Adapt nouveau and radeon to do pmap_pv_track for their device pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html

Further background at:

https://mail-index.netbsd.org/tech-kern/2014/07/23/msg017392.html
--
Fix error branches in agp_amd64.c.

- agp_generic_detach always.
- Free asc if it was allocated. (Found by Brainy, noted by maxv@.)
- Free the GATT if it was allocated.
--
pmf_device_register returns false on failure, not true
--
In DRM_SPIN_WAIT_ON, don't stop after waiting only one tick.

Continue the loop to recheck the condition and count the whole
duration.
--
Don't use the video BIOS memory as an i915 flush page!
--
Don't let anyone else allocate the video BIOS either.
--
Missed a zero: it's 0x100000, not 0x10000.
--
Don't reserve if atomic -- caller must have pre-pinned the buffer.
--
Don't reserve if atomic -- caller must have pre-pinned the buffer.
--
almost add radeondrmkms suspend/resume support. it unfortunately doesn't work.
--
Need the page's uvm object lock to do pmap_page_protect.
--
Use KASSERTMSG to show bad base/offset.
--
KASSERT about page-alignment on initialization too.
--
Don't break when hardclock_ticks wraps around.

Since we now only count time spent in wait, rather than determining
the end time and checking whether we've passed it, timeouts might be
marginally longer in effect. Unlikely to be an issue.
--
Remove broken drm2 vm_mmap stub. Can't possibly have ever worked.
--
apply some of the additional changes from Arto Huusko in PR#49645:
- call pmf_device_deregister on detach.

i've kept the "resume = true" for radeon_resume_kms() call as it
seems to work for me (indeed, code inspection shows it is unused
on netbsd :-)

my old nforce4 box that can resume old drm (or could, last i tried
several years ago) while X and GL apps were running, can at least
survive a resume if X hasn't started. my one attempt so far with
X exited, but having run, did not work.
--
First attempt to make ttm_buffer_object_transfer less bogus.
--
Make sure mem.bus.is_iomem is initialized. PR 49833
 1.7.2.1  03-Dec-2017  jdolecek update from HEAD
 1.8.18.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411

RSS XML Feed