diff options
author | Olof Johansson <olof@lixom.net> | 2015-11-09 16:35:19 -0800 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2015-11-09 16:35:19 -0800 |
commit | 3e4dda70cc989a4f8079541972942609229e9f55 (patch) | |
tree | 0342db762349057fd2e1efb621ba265df187f1dc /drivers/video/fbdev/tridentfb.c | |
parent | 1b38b0e3349d733679e91b029a7f0dfd9e16a169 (diff) | |
parent | 8713181dced9b2d0c2a99613449b9e45b656df83 (diff) | |
download | op-kernel-dev-3e4dda70cc989a4f8079541972942609229e9f55.zip op-kernel-dev-3e4dda70cc989a4f8079541972942609229e9f55.tar.gz |
Merge branch 'next/arm64' into next/dt
Merging in the few patches I had kept separate from main next/dt, since others
got merged here directly.
* next/arm64:
arm64: defconfig: Enable PCI generic host bridge by default
arm64: Juno: Add support for the PCIe host bridge on Juno R1
Documentation: of: Document the bindings used by Juno R1 PCIe host bridge
arm64: dts: mt8173: Add clocks for SCPSYS unit
arm64: dts: mt8173: Add subsystem clock controller device nodes
+ Linux 4.3-rc5
Diffstat (limited to 'drivers/video/fbdev/tridentfb.c')
-rw-r--r-- | drivers/video/fbdev/tridentfb.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/video/fbdev/tridentfb.c b/drivers/video/fbdev/tridentfb.c index 7ed9a22..01b43e9 100644 --- a/drivers/video/fbdev/tridentfb.c +++ b/drivers/video/fbdev/tridentfb.c @@ -226,7 +226,7 @@ static void blade_image_blit(struct tridentfb_par *par, const char *data, writemmr(par, DST1, point(x, y)); writemmr(par, DST2, point(x + w - 1, y + h - 1)); - memcpy(par->io_virt + 0x10000, data, 4 * size); + iowrite32_rep(par->io_virt + 0x10000, data, size); } static void blade_copy_rect(struct tridentfb_par *par, @@ -673,8 +673,14 @@ static int get_nativex(struct tridentfb_par *par) static inline void set_lwidth(struct tridentfb_par *par, int width) { write3X4(par, VGA_CRTC_OFFSET, width & 0xFF); - write3X4(par, AddColReg, - (read3X4(par, AddColReg) & 0xCF) | ((width & 0x300) >> 4)); + /* chips older than TGUI9660 have only 1 width bit in AddColReg */ + /* touching the other one breaks I2C/DDC */ + if (par->chip_id == TGUI9440 || par->chip_id == CYBER9320) + write3X4(par, AddColReg, + (read3X4(par, AddColReg) & 0xEF) | ((width & 0x100) >> 4)); + else + write3X4(par, AddColReg, + (read3X4(par, AddColReg) & 0xCF) | ((width & 0x300) >> 4)); } /* For resolutions smaller than FP resolution stretch */ |