qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: QEMU-devel Developers <qemu-devel@nongnu.org>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Joerg Roedel <Joerg.Roedel@amd.com>,
	Paul Brook <paul@codesourcery.com>,
	Blue Swirl <blauwirbel@gmail.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	tj@kernel.org, Roland Elek <elek.roland@gmail.com>,
	Sebastian Herbszt <herbszt@gmx.de>
Subject: [Qemu-devel] [PATCH 04/12] ide: move transfer_start after variable modification
Date: Wed, 15 Dec 2010 00:23:01 +0100	[thread overview]
Message-ID: <1292368981-24458-2-git-send-email-agraf@suse.de> (raw)
In-Reply-To: <1292286883-20157-1-git-send-email-agraf@suse.de>

We hook into transfer_start and immediately call the end function
for ahci. This means that everything needs to be in place for the
end function when we start the transfer, so let's move the function
down to where all state is in place.

Signed-off-by: Alexander Graf <agraf@suse.de>

---

v9 -> v10:

  - fix typo
---
 hw/ide/core.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/ide/core.c b/hw/ide/core.c
index 144210a..b2faaab 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -814,11 +814,11 @@ static void ide_atapi_cmd_reply_end(IDEState *s)
             size = s->cd_sector_size - s->io_buffer_index;
             if (size > s->elementary_transfer_size)
                 size = s->elementary_transfer_size;
-            ide_transfer_start(s, s->io_buffer + s->io_buffer_index,
-                               size, ide_atapi_cmd_reply_end);
             s->packet_transfer_size -= size;
             s->elementary_transfer_size -= size;
             s->io_buffer_index += size;
+            ide_transfer_start(s, s->io_buffer + s->io_buffer_index - size,
+                               size, ide_atapi_cmd_reply_end);
         } else {
             /* a new transfer is needed */
             s->nsector = (s->nsector & ~7) | ATAPI_INT_REASON_IO;
@@ -843,11 +843,11 @@ static void ide_atapi_cmd_reply_end(IDEState *s)
                 if (size > (s->cd_sector_size - s->io_buffer_index))
                     size = (s->cd_sector_size - s->io_buffer_index);
             }
-            ide_transfer_start(s, s->io_buffer + s->io_buffer_index,
-                               size, ide_atapi_cmd_reply_end);
             s->packet_transfer_size -= size;
             s->elementary_transfer_size -= size;
             s->io_buffer_index += size;
+            ide_transfer_start(s, s->io_buffer + s->io_buffer_index - size,
+                               size, ide_atapi_cmd_reply_end);
             ide_set_irq(s->bus);
 #ifdef DEBUG_IDE_ATAPI
             printf("status=0x%x\n", s->status);
-- 
1.6.0.2

      parent reply	other threads:[~2010-12-14 23:23 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-14  0:34 [Qemu-devel] [PATCH 00/11] AHCI emulation support v9 Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 01/11] ide: split ide command interpretation off Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 02/11] ide: fix whitespace gap in ide_exec_cmd Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 03/11] ide: Split out BMDMA code from ATA core Alexander Graf
2010-12-14 16:20   ` [Qemu-devel] " Kevin Wolf
2010-12-14 23:17     ` Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 04/11] ide: move transfer_start after variable modification Alexander Graf
2010-12-14 16:21   ` [Qemu-devel] " Kevin Wolf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 05/11] ide: add ncq identify data for ahci sata drives Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 06/11] pci: add storage class for sata Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 07/11] pci: add ich9 pci id Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 08/11] ahci: add ahci emulation Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 09/11] config: move ide core and pci to pci.mak Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 10/11] config: add ahci for pci capable machines Alexander Graf
2010-12-14  0:34 ` [Qemu-devel] [PATCH 11/11] ahci: set SATA Mode Select Alexander Graf
2010-12-14 15:23 ` [Qemu-devel] [PATCH 12/11] ide: honor ncq for atapi Alexander Graf
2010-12-14 16:28 ` [Qemu-devel] Re: [PATCH 00/11] AHCI emulation support v9 Kevin Wolf
2010-12-14 23:34   ` Alexander Graf
2010-12-15  8:28     ` Gerd Hoffmann
2010-12-15  9:34       ` Alexander Graf
2010-12-15  9:44         ` Gerd Hoffmann
2010-12-14 23:23 ` [Qemu-devel] [PATCH 03/12] ide: Split out BMDMA code from ATA core Alexander Graf
2010-12-14 23:23 ` Alexander Graf [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1292368981-24458-2-git-send-email-agraf@suse.de \
    --to=agraf@suse.de \
    --cc=Joerg.Roedel@amd.com \
    --cc=blauwirbel@gmail.com \
    --cc=elek.roland@gmail.com \
    --cc=herbszt@gmx.de \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).