Home | History | Annotate | Download | only in drm
History log of /src/sys/external/bsd/drm2/drm/drm_memory.c
RevisionDateAuthorComments
 1.17  19-Dec-2021  riastradh Misc stubs.
 1.16  19-Dec-2021  riastradh <drm/drm_print.h> for DRM_DEBUG
 1.15  19-Dec-2021  riastradh Remove last users of drmP.h.
 1.14  19-Dec-2021  riastradh Make ourselves less dependent on drmP.h, removed upstream.

This causes some trouble as CONFIG_* lines might not be appropriately
defined. A few declarations remain in drmP.h so it's not gone.


Author: Maya Rashish <maya@NetBSD.org>
 1.13  27-Aug-2018  riastradh Tread carefully around DMA subregions.

Not all platforms support it.

- If we want to limit to 32-bit DMA, just use a known 32-bit DMA tag.
- If we want to limit to >32-bit DMA, but the host only has a known
32-bit DMA tag, then just use that anyway.
- If we want to limit to >32-bit DMA, but the host doesn't support
bus_dmatag_subregion, then just use the 32-bit DMA tag anyway.

Gives powerpc, sparc a chance of working.
 1.12  27-Aug-2018  riastradh Get the legacy drm declarations from drm_legacy.h.
 1.11  27-Aug-2018  riastradh Rename drm_core_ioremap -> drm_legacy_ioremap as upstream.
 1.10  06-Mar-2016  mlelstv branches: 1.10.16; 1.10.18;
Non-x86 doesn't have AGP. This should really be handled by config logic.
 1.9  05-Mar-2016  mlelstv Make agp_i810 also depend on agp so that a 'no agp' build is possible.
 1.8  17-Oct-2015  jmcneill build on platforms without agp_i810
 1.7  29-Apr-2015  riastradh Replace drm_ioremap by drm_core_ioremap, reducing diff a little.
 1.6  16-Jul-2014  riastradh branches: 1.6.2; 1.6.4; 1.6.6;
Make it build and boot on my test machines.

Screen blanks on boot on the Ivy Bridge system with

DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun

But after that everything is OK. Appears to be an upstream problem.
To investigate...

I think there's a cache flushing issue somewhere -- there are little
display artefacts on my T60.
 1.5  01-Jul-2014  riastradh Honour write-combining flag in drm_ioremap.
 1.4  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.3  14-May-2014  riastradh branches: 1.3.2; 1.3.4;
Fix error branch in drm_limit_dma_space.
 1.2  18-Mar-2014  riastradh branches: 1.2.2;
Merge riastradh-drm2 to HEAD.
 1.1  24-Jul-2013  riastradh branches: 1.1.2;
file drm_memory.c was initially added on branch riastradh-drm2.
 1.1.2.8  08-Sep-2013  riastradh Simplify drm_ioremap and map only what is requested, exclusively.
 1.1.2.7  24-Jul-2013  riastradh Remove comment about cargo-cult provenance of drm_memory.c.

Only drm_ioremap was cargo-culted from the old drm's drm_memory.c,
and that's a bit of a strong word for it by now.
 1.1.2.6  24-Jul-2013  riastradh Add drm_limit_dma_space to limit the memory available for DMA.

Designed as a compatibility stub to replace dma_set_coherent_mask in
Linux. Not exactly the same, but probably close enough for all uses
of dma_set_coherent_mask in Linux.
 1.1.2.5  24-Jul-2013  riastradh Fix sense of refcount decrement conditional in drm_iounmap.

Add some kasserts just in case.
 1.1.2.4  24-Jul-2013  riastradh Omit __drm_pci_free. Use kmem for drm_dma_handles now that we can.
 1.1.2.3  24-Jul-2013  riastradh Update drm_memory.c to reflect drm_local_map tagged union changes.
 1.1.2.2  24-Jul-2013  riastradh Add drm_pci_alloc/drm_pci_free to local drm_memory.c.

Moved here from upstream's drm_pci.c because they don't actually
depend on anything of PCI; they just invoke the bus-independent
bus_dma abstraction.
 1.1.2.1  24-Jul-2013  riastradh Add local drm_memory.c to implement drm_ioremap and drm_iounmap.
 1.2.2.1  10-Aug-2014  tls Rebase.
 1.3.4.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.4.1  14-May-2014  yamt file drm_memory.c was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
 1.3.2.2  18-May-2014  rmind sync with head
 1.3.2.1  14-May-2014  rmind file drm_memory.c was added on branch rmind-smpnet on 2014-05-18 17:46:00 +0000
 1.6.6.3  19-Mar-2016  skrll Sync with HEAD
 1.6.6.2  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.6.6.1  06-Jun-2015  skrll Sync with HEAD
 1.6.4.3  03-Dec-2017  jdolecek update from HEAD
 1.6.4.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.4.1  16-Jul-2014  tls file drm_memory.c was added on branch tls-maxphys on 2014-08-20 00:04:20 +0000
 1.6.2.1  30-Jul-2015  snj Pull up following revision(s) (requested by riastradh in ticket #904):
sys/external/bsd/drm2/dist/drm/drm_bufs.c: revision 1.7
sys/external/bsd/drm2/dist/include/drm/drmP.h: revision 1.11
sys/external/bsd/drm2/drm/drm_memory.c: revision 1.7
sys/external/bsd/drm2/pci/drm_pci.c: revision 1.13
Replace drm_ioremap by drm_core_ioremap, reducing diff a little.
 1.10.18.1  10-Jun-2019  christos Sync with HEAD
 1.10.16.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

RSS XML Feed