Skip site navigation (1)Skip section navigation (2)

CVS log for src/sys/arm/arm/busdma_machdep.c

[BACK] Up to [FreeBSD] / src / sys / arm / arm

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.50.2.1.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 11 04:20:22 2011 UTC (3 months ago) by kensmith
Branches: RELENG_9_0
CVS tags: RELENG_9_0_0_RELEASE
Diff to: previous 1.50.2.1: preferred, colored; next MAIN 1.51: preferred, colored
Changes since revision 1.50.2.1: +0 -0 lines
SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)

Revision 1.51: download - view: text, markup, annotated - select for diffs
Mon Nov 7 15:43:11 2011 UTC (3 months ago) by ed
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +1 -1 lines
SVN rev 227309 on 2011-11-07 15:43:11Z by ed

Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.

The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.

Revision 1.50.2.1: download - view: text, markup, annotated - select for diffs
Fri Sep 23 00:51:37 2011 UTC (4 months, 2 weeks ago) by kensmith
Branches: RELENG_9
CVS tags: RELENG_9_0_BP
Branch point for: RELENG_9_0
Diff to: previous 1.50: preferred, colored; next MAIN 1.51: preferred, colored
Changes since revision 1.50: +0 -0 lines
SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)

Revision 1.35.2.7.4.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:10:29 2010 UTC (13 months, 3 weeks ago) by kensmith
Branches: RELENG_7_4
CVS tags: RELENG_7_4_0_RELEASE
Diff to: previous 1.35.2.7: preferred, colored; next MAIN 1.36: preferred, colored
Changes since revision 1.35.2.7: +0 -0 lines
SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)

Revision 1.48.2.2.4.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:09:25 2010 UTC (13 months, 3 weeks ago) by kensmith
Branches: RELENG_8_2
CVS tags: RELENG_8_2_0_RELEASE
Diff to: previous 1.48.2.2: preferred, colored; next MAIN 1.49: preferred, colored
Changes since revision 1.48.2.2: +0 -0 lines
SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)

Revision 1.48.2.2.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 14 02:09:06 2010 UTC (19 months, 4 weeks ago) by kensmith
Branches: RELENG_8_1
CVS tags: RELENG_8_1_0_RELEASE
Diff to: previous 1.48.2.2: preferred, colored; next MAIN 1.49: preferred, colored
Changes since revision 1.48.2.2: +0 -0 lines
SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)

Revision 1.48.2.2: download - view: text, markup, annotated - select for diffs
Mon Mar 15 19:59:16 2010 UTC (22 months, 4 weeks ago) by raj
Branches: RELENG_8
CVS tags: RELENG_8_2_BP, RELENG_8_1_BP
Branch point for: RELENG_8_2, RELENG_8_1
Diff to: previous 1.48.2.1: preferred, colored; branchpoint 1.48: preferred, colored; next MAIN 1.49: preferred, colored
Changes since revision 1.48.2.1: +2 -1 lines
SVN rev 205193 on 2010-03-15 19:59:16Z by raj

MFC r205028

 Fix ARM cache handling yet more.

 1) vm_machdep.c: remove the dangling allocations so they do not
    un-necessarily turn off the cache upon consecutive access.

 2) busdma_machdep.c: remove the same amount than shadow mapped.

Reported by:	Maks Verver
Submitted by:	Mark Tinguely
Reviewed by:	Grzegorz Bernacki

Revision 1.50: download - view: text, markup, annotated - select for diffs
Thu Mar 11 21:16:54 2010 UTC (23 months ago) by raj
Branches: MAIN
CVS tags: RELENG_9_BP
Branch point for: RELENG_9
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +2 -1 lines
SVN rev 205028 on 2010-03-11 21:16:54Z by raj

Fix ARM cache handling yet more.

1) vm_machdep.c: remove the dangling allocations so they do not
   un-necessarily turn off the cache upon consecutive access.

2) busdma_machdep.c: remove the same amount than shadow mapped.

Reported by:	Maks Verver
Submitted by:	Mark Tinguely
Reviewed by:	Grzegorz Bernacki
MFC after:	3 days

Revision 1.35.2.7.2.1: download - view: text, markup, annotated - select for diffs
Wed Feb 10 00:26:20 2010 UTC (2 years ago) by kensmith
Branches: RELENG_7_3
CVS tags: RELENG_7_3_0_RELEASE
Diff to: previous 1.35.2.7: preferred, colored; next MAIN 1.36: preferred, colored
Changes since revision 1.35.2.7: +0 -0 lines
SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)

Revision 1.49: download - view: text, markup, annotated - select for diffs
Fri Jan 15 12:39:48 2010 UTC (2 years ago) by cognet
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +1 -1 lines
SVN rev 202353 on 2010-01-15 12:39:48Z by cognet

Do not free the dmamap if it is still busy.

Submitted by:	Mark Tinguely
MFC after:	3 days

Revision 1.48.2.1.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 25 01:10:29 2009 UTC (2 years, 3 months ago) by kensmith
Branches: RELENG_8_0
CVS tags: RELENG_8_0_0_RELEASE
Diff to: previous 1.48.2.1: preferred, colored; next MAIN 1.48.2.2: preferred, colored
Changes since revision 1.48.2.1: +0 -0 lines
SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)

Revision 1.48.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 3 08:13:06 2009 UTC (2 years, 6 months ago) by kensmith
Branches: RELENG_8
CVS tags: RELENG_8_0_BP
Branch point for: RELENG_8_0
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +0 -0 lines
SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)

Revision 1.48: download - view: text, markup, annotated - select for diffs
Mon Jul 20 07:53:07 2009 UTC (2 years, 6 months ago) by raj
Branches: MAIN
CVS tags: RELENG_8_BP
Branch point for: RELENG_8
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +0 -4 lines
SVN rev 195779 on 2009-07-20 07:53:07Z by raj

ARM pmap fixes.

a)  nocache-remap problem

   When a page is remapped into a non-cacheable virtual memory region there
   was no associated write-back invalidate operation performed. We remove
   writeback of the original buffer size from bus_dmamem_alloc() and add
   appropriate L1/L2 flush operation.

b) missing write-back invalidate operation

   In pmap_kremove a page is removed so we must do a write-back
   invalidate operation aligned to the page virtual address.

Submitted by:	Michal Hajduk
Reviewed by:	Mark Tinguely, rpaulo, stas
Approved by:	re (kib)
Obtained from:	Semihalf

Revision 1.35.2.7: download - view: text, markup, annotated - select for diffs
Tue May 26 16:01:50 2009 UTC (2 years, 8 months ago) by jhb
Branches: RELENG_7
CVS tags: RELENG_7_4_BP, RELENG_7_3_BP
Branch point for: RELENG_7_4, RELENG_7_3
Diff to: previous 1.35.2.6: preferred, colored; branchpoint 1.35: preferred, colored; next MAIN 1.36: preferred, colored
Changes since revision 1.35.2.6: +5 -11 lines
SVN rev 192815 on 2009-05-26 16:01:50Z by jhb

MFC:  Reduce the number of bounce zones (and thus the number of bounce
pages) used in some cases.

Revision 1.35.2.6: download - view: text, markup, annotated - select for diffs
Tue May 5 09:08:37 2009 UTC (2 years, 9 months ago) by kib
Branches: RELENG_7
Diff to: previous 1.35.2.5: preferred, colored; branchpoint 1.35: preferred, colored
Changes since revision 1.35.2.5: +8 -4 lines
SVN rev 191809 on 2009-05-05 09:08:37Z by kib

MFC r191011:
The bus_dmamap_load_uio(9) shall use pmap of the thread recorded in the
uio_td to extract pages from, instead of unconditionally use kernel
pmap.

Revision 1.47: download - view: text, markup, annotated - select for diffs
Thu Apr 23 20:24:19 2009 UTC (2 years, 9 months ago) by jhb
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +5 -11 lines
SVN rev 191438 on 2009-04-23 20:24:19Z by jhb

Reduce the number of bounce zones (and thus the number of bounce pages
used in some cases):
- Ignore DMA tag boundaries when allocating bounce pages.  The boundaries
  don't determine whether or not parts of a DMA request bounce.  Instead,
  they are just used to carve up segments.
- Allow tags with sub-page alignment to share bounce pages since bounce
  pages are always page aligned.

