mirror of https://gitee.com/openkylin/linux.git
staging: fbtft: access screen buffer directly
In fbtft-bus.c:fbtft_write_vmem16_bus9(), ioread8() is used for accessing the provided screen array. Since screen_buffer actually points to an ordinary buffer, instead access it directly. Signed-off-by: Lars Svensson <lars1.svensson@sonymobile.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4b6dc179dc
commit
6b626c77be
|
@ -179,7 +179,7 @@ EXPORT_SYMBOL(fbtft_write_vmem16_bus8);
|
|||
/* 16 bit pixel over 9-bit SPI bus: dc + high byte, dc + low byte */
|
||||
int fbtft_write_vmem16_bus9(struct fbtft_par *par, size_t offset, size_t len)
|
||||
{
|
||||
u8 __iomem *vmem8;
|
||||
u8 *vmem8;
|
||||
u16 *txbuf16 = par->txbuf.buf;
|
||||
size_t remain;
|
||||
size_t to_copy;
|
||||
|
@ -207,12 +207,12 @@ int fbtft_write_vmem16_bus9(struct fbtft_par *par, size_t offset, size_t len)
|
|||
|
||||
#ifdef __LITTLE_ENDIAN
|
||||
for (i = 0; i < to_copy; i += 2) {
|
||||
txbuf16[i] = 0x0100 | ioread8(vmem8 + i + 1);
|
||||
txbuf16[i + 1] = 0x0100 | ioread8(vmem8 + i);
|
||||
txbuf16[i] = 0x0100 | vmem8[i + 1];
|
||||
txbuf16[i + 1] = 0x0100 | vmem8[i];
|
||||
}
|
||||
#else
|
||||
for (i = 0; i < to_copy; i++)
|
||||
txbuf16[i] = 0x0100 | ioread8(vmem8 + i);
|
||||
txbuf16[i] = 0x0100 | vmem8[i];
|
||||
#endif
|
||||
vmem8 = vmem8 + to_copy;
|
||||
ret = par->fbtftops.write(par, par->txbuf.buf, to_copy * 2);
|
||||
|
|
Loading…
Reference in New Issue