qemu-patch-raspberry4/hw
Kevin Wolf a62eaa26c1 ahci: Fix FLUSH command
AHCI couldn't cope with asynchronous commands that aren't doing DMA, it
simply wouldn't complete them. Due to the bug fixed in commit f68ec837,
FLUSH commands would seem to have completed immediately even if they
were still running on the host. After the commit, they would simply hang
and never unset the BSY bit, rendering AHCI unusable on any OS sending
flushes.

This patch adds another callback for the completion of asynchronous
commands. This is what AHCI really wants to use for its command
completion logic rather than an DMA completion callback.

Cc: qemu-stable@nongnu.org
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-07-15 11:53:55 +02:00
..
9pfs hw/9pfs: Fix memory leak in error path 2013-07-09 13:38:56 -05:00
acpi hw/a*: pass owner to memory_region_init* functions 2013-07-04 17:42:47 +02:00
alpha cpu: Replace cpu_single_env with CPUState current_cpu 2013-07-09 21:20:28 +02:00
arm QOM CPUState refactorings 2013-07-10 10:54:16 -05:00
audio hw/a*: pass owner to memory_region_init* functions 2013-07-04 17:42:47 +02:00
block hw/block: pass owner to memory_region_init* functions 2013-07-04 17:42:47 +02:00
bt sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
char hw/c*: pass owner to memory_region_init* functions 2013-07-04 17:42:47 +02:00
core hw/c*: pass owner to memory_region_init* functions 2013-07-04 17:42:47 +02:00
cpu hw/c*: pass owner to memory_region_init* functions 2013-07-04 17:42:47 +02:00
cris memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
display add a header file for atomic operations 2013-07-04 17:42:49 +02:00
dma hw/d*: pass owner to memory_region_init* functions 2013-07-04 17:42:47 +02:00
gpio hw/gpio: pass owner to memory_region_init* functions 2013-07-04 17:42:47 +02:00
i2c Extend support of SMBUS(module pm_smbus.c) HST_STS register. 2013-07-09 13:38:55 -05:00
i386 cpu: Make first_cpu and next_cpu CPUState 2013-07-09 21:32:54 +02:00
ide ahci: Fix FLUSH command 2013-07-15 11:53:55 +02:00
input hw/i*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
intc pseries: move interrupt controllers to hw/intc/ 2013-07-11 18:51:23 +02:00
isa cpu: Make first_cpu and next_cpu CPUState 2013-07-09 21:32:54 +02:00
lm32 memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
m68k memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
microblaze microblaze: Fix latent bug with default DTB lookup 2013-07-09 13:38:58 -05:00
mips cpu: Make first_cpu and next_cpu CPUState 2013-07-09 21:32:54 +02:00
misc PPC: Add timer handler for newworld mac-io 2013-07-11 18:51:25 +02:00
moxie memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
net pci,misc enhancements 2013-07-08 08:00:23 -05:00
nvram hw/n*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
openrisc memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
pci pci,misc enhancements 2013-07-08 08:00:23 -05:00
pci-bridge hw/p*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
pci-host pci,misc enhancements 2013-07-08 08:00:23 -05:00
ppc PPC: dbdma: Wait for DMA until we have data 2013-07-11 18:51:25 +02:00
s390x memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
scsi hw/s*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
sd hw/s*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
sh4 pci,misc enhancements 2013-07-08 08:00:23 -05:00
sparc cpu: Replace cpu_single_env with CPUState current_cpu 2013-07-09 21:20:28 +02:00
sparc64 pci,misc enhancements 2013-07-08 08:00:23 -05:00
ssi hw/s*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
timer timer/arm_mptimer: Build arm_mptimer only once 2013-07-09 21:33:02 +02:00
tpm hw/t*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
unicore32 memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
usb hw/[u-x]*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
virtio add a header file for atomic operations 2013-07-04 17:42:49 +02:00
watchdog hw/[u-x]*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
xen hw/[u-x]*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
xtensa hw/[u-x]*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
Makefile.objs virtio: simplify Makefile conditionals 2013-04-19 16:18:11 +02:00