Reviewed by:	scottl (amd64)
MFC after:	1 month

Revision 1.46: download - view: text, markup, annotated - select for diffs
Fri Apr 17 13:22:18 2009 UTC (2 years, 9 months ago) by jhb
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +10 -3 lines
SVN rev 191201 on 2009-04-17 13:22:18Z by jhb

Restore bus DMA bounce pages to an offset of 0 when they are released by
a tag that has BUS_DMA_KEEP_PG_OFFSET set.  Otherwise the page could be
reused with a non-zero offset by a tag that doesn't have
BUS_DMA_KEEP_PG_OFFSET leading to data corruption.

Sleuthing by:	avg
Reviewed by:	scottl

Revision 1.35.2.5.2.1: download - view: text, markup, annotated - select for diffs
Wed Apr 15 03:14:26 2009 UTC (2 years, 9 months ago) by kensmith
Branches: RELENG_7_2
CVS tags: RELENG_7_2_0_RELEASE
Diff to: previous 1.35.2.5: preferred, colored; next MAIN 1.35.2.6: preferred, colored
Changes since revision 1.35.2.5: +0 -0 lines
SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)

Revision 1.45: download - view: text, markup, annotated - select for diffs
Mon Apr 13 19:20:32 2009 UTC (2 years, 9 months ago) by kib
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +8 -4 lines
SVN rev 191011 on 2009-04-13 19:20:32Z by kib

The bus_dmamap_load_uio(9) shall use pmap of the thread recorded in the
uio_td to extract pages from, instead of unconditionally use kernel
pmap.

Submitted by:	Jason Harmening <jason.harmening gmail com> (amd64 version)
PR:	amd64/133592
Reviewed by:	scottl (original patch), jhb
MFC after:	2 weeks

Revision 1.22.2.7: download - view: text, markup, annotated - select for diffs
Mon Feb 9 22:22:09 2009 UTC (3 years ago) by cognet
Branches: RELENG_6
Diff to: previous 1.22.2.6: preferred, colored; branchpoint 1.22: preferred, colored; next MAIN 1.23: preferred, colored
Changes since revision 1.22.2.6: +1 -1 lines
SVN rev 188421 on 2009-02-09 22:22:09Z by cognet

MFC r188112
r188112 | cognet | 2009-02-04 02:14:06 +0100 (Wed, 04 Feb 2009) | 8 lines

Erm... Report the buffer as being bounced even when it's the entire buffer,
or we would end up invalidating the cache line for what we just copied...

Revision 1.35.2.5: download - view: text, markup, annotated - select for diffs
Mon Feb 9 22:21:38 2009 UTC (3 years ago) by cognet
Branches: RELENG_7
CVS tags: RELENG_7_2_BP
Branch point for: RELENG_7_2
Diff to: previous 1.35.2.4: preferred, colored; branchpoint 1.35: preferred, colored
Changes since revision 1.35.2.4: +1 -1 lines
SVN rev 188420 on 2009-02-09 22:21:38Z by cognet

MFC r188112
r188112 | cognet | 2009-02-04 02:14:06 +0100 (Wed, 04 Feb 2009) | 8 lines

Erm... Report the buffer as being bounced even when it's the entire buffer,
or we would end up invalidating the cache line for what we just copied...

Revision 1.44: download - view: text, markup, annotated - select for diffs
Mon Feb 9 18:03:31 2009 UTC (3 years ago) by cognet
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +6 -1 lines
SVN rev 188403 on 2009-02-09 18:03:31Z by cognet

The bounce zone sees its page number increased if multiple dma maps use it in
the same dma tag. However, it can happen multiple dma tags share the same
bounce zone too, so add a per-bounce zone map counter, and check it instead of
the dma tag map counter, to know if we have to alloc more pages.

Reported by:	miwi
Reviewed by:	scottl

Revision 1.43: download - view: text, markup, annotated - select for diffs
Sun Feb 8 22:54:58 2009 UTC (3 years ago) by imp
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +7 -0 lines
SVN rev 188350 on 2009-02-08 22:54:58Z by imp

When bouncing pages, allow a new option to preserve the intra-page
offset.  This is needed for the ehci hardware buffer rings that assume
this behavior.

