Hi! Here's a port of the PowerVR Rogue GPU driver for the Acer Chromebook R13, taken from the Chrome OS 3.18 vendor kernel. It does not really work ATM, but it's not completely dysfunctional either. Run https://github.com/uli/bogocube twenty times, and it will work correctly once or twice. The most frequent issue is that the driver times out waiting for the firmware to boot. I suspect a power management issue, but I have not found anything concrete yet. Instructions on where to get the binary blobs from can be found at https://www.elinux.org/User:Uli/Acer_Chromebook_R13_GPU_test_system. Because the driver is rather bulky, this series only contains the changes vs. the Chrome OS 3.18 kernel version; the full tree can be found at https://github.com/uli/kernel in branch elm-gpu. This driver is not usable in its current state, nor is it in any way suitable for upstreaming. I'm just posting it here in case somebody is interested. CU Uli Ulrich Hecht (16): drm/img-rogue: fix signatures of struct devfreq_cooling_power ops drm/img-rogue: convert pfn to pfn_t for vm_insert_mixed() drm/img-rogue: change #include <asm/uaccess.h> to <linux/uaccess.h> drm/img-rogue: #include <linux/sched/clock.h> in osfunc.c drm/img-rogue: adapt to changed fence API drm/img-rogue: dma_ops->sync_single_for_*() -> dma_sync_single_for_*() drm/img-rogue: __GFP_WAIT is now __GFP_RECLAIM drm/img-rogue: dma_buf_ops .kmap_* are now .map_* drm/img-rogue: translate pgprot_t to pgprot value for __pgprot_modify() drm/img-rogue: remove .set_busid methods from drm_driver drm/img-rogue: replace call to obsolete drm_platform_init() drm/img-rogue: remove locking around devfreq opp functions drm/img-rogue: enable img-rogue driver in Kconfig/Makefile arm64: dts: mt8173: add CPU OPP tables arm64: dts: mt8173: add GPU device arm64: dts: mt8173-oak: enable GPU arch/arm64/boot/dts/mediatek/mt8173-oak.dtsi | 13 ++ arch/arm64/boot/dts/mediatek/mt8173.dtsi | 131 +++++++++++++++++++++ drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 2 + .../drm/img-rogue/1.6/mt8173/mt8173_sysconfig.c | 6 +- drivers/gpu/drm/img-rogue/1.6/mt8173/mtk_module.c | 14 ++- drivers/gpu/drm/img-rogue/1.6/osfunc.c | 4 +- drivers/gpu/drm/img-rogue/1.6/osfunc_arm64.c | 8 +- drivers/gpu/drm/img-rogue/1.6/physmem_dmabuf.c | 4 +- .../gpu/drm/img-rogue/1.6/physmem_osmem_linux.c | 2 +- drivers/gpu/drm/img-rogue/1.6/pmr_os.c | 2 +- drivers/gpu/drm/img-rogue/1.6/pvr_buffer_sync.c | 36 +++--- drivers/gpu/drm/img-rogue/1.6/pvr_drm.c | 34 +----- drivers/gpu/drm/img-rogue/1.6/pvr_dvfs_device.c | 7 -- drivers/gpu/drm/img-rogue/1.6/pvr_fence.c | 70 +++++------ drivers/gpu/drm/img-rogue/1.6/pvr_fence.h | 20 ++-- drivers/gpu/drm/img-rogue/1.6/pvr_uaccess.h | 2 +- drivers/gpu/drm/img-rogue/Kconfig | 1 + 18 files changed, 241 insertions(+), 117 deletions(-) -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel