From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52423) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YuR7M-0005BQ-Jw for qemu-devel@nongnu.org; Mon, 18 May 2015 15:54:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YuR7L-0004Fd-MZ for qemu-devel@nongnu.org; Mon, 18 May 2015 15:54:28 -0400 Message-ID: <555A4362.8030409@redhat.com> Date: Mon, 18 May 2015 15:54:10 -0400 From: John Snow MIME-Version: 1.0 References: <1425939893-14404-1-git-send-email-mark.cave-ayland@ilande.co.uk> In-Reply-To: <1425939893-14404-1-git-send-email-mark.cave-ayland@ilande.co.uk> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC 0/2] macio: split out unaligned DMA access into separate functions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mark Cave-Ayland , qemu-devel@nongnu.org, qemu-ppc@nongnu.org, kwolf@redhat.com, stefanha@redhat.com, agraf@suse.de On 03/09/2015 06:24 PM, Mark Cave-Ayland wrote: > This patchset attempts to separate out the IDE/ATAPI logic from the unaligned > DMA access logic for macio which provides the following benefits: > > 1) Reduced code complexity > > The existing macio IDE/ATAPI functions were becoming extremely difficult to > follow through the various callbacks. By splitting up the functions in this > way it becomes much easier to follow the DMA-specific sections of code. > > 2) Future-proofing > > If/when the block layer becomes able to handle unaligned DMA accesses directly > then it should be possible to switch out pmac_dma_read() and pmac_dma_write() > with their unaligned-capable bdrv_*() equivalents without having to change any > other logic. > > 3) Fix intermittent CDROM detection under -M g3beige > > The code refactoring now correctly handles non-block ATAPI transfers which > fixes the problem with intermittent CDROM detection with Darwin under > -M g3beige. > > Signed-off-by: Mark Cave-Ayland > > > Mark Cave-Ayland (2): > macio: move unaligned DMA read code into separate pmac_dma_read() > function > macio: move unaligned DMA write code into separate pmac_dma_write() > function > > hw/ide/macio.c | 487 +++++++++++++++++++++++--------------------- > include/hw/ppc/mac_dbdma.h | 4 - > 2 files changed, 254 insertions(+), 237 deletions(-) > I haven't been able to produce meaningful debug info for the problem this patchset tries to help highlight (yet?), but it is an improvement nonetheless, so given that it doesn't appear to make anything worse, and this version is much nicer to follow, I'll stage this for the IDE branch. Acked-by: John Snow