This is an interim solution, and a more general one is being worked
on.  This solution doesn't break anything that doesn't ask for it
directly.  The mbuf and uio variants with this flag likely don't work
and haven't been tested.

Universe builds with these changes.  I don't have a huge-memory
machine to test these changes with, but will be happy to work with
folks that do and hps if this changes turns out not to be sufficient.

Submitted by:	alfred@ from Hans Peter Selasky's original

Revision 1.42: download - view: text, markup, annotated - select for diffs
Wed Feb 4 01:14:06 2009 UTC (3 years ago) by cognet
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +1 -1 lines
SVN rev 188112 on 2009-02-04 01:14:06Z by cognet

Erm... Report the buffer as being bounced even when it's the entire buffer,
or we would end up invalidating the cache line for what we just copied...

Reported by:	thompsa
Pointy at to:	cognet

MFC after:	3 days

Revision 1.41: download - view: text, markup, annotated - select for diffs
Fri Jan 30 07:01:32 2009 UTC (3 years ago) by thompsa
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +2 -0 lines
SVN rev 187911 on 2009-01-30 07:01:32Z by thompsa

Increment total_bounced busdma stat as required.

Revision 1.35.2.4: download - view: text, markup, annotated - select for diffs
Sun Jan 18 11:43:23 2009 UTC (3 years ago) by stas
Branches: RELENG_7
Diff to: previous 1.35.2.3: preferred, colored; branchpoint 1.35: preferred, colored
Changes since revision 1.35.2.3: +2 -3 lines
SVN rev 187385 on 2009-01-18 11:43:23Z by stas

- Merge r185494:
  Get rid of unused variable in KTR checks. This allows ktr(4) enabled
  ARM kernel to compile.

PR:		rm/128897
Submitted by:	Pankov Pavel <pankov_p@mail.ru>

Revision 1.40: download - view: text, markup, annotated - select for diffs
Sun Nov 30 22:58:27 2008 UTC (3 years, 2 months ago) by stas
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +2 -3 lines
SVN rev 185494 on 2008-11-30 22:58:27Z by stas

- Get rid of unused variable in KTR checks. This allows ktr(4) enabled
  ARM kernel to compile.

PR:		arm/128897
Submitted by:	Pankov Pavel <pankov_p@mail.ru>
Reviewed by:	raj
Approved by:	kib (mentor, implicit)
MFC after:	1 week

Revision 1.35.2.3.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 25 02:59:29 2008 UTC (3 years, 2 months ago) by kensmith
Branches: RELENG_7_1
CVS tags: RELENG_7_1_0_RELEASE
Diff to: previous 1.35.2.3: preferred, colored; next MAIN 1.35.2.4: preferred, colored
Changes since revision 1.35.2.3: +0 -0 lines
SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)

Revision 1.39: download - view: text, markup, annotated - select for diffs
Mon Oct 13 18:59:59 2008 UTC (3 years, 3 months ago) by raj
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +2 -0 lines
SVN rev 183838 on 2008-10-13 18:59:59Z by raj

Provide L2 cache synchronization (write back + invalidation) on ARM.

Note the cpu_l2cache_wbinv_* routines are no-ops on systems not populated with
L2 caches.

Obtained from:	Marvell, Semihalf

Revision 1.22.2.6.2.1: download - view: text, markup, annotated - select for diffs
Thu Oct 2 02:57:24 2008 UTC (3 years, 4 months ago) by kensmith
Branches: RELENG_6_4
CVS tags: RELENG_6_4_0_RELEASE
Diff to: previous 1.22.2.6: preferred, colored; next MAIN 1.22.2.7: preferred, colored
Changes since revision 1.22.2.6: +0 -0 lines
SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)

Revision 1.35.2.3: download - view: text, markup, annotated - select for diffs
Mon Jul 28 16:06:34 2008 UTC (3 years, 6 months ago) by thompsa
Branches: RELENG_7
CVS tags: RELENG_7_1_BP
Branch point for: RELENG_7_1
Diff to: previous 1.35.2.2: preferred, colored; branchpoint 1.35: preferred, colored
Changes since revision 1.35.2.2: +4 -2 lines
SVN rev 180896 on 2008-07-28 16:06:34Z by thompsa

