Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Sep 2020 13:00:35 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Robert Crowston <crowston@protonmail.com>
Cc:        Hans Petter Selasky <hps@selasky.org>, freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: Comment #135 for bugzilla 237666 : a USB3-handling problem with a investigatory fix for a cortex-a72 context
Message-ID:  <6247D721-668B-4224-99EF-E7F719487382@yahoo.com>
In-Reply-To: <7_E2XXmpIwdiLPwD5tkXUAFlHsAhrFIbs87-JJnE57wRg4vrRcqCL1qSToBN_52_YjcPvt7HQSrzA0v6fWDAYIoN348pYVc62bTUXNxudBU=@protonmail.com>
References:  <6E618C3D-12DF-429E-A249-5BAB90FC6B15.ref@yahoo.com> <723E6915-94F5-417C-B4AF-EEEBFBDF6162@yahoo.com> <565258A0-BEE1-48F8-9851-E6C7CF7ADAE7@yahoo.com> <D28FEE99-A2CA-484E-A5E9-312334CF3FE3@yahoo.com> <75af04ec-0021-3575-40bf-c5ab9b6d4703@selasky.org> <CE9D7856-0179-4C9B-8367-AFBD8EAD4CC2@yahoo.com> <9cf87718-9d4a-60ca-004f-5818371c937b@selasky.org> <47D6CA1E-F842-47B6-97E0-C87B33610C64@yahoo.com> <8BAF3798-4BB4-4C5E-87FC-ECD1458910A2@yahoo.com> <7_E2XXmpIwdiLPwD5tkXUAFlHsAhrFIbs87-JJnE57wRg4vrRcqCL1qSToBN_52_YjcPvt7HQSrzA0v6fWDAYIoN348pYVc62bTUXNxudBU=@protonmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On 2020-Sep-19, at 14:49, Robert Crowston <crowston at protonmail.com> =
wrote:

> . . .
>=20
> My question, which may be irrelevant or misguided: The flags field in =
the dma tag has an option for specifying if the hardware is cache =
coherent (BUS_DMA_COHERENT). Does the UEFI-derived tag passed through to =
the xhci driver have this bit set?
>=20
> . . .

This is answering in a different direction than the prior
reply to the overall material:

# acpidump -dt | grep -i _CCA
            Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
            Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
                Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
            Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute
            Name (_CCA, Zero)  // _CCA: Cache Coherency Attribute

for a rpi4-uefi-devel v1.20 context. So it appears that code like:

	if (ACPI_FAILURE(acpi_GetInteger(handle, "_CCA", &coherent)))
		coherent =3D 0;

	if (bus_dma_tag_create(NULL, 1, 0,
		limits.lowaddr, BUS_SPACE_MAXADDR, NULL, NULL,
		BUS_SPACE_MAXSIZE, BUS_SPACE_UNRESTRICTED, =
BUS_SPACE_MAXSIZE,
		coherent ? BUS_DMA_COHERENT : 0, NULL, NULL,
		result) !=3D 0)
		return (ENOMEM);

will always end up without BUS_DMA_COHERENT as things are currently
for uefi/ACPI based RPi4B booting.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6247D721-668B-4224-99EF-E7F719487382>