From owner-freebsd-arm@freebsd.org Wed Oct 7 07:26:14 2020 Return-Path: Delivered-To: freebsd-arm@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7E8593FE61B for ; Wed, 7 Oct 2020 07:26:14 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic308-54.consmr.mail.gq1.yahoo.com (sonic308-54.consmr.mail.gq1.yahoo.com [98.137.68.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4C5m914wdDz4SK9 for ; Wed, 7 Oct 2020 07:26:13 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: 84qnzRcVM1kkYVlcNYHhG5xgIdcCeOyyPtyxtrw5nsd_KbA.HU9IKEtr2TiUKs5 7TpGdxZbu5CITE4OoGjjo9XaDRqGe1_kjX0ZHsKGTBR6hA1vzZKmXJ55nTxrtOGNBaG2pkFGA38c Ti7XvmVdmRGnv8jl35Xdzge1CFG7z8uwS5WLdPMkUZixpVnh_6fLTdQ_mY8iUg60Am631oaMKQG. wesjN58sLV4jys.V9Ui4E.YZq9d_39j3PigtfVToe_aQoDwSZgIyL6lE.LU6LIIOzurs4Y87HSxi 9QR714UgH.7LWkKV9E_VVsbCGh8kI94nfgION4kTCyKwWPjw18igFuYGwtu0WNQBH49apKUx6BeQ 3DpUx3Xj_9Auim6NdVoddnoajqE14bgzI9MytZGEmASIRz5slMoCPQDneFSag4pSJxWYKMZYrMGN xf1YdyZyuinlyIBdm2wtGPRlsmouhGUQ7Z7el5ZBfhmeA06_Shtn2aDugA0mLwT4DaCgry3R2LwN kGsiWLFnmaTL5n97Kqk9xbDOp8OgFdpb2BW7G6dFAsRX31NFGaU_r_UaSYearOQNOcRR9Qluv3TD UeB.5ZMwwUnEBcyawE41mXgDJoatmn03q.eBgle6dYuB_13EVt.X9ir62wdBuHh2Z3A9XsWVHwpS ILvnCXgUsbqCpGCSlljm4E3ebpmBAmJgZqDkCc0RD2kHxh7cFD5.debX4RmsXWRlRA_ygYbNTM.w 9VedG3Eg3JwpnUuI6fkt1unykcx4LPlc7SQLdmRfGjX_cKQObinOtEeA0YKq1t_a1MIe1UOnETYj mwvC_1CGHyJGZUfk4ERviMmeCIwvemORKaJVh.4gQJ18HoUuYQuVlnEa6CIMEdkEKbDDUoHdoAod AEtf9BJ9sRzOImQOYNBsU7oTRB96ASTEX9tQYClQ4Tjk24GvWSN3oLY0qFc_TS1LKbAKC1sa4tFe w8QjWDAdkvDu1ZH58tbRPNd3ZsOWpA5uSVsqGO6vc0MBdcqsKQV_.T_VNho2jeVh_jM3V5olCOYO Kh6NexXIYPmxsQLK8QqipQ0RA9otSEmoyYJ3JV1zwDpbF58qjDsI3vnmKXXB5qNBzH.nFuSTpCsx PAFFvgSIrmDVTa9701uToPpEU4xnPGM2I2LPxtVWgNM4MmMUtcUP0UoDvFrXNi5ytAxKzpkl9iH7 gpTNKT7l8SRb7GkZqvEDOP6yinmYNVjgbFDV.p1CD7QG0b9afpTFUPUPh3MY1VYP99r9z62..dkD 0LOwWMUH7lCEPLoZdsY0fMf2OUAzbd4rviEYiTzrGsoXWfxOV3.ZxYzx1bGx5WtsPco_PFtDChEK 4zBUGuNG8_6vhZPS2KvgzMz0mmsgbFvQKsxNIGNs_0DUBIYHh2NuMWntfz918Xq6_Fv.Jo49WYsi WZ740VP06zGk5HnYK9R_Dh4fydx6UzAdrcZmtX_OYYADq056hJoOy0PdBBv3MzoVH1nAljDb7OgG acKI1zux0FyHPCq6R3cZH2U5OIrtfTcMKGzzO3YSFxJFUKdPyqv9J34wQVMu2i7gFucFlSJcxBqy hoKtvZI_xaFWIV9J2 Received: from sonic.gate.mail.ne1.yahoo.com by sonic308.consmr.mail.gq1.yahoo.com with HTTP; Wed, 7 Oct 2020 07:26:11 +0000 Received: by smtp411.mail.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID cc193a47c79c6a67763d9a8974302217; Wed, 07 Oct 2020 07:26:07 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Subject: Adding a "-1" into https://reviews.freebsd.org/D25219 's code looks to make uefi/ACPI handle USB3 SSD reliably Message-Id: <5F1CF0D1-9FA2-48B9-984B-6A2B98CB87E9@yahoo.com> Date: Wed, 7 Oct 2020 00:26:05 -0700 To: freebsd-arm X-Mailer: Apple Mail (2.3608.120.23.2.1) References: <5F1CF0D1-9FA2-48B9-984B-6A2B98CB87E9.ref@yahoo.com> X-Rspamd-Queue-Id: 4C5m914wdDz4SK9 X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.19 / 15.00]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-0.67)[-0.668]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.01)[-1.012]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; URL_IN_SUBJECT(1.00)[reviews.freebsd.org]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.01)[-1.010]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_ONE(0.00)[1]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.30:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.30:from]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[freebsd-arm] X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Oct 2020 07:26:14 -0000 https://reviews.freebsd.org/D25219 has (in part) > + if (bus_dma_tag_create(NULL, 1, 0, > + limits.lowaddr, BUS_SPACE_MAXADDR, NULL, NULL, Based on sysctl hw.busdma output and testing a change for the = u-boot/DTB/fdt code context that worked in testing so far, I've tried = using limits.lowaddr-1 in the above ACPI handling code instead. It has worked so far. So both existing implementations have the same basic problem as far as I can tell: limits.lowaddr too large by one, so identifying the wrong page. What sysctl showed me was the likes of (before changes that lead to lack of zone2 for u-boot/dtb/fdt): . . . hw.busdma.zone2.lowaddr: 0x3c000fff . . . hw.busdma.zone1.lowaddr: 0x3fffffff . . . hw.busdma.zone0.lowaddr: 0xffffffff . . . So I've guessed that lowaddr should identify the end page of the possibly-use-it-directly region, not the first do-not-use-it-directly page. If I've guessed wrong, at most it would bounce one page that it could avoid bouncing. But, if I guessed correct, it might bounce a page that it should instead of not doing so. Thus the "-1" addition. For reference, after the first duplicate-and-diff test for uefi/ACPI: # sysctl hw.busdma hw.busdma.zone0.alignment: 4096 hw.busdma.zone0.lowaddr: 0xbfffffff hw.busdma.zone0.total_deferred: 0 hw.busdma.zone0.total_bounced: 762568 hw.busdma.zone0.active_bpages: 12 hw.busdma.zone0.reserved_bpages: 0 hw.busdma.zone0.free_bpages: 824 hw.busdma.zone0.total_bpages: 836 hw.busdma.total_bpages: 836 I'll note that "total_bounced" need not be the a page count: it is incremented by 1 after the loop for a bounce, not inside the loop. Lots of pages of data were bounced. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)