MFC r177103

 Improve ARM bus_dmamap_load_buffer() error handling.

Revision 1.35.2.2: download - view: text, markup, annotated - select for diffs
Mon Jul 28 16:00:19 2008 UTC (3 years, 6 months ago) by thompsa
Branches: RELENG_7
Diff to: previous 1.35.2.1: preferred, colored; branchpoint 1.35: preferred, colored
Changes since revision 1.35.2.1: +1 -1 lines
SVN rev 180889 on 2008-07-28 16:00:19Z by thompsa

MFC r174051

 Correct the logic : we can just invalidate the cache lines, and not
 write-back them, only if PREWRITE is not set, and if the buffer is
 cache-line aligned.

Revision 1.22.2.6: download - view: text, markup, annotated - select for diffs
Mon Mar 17 17:33:32 2008 UTC (3 years, 10 months ago) by jhb
Branches: RELENG_6
CVS tags: RELENG_6_4_BP
Branch point for: RELENG_6_4
Diff to: previous 1.22.2.5: preferred, colored; branchpoint 1.22: preferred, colored
Changes since revision 1.22.2.5: +4 -10 lines
MFC: Remove the 'needbounce' variable from _bus_dmamap_load_buffer().

Revision 1.35.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 17 17:28:21 2008 UTC (3 years, 10 months ago) by jhb
Branches: RELENG_7
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +4 -10 lines
MFC: Remove the 'needbounce' variable from _bus_dmamap_load_buffer().

Revision 1.38: download - view: text, markup, annotated - select for diffs
Wed Mar 12 15:31:37 2008 UTC (3 years, 11 months ago) by raj
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +4 -2 lines
Improve ARM bus_dmamap_load_buffer() error handling.

Reviewed by:	imp
Approved by:	cognet (mentor)
Spotted by:	Grzegorz Bernacki gjb AT semihalf DOT com

Revision 1.37: download - view: text, markup, annotated - select for diffs
Wed Nov 28 22:21:17 2007 UTC (4 years, 2 months ago) by cognet
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +1 -1 lines
Correct the logic : we can just invalidate the cache lines, and not
write-back them, only if PREWRITE is not set, and if the buffer is
cache-line aligned.

MFC After:	1 week

Revision 1.36: download - view: text, markup, annotated - select for diffs
Tue Nov 27 17:28:12 2007 UTC (4 years, 2 months ago) by jhb
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +4 -10 lines
Remove the 'needbounce' variable from the _bus_dmamap_load_buffer()
routine.  It is not needed as the existing tests for segment coalescing
already handle bounced addresses and it prevents legal segment coalescing
in certain edge cases.

MFC after:	1 week
Reviewed by:	scottl

Revision 1.22.2.5: download - view: text, markup, annotated - select for diffs
Tue Oct 16 21:13:59 2007 UTC (4 years, 3 months ago) by cognet
Branches: RELENG_6
CVS tags: RELENG_6_3_BP, RELENG_6_3_0_RELEASE, RELENG_6_3
Diff to: previous 1.22.2.4: preferred, colored; branchpoint 1.22: preferred, colored
Changes since revision 1.22.2.4: +2 -1 lines
MFC rev 1.33/
date: 2007/06/10 12:33:01;  author: cognet;  state: Exp;  lines: +2 -1
Initialize the dma tag's bounce_zone to NULL if we didn't allocate it.

Revision 1.22.2.4: download - view: text, markup, annotated - select for diffs
Tue Oct 16 19:59:50 2007 UTC (4 years, 3 months ago) by cognet
Branches: RELENG_6
Diff to: previous 1.22.2.3: preferred, colored; branchpoint 1.22: preferred, colored
Changes since revision 1.22.2.3: +3 -4 lines
MFC rev 1.32:
date: 2007/06/07 21:51:09;  author: cognet;  state: Exp;  lines: +3 -4
There's no nobounce_dmamap on arm.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Sat Aug 18 16:47:28 2007 UTC (4 years, 5 months ago) by cognet
Branches: MAIN
CVS tags: RELENG_7_BP, RELENG_7_0_BP, RELENG_7_0_0_RELEASE, RELENG_7_0
Branch point for: RELENG_7
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +9 -3 lines
Just wbinv if both PREREAD and PREWRITE are set.
In PREREAD, just invalidate the cache lines, and do not write back them, if
the buffer is properly aligned.

