Date: Fri, 20 Mar 2015 09:12:31 -0600 From: Warner Losh <imp@bsdimp.com> To: Ian Lepore <ian@freebsd.org> Cc: John Wehle <john@feith.com>, freebsd-arm@freebsd.org Subject: Re: current meaning of BUS_DMA_COHERENT Message-ID: <16E52DDC-D2DC-4878-9C43-451278AE7B4E@bsdimp.com> In-Reply-To: <1426861647.24655.12.camel@freebsd.org> References: <201503200535.t2K5ZQdo011380@jwlab.FEITH.COM> <1426861647.24655.12.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_438268ED-D8F0-45D2-B8B5-AEA9310DBD4C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 20, 2015, at 8:27 AM, Ian Lepore <ian@freebsd.org> wrote: > What we really need is a new type of busdma memory = (BUS_DMA_DESCRIPTOR) > and a special sync call to use in conjunction with it that takes an > offset and length, and the sync is a single operation, no pre/post > stuff. Then you could sync each descriptor immediately before reading > and writing it, which would translate to a single cacheline flush > instead of a loop that does all the lines in the whole ring. We don=E2=80=99t need a special type of memory for this. NetBSD = doesn=E2=80=99t have that. Instead it implements a range on the sync operation. We could = easily just do that. We already have flags to disable bouncing, which is also required for interacting with descriptor rings. I=E2=80=99m curious where you need to do both a pre read and a post read = before you read the ring. Why is that needed? Warner --Apple-Mail=_438268ED-D8F0-45D2-B8B5-AEA9310DBD4C Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJVDDjfAAoJEGwc0Sh9sBEAOYYQAMGJkE7Z1TORmVl7PB9M9KrQ xLyer2ylXsUknzQZe6HSboH5tlhcyV2odr9QFLHwXlXlniWDL9bNp5KJeQeqZtch 7dlvC+fbwzroaEOkO/eKdQD6cEnIvaNfDRqI0HNhpd7YkK/WJLxTQzkimhlJoln5 28w+QB8p0P+fkvDroOWZyrwISrecAiisj3SPGDfmOcss7Afdij4doNSFglsmqhhA z9Lsq+hfXFF0IDqjq1kzK/cqUxcxpllEwANZFoLQ5uC3DY4h83Swg7gC+qYfbZJM GfY1/QjbTQKHcPoWuV52PO63wY2TWabD73DACmxhlVRFaNrCdp+fe84MZxCTlz41 EhJDJ3eJKgQJj9K8N84HEVP2WKtnEnTFsnJnRVTERANrEdWUMV0CA8qX+iA+wwcb Z9AJkKMZr7vwtFfKjpkdAOuFTbfnXs/2c8ejKCyOtiCKU2AOWWRm+LxIxlFk8DVh NAC+6N8vmm9XYRZObGGET4eU9JDqhx2kLeQN7efzEW2bJ8/7wxZTe5rlYhLZDBKa Vjt7ajunIvlnmcTvcSsTo/zUJJ5qqE4g6qxo5gno/c/5nrVLLUxiI6CIPCFLXRNS ak3o6IBSwgVLo1MexaRAPqBqDdVdYLVIaPJjsYzOuQNzxTpDU5G0Y6yfLfOk3j6U c8Gq01CqPxiVM6G7fR0+ =TQA+ -----END PGP SIGNATURE----- --Apple-Mail=_438268ED-D8F0-45D2-B8B5-AEA9310DBD4C--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16E52DDC-D2DC-4878-9C43-451278AE7B4E>