qemu-e2k/hw
Mark Cave-Ayland 6b41417d93 hw/scsi/esp-pci: generate PCI interrupt from separate ESP and PCI sources
The am53c974/dc390 PCI interrupt has two separate sources: the first is from the
internal ESP device, and the second is from the PCI DMA transfer logic.

Update the ESP interrupt handler so that it sets DMA_STAT_SCSIINT rather than
driving the PCI IRQ directly, and introduce a new esp_pci_update_irq() function
to generate the correct PCI IRQ level. In particular this fixes spurious interrupts
being generated by setting DMA_STAT_DONE at the end of a transfer if DMA_CMD_INTE_D
isn't set in the DMA_CMD register.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Message-ID: <20240112131529.515642-3-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2024-01-19 12:28:59 +01:00
..
9pfs * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
acpi * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
adc hw/adc: Constify VMState 2023-12-29 11:17:30 +11:00
alpha hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
arm hw/arm/virt: Consolidate valid CPU types 2024-01-18 12:20:33 +00:00
audio hw/audio/sb16: Do not migrate qdev properties 2024-01-05 16:20:15 +01:00
avr hw/avr/atmega: Fix wrong initial value of stack pointer 2023-11-28 14:27:12 +01:00
block hw/pflash: implement update buffer for block writes 2024-01-19 12:28:59 +01:00
char hw/char: Constify VMState 2023-12-29 11:17:30 +11:00
core hw/core/cpu: Rename cpu_class_init() to include 'common' 2024-01-19 12:28:59 +01:00
cpu hw/cpu/cluster: Cleanup unused included header in cluster.c 2024-01-05 16:20:15 +01:00
cris
cxl meson: remove CONFIG_ALL 2023-12-31 09:11:28 +01:00
display Replace "iothread lock" with "BQL" in comments 2024-01-08 10:45:43 -05:00
dma hw/dma: Constify VMState 2023-12-29 11:17:30 +11:00
gpio hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
hppa hw/hppa: Move software power button address back into PDC 2024-01-13 06:48:14 +01:00
hyperv hw/hyperv: Constify VMState 2023-12-29 11:17:30 +11:00
i2c hw/i2c: Constify VMState 2023-12-29 11:17:30 +11:00
i386 hw/i386/pc_piix: Make piix_intx_routing_notifier_xen() more device independent 2024-01-19 12:28:59 +01:00
ide hw/ide: Constify VMState 2023-12-29 11:17:30 +11:00
input hw/input: Constify VMState 2023-12-29 11:17:30 +11:00
intc pull-loongarch-20240111 2024-01-11 15:19:14 +00:00
ipack hw/ipack: Constify VMState 2023-12-29 11:17:30 +11:00
ipmi hw/ipmi: Constify VMState 2023-12-29 11:17:30 +11:00
isa hw/isa: Constify VMState 2023-12-29 11:17:30 +11:00
loongarch hw/intc/loongarch_extioi: Add dynamic cpu number support 2024-01-11 19:22:47 +08:00
m68k q800: move dp8393x_prom memory region to Q800MachineState 2024-01-11 11:39:26 +01:00
mem meson: remove CONFIG_ALL 2023-12-31 09:11:28 +01:00
microblaze
mips qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to BQL_LOCK_GUARD 2024-01-08 10:45:43 -05:00
misc hw/misc: Implement STM32L4x5 SYSCFG 2024-01-15 17:12:22 +00:00
net system/cpus: rename qemu_mutex_lock_iothread() to bql_lock() 2024-01-08 10:45:43 -05:00
nios2 target/nios2: Deprecate the Nios II architecture 2023-11-23 14:10:04 +00:00
nubus
nvme
nvram hw/arm/virt-acpi-build.c: Migrate fw_cfg creation to common location 2024-01-10 18:47:46 +10:00
openrisc hw/openrisc: Constify VMState 2023-12-30 07:38:06 +11:00
pci * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
pci-bridge * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
pci-host target/hppa qemu v8.2 regression fixes 2024-01-16 14:24:42 +00:00
pcmcia hw/pcmcia/pxa2xx: Inline pxa2xx_pcmcia_init() 2023-10-27 12:48:57 +01:00
ppc qemu/main-loop: rename qemu_cond_wait_iothread() to qemu_cond_wait_bql() 2024-01-08 10:45:43 -05:00
rdma hw/rdma/vmw/pvrdma_cmd: Use correct struct in query_port() 2023-10-21 15:00:22 +03:00
remote Replace "iothread lock" with "BQL" in comments 2024-01-08 10:45:43 -05:00
riscv target/riscv: add zicbop extension flag 2024-01-10 18:47:47 +10:00
rtc hw/rtc: Constify VMState 2023-12-30 07:38:06 +11:00
rx hw/rx/rx62n: Use qdev_prop_set_array() 2023-11-10 18:19:13 +01:00
s390x hw/s390x: Rename cpu_class_init() to include 'sclp' 2024-01-19 12:28:59 +01:00
scsi hw/scsi/esp-pci: generate PCI interrupt from separate ESP and PCI sources 2024-01-19 12:28:59 +01:00
sd hw/sd: Constify VMState 2023-12-30 07:38:06 +11:00
sensor hw/sensor: Constify VMState 2023-12-30 07:38:06 +11:00
sh4 target/sh4: Deprecate the shix machine 2024-01-19 12:28:59 +01:00
smbios meson: remove CONFIG_ALL 2023-12-31 09:11:28 +01:00
sparc target/sparc: Simplify qemu_irq_ack 2024-01-05 16:20:15 +01:00
sparc64 hw/sparc: Simplify memory_region_init_ram_nomigrate() calls 2024-01-05 16:20:15 +01:00
ssi hw/ssi: Constify VMState 2023-12-30 07:38:06 +11:00
timer hw/timer/hpet: Convert DPRINTF to trace events 2024-01-19 12:28:10 +01:00
tpm hw/tpm: Constify VMState 2023-12-30 07:38:06 +11:00
tricore
ufs hw/ufs: avoid generating the same ID string for different LU devices 2023-12-05 13:57:18 +09:00
usb migration 1st pull for 9.0 2024-01-05 13:35:25 +00:00
vfio vfio/migration: Add helper function to set state or reset device 2024-01-05 21:25:20 +01:00
virtio hw/arm/virt-acpi-build.c: Migrate virtio creation to common location 2024-01-10 18:47:46 +10:00
watchdog hw/watchdog: Constify VMState 2023-12-30 07:38:06 +11:00
xen cpus: check running not RUN_STATE_RUNNING 2024-01-04 09:52:42 +08:00
xenpv hw/xen: update Xen PV NIC to XenDevice model 2023-11-07 08:54:20 +00:00
xtensa
Kconfig
meson.build