1
0
mirror of https://github.com/DigitalDevices/dddvb.git synced 2023-10-10 13:37:43 +02:00

always use the copy loop with 32bit accesses

64bit access produces errors on some platforms
This commit is contained in:
rjkm 2021-01-13 14:56:57 +01:00
parent e413baeab9
commit bfa8cec850

View File

@ -177,7 +177,12 @@ void ddbcpyto(struct ddb *dev, u32 adr, void *src, long count)
void ddbcpyfrom(struct ddb *dev, void *dst, u32 adr, long count) void ddbcpyfrom(struct ddb *dev, void *dst, u32 adr, long count)
{ {
return gtlcpyfrom(dev, dst, adr, count);
/* The possible 64 bit read in memcpy_fromio produces errors
on some platforms, i.e. arm64 rpi4
if (unlikely(adr & 0xf0000000)) if (unlikely(adr & 0xf0000000))
return gtlcpyfrom(dev, dst, adr, count); return gtlcpyfrom(dev, dst, adr, count);
return memcpy_fromio(dst, dev->regs + adr, count); return memcpy_fromio(dst, dev->regs + adr, count);
*/
} }