Approved by:	re (blanket)

Revision 1.34: download - view: text, markup, annotated - select for diffs
Fri Jul 27 14:46:43 2007 UTC (4 years, 6 months ago) by cognet
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +36 -30 lines
Handle supersections and L2 cache.

Approved by:	re (blanket)

Revision 1.33: download - view: text, markup, annotated - select for diffs
Sun Jun 10 12:33:01 2007 UTC (4 years, 8 months ago) by cognet
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +2 -1 lines
Initialize the dma tag's bounce_zone to NULL if we didn't allocate it.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Thu Jun 7 21:51:09 2007 UTC (4 years, 8 months ago) by cognet
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +3 -4 lines
There's no nobounce_dmamap on arm.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Tue May 29 06:30:25 2007 UTC (4 years, 8 months ago) by yongari
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +2 -0 lines
Honor maxsegsz of less than a page size in a DMA tag. Previously it
used to return PAGE_SIZE without respect to restrictions of a DMA tag.
This affected all of the busdma load functions that use
_bus_dmamap_loader_buffer() as their back-end.

Reviewed by:	scottl

Revision 1.30: download - view: text, markup, annotated - select for diffs
Sat May 19 13:17:31 2007 UTC (4 years, 8 months ago) by cognet
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +2 -2 lines
Do not try to inline bus_dmamap_sync_buf(), gcc 4.2 doesn't want to do so
because it uses alloca().
Initialize lastaddr in bus_dmamap_load_uio().

Revision 1.22.2.3: download - view: text, markup, annotated - select for diffs
Mon Feb 26 23:23:31 2007 UTC (4 years, 11 months ago) by cognet
Branches: RELENG_6
Diff to: previous 1.22.2.2: preferred, colored; branchpoint 1.22: preferred, colored
Changes since revision 1.22.2.2: +624 -33 lines
MFC:
bounce pages for arm.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Tue Feb 13 07:19:26 2007 UTC (4 years, 11 months ago) by kevlo
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +1 -1 lines
Fix typo: MacPPC -> ARM

Revision 1.28: download - view: text, markup, annotated - select for diffs
Wed Jan 17 00:53:05 2007 UTC (5 years ago) by cognet
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +621 -32 lines
- Add bounce pages for arm, largely based on the i386 implementation.
- Add a default parent dma tag, similar to what has been done for sparc64.
- Before invalidating the dcache in POSTREAD, save the bits which are in the
same cachelines than our buffers, but not part of it, and restore them after
the invalidation.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Fri Aug 25 15:10:45 2006 UTC (5 years, 5 months ago) by cognet
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +1 -0 lines
Explicitely set the "allocbuffer" field to NULL when creating a new dmamap.

Revision 1.22.2.2: download - view: text, markup, annotated - select for diffs
Fri Jun 23 17:42:33 2006 UTC (5 years, 7 months ago) by cognet
Branches: RELENG_6
CVS tags: RELENG_6_2_BP, RELENG_6_2_0_RELEASE, RELENG_6_2
Diff to: previous 1.22.2.1: preferred, colored; branchpoint 1.22: preferred, colored
Changes since revision 1.22.2.1: +35 -7 lines
MFC: Try to honor BUS_DMA_COHERENT.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Wed May 31 15:50:33 2006 UTC (5 years, 8 months ago) by cognet
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +10 -7 lines
If our buffer is not aligned on the cache line size, write back/invalidate
the first and last cache line in PREREAD, and just invalidate the cache
lines in POSTREAD, instead of write-back/invalidating in POSTREAD, which
could lead to stale data overriding what has been transfered by DMA.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Mar 1 23:04:25 2006 UTC (5 years, 11 months ago) by cognet
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +25 -0 lines
Try to honor BUS_DMA_COHERENT : if the flag is set, normally allocate memory
with malloc() or contigmalloc() as usual, but try to re-map the allocated
memory into a VA outside the KVA, non-cached, thus making the calls to
bus_dmamap_sync() for these buffers useless.

Revision 1.22.2.1: download - view: text, markup, annotated - select for diffs
Mon Feb 27 01:11:43 2006 UTC (5 years, 11 months ago) by cognet
Branches: RELENG_6
CVS tags: RELENG_6_1_BP, RELENG_6_1_0_RELEASE, RELENG_6_1
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +2 -1 lines
Partially MFC rev 1.23/1.24:
revision 1.23
date: 2005/10/03 14:07:57;  author: cognet;  state: Exp;  lines: +47 -4
Don't try to dereference map if it's NULL.

Approved by:	re (mux)

Revision 1.24: download - view: text, markup, annotated - select for diffs
Mon Oct 3 22:44:54 2005 UTC (6 years, 4 months ago) by cognet
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +2 -44 lines
Bring in the good version of this file.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Mon Oct 3 14:07:57 2005 UTC (6 years, 4 months ago) by cognet
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +47 -4 lines
*blush*
Don't try to dereference map if it's NULL.
While I'm there, increase the minimum value to write-back/invalidate the
whole dcache in bus_dmamap_sync().

Revision 1.22: download - view: text, markup, annotated - select for diffs
Fri Jun 24 23:57:27 2005 UTC (6 years, 7 months ago) by cognet
Branches: MAIN
CVS tags: RELENG_6_BP, RELENG_6_0_BP, RELENG_6_0_0_RELEASE, RELENG_6_0
Branch point for: RELENG_6
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +32 -20 lines
- Use a TAILQ instead of parsing the array to find a free dmamap.
- Inline busdma_alloc_dmamap, busdma_free_dmamap and bus_dmamap_sync_buf.

Approved by:	re (blanket)

Revision 1.21: download - view: text, markup, annotated - select for diffs
Tue May 24 22:10:35 2005 UTC (6 years, 8 months ago) by cognet
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +65 -17 lines
- Try to avoid calling malloc() in bus_dmamap_create() and bus_dmamem_alloc()
for the dmamap by using static dmamaps.
- Don't do anything for BUS_DMASYNC_PREREAD and BUS_DMASYNC_POSTWRITE in
bus_dmamap_sync(), it's not needed anymore.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed Mar 16 00:35:59 2005 UTC (6 years, 10 months ago) by jmg
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +12 -12 lines
make bus_dmamem_alloc always allocate a new map like we are suppose to..
This was found when I tried to run the usb code on my arm board...

Approved by:	cognet

Revision 1.19: download - view: text, markup, annotated - select for diffs
Tue Mar 15 14:57:30 2005 UTC (6 years, 10 months ago) by jmg
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +2 -2 lines
fix arm wrt to busdma...

also wrap the two macros that have bare if's w/ do {} while(0) so that
my epe driver doesn't get a warning about braces around confused else...

Revision 1.18: download - view: text, markup, annotated - select for diffs
Tue Mar 8 14:49:05 2005 UTC (6 years, 11 months ago) by mux
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +14 -14 lines
Fixup KTR traces.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Tue Mar 8 11:18:14 2005 UTC (6 years, 11 months ago) by mux
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +21 -23 lines
Use __func__ in the KTR_BUSDMA traces.  This avoids copy and paste
errors like in the bus_dmamap_load_mbuf_sg() case where we were wrongly
displaying the function name as bus_dmamap_load_mbuf.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Mon Mar 7 00:24:52 2005 UTC (6 years, 11 months ago) by mux
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +1 -1 lines
Fix typo.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Wed Mar 2 21:33:22 2005 UTC (6 years, 11 months ago) by joerg
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +3 -3 lines
netchild's mega-patch to isolate compiler dependencies into a central
place.

This moves the dependency on GCC's and other compiler's features into
the central sys/cdefs.h file, while the individual source files can
then refer to #ifdef __COMPILER_FEATURE_FOO where they by now used to
refer to #if __GNUC__ > 3.1415 && __BARC__ <= 42.

By now, GCC and ICC (the Intel compiler) have been actively tested on
IA32 platforms by netchild.  Extension to other compilers is supposed
to be possible, of course.

