qemu/include
Jamin Lin a5f7d65585 hw/i2c/aspeed_i2c: Support the AST2700 master buffer mode
The AST2700 I2C controller can move master DMA payloads through its
internal SRAM pool rather than DRAM. The Linux driver calls this "buffer
mode" and selects it by default. Buffer mode reuses the master DMA
command bits (TX/RX_DMA_EN) and the DMA length registers, so the only
difference from a DRAM transfer is where the data comes from and goes
to: an offset into the pool programmed in I2CM_DMA_TX/RX_ADDR. The
I2CC_VERSION_CTRL FUNC_CFG_DMA_EN bit selects between the two.

Implement I2CC_VERSION_CTRL and, when FUNC_CFG_DMA_EN is clear, move the
payload through the pool buffer instead of DRAM.

I2CC_VERSION_CTRL resets to all ones, so guests that never program it
keep targeting DRAM and behave as before. The register sits above the
register window of the earlier SoCs, which are therefore unaffected.

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20260804081955.1563537-2-jamin_lin@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2026-08-11 18:25:58 +02:00
..
accel accel/tcg: Improve docstrings around TCGCPUOps::*watchpoint* handlers 2026-07-06 15:42:18 +02:00
authz
block block/qapi: take stats->lock when reading BlockAcctStats for query-blockstats 2026-08-03 10:42:29 +02:00
chardev ui/console: default vc encoding to cp437 for machine < 11.1 2026-05-09 10:24:33 +04:00
crypto MAINTAINERS: Remove my disfunctional emails 2026-04-24 21:27:22 +02:00
disas disas: Make disassemble_info::target_info field const 2026-02-03 14:57:34 +01:00
exec accel/tcg: Use TLB_FORCE_SLOW not TLB_MMIO for user-only plugins 2026-07-07 09:48:42 -07:00
fpu fpu: Export floatN_minmax 2026-05-22 11:21:37 -07:00
gdbstub gdbstub: Introduce GdbBreakpointType enumerator 2026-07-06 15:42:18 +02:00
hw hw/i2c/aspeed_i2c: Support the AST2700 master buffer mode 2026-08-11 18:25:58 +02:00
io io: add missing coroutine annotation 2026-07-27 15:51:03 +04:00
libdecnumber include/libdecnumber: replace FSF postal address with licenses URL 2025-06-26 00:42:37 +02:00
migration migration: Make switchover-ack re-usable 2026-07-07 07:12:46 +02:00
monitor monitor: eliminate monitor_is_hmp_non_interactive method 2026-07-07 11:16:25 +02:00
net net: Correct padding check in qemu_receive_packet() 2026-07-21 12:18:36 +02:00
plugins plugins: use int64_t for the syscall filter return value 2026-06-18 16:47:12 -07:00
qapi error: Fix "to current monitor if we have one" comments 2026-05-05 12:50:35 +02:00
qemu coroutine: fix lost wakeup in qemu_co_sleep_wake() 2026-08-03 10:42:29 +02:00
qobject json-parser: add location to JSON parsing errors 2026-07-02 13:56:35 +02:00
qom qom: replace 'can_be_deleted' with 'prepare_delete' 2026-07-07 11:16:22 +02:00
scsi scsi: always send valid PREEMPT TYPE field 2026-05-08 16:40:03 +02:00
semihosting semihosting/uaccess: Use the cpu_internal_tswap() functions 2026-03-12 19:24:24 +00:00
standard-headers linux-headers: Update to Linux v7.2-rc1 with KVM_S390_VM_CPU_FEAT_ASTFLEIE2 2026-07-06 13:37:54 +02:00
system pci, vhost, virtio, iommu: bugfixes 2026-07-27 16:51:28 -04:00
tcg tcg: Include missing 'qemu/bitops.h' header in tcg-gvec-desc.h 2026-06-18 14:27:04 +02:00
ui ui/gtk: handle console hotplug/unplug events 2026-06-24 15:41:15 +04:00
user user/guest-host: Include exec/abi_ptr.h 2026-07-21 12:18:36 +02:00
elf.h elf: Add EF_MIPS_ARCH_ASE definitions 2025-09-02 17:57:05 +02:00
glib-compat.h glib-compat: add fallback for g_clear_fd/g_autofd 2026-06-24 15:41:14 +04:00
qemu-io.h
qemu-main.h ui & main loop: Redesign of system-specific main thread event handling 2024-12-31 21:21:34 +01:00