Date: Sat, 21 Dec 2019 08:12:49 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 204521] [new driver] [request] Port rtsx from OpenBSD to FreeBSD Message-ID: <bug-204521-227-DlIe6pRX9l@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-204521-227@https.bugs.freebsd.org/bugzilla/> References: <bug-204521-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D204521 --- Comment #33 from Gary Jennejohn <gljennjohn@gmail.com> --- I tried implementing rtsx_xfer_bounce() from the OpenBSD code. OpenBSD uses this function when the upstream code does not pass in a list of DMA scatter-gather addresses. Normally, the SD code in OpenBSD allocates i= ts own DMA buffers and passes them to the driver. Since FreeBSD does not do that - it either uses buffers on the kernel stack= or buffers from a struct bio - it seemed logical to me to try rtsx_xfer_bouce(= ). The DMA transfer raises an interrupt, but the target buffer is always filled with 0s. I'm running out of ideas on how to get DMA to work. If I had a laptop I could tear apart I'd put a logic analyzer on the contro= ller pins and compare the behavior between OpenBSD and FreeBSD. Unfortunately, = the laptop I have is a loaner and I can't do that. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-204521-227-DlIe6pRX9l>