Submitted by:	netchild
Reviewed by:	various developers on arch@, some time ago

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sun Jan 23 22:07:33 2005 UTC (7 years ago) by cognet
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +34 -34 lines
Define bus_dmamap_load_buffer before bus_dmamap_load to make gcc happy.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sun Jan 23 21:39:23 2005 UTC (7 years ago) by cognet
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +4 -0 lines
Fix compile for !KTR.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sun Jan 16 13:15:16 2005 UTC (7 years ago) by cognet
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +6 -5 lines
Erm, don't forget to store the mbuf in the dmamap in bus_dmamap_load_mbuf_sg(),
so that bus_dmamap_sync() knows what to invalidate. This makes em(4) work again.
While I'm there, remove the unused "first" variable.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sat Jan 15 19:42:28 2005 UTC (7 years ago) by cognet
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +43 -6 lines
Add support for KTR_BUSDMA.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sat Jan 15 19:07:23 2005 UTC (7 years ago) by cognet
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +36 -0 lines
MFi386: add bus_dmamap_load_mbuf_sg().

Revision 1.9: download - view: text, markup, annotated - select for diffs
Wed Jan 5 21:58:47 2005 UTC (7 years, 1 month ago) by imp
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +1 -1 lines
Start all license statements with /*-

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sat Dec 11 14:46:52 2004 UTC (7 years, 2 months ago) by cognet
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -2 lines
Fix compilation with INVARIANTS.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue Nov 16 00:57:44 2004 UTC (7 years, 2 months ago) by cognet
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +21 -38 lines
Simplify a bit bus_dmamap_load_buffer by removing the "first" parameter, use
nseg == -1 instead.

Obtained from:	NetBSD

Revision 1.6: download - view: text, markup, annotated - select for diffs
Mon Nov 15 23:59:28 2004 UTC (7 years, 2 months ago) by cognet
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +14 -17 lines
MFi386:
- inlina bus_dmamap_load_buffer
- Directly pass the pmap to bus_dmamap_load_buffer, instead of the struct thread

Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Oct 21 11:59:33 2004 UTC (7 years, 3 months ago) by cognet
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +1 -1 lines
We want to ignore BUS_DMASYNC_POSTWRITE, not BUS_DMASYNC_POSTREAD.
Spotted out by:	mux
Pointy hat to:	cognet

Revision 1.4: download - view: text, markup, annotated - select for diffs
Thu Sep 23 21:57:47 2004 UTC (7 years, 4 months ago) by cognet
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +127 -80 lines
Don't attempt to manage our own segment list, and just remember the buffers
provided.

Obtained from:	NetBSD

Revision 1.2.2.1: download - view: text, markup, annotated - select for diffs
Thu Sep 9 23:05:00 2004 UTC (7 years, 5 months ago) by scottl
Diff to: previous 1.2: preferred, colored; next MAIN 1.3: preferred, colored
Changes since revision 1.2: +5 -6 lines
MFC: Fix boundary inheritance in busdma.

Approved by: re

Revision 1.3: download - view: text, markup, annotated - select for diffs
Wed Sep 8 04:54:18 2004 UTC (7 years, 5 months ago) by scottl
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +5 -6 lines
Fix a problem with tag->boundary inheritence that has existed since day one
and was propagated to nearly every platform.  The boundary of the child needs
to consider the boundary of the parent and pick the minimum of the two, not
the maximum.  However, if either is 0 then pick the appropriate one.
This bug was exposed by a recent change to ATA, which should now be fixed by
this change.  The alignment and maxsegsz tag attributes likely also need
a similar review in the near future.

This is a MT5 candidate.

Reviewed by: marcel
Submitted by: sos (in part)

Revision 1.2: download - view: text, markup, annotated - select for diffs
Wed Jul 21 22:04:05 2004 UTC (7 years, 6 months ago) by cognet
Branches: MAIN
CVS tags: RELENG_5_BP
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -2 lines
Use the kernel pmap if no thread is provided.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Fri May 14 11:46:42 2004 UTC (7 years, 9 months ago) by cognet
Branches: MAIN
Import FreeBSD/arm kernel bits.
It only supports sa1110 (on simics) right now, but xscale support should come
soon.
Some of the initial work has been provided by :
Stephane Potvin <sepotvin at videotron.ca>
Most of this comes from NetBSD.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options