ae5643ecc6
The S24/TCX datasheet is listed as "Unable to locate" on [1].
However the NetBSD revision 1.32 of the driver introduced
64-bit accesses to the stippler and blitter [2]. It is safe
to assume these memory regions are 64-bit accessible.
QEMU implementation is 32-bit, so fill the 'impl' fields.
Michael Lorenz (author of the NetBSD code [2]) provided us with more
information in [3]:
> IIRC the real hardware *requires* 64bit accesses for stipple and
> blitter operations to work. For stipples you write a 64bit word into
> STIP space, the address defines where in the framebuffer you want to
> draw, the data contain a 32bit bitmask, foreground colour and a ROP.
> BLIT space works similarly, the 64bit word contains an offset were to
> read pixels from, and how many you want to copy.
>
> One more thing since there seems to be some confusion - 64bit accesses
> on the framebuffer are fine as well. TCX/S24 is *not* an SBus device,
> even though its node says it is.
> S24 is a card that plugs into a special slot on the SS5 mainboard,
> which is shared with an SBus slot and looks a lot like a horizontal
> UPA slot. Both S24 and TCX are accessed through the Micro/TurboSPARC's
> AFX bus which is 64bit wide and intended for graphics.
> Early FFB docs even mentioned connecting to both AFX and UPA,
> no idea if that was ever realized in hardware though.
[1] http://web.archive.org/web/20111209011516/http://wikis.sun.com/display/FOSSdocs/Home
[2] http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/sbus/tcx.c.diff?r1=1.31&r2=1.32
[3] https://www.mail-archive.com/qemu-devel@nongnu.org/msg734928.html
Cc: qemu-stable@nongnu.org
Reported-by: Andreas Gustafsson <gson@gson.org>
Buglink: https://bugs.launchpad.net/bugs/1892540
Fixes:
|
||
---|---|---|
.. | ||
ads7846.c | ||
artist.c | ||
ati_2d.c | ||
ati_dbg.c | ||
ati_int.h | ||
ati_regs.h | ||
ati.c | ||
bcm2835_fb.c | ||
blizzard.c | ||
bochs-display.c | ||
cg3.c | ||
cirrus_vga_internal.h | ||
cirrus_vga_isa.c | ||
cirrus_vga_rop2.h | ||
cirrus_vga_rop.h | ||
cirrus_vga.c | ||
dpcd.c | ||
edid-generate.c | ||
edid-region.c | ||
exynos4210_fimd.c | ||
framebuffer.c | ||
framebuffer.h | ||
g364fb.c | ||
i2c-ddc.c | ||
jazz_led.c | ||
Kconfig | ||
macfb.c | ||
meson.build | ||
milkymist-tmu2.c | ||
milkymist-vgafb_template.h | ||
milkymist-vgafb.c | ||
next-fb.c | ||
omap_dss.c | ||
omap_lcd_template.h | ||
omap_lcdc.c | ||
pl110_template.h | ||
pl110.c | ||
pxa2xx_lcd.c | ||
pxa2xx_template.h | ||
qxl-logger.c | ||
qxl-render.c | ||
qxl.c | ||
qxl.h | ||
ramfb-standalone.c | ||
ramfb.c | ||
sii9022.c | ||
sm501_template.h | ||
sm501.c | ||
ssd0303.c | ||
ssd0323.c | ||
tc6393xb_template.h | ||
tc6393xb.c | ||
tcx.c | ||
trace-events | ||
trace.h | ||
vga_int.h | ||
vga_regs.h | ||
vga-access.h | ||
vga-helpers.h | ||
vga-isa-mm.c | ||
vga-isa.c | ||
vga-pci.c | ||
vga.c | ||
vhost-user-gpu-pci.c | ||
vhost-user-gpu.c | ||
vhost-user-vga.c | ||
virtio-gpu-3d.c | ||
virtio-gpu-base.c | ||
virtio-gpu-pci.c | ||
virtio-gpu.c | ||
virtio-vga.c | ||
virtio-vga.h | ||
vmware_vga.c | ||
xenfb.c | ||
xlnx_dp.c |