From 635ff3e87fa01d037b7678e181bb6d948ace4472 Mon Sep 17 00:00:00 2001 From: Stark Li Date: Thu, 15 Oct 2015 15:37:05 +0800 Subject: [PATCH] update gralloc to adapter hwcomposer 1.4 1. update hwcomposer 2. rm extra directory Change-Id: I94745226bbb591c381ca8f1e9ab3bdf9dac8e836 Signed-off-by: Jiyu Yang --- .../product => }/android/gralloc/Android.mk | 0 .../android/gralloc/src/Android.mk | 24 +- .../android/gralloc/src/alloc_device.cpp | 65 +- .../android/gralloc/src/alloc_device.h | 0 .../src/alloc_device_allocator_specific.h | 0 .../android/gralloc/src/alloc_ion.cpp | 18 +- .../android/gralloc/src/alloc_ump.cpp | 0 .../android/gralloc/src/format_chooser.cpp | 0 .../android/gralloc/src/format_chooser.h | 0 .../gralloc/src/format_chooser_blockinit.cpp | 0 .../src/formatdef_files/display_afbc.defs | 0 .../gralloc/src/formatdef_files/gpu_afbc.defs | 0 .../src/formatdef_files/gpu_afbc_wideblk.defs | 0 .../src/formatdef_files/gpu_default.defs | 0 t83x/android/gralloc/src/framebuffer.cpp | 610 ++++++++++++++++++ t83x/android/gralloc/src/framebuffer.h | 46 ++ .../gralloc/src/framebuffer_device.cpp | 278 ++++++++ .../android/gralloc/src/framebuffer_device.h | 6 +- .../gralloc/src/gralloc_buffer_priv.cpp | 0 .../android/gralloc/src/gralloc_buffer_priv.h | 0 .../android/gralloc/src/gralloc_helper.h | 0 .../android/gralloc/src/gralloc_module.cpp | 110 +++- .../src/gralloc_module_allocator_specific.h | 0 .../gralloc/src/gralloc_module_ion.cpp | 0 .../gralloc/src/gralloc_module_ump.cpp | 0 .../android/gralloc/src/gralloc_priv.h | 47 +- .../android/gralloc/src/gralloc_vsync.h | 0 .../gralloc/src/gralloc_vsync_default.cpp | 25 +- .../gralloc/src/gralloc_vsync_report.h | 0 .../gralloc/src/gralloc_vsync_s3cfb.cpp | 0 .../android/patches/K/android-k.sh | 0 .../android/patches/K/bionics.diff | 0 .../android/patches/K/libcxx.diff | 0 .../android/patches/K/license.txt | 0 .../product => }/android/patches/K/llvm.diff | 0 .../android/patches/K/locale.diff | 0 .../gralloc/src/framebuffer_device.cpp | 483 -------------- .../devicetree/bindings/arm/mali-midgard.txt | 0 .../Documentation/dma-buf-test-exporter.txt | 0 .../product => }/kernel/Documentation/kds.txt | 0 .../drivers/base/dma_buf_lock/sconscript | 0 .../drivers/base/dma_buf_lock/src/Kbuild | 0 .../drivers/base/dma_buf_lock/src/Makefile | 0 .../base/dma_buf_lock/src/dma_buf_lock.c | 0 .../base/dma_buf_lock/src/dma_buf_lock.h | 0 .../drivers/base/dma_buf_lock/src/sconscript | 0 .../drivers/base/dma_buf_test_exporter/Kbuild | 0 .../base/dma_buf_test_exporter/Kconfig | 0 .../base/dma_buf_test_exporter/Makefile | 0 .../dma-buf-test-exporter.c | 0 .../base/dma_buf_test_exporter/sconscript | 0 .../kernel/drivers/base/kds/Kbuild | 0 .../kernel/drivers/base/kds/Kconfig | 0 .../kernel/drivers/base/kds/Makefile | 0 .../kernel/drivers/base/kds/kds.c | 0 .../kernel/drivers/base/kds/sconscript | 0 .../kernel/drivers/base/sconscript | 0 .../kernel/drivers/base/ump/Kbuild | 0 .../kernel/drivers/base/ump/Kconfig | 0 .../kernel/drivers/base/ump/docs/Doxyfile | 0 .../kernel/drivers/base/ump/docs/sconscript | 0 .../drivers/base/ump/example_kernel_api.c | 0 .../drivers/base/ump/example_user_api.c | 0 .../kernel/drivers/base/ump/sconscript | 0 .../kernel/drivers/base/ump/src/Kbuild | 0 .../kernel/drivers/base/ump/src/Makefile | 0 .../drivers/base/ump/src/Makefile.common | 0 .../drivers/base/ump/src/arch-arm/config.h | 0 .../drivers/base/ump/src/arch-arm64/config.h | 0 .../base/ump/src/common/ump_kernel_core.c | 0 .../base/ump/src/common/ump_kernel_core.h | 0 .../common/ump_kernel_descriptor_mapping.c | 0 .../common/ump_kernel_descriptor_mapping.h | 0 .../base/ump/src/common/ump_kernel_priv.h | 0 .../drivers/base/ump/src/imports/ion/Makefile | 0 .../base/ump/src/imports/ion/sconscript | 0 .../src/imports/ion/ump_kernel_import_ion.c | 0 .../drivers/base/ump/src/imports/sconscript | 0 .../base/ump/src/linux/ump_kernel_linux.c | 0 .../base/ump/src/linux/ump_kernel_linux_mem.c | 0 .../base/ump/src/linux/ump_kernel_linux_mem.h | 0 .../kernel/drivers/base/ump/src/sconscript | 0 .../kernel/drivers/base/ump/src/ump_arch.h | 0 .../kernel/drivers/base/ump/ump_ref_drv.h | 0 .../kernel/drivers/gpu/arm/Kbuild | 0 .../kernel/drivers/gpu/arm/Kconfig | 0 .../kernel/drivers/gpu/arm/midgard/Kbuild | 0 .../kernel/drivers/gpu/arm/midgard/Kconfig | 0 .../kernel/drivers/gpu/arm/midgard/Makefile | 0 .../drivers/gpu/arm/midgard/Makefile.kbase | 0 .../gpu/arm/midgard/backend/gpu/Kbuild | 0 .../backend/gpu/mali_kbase_backend_config.h | 0 .../gpu/mali_kbase_cache_policy_backend.c | 0 .../gpu/mali_kbase_cache_policy_backend.h | 0 .../gpu/mali_kbase_debug_job_fault_backend.c | 0 .../midgard/backend/gpu/mali_kbase_devfreq.c | 0 .../midgard/backend/gpu/mali_kbase_devfreq.h | 0 .../backend/gpu/mali_kbase_device_hw.c | 0 .../backend/gpu/mali_kbase_device_internal.h | 0 .../arm/midgard/backend/gpu/mali_kbase_gpu.c | 0 .../backend/gpu/mali_kbase_gpuprops_backend.c | 0 .../backend/gpu/mali_kbase_instr_backend.c | 0 .../backend/gpu/mali_kbase_instr_defs.h | 0 .../backend/gpu/mali_kbase_instr_internal.h | 0 .../backend/gpu/mali_kbase_irq_internal.h | 0 .../backend/gpu/mali_kbase_irq_linux.c | 0 .../midgard/backend/gpu/mali_kbase_jm_as.c | 0 .../midgard/backend/gpu/mali_kbase_jm_defs.h | 0 .../midgard/backend/gpu/mali_kbase_jm_hw.c | 0 .../backend/gpu/mali_kbase_jm_internal.h | 0 .../midgard/backend/gpu/mali_kbase_jm_rb.c | 0 .../midgard/backend/gpu/mali_kbase_jm_rb.h | 0 .../backend/gpu/mali_kbase_js_affinity.c | 0 .../backend/gpu/mali_kbase_js_affinity.h | 0 .../backend/gpu/mali_kbase_js_backend.c | 0 .../backend/gpu/mali_kbase_js_internal.h | 0 .../backend/gpu/mali_kbase_mmu_hw_direct.c | 0 .../backend/gpu/mali_kbase_mmu_hw_direct.h | 0 .../backend/gpu/mali_kbase_pm_always_on.c | 0 .../backend/gpu/mali_kbase_pm_always_on.h | 0 .../backend/gpu/mali_kbase_pm_backend.c | 0 .../midgard/backend/gpu/mali_kbase_pm_ca.c | 0 .../midgard/backend/gpu/mali_kbase_pm_ca.h | 0 .../backend/gpu/mali_kbase_pm_ca_fixed.c | 0 .../backend/gpu/mali_kbase_pm_ca_fixed.h | 0 .../backend/gpu/mali_kbase_pm_coarse_demand.c | 0 .../backend/gpu/mali_kbase_pm_coarse_demand.h | 0 .../midgard/backend/gpu/mali_kbase_pm_defs.h | 0 .../backend/gpu/mali_kbase_pm_demand.c | 0 .../backend/gpu/mali_kbase_pm_demand.h | 0 .../backend/gpu/mali_kbase_pm_driver.c | 0 .../backend/gpu/mali_kbase_pm_internal.h | 0 .../backend/gpu/mali_kbase_pm_metrics.c | 0 .../backend/gpu/mali_kbase_pm_policy.c | 0 .../backend/gpu/mali_kbase_pm_policy.h | 0 .../arm/midgard/backend/gpu/mali_kbase_time.c | 0 .../arm/midgard/backend/gpu/mali_kbase_time.h | 0 .../drivers/gpu/arm/midgard/docs/Doxyfile | 0 .../midgard/docs/policy_operation_diagram.dot | 0 .../gpu/arm/midgard/docs/policy_overview.dot | 0 .../arm/midgard/mali_base_hwconfig_features.h | 0 .../arm/midgard/mali_base_hwconfig_issues.h | 0 .../gpu/arm/midgard/mali_base_kernel.h | 0 .../gpu/arm/midgard/mali_base_kernel_sync.h | 0 .../gpu/arm/midgard/mali_base_mem_priv.h | 0 .../midgard/mali_base_vendor_specific_func.h | 0 .../drivers/gpu/arm/midgard/mali_kbase.h | 0 .../arm/midgard/mali_kbase_10969_workaround.c | 0 .../arm/midgard/mali_kbase_10969_workaround.h | 0 .../gpu/arm/midgard/mali_kbase_cache_policy.c | 0 .../gpu/arm/midgard/mali_kbase_cache_policy.h | 0 .../gpu/arm/midgard/mali_kbase_config.c | 0 .../gpu/arm/midgard/mali_kbase_config.h | 0 .../arm/midgard/mali_kbase_config_defaults.h | 0 .../gpu/arm/midgard/mali_kbase_context.c | 0 .../gpu/arm/midgard/mali_kbase_core_linux.c | 0 .../gpu/arm/midgard/mali_kbase_debug.c | 0 .../gpu/arm/midgard/mali_kbase_debug.h | 0 .../arm/midgard/mali_kbase_debug_job_fault.c | 0 .../arm/midgard/mali_kbase_debug_job_fault.h | 0 .../arm/midgard/mali_kbase_debug_mem_view.c | 0 .../arm/midgard/mali_kbase_debug_mem_view.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_defs.h | 0 .../gpu/arm/midgard/mali_kbase_device.c | 0 .../arm/midgard/mali_kbase_disjoint_events.c | 0 .../gpu/arm/midgard/mali_kbase_event.c | 0 .../gpu/arm/midgard/mali_kbase_gator.h | 0 .../gpu/arm/midgard/mali_kbase_gator_api.c | 0 .../gpu/arm/midgard/mali_kbase_gator_api.h | 0 .../midgard/mali_kbase_gator_hwcnt_names.h | 0 .../midgard/mali_kbase_gpu_memory_debugfs.c | 0 .../midgard/mali_kbase_gpu_memory_debugfs.h | 0 .../gpu/arm/midgard/mali_kbase_gpuprops.c | 0 .../gpu/arm/midgard/mali_kbase_gpuprops.h | 0 .../arm/midgard/mali_kbase_gpuprops_types.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_hw.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_hw.h | 0 .../arm/midgard/mali_kbase_hwaccess_backend.h | 0 .../arm/midgard/mali_kbase_hwaccess_defs.h | 0 .../midgard/mali_kbase_hwaccess_gpuprops.h | 0 .../arm/midgard/mali_kbase_hwaccess_instr.h | 0 .../gpu/arm/midgard/mali_kbase_hwaccess_jm.h | 0 .../gpu/arm/midgard/mali_kbase_hwaccess_pm.h | 0 .../arm/midgard/mali_kbase_hwaccess_time.h | 0 .../gpu/arm/midgard/mali_kbase_hwcnt_reader.h | 0 .../gpu/arm/midgard/mali_kbase_instr.c | 0 .../gpu/arm/midgard/mali_kbase_instr.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_ipa.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_ipa.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_jd.c | 0 .../gpu/arm/midgard/mali_kbase_jd_debugfs.c | 0 .../gpu/arm/midgard/mali_kbase_jd_debugfs.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_jm.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_jm.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_js.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_js.h | 0 .../gpu/arm/midgard/mali_kbase_js_ctx_attr.c | 0 .../gpu/arm/midgard/mali_kbase_js_ctx_attr.h | 0 .../gpu/arm/midgard/mali_kbase_js_defs.h | 0 .../gpu/arm/midgard/mali_kbase_js_policy.h | 0 .../arm/midgard/mali_kbase_js_policy_cfs.c | 0 .../arm/midgard/mali_kbase_js_policy_cfs.h | 0 .../gpu/arm/midgard/mali_kbase_linux.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_mem.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_mem.h | 0 .../gpu/arm/midgard/mali_kbase_mem_linux.c | 0 .../gpu/arm/midgard/mali_kbase_mem_linux.h | 0 .../gpu/arm/midgard/mali_kbase_mem_lowlevel.h | 0 .../gpu/arm/midgard/mali_kbase_mem_pool.c | 0 .../arm/midgard/mali_kbase_mem_pool_debugfs.c | 0 .../arm/midgard/mali_kbase_mem_pool_debugfs.h | 0 .../midgard/mali_kbase_mem_profile_debugfs.c | 0 .../midgard/mali_kbase_mem_profile_debugfs.h | 0 .../mali_kbase_mem_profile_debugfs_buf_size.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_mmu.c | 0 .../gpu/arm/midgard/mali_kbase_mmu_hw.h | 0 .../gpu/arm/midgard/mali_kbase_mmu_mode.h | 0 .../arm/midgard/mali_kbase_mmu_mode_lpae.c | 0 .../arm/midgard/mali_kbase_platform_fake.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_pm.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_pm.h | 0 .../midgard/mali_kbase_profiling_gator_api.h | 0 .../gpu/arm/midgard/mali_kbase_replay.c | 0 .../gpu/arm/midgard/mali_kbase_security.c | 0 .../gpu/arm/midgard/mali_kbase_security.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_smc.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_smc.h | 0 .../gpu/arm/midgard/mali_kbase_softjobs.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_sync.c | 0 .../drivers/gpu/arm/midgard/mali_kbase_sync.h | 0 .../gpu/arm/midgard/mali_kbase_sync_user.c | 0 .../gpu/arm/midgard/mali_kbase_tlstream.c | 0 .../gpu/arm/midgard/mali_kbase_tlstream.h | 0 .../gpu/arm/midgard/mali_kbase_trace_defs.h | 0 .../arm/midgard/mali_kbase_trace_timeline.c | 0 .../arm/midgard/mali_kbase_trace_timeline.h | 0 .../midgard/mali_kbase_trace_timeline_defs.h | 0 .../drivers/gpu/arm/midgard/mali_kbase_uku.h | 0 .../gpu/arm/midgard/mali_kbase_utility.c | 0 .../gpu/arm/midgard/mali_kbase_utility.h | 0 .../gpu/arm/midgard/mali_kbase_vinstr.c | 0 .../gpu/arm/midgard/mali_kbase_vinstr.h | 0 .../gpu/arm/midgard/mali_linux_kbase_trace.h | 0 .../gpu/arm/midgard/mali_linux_trace.h | 0 .../drivers/gpu/arm/midgard/mali_malisw.h | 0 .../gpu/arm/midgard/mali_midg_regmap.h | 0 .../drivers/gpu/arm/midgard/mali_timeline.h | 0 .../kernel/drivers/gpu/arm/midgard/mali_uk.h | 0 .../drivers/gpu/arm/midgard/platform/Kbuild | 0 .../drivers/gpu/arm/midgard/platform/Kconfig | 0 .../arm/midgard/platform/devicetree/Kbuild | 0 .../devicetree/mali_kbase_config_devicetree.c | 0 .../devicetree/mali_kbase_config_platform.h | 0 .../devicetree/mali_kbase_runtime_pm.c | 0 .../gpu/arm/midgard/platform/juno_soc/Kbuild | 0 .../midgard/platform/juno_soc/juno_mali_opp.c | 0 .../juno_soc/mali_kbase_config_juno_soc.c | 0 .../juno_soc/mali_kbase_config_platform.h | 0 .../platform/mali_kbase_platform_common.h | 0 .../platform/mali_kbase_platform_fake.h | 0 .../gpu/arm/midgard/platform/vexpress/Kbuild | 0 .../vexpress/mali_kbase_config_platform.h | 0 .../vexpress/mali_kbase_config_vexpress.c | 0 .../vexpress/mali_kbase_cpu_vexpress.c | 0 .../vexpress/mali_kbase_cpu_vexpress.h | 0 .../midgard/platform/vexpress_1xv7_a57/Kbuild | 0 .../mali_kbase_config_platform.h | 0 .../mali_kbase_config_vexpress.c | 0 .../platform/vexpress_6xvirtex7_10mhz/Kbuild | 0 .../mali_kbase_config_platform.h | 0 .../mali_kbase_config_vexpress.c | 0 .../mali_kbase_cpu_vexpress.c | 0 .../mali_kbase_cpu_vexpress.h | 0 .../arm/midgard/platform_dummy/mali_ukk_os.h | 0 .../kernel/drivers/gpu/arm/midgard/sconscript | 0 .../kernel/drivers/gpu/arm/sconscript | 0 .../kernel/drivers/gpu/drm/pl111/Kbuild | 0 .../kernel/drivers/gpu/drm/pl111/Kconfig | 0 .../kernel/drivers/gpu/drm/pl111/Makefile | 0 .../drivers/gpu/drm/pl111/pl111_clcd_ext.h | 0 .../kernel/drivers/gpu/drm/pl111/pl111_drm.h | 0 .../gpu/drm/pl111/pl111_drm_connector.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_crtc.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_cursor.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_device.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_dma_buf.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_encoder.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_fb.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_funcs.h | 0 .../drivers/gpu/drm/pl111/pl111_drm_gem.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_pl111.c | 0 .../gpu/drm/pl111/pl111_drm_platform.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_suspend.c | 0 .../drivers/gpu/drm/pl111/pl111_drm_vma.c | 0 .../kernel/drivers/gpu/drm/pl111/sconscript | 0 .../kernel/drivers/gpu/drm/sconscript | 0 .../kernel/drivers/gpu/sconscript | 0 .../product => }/kernel/drivers/sconscript | 0 .../include/linux/dma-buf-test-exporter.h | 0 .../product => }/kernel/include/linux/kds.h | 0 .../kernel/include/linux/ump-common.h | 0 .../kernel/include/linux/ump-import.h | 0 .../kernel/include/linux/ump-ioctl.h | 0 .../product => }/kernel/include/linux/ump.h | 0 t83x/{driver/product => }/kernel/license.txt | 0 .../patches/integrate_kds_with_dma_buf.patch | 0 t83x/{driver/product => }/kernel/sconscript | 0 307 files changed, 1177 insertions(+), 535 deletions(-) rename t83x/{driver/product => }/android/gralloc/Android.mk (100%) rename t83x/{driver/product => }/android/gralloc/src/Android.mk (85%) rename t83x/{driver/product => }/android/gralloc/src/alloc_device.cpp (93%) rename t83x/{driver/product => }/android/gralloc/src/alloc_device.h (100%) rename t83x/{driver/product => }/android/gralloc/src/alloc_device_allocator_specific.h (100%) rename t83x/{driver/product => }/android/gralloc/src/alloc_ion.cpp (94%) rename t83x/{driver/product => }/android/gralloc/src/alloc_ump.cpp (100%) rename t83x/{driver/product => }/android/gralloc/src/format_chooser.cpp (100%) rename t83x/{driver/product => }/android/gralloc/src/format_chooser.h (100%) rename t83x/{driver/product => }/android/gralloc/src/format_chooser_blockinit.cpp (100%) rename t83x/{driver/product => }/android/gralloc/src/formatdef_files/display_afbc.defs (100%) rename t83x/{driver/product => }/android/gralloc/src/formatdef_files/gpu_afbc.defs (100%) rename t83x/{driver/product => }/android/gralloc/src/formatdef_files/gpu_afbc_wideblk.defs (100%) rename t83x/{driver/product => }/android/gralloc/src/formatdef_files/gpu_default.defs (100%) create mode 100644 t83x/android/gralloc/src/framebuffer.cpp create mode 100644 t83x/android/gralloc/src/framebuffer.h create mode 100755 t83x/android/gralloc/src/framebuffer_device.cpp rename t83x/{driver/product => }/android/gralloc/src/framebuffer_device.h (86%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_buffer_priv.cpp (100%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_buffer_priv.h (100%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_helper.h (100%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_module.cpp (67%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_module_allocator_specific.h (100%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_module_ion.cpp (100%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_module_ump.cpp (100%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_priv.h (90%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_vsync.h (100%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_vsync_default.cpp (70%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_vsync_report.h (100%) rename t83x/{driver/product => }/android/gralloc/src/gralloc_vsync_s3cfb.cpp (100%) rename t83x/{driver/product => }/android/patches/K/android-k.sh (100%) rename t83x/{driver/product => }/android/patches/K/bionics.diff (100%) rename t83x/{driver/product => }/android/patches/K/libcxx.diff (100%) rename t83x/{driver/product => }/android/patches/K/license.txt (100%) rename t83x/{driver/product => }/android/patches/K/llvm.diff (100%) rename t83x/{driver/product => }/android/patches/K/locale.diff (100%) delete mode 100755 t83x/driver/product/android/gralloc/src/framebuffer_device.cpp rename t83x/{driver/product => }/kernel/Documentation/devicetree/bindings/arm/mali-midgard.txt (100%) rename t83x/{driver/product => }/kernel/Documentation/dma-buf-test-exporter.txt (100%) rename t83x/{driver/product => }/kernel/Documentation/kds.txt (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_lock/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_lock/src/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_lock/src/Makefile (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.h (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_lock/src/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_test_exporter/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_test_exporter/Kconfig (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_test_exporter/Makefile (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_test_exporter/dma-buf-test-exporter.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/dma_buf_test_exporter/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/kds/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/base/kds/Kconfig (100%) rename t83x/{driver/product => }/kernel/drivers/base/kds/Makefile (100%) rename t83x/{driver/product => }/kernel/drivers/base/kds/kds.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/kds/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/Kconfig (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/docs/Doxyfile (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/docs/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/example_kernel_api.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/example_user_api.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/Makefile (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/Makefile.common (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/arch-arm/config.h (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/arch-arm64/config.h (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/common/ump_kernel_core.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/common/ump_kernel_core.h (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.h (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/common/ump_kernel_priv.h (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/imports/ion/Makefile (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/imports/ion/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/imports/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/linux/ump_kernel_linux.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.c (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.h (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/src/ump_arch.h (100%) rename t83x/{driver/product => }/kernel/drivers/base/ump/ump_ref_drv.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/Kconfig (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/Kconfig (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/Makefile (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/Makefile.kbase (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_backend_config.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_debug_job_fault_backend.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_hw.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_internal.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpu.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpuprops_backend.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_backend.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_internal.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_internal.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_linux.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_as.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_defs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_hw.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_internal.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_backend.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_internal.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_backend.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_defs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_driver.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_internal.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_metrics.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/docs/Doxyfile (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/docs/policy_operation_diagram.dot (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/docs/policy_overview.dot (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_features.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_issues.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_base_kernel.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_base_kernel_sync.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_base_mem_priv.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_base_vendor_specific_func.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_config.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_config.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_config_defaults.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_context.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_core_linux.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_defs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_device.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_disjoint_events.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_event.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_gator.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_hwcnt_names.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops_types.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_backend.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_defs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_gpuprops.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_instr.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_jm.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_pm.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_time.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_hwcnt_reader.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_jd.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_js.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_js.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_js_defs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_linux.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_lowlevel.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs_buf_size.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_hw.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode_lpae.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_platform_fake.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_profiling_gator_api.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_replay.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_security.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_security.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_softjobs.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_sync_user.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_defs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline_defs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_uku.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_linux_kbase_trace.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_linux_trace.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_malisw.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_midg_regmap.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_timeline.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/mali_uk.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/Kconfig (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/devicetree/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_devicetree.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_platform.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_runtime_pm.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/juno_soc/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/juno_soc/juno_mali_opp.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_juno_soc.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_platform.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_common.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_fake.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_platform.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_vexpress.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_platform.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_vexpress.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_platform.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_vexpress.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/platform_dummy/mali_ukk_os.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/midgard/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/arm/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/Kbuild (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/Kconfig (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/Makefile (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_clcd_ext.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_connector.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_crtc.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_cursor.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_device.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_dma_buf.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_encoder.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_fb.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_funcs.h (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_gem.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_pl111.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_platform.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_suspend.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/pl111_drm_vma.c (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/pl111/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/drm/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/gpu/sconscript (100%) rename t83x/{driver/product => }/kernel/drivers/sconscript (100%) rename t83x/{driver/product => }/kernel/include/linux/dma-buf-test-exporter.h (100%) rename t83x/{driver/product => }/kernel/include/linux/kds.h (100%) rename t83x/{driver/product => }/kernel/include/linux/ump-common.h (100%) rename t83x/{driver/product => }/kernel/include/linux/ump-import.h (100%) rename t83x/{driver/product => }/kernel/include/linux/ump-ioctl.h (100%) rename t83x/{driver/product => }/kernel/include/linux/ump.h (100%) rename t83x/{driver/product => }/kernel/license.txt (100%) rename t83x/{driver/product => }/kernel/patches/integrate_kds_with_dma_buf.patch (100%) rename t83x/{driver/product => }/kernel/sconscript (100%) diff --git a/t83x/driver/product/android/gralloc/Android.mk b/t83x/android/gralloc/Android.mk similarity index 100% rename from t83x/driver/product/android/gralloc/Android.mk rename to t83x/android/gralloc/Android.mk diff --git a/t83x/driver/product/android/gralloc/src/Android.mk b/t83x/android/gralloc/src/Android.mk similarity index 85% rename from t83x/driver/product/android/gralloc/src/Android.mk rename to t83x/android/gralloc/src/Android.mk index 344d8b5..6c7947b 100755 --- a/t83x/driver/product/android/gralloc/src/Android.mk +++ b/t83x/android/gralloc/src/Android.mk @@ -23,6 +23,26 @@ GRALLOC_VSYNC_BACKEND?=default DISABLE_FRAMEBUFFER_HAL?=0 MALI_SUPPORT_AFBC_WIDEBLK?=0 +#framebuffer apis +include $(CLEAR_VARS) +ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),) + LOCAL_CFLAGS += -DNUM_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS) +endif + +ifeq ($(TARGET_EXTERNAL_DISPLAY),true) +ifeq ($(TARGET_SINGLE_EXTERNAL_DISPLAY_USE_FB1),true) +LOCAL_CFLAGS += -DSINGLE_EXTERNAL_DISPLAY_USE_FB1 +endif +endif + +LOCAL_PRELINK_MODULE := false +LOCAL_SRC_FILES := framebuffer.cpp +LOCAL_MODULE := libfbcnf +LOCAL_SHARED_LIBRARIES := liblog libcutils libutils +LOCAL_C_INCLUDES += system/core/libion/include/ \ + system/core/libion/kernel-headers +include $(BUILD_SHARED_LIBRARY) + # HAL module implemenation, not prelinked and stored in # hw/..so include $(CLEAR_VARS) @@ -46,7 +66,7 @@ else # Midgard build settings MALI_LOCAL_PATH?=vendor/arm/t83x GRALLOC_DEPTH?=GRALLOC_32_BITS - GRALLOC_FB_SWAP_RED_BLUE?=1 + GRALLOC_FB_SWAP_RED_BLUE?=0 MALI_DDK_INCLUDES=$(MALI_LOCAL_PATH)/include $(MALI_LOCAL_PATH)/kernel/include #LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)/hw ifeq ($(MALI_ION),1) @@ -76,7 +96,7 @@ endif LOCAL_PRELINK_MODULE := false -LOCAL_SHARED_LIBRARIES := libhardware liblog libcutils libGLESv1_CM $(ALLOCATION_LIB) +LOCAL_SHARED_LIBRARIES := libhardware liblog libcutils libGLESv1_CM $(ALLOCATION_LIB) libfbcnf LOCAL_C_INCLUDES := $(MALI_LOCAL_PATH) $(MALI_DDK_INCLUDES) LOCAL_CFLAGS := -DLOG_TAG=\"gralloc\" -DSTANDARD_LINUX_SCREEN -DMALI_ION=$(MALI_ION) -DMALI_AFBC_GRALLOC=$(MALI_AFBC_GRALLOC) -D$(GRALLOC_DEPTH) -DMALI_ARCHITECTURE_UTGARD=$(MALI_ARCHITECTURE_UTGARD) -DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) -DDISABLE_FRAMEBUFFER_HAL=$(DISABLE_FRAMEBUFFER_HAL) -DMALI_SUPPORT_AFBC_WIDEBLK=$(MALI_SUPPORT_AFBC_WIDEBLK) -DAFBC_YUV420_EXTRA_MB_ROW_NEEDED=$(AFBC_YUV420_EXTRA_MB_ROW_NEEDED) diff --git a/t83x/driver/product/android/gralloc/src/alloc_device.cpp b/t83x/android/gralloc/src/alloc_device.cpp similarity index 93% rename from t83x/driver/product/android/gralloc/src/alloc_device.cpp rename to t83x/android/gralloc/src/alloc_device.cpp index 983d466..1519795 100755 --- a/t83x/driver/product/android/gralloc/src/alloc_device.cpp +++ b/t83x/android/gralloc/src/alloc_device.cpp @@ -44,17 +44,35 @@ static int gralloc_alloc_framebuffer_locked(alloc_device_t* dev, size_t size, int usage, buffer_handle_t* pHandle, int* stride, int* byte_stride) { - private_module_t* m = reinterpret_cast(dev->common.module); + private_module_t* private_t = reinterpret_cast(dev->common.module); + framebuffer_mapper_t* m = NULL; +#ifdef DEBUG_EXTERNAL_DISPLAY_ON_PANEL + ALOGD("always alloc from fb0"); + m = &(private_t->fb_primary); +#else + if (usage & GRALLOC_USAGE_EXTERNAL_DISP) + { + m = &(private_t->fb_external); + } + else + { + m = &(private_t->fb_primary); + } +#endif // allocate the framebuffer if (m->framebuffer == NULL) { + #if 0//not a good idea to init here. remove it. // initialize the framebuffer, the framebuffer is mapped once and forever. int err = init_frame_buffer_locked(m); if (err < 0) { return err; } + #endif + AERR("Should register fb before alloc it. display %d ",usage & GRALLOC_USAGE_EXTERNAL_DISP); + return -1; } const uint32_t bufferMask = m->bufferMask; @@ -63,10 +81,11 @@ static int gralloc_alloc_framebuffer_locked(alloc_device_t* dev, size_t size, in * to the size of the actual framebuffer. * alignedFramebufferSize is used for allocating a possible internal buffer and * thus need to consider internal alignment requirements. */ - const size_t framebufferSize = m->finfo.line_length * m->info.yres; - const size_t alignedFramebufferSize = GRALLOC_ALIGN(m->finfo.line_length, 64) * m->info.yres; + //const size_t framebufferSize = m->finfo.line_length * m->info.yres; + const size_t framebufferSize = m->bufferSize; + const size_t alignedFramebufferSize = GRALLOC_ALIGN(m->fb_info.finfo.line_length, 64) * m->fb_info.info.yres; - *stride = m->info.xres; + *stride = m->fb_info.info.xres; if (numBuffers == 1) { @@ -74,8 +93,9 @@ static int gralloc_alloc_framebuffer_locked(alloc_device_t* dev, size_t size, in // we return a regular buffer which will be memcpy'ed to the main // screen when post is called. int newUsage = (usage & ~GRALLOC_USAGE_HW_FB) | GRALLOC_USAGE_HW_2D; - AWAR( "fallback to single buffering. Virtual Y-res too small %d", m->info.yres ); - *byte_stride = GRALLOC_ALIGN(m->finfo.line_length, 64); + //AWAR( "fallback to single buffering. Virtual Y-res too small %d", m->info.yres ); + AWAR("fallback to single buffering. Virtual Y-res too small %d", numBuffers); + *byte_stride = GRALLOC_ALIGN(m->fb_info.finfo.line_length, 64); return alloc_backend_alloc(dev, alignedFramebufferSize, newUsage, pHandle); } @@ -97,26 +117,26 @@ static int gralloc_alloc_framebuffer_locked(alloc_device_t* dev, size_t size, in framebufferVaddr += framebufferSize; } + ALOGD("allocate framebufferVaddr %p , framebufferSize %d", framebufferVaddr, framebufferSize); // The entire framebuffer memory is already mapped, now create a buffer object for parts of this memory - private_handle_t* hnd = new private_handle_t(private_handle_t::PRIV_FLAGS_FRAMEBUFFER, usage, size, - (void*)framebufferVaddr, 0, dup(m->framebuffer->fd), - (framebufferVaddr - (uintptr_t)m->framebuffer->base), 0); + private_handle_t* hnd = new private_handle_t(private_handle_t::PRIV_FLAGS_FRAMEBUFFER, usage, size, (void*)framebufferVaddr, + 0, m->framebuffer->fd, (framebufferVaddr - (uintptr_t)m->framebuffer->base), 0); /* * Perform allocator specific actions. If these fail we fall back to a regular buffer * which will be memcpy'ed to the main screen when fb_post is called. */ - if (alloc_backend_alloc_framebuffer(m, hnd) == -1) + if (alloc_backend_alloc_framebuffer(private_t, hnd) == -1) { delete hnd; int newUsage = (usage & ~GRALLOC_USAGE_HW_FB) | GRALLOC_USAGE_HW_2D; AERR( "Fallback to single buffering. Unable to map framebuffer memory to handle:%p", hnd ); - *byte_stride = GRALLOC_ALIGN(m->finfo.line_length, 64); + *byte_stride = GRALLOC_ALIGN(m->fb_info.finfo.line_length, 64); return alloc_backend_alloc(dev, alignedFramebufferSize, newUsage, pHandle); } *pHandle = hnd; - *byte_stride = m->finfo.line_length; + *byte_stride = m->fb_info.finfo.line_length; return 0; } @@ -977,11 +997,24 @@ static int alloc_device_free(alloc_device_t* dev, buffer_handle_t handle) if (hnd->flags & private_handle_t::PRIV_FLAGS_FRAMEBUFFER) { // free this buffer - private_module_t* m = reinterpret_cast(dev->common.module); - const size_t bufferSize = m->finfo.line_length * m->info.yres; - int index = ((uintptr_t)hnd->base - (uintptr_t)m->framebuffer->base) / bufferSize; + private_module_t* priv_t = reinterpret_cast(dev->common.module); + framebuffer_mapper_t* m = NULL; +#ifdef DEBUG_EXTERNAL_DISPLAY_ON_PANEL + ALOGD("always free from fb0"); + m = &(priv_t->fb_primary); +#else + if (hnd->usage & GRALLOC_USAGE_EXTERNAL_DISP) + { + m = &(priv_t->fb_external); + } + else + { + m = &(priv_t->fb_primary); + } +#endif + int index = ((uintptr_t)hnd->base - (uintptr_t)m->framebuffer->base) / m->bufferSize; m->bufferMask &= ~(1<fd); + ALOGD("free frame buffer %d",index); } #if MALI_AFBC_GRALLOC == 1 diff --git a/t83x/driver/product/android/gralloc/src/alloc_device.h b/t83x/android/gralloc/src/alloc_device.h similarity index 100% rename from t83x/driver/product/android/gralloc/src/alloc_device.h rename to t83x/android/gralloc/src/alloc_device.h diff --git a/t83x/driver/product/android/gralloc/src/alloc_device_allocator_specific.h b/t83x/android/gralloc/src/alloc_device_allocator_specific.h similarity index 100% rename from t83x/driver/product/android/gralloc/src/alloc_device_allocator_specific.h rename to t83x/android/gralloc/src/alloc_device_allocator_specific.h diff --git a/t83x/driver/product/android/gralloc/src/alloc_ion.cpp b/t83x/android/gralloc/src/alloc_ion.cpp similarity index 94% rename from t83x/driver/product/android/gralloc/src/alloc_ion.cpp rename to t83x/android/gralloc/src/alloc_ion.cpp index 2931614..d644db4 100755 --- a/t83x/driver/product/android/gralloc/src/alloc_ion.cpp +++ b/t83x/android/gralloc/src/alloc_ion.cpp @@ -128,9 +128,25 @@ int alloc_backend_alloc(alloc_device_t* dev, size_t size, int usage, buffer_hand int alloc_backend_alloc_framebuffer(private_module_t* m, private_handle_t* hnd) { + framebuffer_mapper_t* m_fb = NULL; + +#ifdef DEBUG_EXTERNAL_DISPLAY_ON_PANEL + ALOGD("always alloc from fb0"); + m_fb = &(m->fb_primary); +#else + if (hnd->usage & GRALLOC_USAGE_EXTERNAL_DISP) + { + m_fb = &(m->fb_external); + } + else + { + m_fb = &(m->fb_primary); + } +#endif + struct fb_dmabuf_export fb_dma_buf; int res; - res = ioctl( m->framebuffer->fd, FBIOGET_DMABUF, &fb_dma_buf ); + res = ioctl( m_fb->framebuffer->fd, FBIOGET_DMABUF, &fb_dma_buf ); if (res == 0) { hnd->share_fd = fb_dma_buf.fd; diff --git a/t83x/driver/product/android/gralloc/src/alloc_ump.cpp b/t83x/android/gralloc/src/alloc_ump.cpp similarity index 100% rename from t83x/driver/product/android/gralloc/src/alloc_ump.cpp rename to t83x/android/gralloc/src/alloc_ump.cpp diff --git a/t83x/driver/product/android/gralloc/src/format_chooser.cpp b/t83x/android/gralloc/src/format_chooser.cpp similarity index 100% rename from t83x/driver/product/android/gralloc/src/format_chooser.cpp rename to t83x/android/gralloc/src/format_chooser.cpp diff --git a/t83x/driver/product/android/gralloc/src/format_chooser.h b/t83x/android/gralloc/src/format_chooser.h similarity index 100% rename from t83x/driver/product/android/gralloc/src/format_chooser.h rename to t83x/android/gralloc/src/format_chooser.h diff --git a/t83x/driver/product/android/gralloc/src/format_chooser_blockinit.cpp b/t83x/android/gralloc/src/format_chooser_blockinit.cpp similarity index 100% rename from t83x/driver/product/android/gralloc/src/format_chooser_blockinit.cpp rename to t83x/android/gralloc/src/format_chooser_blockinit.cpp diff --git a/t83x/driver/product/android/gralloc/src/formatdef_files/display_afbc.defs b/t83x/android/gralloc/src/formatdef_files/display_afbc.defs similarity index 100% rename from t83x/driver/product/android/gralloc/src/formatdef_files/display_afbc.defs rename to t83x/android/gralloc/src/formatdef_files/display_afbc.defs diff --git a/t83x/driver/product/android/gralloc/src/formatdef_files/gpu_afbc.defs b/t83x/android/gralloc/src/formatdef_files/gpu_afbc.defs similarity index 100% rename from t83x/driver/product/android/gralloc/src/formatdef_files/gpu_afbc.defs rename to t83x/android/gralloc/src/formatdef_files/gpu_afbc.defs diff --git a/t83x/driver/product/android/gralloc/src/formatdef_files/gpu_afbc_wideblk.defs b/t83x/android/gralloc/src/formatdef_files/gpu_afbc_wideblk.defs similarity index 100% rename from t83x/driver/product/android/gralloc/src/formatdef_files/gpu_afbc_wideblk.defs rename to t83x/android/gralloc/src/formatdef_files/gpu_afbc_wideblk.defs diff --git a/t83x/driver/product/android/gralloc/src/formatdef_files/gpu_default.defs b/t83x/android/gralloc/src/formatdef_files/gpu_default.defs similarity index 100% rename from t83x/driver/product/android/gralloc/src/formatdef_files/gpu_default.defs rename to t83x/android/gralloc/src/formatdef_files/gpu_default.defs diff --git a/t83x/android/gralloc/src/framebuffer.cpp b/t83x/android/gralloc/src/framebuffer.cpp new file mode 100644 index 0000000..bc69e08 --- /dev/null +++ b/t83x/android/gralloc/src/framebuffer.cpp @@ -0,0 +1,610 @@ +#include +#include +#include +#include +#include +//#include +//#include +#include + +//#define LOG_NDEBUG 0 +#define LOG_TAG "FrameBuffer" + +#include +#include +#include +#include +#include +#include +#include +#include "gralloc_priv.h" +#include "framebuffer.h" + +#include +#include + +#ifndef __gl_h_ +#error a +#endif + +#ifdef MALI_VSYNC_EVENT_REPORT_ENABLE +#include "gralloc_vsync_report.h" +#endif + +#include "gralloc_priv.h" +#include "gralloc_helper.h" + + +#ifdef DEBUG_EXTERNAL_DISPLAY_ON_PANEL + // 3 for panel, 3 for hdmi +#define NUM_BUFFERS (6) + +#else + +// numbers of buffers for page flipping +#ifndef NUM_BUFFERS +#define NUM_BUFFERS (2) +#endif + +#endif + +enum +{ + PAGE_FLIP = 0x00000001, +}; +/* + framebuffer interface api to other module to use. +*/ + +int bits_per_pixel() +{ + char fb_bits[PROPERTY_VALUE_MAX]; + int bits_per_pixel = 16; + + if (property_get("sys.fb.bits", fb_bits, NULL) > 0 && atoi(fb_bits) == 32) + { + return 32; + } + return 16; +} + +#ifndef SINGLE_EXTERNAL_DISPLAY_USE_FB1 +int update_cursor_buffer_locked(struct framebuffer_info_t* cbinfo, int xres, int yres) +{ + char const * const device_template[] = + { + "/dev/graphics/fb%u", + "/dev/fb%u", + NULL + }; + + int i = 0; + char name[64]; + + while ((cbinfo->fd == -1) && device_template[i]) + { + snprintf(name, 64, device_template[i], cbinfo->fbIdx); + cbinfo->fd = open(name, O_RDWR, 0); + i++; + } + + ALOGE("update_cursor_buffer_locked of fb idx (%d)",cbinfo->fbIdx); + + if (cbinfo->fd < 0) + { + return -errno; + } + + struct fb_fix_screeninfo finfo; + if (ioctl(cbinfo->fd, FBIOGET_FSCREENINFO, &finfo) == -1) + { + return -errno; + } + + struct fb_var_screeninfo info; + if (ioctl(cbinfo->fd, FBIOGET_VSCREENINFO, &info) == -1) + { + return -errno; + } + + ALOGE("vinfo. %d %d", info.xres, info.yres); + + info.xoffset = info.yoffset = 0; + info.bits_per_pixel = 32; + + info.xres_virtual = info.xres = xres; + info.yres_virtual = info.yres = yres; + + if (ioctl(cbinfo->fd, FBIOPUT_VSCREENINFO, &info) == -1) + { + ALOGE("set vinfo fail\n"); + } + + if (ioctl(cbinfo->fd, FBIOGET_VSCREENINFO, &info) == -1) + { + ALOGE("get info fail\n"); + return -errno; + } + + if (int(info.width) <= 0 || int(info.height) <= 0) + { + // the driver doesn't return that information + // default to 160 dpi + info.width = ((info.xres * 25.4f)/160.0f + 0.5f); + info.height = ((info.yres * 25.4f)/160.0f + 0.5f); + } + + AINF("using (fd=%d)\n" + "id = %s\n" + "xres = %d px\n" + "yres = %d px\n" + "xres_virtual = %d px\n" + "yres_virtual = %d px\n" + "bpp = %d\n", + cbinfo->fd, + finfo.id, + info.xres, + info.yres, + info.xres_virtual, + info.yres_virtual, + info.bits_per_pixel); + + AINF("width = %d mm \n" + "height = %d mm \n", + info.width, + info.height); + + if (ioctl(cbinfo->fd, FBIOGET_FSCREENINFO, &finfo) == -1) + { + return -errno; + } + + if (finfo.smem_len <= 0) + { + return -errno; + } + + cbinfo->info = info; + cbinfo->finfo = finfo; + ALOGD("update_cursor_buffer_locked: finfo.line_length is 0x%x,info.yres_virtual is 0x%x", finfo.line_length, info.yres_virtual); + cbinfo->fbSize = round_up_to_page_size(finfo.line_length * info.yres_virtual); + + return 0; +} + + +int init_cursor_buffer_locked(struct framebuffer_info_t* cbinfo) +{ + char const * const device_template[] = + { + "/dev/graphics/fb%u", + "/dev/fb%u", + NULL + }; + + int fd = -1; + int i = 0; + char name[64]; + + while ((fd == -1) && device_template[i]) + { + snprintf(name, 64, device_template[i], cbinfo->fbIdx); + fd = open(name, O_RDWR, 0); + i++; + } + + ALOGE("init_cursor_buffer_locked of dev:(%s),fb idx (%d)",name,cbinfo->fbIdx); + + if (fd < 0) + { + return -errno; + } + + struct fb_fix_screeninfo finfo; + if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo) == -1) + { + return -errno; + } + + struct fb_var_screeninfo info; + if (ioctl(fd, FBIOGET_VSCREENINFO, &info) == -1) + { + return -errno; + } + + ALOGE("vinfo. %d %d", info.xres, info.yres); + + info.xoffset = info.yoffset = 0; + info.bits_per_pixel = 32; + + if (ioctl(fd, FBIOPUT_VSCREENINFO, &info) == -1) + { + ALOGE("set vinfo fail\n"); + } + + if (ioctl(fd, FBIOGET_VSCREENINFO, &info) == -1) + { + ALOGE("get info fail\n"); + return -errno; + } + + if (int(info.width) <= 0 || int(info.height) <= 0) + { + // the driver doesn't return that information + // default to 160 dpi + info.width = ((info.xres * 25.4f)/160.0f + 0.5f); + info.height = ((info.yres * 25.4f)/160.0f + 0.5f); + } + + //float xdpi = (info.xres * 25.4f) / info.width; + //float ydpi = (info.yres * 25.4f) / info.height; + + AINF("using (fd=%d)\n" + "id = %s\n" + "xres = %d px\n" + "yres = %d px\n" + "xres_virtual = %d px\n" + "yres_virtual = %d px\n" + "bpp = %d\n", + fd, + finfo.id, + info.xres, + info.yres, + info.xres_virtual, + info.yres_virtual, + info.bits_per_pixel); + + AINF("width = %d mm \n" + "height = %d mm \n", + info.width, + info.height); + + if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo) == -1) + { + return -errno; + } + + if (finfo.smem_len <= 0) + { + return -errno; + } + + cbinfo->info = info; + cbinfo->finfo = finfo; + cbinfo->fd = fd; + ALOGE("init_cursor_buffer_locked: finfo.line_length is 0x%x,info.yres_virtual is 0x%x", finfo.line_length, info.yres_virtual); + cbinfo->fbSize = round_up_to_page_size(finfo.line_length * info.yres_virtual); + + return 0; +} +#endif + + +int init_frame_buffer_locked(struct framebuffer_info_t* fbinfo) +{ + char const * const device_template[] = + { + "/dev/graphics/fb%u", + "/dev/fb%u", + NULL + }; + + int fd = -1; + int i = 0; + char name[64]; + + while ((fd == -1) && device_template[i]) + { + snprintf(name, 64, device_template[i], fbinfo->fbIdx); + fd = open(name, O_RDWR, 0); + i++; + } + + ALOGE("init_frame_buffer_locked of dev:(%s),fb idx (%d)",name,fbinfo->fbIdx); + + if (fd < 0) + { + return -errno; + } + + struct fb_fix_screeninfo finfo; + if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo) == -1) + { + return -errno; + } + + struct fb_var_screeninfo info; + if (ioctl(fd, FBIOGET_VSCREENINFO, &info) == -1) + { + return -errno; + } + + info.reserved[0] = 0; + info.reserved[1] = 0; + info.reserved[2] = 0; + info.xoffset = 0; + info.yoffset = 0; + info.activate = FB_ACTIVATE_NOW; + + if (bits_per_pixel() == 16) + { + /* + * Explicitly request 5/6/5 + */ + info.bits_per_pixel = 16; + info.red.offset = 11; + info.red.length = 5; + info.green.offset = 5; + info.green.length = 6; + info.blue.offset = 0; + info.blue.length = 5; + info.transp.offset = 0; + info.transp.length = 0; + } + else + { + /* + * Explicitly request 8/8/8/8 + */ + info.bits_per_pixel = 32; + info.red.offset = 0; + info.red.length = 8; + info.green.offset = 8; + info.green.length = 8; + info.blue.offset = 16; + info.blue.length = 8; + info.transp.offset = 24; + info.transp.length = 8; + } + + /* + * Request NUM_BUFFERS screens (at lest 2 for page flipping) + */ + info.yres_virtual = info.yres * NUM_BUFFERS; + + uint32_t flags = PAGE_FLIP; + if (ioctl(fd, FBIOPUT_VSCREENINFO, &info) == -1) + { + info.yres_virtual = info.yres; + flags &= ~PAGE_FLIP; + AWAR( "FBIOPUT_VSCREENINFO failed, page flipping not supported fd: %d", fd ); + } + + if (info.yres_virtual < info.yres * 2) + { + // we need at least 2 for page-flipping + info.yres_virtual = info.yres; + flags &= ~PAGE_FLIP; + AWAR( "page flipping not supported (yres_virtual=%d, requested=%d)", info.yres_virtual, info.yres*2 ); + } + + if (ioctl(fd, FBIOGET_VSCREENINFO, &info) == -1) + { + return -errno; + } + + int refreshRate = 0; + if ( info.pixclock > 0 ) + { + refreshRate = 1000000000000000LLU / + ( + uint64_t( info.upper_margin + info.lower_margin + info.yres + info.hsync_len ) + * ( info.left_margin + info.right_margin + info.xres + info.vsync_len ) + * info.pixclock + ); + } + else + { + AWAR( "fbdev pixclock is zero for fd: %d", fd ); + } + + if (refreshRate == 0) + { + //refreshRate = 50*1000; // 50 Hz + refreshRate = 60*1000; // 60 Hz + } + + if (int(info.width) <= 0 || int(info.height) <= 0) + { + // the driver doesn't return that information + // default to 160 dpi + info.width = ((info.xres * 25.4f)/160.0f + 0.5f); + info.height = ((info.yres * 25.4f)/160.0f + 0.5f); + } + + float xdpi = (info.xres * 25.4f) / info.width; + float ydpi = (info.yres * 25.4f) / info.height; + float fps = refreshRate / 1000.0f; + + AINF("using (fd=%d)\n" + "id = %s\n" + "xres = %d px\n" + "yres = %d px\n" + "xres_virtual = %d px\n" + "yres_virtual = %d px\n" + "bpp = %d\n" + "r = %2u:%u\n" + "g = %2u:%u\n" + "b = %2u:%u\n", + fd, + finfo.id, + info.xres, + info.yres, + info.xres_virtual, + info.yres_virtual, + info.bits_per_pixel, + info.red.offset, info.red.length, + info.green.offset, info.green.length, + info.blue.offset, info.blue.length); + + AINF("width = %d mm (%f dpi)\n" + "height = %d mm (%f dpi)\n" + "refresh rate = %.2f Hz\n", + info.width, xdpi, + info.height, ydpi, + fps); + + if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo) == -1) + { + return -errno; + } + + if (finfo.smem_len <= 0) + { + return -errno; + } + + fbinfo->info = info; + fbinfo->finfo = finfo; + fbinfo->xdpi = xdpi; + fbinfo->ydpi = ydpi; + fbinfo->fps = fps; + fbinfo->fd = fd; + fbinfo->flipFlags = flags; + fbinfo->fbSize = round_up_to_page_size(finfo.line_length * info.yres_virtual); + + return 0; +} +int fb_post_with_fence_locked(struct framebuffer_info_t* fbinfo,buffer_handle_t hnd,int in_fence) +{ +#define FBIOPUT_OSD_SYNC_ADD 0x4518 + typedef struct{ + unsigned int xoffset; + unsigned int yoffset; + int in_fen_fd; + int out_fen_fd; + }fb_sync_request_t; + private_handle_t const* buffer = reinterpret_cast(hnd); + + //wait fence sync + //sync_wait(in_fence, 3000); + //close(in_fence); + //in_fence = -1; + //set sync request + + fb_sync_request_t sync_req; + memset(&sync_req,0,sizeof(fb_sync_request_t)); + sync_req.xoffset=fbinfo->info.xoffset; + sync_req.yoffset= buffer->offset / fbinfo->finfo.line_length; + sync_req.in_fen_fd=in_fence; + //ALOGD( "req offset:%d\n",sync_req.yoffset); + ioctl(fbinfo->fd, FBIOPUT_OSD_SYNC_ADD, &sync_req); + //ALOGD( "post offset:%d\n",buffer->offset/fbinfo->finfo.line_length); + //TODO:: need update with kernel change. + //fb_post_locked(fbinfo,hnd); + + int out_fence = sync_req.out_fen_fd; + /*nsecs_t origin=systemTime(CLOCK_MONOTONIC); + ALOGD( "--sync wait: %d,begin:%lld\n",out_fence,origin); + sync_wait(out_fence, 3000); + close(out_fence); + nsecs_t diff=systemTime(CLOCK_MONOTONIC)-origin; + ALOGD( "++sync wait: %d,wait_delay:%lld\n",out_fence,diff);*/ + + return out_fence; +} + +int fb_post_locked(struct framebuffer_info_t* fbinfo, buffer_handle_t hnd) +{ + private_handle_t const* buffer = reinterpret_cast(hnd); + fbinfo->info.activate = FB_ACTIVATE_VBL; + fbinfo->info.yoffset = buffer->offset / fbinfo->finfo.line_length; + + //ALOGD("fbpost on slot (%d)",fbinfo->info.yoffset/fbinfo->info.yres); + +#ifdef STANDARD_LINUX_SCREEN + int interrupt; +#define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32) +#define S3CFB_SET_VSYNC_INT _IOW('F', 206, unsigned int) + if (ioctl(fbinfo->fd, FBIOPAN_DISPLAY, &fbinfo->info) == -1) + { + AERR( "FBIOPAN_DISPLAY failed for fd: %d", fbinfo->fd ); + return 0; + } +#if PLATFORM_SDK_VERSION >= 16 + if (swapInterval == 1 && !(buffer->usage & GRALLOC_USAGE_HW_COMPOSER)) +#else + if (swapInterval == 1) +#endif + { + // enable VSYNC + interrupt = 1; + if (ioctl(fbinfo->fd, S3CFB_SET_VSYNC_INT, &interrupt) < 0) + { + AERR( "S3CFB_SET_VSYNC_INT enable failed for fd: %d", fbinfo->fd ); + return 0; + } + // wait for VSYNC +#ifdef MALI_VSYNC_EVENT_REPORT_ENABLE + gralloc_mali_vsync_report(MALI_VSYNC_EVENT_BEGIN_WAIT); +#endif + int crtc = 0; + if (ioctl(fbinfo->fd, FBIO_WAITFORVSYNC, &crtc) < 0) + { + AERR( "FBIO_WAITFORVSYNC failed for fd: %d", fbinfo->fd ); +#ifdef MALI_VSYNC_EVENT_REPORT_ENABLE + gralloc_mali_vsync_report(MALI_VSYNC_EVENT_END_WAIT); +#endif + return 0; + } +#ifdef MALI_VSYNC_EVENT_REPORT_ENABLE + gralloc_mali_vsync_report(MALI_VSYNC_EVENT_END_WAIT); +#endif + // disable VSYNC + interrupt = 0; + if (ioctl(fbinfo->fd, S3CFB_SET_VSYNC_INT, &interrupt) < 0) + { + AERR( "S3CFB_SET_VSYNC_INT disable failed for fd: %d", fbinfo->fd ); + return 0; + } + } +#else + /*Standard Android way*/ +#ifdef MALI_VSYNC_EVENT_REPORT_ENABLE + gralloc_mali_vsync_report(MALI_VSYNC_EVENT_BEGIN_WAIT); +#endif + ALOGD("current yoffset %d\n",fbinfo->info.yoffset); + //if (ioctl(fbinfo->fd, FBIOPUT_VSCREENINFO, &fbinfo->info) == -1) + if (ioctl(fbinfo->fd, FBIOPAN_DISPLAY, &fbinfo->info) == -1) + { + AERR( "FBIOPUT_VSCREENINFO failed for fd: %d", fbinfo->fd ); +#ifdef MALI_VSYNC_EVENT_REPORT_ENABLE + gralloc_mali_vsync_report(MALI_VSYNC_EVENT_END_WAIT); +#endif + return -errno; + } +#ifdef MALI_VSYNC_EVENT_REPORT_ENABLE + gralloc_mali_vsync_report(MALI_VSYNC_EVENT_END_WAIT); +#endif +#endif + + fbinfo->currentBuffer = buffer; + + return 0; +} + +int getOsdIdx(int display_type) +{ +#ifdef DEBUG_EXTERNAL_DISPLAY_ON_PANEL + return 0; +#else + if (display_type == HWC_DISPLAY_PRIMARY) + return 0; + if (display_type == HWC_DISPLAY_EXTERNAL) + { +#ifndef SINGLE_EXTERNAL_DISPLAY_USE_FB1 + return 2; +#else + return 1; +#endif + } +#endif + return -1; +} + + +unsigned int get_num_fb_buffers() { + ALOGD("****************************** %d\n",NUM_BUFFERS); + return NUM_BUFFERS; +} + diff --git a/t83x/android/gralloc/src/framebuffer.h b/t83x/android/gralloc/src/framebuffer.h new file mode 100644 index 0000000..e0e74d0 --- /dev/null +++ b/t83x/android/gralloc/src/framebuffer.h @@ -0,0 +1,46 @@ +#ifndef FRAMEBUFFER_API_H_ +#define FRAMEBUFFER_API_H_ + +#include + +struct private_handle_t; + + +typedef struct framebuffer_info_t{ + //set by device. + int displayType; + int fbIdx; + + //information get from osd + struct fb_var_screeninfo info;//need to fbpost + struct fb_fix_screeninfo finfo; + + int fd;//for fbpost use + int fbSize; + + float xdpi; + float ydpi; + float fps; + int flipFlags; + + buffer_handle_t currentBuffer; +}framebuffer_info_t; + + +// Initialize the framebuffer (must keep module lock before calling +int init_frame_buffer_locked(struct framebuffer_info_t* info); + +#ifndef SINGLE_EXTERNAL_DISPLAY_USE_FB1 +int init_cursor_buffer_locked(struct framebuffer_info_t* info); +int update_cursor_buffer_locked(struct framebuffer_info_t* cbinfo, int xres, int yres); +#endif + +int fb_post_locked(struct framebuffer_info_t* fbinfo,buffer_handle_t buffer); +int fb_post_with_fence_locked(struct framebuffer_info_t* fbinfo,buffer_handle_t hnd,int in_fence); +int getOsdIdx(int display_type); +int bits_per_pixel(); + +//for egl to get framebuffer count +extern unsigned int get_num_fb_buffers(); + +#endif diff --git a/t83x/android/gralloc/src/framebuffer_device.cpp b/t83x/android/gralloc/src/framebuffer_device.cpp new file mode 100755 index 0000000..d098f07 --- /dev/null +++ b/t83x/android/gralloc/src/framebuffer_device.cpp @@ -0,0 +1,278 @@ +/* + * Copyright (C) 2010 ARM Limited. All rights reserved. + * + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include +#include "gralloc_priv.h" +#include + +#include +#include +#include +#include + +#include + +#include "alloc_device.h" +#include "gralloc_priv.h" +#include "gralloc_helper.h" +#include "gralloc_vsync.h" + +static int fb_set_swap_interval(struct framebuffer_device_t* dev, int interval) +{ + if (interval < dev->minSwapInterval) + { + interval = dev->minSwapInterval; + } + else if (interval > dev->maxSwapInterval) + { + interval = dev->maxSwapInterval; + } + + private_module_t* m = reinterpret_cast(dev->common.module); + m->swapInterval = interval; + + if (0 == interval) gralloc_vsync_disable(dev); + else gralloc_vsync_enable(dev); + + return 0; +} + +static int init_frame_buffer(struct private_module_t* module,struct framebuffer_t* fb) +{ + if (fb->fb_hnd != NULL) + { + ALOGD("init already called before."); + return 0; + } + pthread_mutex_lock(&module->lock); + framebuffer_info_t* fbinfo = &(fb->fb_info); + fbinfo->displayType = HWC_DISPLAY_PRIMARY; + fbinfo->fbIdx = getOsdIdx(fbinfo->displayType); + + int err = init_frame_buffer_locked(fbinfo); + int bufferSize = fbinfo->finfo.line_length * fbinfo->info.yres; + + // Create a "fake" buffer object for the entire frame buffer memory, and store it in the module + fb->fb_hnd = new private_handle_t(private_handle_t::PRIV_FLAGS_FRAMEBUFFER, 0, fbinfo->fbSize, 0, + 0, fbinfo->fd, bufferSize, 0); + ALOGD("init_frame_buffer get frame size %d",bufferSize); + + //init fb_info + framebuffer_mapper_t* m = NULL; + private_handle_t *hnd = (private_handle_t *)fb->fb_hnd; + if (hnd->usage & GRALLOC_USAGE_EXTERNAL_DISP) + { + m = &(module->fb_external); + } + else + { + m = &(module->fb_primary); + } + m->fb_info = fb->fb_info; + //m->fb_info = &(fb->fb_info); + + //Register the handle. + module->base.registerBuffer(&(module->base),fb->fb_hnd); + + pthread_mutex_unlock(&module->lock); + return err; +} + +static int fb_post(struct framebuffer_device_t* dev, buffer_handle_t buffer){ + private_module_t* priv_t = reinterpret_cast(dev->common.module); + framebuffer_t* fb = reinterpret_cast(dev); + framebuffer_info_t* fbinfo = &(fb->fb_info); + int display_type = fbinfo->displayType; + +/* framebuffer_mapper_t* m = &(priv_t->fb_primary); +#ifdef DEBUG_EXTERNAL_DISPLAY_ON_PANEL + if (display_type == HWC_DISPLAY_EXTERNAL) + ALOGD("fbpost hdmi on panel"); +#else + if (display_type == HWC_DISPLAY_EXTERNAL) + m = &(priv_t->fb_external); +#endif +*/ + if (private_handle_t::validate(buffer) < 0) + { + return -EINVAL; + } + if (fbinfo->currentBuffer) + { + priv_t->base.unlock(&priv_t->base, fbinfo->currentBuffer); + fbinfo->currentBuffer = 0; + } + private_handle_t const* hnd = reinterpret_cast(buffer); + if (hnd->flags & private_handle_t::PRIV_FLAGS_FRAMEBUFFER) + { + priv_t->base.lock(&priv_t->base, buffer, private_module_t::PRIV_USAGE_LOCKED_FOR_POST, + 0, 0, fbinfo->info.xres, fbinfo->info.yres, NULL); + int rtn = fb_post_locked(fbinfo,buffer); + if (rtn < 0) + { + //post fail. + ALOGD("fb_post_locked return error %d",rtn); + priv_t->base.unlock(&priv_t->base, buffer); + return rtn; + } + } else { + void* fb_vaddr; + void* buffer_vaddr; + priv_t->base.lock(&priv_t->base, priv_t->fb_primary.framebuffer, GRALLOC_USAGE_SW_WRITE_RARELY, + 0, 0, fbinfo->info.xres, fbinfo->info.yres, &fb_vaddr); + priv_t->base.lock(&priv_t->base, buffer, GRALLOC_USAGE_SW_READ_RARELY, + 0, 0, fbinfo->info.xres, fbinfo->info.yres, &buffer_vaddr); + memcpy(fb_vaddr, buffer_vaddr, fbinfo->finfo.line_length * fbinfo->info.yres); + priv_t->base.unlock(&priv_t->base, buffer); + priv_t->base.unlock(&priv_t->base, priv_t->fb_primary.framebuffer); + } + return 0; +} + +static int fb_close(struct hw_device_t *device) +{ + framebuffer_t* dev = reinterpret_cast(device); + if (dev) + { +#if GRALLOC_ARM_UMP_MODULE + ump_close(); +#endif + if (dev->fb_hnd) + { + #if 0 + hw_module_t * pmodule = NULL; + private_module_t *m = NULL; + if (hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **)&pmodule) == 0) + { + m = reinterpret_cast(pmodule); + m->base.unregisterBuffer(&(m->base),dev->fb_hnd); + } + close(dev->fb_info.fd); + dev->fb_info.fd= -1; + #endif + + delete dev->fb_hnd; + dev->fb_hnd = 0; + } + + delete dev; + } + return 0; +} + +int compositionComplete(struct framebuffer_device_t* dev) +{ + /* By doing a finish here we force the GL driver to start rendering + all the drawcalls up to this point, and to wait for the rendering to be complete.*/ + glFinish(); + /* The rendering of the backbuffer is now completed. + When SurfaceFlinger later does a call to eglSwapBuffer(), the swap will be done + synchronously in the same thread, and not asynchronoulsy in a background thread later. + The SurfaceFlinger requires this behaviour since it releases the lock on all the + SourceBuffers (Layers) after the compositionComplete() function returns. + However this "bad" behaviour by SurfaceFlinger should not affect performance, + since the Applications that render the SourceBuffers (Layers) still get the + full renderpipeline using asynchronous rendering. So they perform at maximum speed, + and because of their complexity compared to the Surface flinger jobs, the Surface flinger + is normally faster even if it does everyhing synchronous and serial. + */ + return 0; +} + +int framebuffer_device_open(hw_module_t const* module, const char* name, hw_device_t** device) +{ + int status = -EINVAL; + +#if 0 + alloc_device_t* gralloc_device; +#if DISABLE_FRAMEBUFFER_HAL == 1 + AERR("Framebuffer HAL not support/disabled %s", +#ifdef MALI_DISPLAY_VERSION + "with MALI display enable"); +#else + ""); +#endif + return -ENODEV; +#endif + status = gralloc_open(module, &gralloc_device); + if (status < 0) + { + return status; + } +#endif +#if DISABLE_FRAMEBUFFER_HAL == 1 + AERR("Framebuffer HAL not support/disabled %s", +#ifdef MALI_DISPLAY_VERSION + "with MALI display enable"); +#else + ""); +#endif + return -ENODEV; +#endif + + /*Init the framebuffer data*/ + framebuffer_t *fb = new framebuffer_t(); + memset(fb, 0, sizeof(*fb)); + + framebuffer_device_t *dev = &(fb->base); + framebuffer_info_t *fbinfo = &(fb->fb_info); + + /*get gralloc module to register framebuffer*/ + private_module_t* priv_t = (private_module_t*)module; + framebuffer_mapper_t* m =&(priv_t->fb_primary); + status = init_frame_buffer(priv_t,fb); + if (status < 0) + { + #if 0 + gralloc_close(gralloc_device); + #endif + delete fb; + return status; + } + + /* initialize the procs */ + dev->common.tag = HARDWARE_DEVICE_TAG; + dev->common.version = 0; + dev->common.module = const_cast(module); + dev->common.close = fb_close; + dev->setSwapInterval = fb_set_swap_interval; + dev->post = fb_post; + dev->setUpdateRect = 0; + dev->compositionComplete = &compositionComplete; + + int stride = fbinfo->finfo.line_length / (fbinfo->info.bits_per_pixel >> 3); + const_cast(dev->flags) = 0; + const_cast(dev->width) = fbinfo->info.xres; + const_cast(dev->height) = fbinfo->info.yres; + const_cast(dev->stride) = stride; + const_cast(dev->format) = (bits_per_pixel() == 16) ? HAL_PIXEL_FORMAT_RGB_565 : HAL_PIXEL_FORMAT_RGBX_8888; + const_cast(dev->xdpi) = fbinfo->xdpi; + const_cast(dev->ydpi) = fbinfo->ydpi; + const_cast(dev->fps) = fbinfo->fps; + const_cast(dev->minSwapInterval) = 0; + const_cast(dev->maxSwapInterval) = 1; + *device = &dev->common; + + gralloc_vsync_enable(dev); + + return status; +} diff --git a/t83x/driver/product/android/gralloc/src/framebuffer_device.h b/t83x/android/gralloc/src/framebuffer_device.h similarity index 86% rename from t83x/driver/product/android/gralloc/src/framebuffer_device.h rename to t83x/android/gralloc/src/framebuffer_device.h index 7e63d5f..bf23fad 100755 --- a/t83x/driver/product/android/gralloc/src/framebuffer_device.h +++ b/t83x/android/gralloc/src/framebuffer_device.h @@ -15,11 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#ifndef FRAMEBUFFER_DEVICE_H_ +#define FRAMEBUFFER_DEVICE_H_ + #include // Create a framebuffer device int framebuffer_device_open(hw_module_t const* module, const char* name, hw_device_t** device); -// Initialize the framebuffer (must keep module lock before calling -int init_frame_buffer_locked(struct private_module_t* module); +#endif diff --git a/t83x/driver/product/android/gralloc/src/gralloc_buffer_priv.cpp b/t83x/android/gralloc/src/gralloc_buffer_priv.cpp similarity index 100% rename from t83x/driver/product/android/gralloc/src/gralloc_buffer_priv.cpp rename to t83x/android/gralloc/src/gralloc_buffer_priv.cpp diff --git a/t83x/driver/product/android/gralloc/src/gralloc_buffer_priv.h b/t83x/android/gralloc/src/gralloc_buffer_priv.h similarity index 100% rename from t83x/driver/product/android/gralloc/src/gralloc_buffer_priv.h rename to t83x/android/gralloc/src/gralloc_buffer_priv.h diff --git a/t83x/driver/product/android/gralloc/src/gralloc_helper.h b/t83x/android/gralloc/src/gralloc_helper.h similarity index 100% rename from t83x/driver/product/android/gralloc/src/gralloc_helper.h rename to t83x/android/gralloc/src/gralloc_helper.h diff --git a/t83x/driver/product/android/gralloc/src/gralloc_module.cpp b/t83x/android/gralloc/src/gralloc_module.cpp similarity index 67% rename from t83x/driver/product/android/gralloc/src/gralloc_module.cpp rename to t83x/android/gralloc/src/gralloc_module.cpp index 2ec2565..2363654 100755 --- a/t83x/driver/product/android/gralloc/src/gralloc_module.cpp +++ b/t83x/android/gralloc/src/gralloc_module.cpp @@ -15,6 +15,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#define LOG_NDEBUG 0 +#define LOG_TAG "Gralloc" #include #include @@ -24,6 +26,8 @@ #include #include +#include + #include "gralloc_priv.h" #include "alloc_device.h" #include "framebuffer_device.h" @@ -80,7 +84,58 @@ static int gralloc_register_buffer(gralloc_module_t const* module, buffer_handle if (hnd->flags & private_handle_t::PRIV_FLAGS_FRAMEBUFFER) { - AERR( "Can't register buffer %p as it is a framebuffer", handle ); + ALOGD("gralloc_register_buffer register framebuffer"); + hw_module_t * pmodule = NULL; + private_module_t *m = NULL; + if (hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **)&pmodule) == 0) + { + m = reinterpret_cast(pmodule); + } + else + { + AERR("Could not get gralloc module for handle: 0x%x", (unsigned int)hnd); + retval = -errno; + goto cleanup; + } + + framebuffer_mapper_t* fbMaper = &(m->fb_primary); + if (hnd->usage & GRALLOC_USAGE_EXTERNAL_DISP) + { + ALOGD("register external display"); + fbMaper = &(m->fb_external); + } + if (!fbMaper->framebuffer) + { + fbMaper->framebuffer = new private_handle_t(hnd->flags, hnd->usage, hnd->size, hnd->base, 0, dup(hnd->fd), 0, 0); + fbMaper->bufferSize = hnd->offset; + fbMaper->numBuffers = fbMaper->framebuffer->size / fbMaper->bufferSize; + fbMaper->bufferMask = 0; + + /* + * map the framebuffer + */ + void* vaddr = mmap(0, fbMaper->framebuffer->size, PROT_READ|PROT_WRITE, MAP_SHARED, fbMaper->framebuffer->fd, 0); + if (vaddr == MAP_FAILED) + { + AERR( "Error mapping the framebuffer (%s)", strerror(errno) ); + return -errno; + } + memset(vaddr, 0, fbMaper->framebuffer->size); + fbMaper->framebuffer->base = vaddr; + + #if GRALLOC_ARM_UMP_MODULE + #ifdef IOCTL_GET_FB_UMP_SECURE_ID + ioctl(fbMaper->framebuffer->fd, IOCTL_GET_FB_UMP_SECURE_ID, &fbMaper->framebuffer->ump_id); + #endif + if ( (int)UMP_INVALID_SECURE_ID != fbMaper->framebuffer->ump_id ) + { + AINF("framebuffer accessed with UMP secure ID %i\n", fbMaper->framebuffer->ump_id); + } + #endif + ALOGD("register frame buffer count %d ",fbMaper->numBuffers ); + } else { + ALOGE("ERROR::register frambuffer again!!!"); + } } else if (hnd->flags & (private_handle_t::PRIV_FLAGS_USES_UMP | private_handle_t::PRIV_FLAGS_USES_ION)) @@ -92,6 +147,7 @@ static int gralloc_register_buffer(gralloc_module_t const* module, buffer_handle AERR("registering non-UMP buffer not supported. flags = %d", hnd->flags ); } +cleanup: pthread_mutex_unlock(&s_map_lock); return retval; } @@ -109,15 +165,44 @@ static int gralloc_unregister_buffer(gralloc_module_t const* module, buffer_hand AERR_IF(hnd->lockState & private_handle_t::LOCK_STATE_READ_MASK, "[unregister] handle %p still locked (state=%08x)", hnd, hnd->lockState); if (hnd->flags & private_handle_t::PRIV_FLAGS_FRAMEBUFFER) - { - AERR( "Can't unregister buffer %p as it is a framebuffer", handle ); - } - else if (hnd->pid == getpid()) // never unmap buffers that were not created in this process { pthread_mutex_lock(&s_map_lock); + ALOGD("unregister framebuffer "); + //AERR( "Can't unregister buffer 0x%x as it is a framebuffer", (unsigned int)handle ); + hw_module_t * pmodule = NULL; + private_module_t *m = NULL; + if (hw_get_module(GRALLOC_HARDWARE_MODULE_ID, (const hw_module_t **)&pmodule) == 0) + { + m = reinterpret_cast(pmodule); + framebuffer_mapper_t* fbMaper = &(m->fb_primary); + if (hnd->usage & GRALLOC_USAGE_EXTERNAL_DISP) + { + ALOGD("unregister external display"); + fbMaper = &(m->fb_external); + } + + if (fbMaper->framebuffer) + { + munmap((void*)fbMaper->framebuffer->base,fbMaper->framebuffer->size); + close(fbMaper->framebuffer->fd); + //reset framebuffer info + delete fbMaper->framebuffer; + fbMaper->framebuffer = 0; + fbMaper->bufferMask = 0; + fbMaper->numBuffers = 0; + } else { + AERR("Can't unregister a not exist buffers: 0x%x", (unsigned int)hnd); + } + } else { + AERR("Could not get gralloc module for handle: 0x%x", (unsigned int)hnd); + } + // never unmap buffers that were not created in this process + } else if (hnd->pid == getpid()) { + pthread_mutex_lock(&s_map_lock); + if (hnd->flags & (private_handle_t::PRIV_FLAGS_USES_UMP | - private_handle_t::PRIV_FLAGS_USES_ION)) + private_handle_t::PRIV_FLAGS_USES_ION)) { gralloc_backend_unregister(hnd); } @@ -219,17 +304,10 @@ private_module_t::private_module_t() base.perform = NULL; INIT_ZERO(base.reserved_proc); - framebuffer = NULL; - flags = 0; - numBuffers = 0; - bufferMask = 0; + INIT_ZERO(fb_primary); + INIT_ZERO(fb_external); + pthread_mutex_init(&(lock), NULL); - currentBuffer = NULL; - INIT_ZERO(info); - INIT_ZERO(finfo); - xdpi = 0.0f; - ydpi = 0.0f; - fps = 0.0f; swapInterval = 1; initialize_blk_conf(); diff --git a/t83x/driver/product/android/gralloc/src/gralloc_module_allocator_specific.h b/t83x/android/gralloc/src/gralloc_module_allocator_specific.h similarity index 100% rename from t83x/driver/product/android/gralloc/src/gralloc_module_allocator_specific.h rename to t83x/android/gralloc/src/gralloc_module_allocator_specific.h diff --git a/t83x/driver/product/android/gralloc/src/gralloc_module_ion.cpp b/t83x/android/gralloc/src/gralloc_module_ion.cpp similarity index 100% rename from t83x/driver/product/android/gralloc/src/gralloc_module_ion.cpp rename to t83x/android/gralloc/src/gralloc_module_ion.cpp diff --git a/t83x/driver/product/android/gralloc/src/gralloc_module_ump.cpp b/t83x/android/gralloc/src/gralloc_module_ump.cpp similarity index 100% rename from t83x/driver/product/android/gralloc/src/gralloc_module_ump.cpp rename to t83x/android/gralloc/src/gralloc_module_ump.cpp diff --git a/t83x/driver/product/android/gralloc/src/gralloc_priv.h b/t83x/android/gralloc/src/gralloc_priv.h similarity index 90% rename from t83x/driver/product/android/gralloc/src/gralloc_priv.h rename to t83x/android/gralloc/src/gralloc_priv.h index db1eb92..65f753c 100755 --- a/t83x/driver/product/android/gralloc/src/gralloc_priv.h +++ b/t83x/android/gralloc/src/gralloc_priv.h @@ -27,9 +27,12 @@ #include #include +#include + #include #include #include "alloc_device.h" +#include "framebuffer.h" #include #include "format_chooser.h" @@ -83,7 +86,6 @@ struct fb_dmabuf_export * 8 is big enough for "gpu0" & "fb0" currently */ #define MALI_GRALLOC_HARDWARE_MAX_STR_LEN 8 -#define NUM_FB_BUFFERS 3 /* Define number of shared file descriptors */ #if MALI_AFBC_GRALLOC == 1 && GRALLOC_ARM_DMA_BUF_MODULE @@ -120,24 +122,32 @@ typedef enum struct private_handle_t; +//used by gralloc mode to only. +struct framebuffer_mapper_t{ + private_handle_t* framebuffer; + framebuffer_info_t fb_info; + uint32_t numBuffers; + uint32_t bufferMask; + uint32_t bufferSize; +}; + +//TODO: NEED CHANGE NAME TO BE MORE READABLE!! +struct framebuffer_t{ + struct framebuffer_device_t base; + struct framebuffer_info_t fb_info; + struct private_handle_t* fb_hnd; +}; + struct private_module_t { gralloc_module_t base; - struct private_handle_t* framebuffer; - uint32_t flags; - uint32_t numBuffers; - uint32_t bufferMask; + framebuffer_mapper_t fb_primary; + framebuffer_mapper_t fb_external; pthread_mutex_t lock; - buffer_handle_t currentBuffer; int ion_client; mali_dpy_type dpy_type; - struct fb_var_screeninfo info; - struct fb_fix_screeninfo finfo; - float xdpi; - float ydpi; - float fps; int swapInterval; enum @@ -152,6 +162,10 @@ struct private_module_t #endif }; + +/* +ATTENTATION: don't add member in this struct, it is used by other modules. +*/ #ifdef __cplusplus struct private_handle_t : public native_handle { @@ -165,7 +179,11 @@ struct private_handle_t { PRIV_FLAGS_FRAMEBUFFER = 0x00000001, PRIV_FLAGS_USES_UMP = 0x00000002, - PRIV_FLAGS_USES_ION = 0x00000004 + PRIV_FLAGS_USES_ION = 0x00000004, + PRIV_FLAGS_VIDEO_OVERLAY = 0x00000010, + PRIV_FLAGS_VIDEO_OMX = 0x00000020, + PRIV_FLAGS_CURSOR = 0x00000040, + PRIV_FLAGS_OSD_VIDEO_OMX = 0x00000080, }; enum @@ -224,8 +242,9 @@ struct private_handle_t mali_gralloc_yuv_info yuv_info; - // Following members is for framebuffer only - int fd; + // Following members is for framebuffer only + int fd; //to mmap osd memory + //current buffer offset from framebuffer base union { off_t offset; uint64_t padding4; diff --git a/t83x/driver/product/android/gralloc/src/gralloc_vsync.h b/t83x/android/gralloc/src/gralloc_vsync.h similarity index 100% rename from t83x/driver/product/android/gralloc/src/gralloc_vsync.h rename to t83x/android/gralloc/src/gralloc_vsync.h diff --git a/t83x/driver/product/android/gralloc/src/gralloc_vsync_default.cpp b/t83x/android/gralloc/src/gralloc_vsync_default.cpp similarity index 70% rename from t83x/driver/product/android/gralloc/src/gralloc_vsync_default.cpp rename to t83x/android/gralloc/src/gralloc_vsync_default.cpp index 3297d05..74f11b1 100755 --- a/t83x/driver/product/android/gralloc/src/gralloc_vsync_default.cpp +++ b/t83x/android/gralloc/src/gralloc_vsync_default.cpp @@ -36,7 +36,30 @@ int gralloc_vsync_disable(framebuffer_device_t *dev) int gralloc_wait_for_vsync(framebuffer_device_t *dev) { + framebuffer_t* fb = reinterpret_cast(dev); + // if this handle was created in this process, then we keep it as is. + private_handle_t *hnd = (private_handle_t *)fb->fb_hnd; + if (private_handle_t::validate(hnd) < 0) + { + AERR("Registering invalid buffer 0x%p, returning error", hnd); + return -EINVAL; + } + private_module_t* m = reinterpret_cast(dev->common.module); + framebuffer_mapper_t* m_fb = NULL; +#ifdef DEBUG_EXTERNAL_DISPLAY_ON_PANEL + ALOGD("always alloc from fb0"); + m_fb = &(m->fb_primary); +#else + if (hnd->usage & GRALLOC_USAGE_EXTERNAL_DISP) + { + m_fb = &(m->fb_external); + } + else + { + m_fb = &(m->fb_primary); + } +#endif if (MALI_DPY_TYPE_CLCD == m->dpy_type || MALI_DPY_TYPE_HDLCD == m->dpy_type) { /* Silently ignore wait for vsync as neither PL111 nor HDLCD implement this IOCTL. */ @@ -47,7 +70,7 @@ int gralloc_wait_for_vsync(framebuffer_device_t *dev) { int crtc = 0; gralloc_mali_vsync_report(MALI_VSYNC_EVENT_BEGIN_WAIT); - if(ioctl(m->framebuffer->fd, FBIO_WAITFORVSYNC, &crtc) < 0) + if (ioctl(m_fb->framebuffer->fd, FBIO_WAITFORVSYNC, &crtc) < 0) { gralloc_mali_vsync_report(MALI_VSYNC_EVENT_END_WAIT); return -errno; diff --git a/t83x/driver/product/android/gralloc/src/gralloc_vsync_report.h b/t83x/android/gralloc/src/gralloc_vsync_report.h similarity index 100% rename from t83x/driver/product/android/gralloc/src/gralloc_vsync_report.h rename to t83x/android/gralloc/src/gralloc_vsync_report.h diff --git a/t83x/driver/product/android/gralloc/src/gralloc_vsync_s3cfb.cpp b/t83x/android/gralloc/src/gralloc_vsync_s3cfb.cpp similarity index 100% rename from t83x/driver/product/android/gralloc/src/gralloc_vsync_s3cfb.cpp rename to t83x/android/gralloc/src/gralloc_vsync_s3cfb.cpp diff --git a/t83x/driver/product/android/patches/K/android-k.sh b/t83x/android/patches/K/android-k.sh similarity index 100% rename from t83x/driver/product/android/patches/K/android-k.sh rename to t83x/android/patches/K/android-k.sh diff --git a/t83x/driver/product/android/patches/K/bionics.diff b/t83x/android/patches/K/bionics.diff similarity index 100% rename from t83x/driver/product/android/patches/K/bionics.diff rename to t83x/android/patches/K/bionics.diff diff --git a/t83x/driver/product/android/patches/K/libcxx.diff b/t83x/android/patches/K/libcxx.diff similarity index 100% rename from t83x/driver/product/android/patches/K/libcxx.diff rename to t83x/android/patches/K/libcxx.diff diff --git a/t83x/driver/product/android/patches/K/license.txt b/t83x/android/patches/K/license.txt similarity index 100% rename from t83x/driver/product/android/patches/K/license.txt rename to t83x/android/patches/K/license.txt diff --git a/t83x/driver/product/android/patches/K/llvm.diff b/t83x/android/patches/K/llvm.diff similarity index 100% rename from t83x/driver/product/android/patches/K/llvm.diff rename to t83x/android/patches/K/llvm.diff diff --git a/t83x/driver/product/android/patches/K/locale.diff b/t83x/android/patches/K/locale.diff similarity index 100% rename from t83x/driver/product/android/patches/K/locale.diff rename to t83x/android/patches/K/locale.diff diff --git a/t83x/driver/product/android/gralloc/src/framebuffer_device.cpp b/t83x/driver/product/android/gralloc/src/framebuffer_device.cpp deleted file mode 100755 index 31dae5f..0000000 --- a/t83x/driver/product/android/gralloc/src/framebuffer_device.cpp +++ /dev/null @@ -1,483 +0,0 @@ -/* - * Copyright (C) 2010 ARM Limited. All rights reserved. - * - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include "alloc_device.h" -#include "gralloc_priv.h" -#include "gralloc_helper.h" -#include "gralloc_vsync.h" - -// numbers of buffers for page flipping -#define NUM_BUFFERS NUM_FB_BUFFERS - -enum -{ - PAGE_FLIP = 0x00000001, -}; - - -static int fb_set_swap_interval(struct framebuffer_device_t* dev, int interval) -{ - if (interval < dev->minSwapInterval) - { - interval = dev->minSwapInterval; - } - else if (interval > dev->maxSwapInterval) - { - interval = dev->maxSwapInterval; - } - - private_module_t* m = reinterpret_cast(dev->common.module); - m->swapInterval = interval; - - if (0 == interval) gralloc_vsync_disable(dev); - else gralloc_vsync_enable(dev); - - return 0; -} - -static int fb_post(struct framebuffer_device_t* dev, buffer_handle_t buffer) -{ - if (private_handle_t::validate(buffer) < 0) - { - return -EINVAL; - } - - private_handle_t const* hnd = reinterpret_cast(buffer); - private_module_t* m = reinterpret_cast(dev->common.module); - - if (m->currentBuffer) - { - m->base.unlock(&m->base, m->currentBuffer); - m->currentBuffer = 0; - } - - if (hnd->flags & private_handle_t::PRIV_FLAGS_FRAMEBUFFER) - { - m->base.lock(&m->base, buffer, private_module_t::PRIV_USAGE_LOCKED_FOR_POST, - 0, 0, m->info.xres, m->info.yres, NULL); - - const size_t offset = (uintptr_t)hnd->base - (uintptr_t)m->framebuffer->base; - int interrupt; - m->info.activate = FB_ACTIVATE_VBL; - m->info.yoffset = offset / m->finfo.line_length; - -#ifdef STANDARD_LINUX_SCREEN - if (ioctl(m->framebuffer->fd, FBIOPAN_DISPLAY, &m->info) == -1) - { - AERR( "FBIOPAN_DISPLAY failed for fd: %d", m->framebuffer->fd ); - m->base.unlock(&m->base, buffer); - return -errno; - } -#else /*Standard Android way*/ - if (ioctl(m->framebuffer->fd, FBIOPUT_VSCREENINFO, &m->info) == -1) - { - AERR( "FBIOPUT_VSCREENINFO failed for fd: %d", m->framebuffer->fd ); - m->base.unlock(&m->base, buffer); - return -errno; - } -#endif - if ( 0 != gralloc_wait_for_vsync(dev) ) - { - AERR( "Gralloc wait for vsync failed for fd: %d", m->framebuffer->fd ); - m->base.unlock(&m->base, buffer); - return -errno; - } - m->currentBuffer = buffer; - } - else - { - void* fb_vaddr; - void* buffer_vaddr; - - m->base.lock(&m->base, m->framebuffer, GRALLOC_USAGE_SW_WRITE_RARELY, - 0, 0, m->info.xres, m->info.yres, &fb_vaddr); - - m->base.lock(&m->base, buffer, GRALLOC_USAGE_SW_READ_RARELY, - 0, 0, m->info.xres, m->info.yres, &buffer_vaddr); - - // If buffer's alignment match framebuffer alignment we can do a direct copy. - // If not we must fallback to do an aligned copy of each line. - if ( hnd->byte_stride == (int)m->finfo.line_length ) - { - memcpy(fb_vaddr, buffer_vaddr, m->finfo.line_length * m->info.yres); - } - else - { - uintptr_t fb_offset = 0; - uintptr_t buffer_offset = 0; - unsigned int i; - - for (i = 0; i < m->info.yres; i++) - { - memcpy((void *)((uintptr_t)fb_vaddr + fb_offset), - (void *)((uintptr_t)buffer_vaddr + buffer_offset), - m->finfo.line_length); - - fb_offset += m->finfo.line_length; - buffer_offset += hnd->byte_stride; - } - } - m->base.unlock(&m->base, buffer); - m->base.unlock(&m->base, m->framebuffer); - } - - return 0; -} - -int init_frame_buffer_locked(struct private_module_t* module) -{ - if (module->framebuffer) - { - return 0; // Nothing to do, already initialized - } - - char const * const device_template[] = - { - "/dev/graphics/fb%u", - "/dev/fb%u", - NULL - }; - - int fd = -1; - int i = 0; - char name[64]; - - while ((fd == -1) && device_template[i]) - { - snprintf(name, 64, device_template[i], 0); - fd = open(name, O_RDWR, 0); - i++; - } - - if (fd < 0) - { - return -errno; - } - - struct fb_fix_screeninfo finfo; - if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo) == -1) - { - return -errno; - } - - struct fb_var_screeninfo info; - if (ioctl(fd, FBIOGET_VSCREENINFO, &info) == -1) - { - return -errno; - } - - info.reserved[0] = 0; - info.reserved[1] = 0; - info.reserved[2] = 0; - info.xoffset = 0; - info.yoffset = 0; - info.activate = FB_ACTIVATE_NOW; - -#ifdef GRALLOC_16_BITS - /* - * Explicitly request 5/6/5 - */ - info.bits_per_pixel = 16; - info.red.offset = 11; - info.red.length = 5; - info.green.offset = 5; - info.green.length = 6; - info.blue.offset = 0; - info.blue.length = 5; - info.transp.offset = 0; - info.transp.length = 0; -#else - /* - * Explicitly request 8/8/8 - */ - info.bits_per_pixel = 32; - info.red.offset = 16; - info.red.length = 8; - info.green.offset = 8; - info.green.length = 8; - info.blue.offset = 0; - info.blue.length = 8; - info.transp.offset = 0; - info.transp.length = 0; -#endif - - /* - * Request NUM_BUFFERS screens (at lest 2 for page flipping) - */ - info.yres_virtual = info.yres * NUM_BUFFERS; - - uint32_t flags = PAGE_FLIP; - if (ioctl(fd, FBIOPUT_VSCREENINFO, &info) == -1) - { - info.yres_virtual = info.yres; - flags &= ~PAGE_FLIP; - AWAR( "FBIOPUT_VSCREENINFO failed, page flipping not supported fd: %d", fd ); - } - - if (info.yres_virtual < info.yres * 2) - { - // we need at least 2 for page-flipping - info.yres_virtual = info.yres; - flags &= ~PAGE_FLIP; - AWAR( "page flipping not supported (yres_virtual=%d, requested=%d)", info.yres_virtual, info.yres*2 ); - } - - if (ioctl(fd, FBIOGET_VSCREENINFO, &info) == -1) - { - return -errno; - } - - int refreshRate = 0; - if ( info.pixclock > 0 ) - { - refreshRate = 1000000000000000LLU / - ( - uint64_t( info.upper_margin + info.lower_margin + info.yres + info.hsync_len ) - * ( info.left_margin + info.right_margin + info.xres + info.vsync_len ) - * info.pixclock - ); - } - else - { - AWAR( "fbdev pixclock is zero for fd: %d", fd ); - } - - if (refreshRate == 0) - { - refreshRate = 60*1000; // 60 Hz - } - - if (int(info.width) <= 0 || int(info.height) <= 0) - { - // the driver doesn't return that information - // default to 160 dpi - info.width = ((info.xres * 25.4f)/160.0f + 0.5f); - info.height = ((info.yres * 25.4f)/160.0f + 0.5f); - } - - float xdpi = (info.xres * 25.4f) / info.width; - float ydpi = (info.yres * 25.4f) / info.height; - float fps = refreshRate / 1000.0f; - - AINF("using (fd=%d)\n" - "id = %s\n" - "xres = %d px\n" - "yres = %d px\n" - "xres_virtual = %d px\n" - "yres_virtual = %d px\n" - "bpp = %d\n" - "r = %2u:%u\n" - "g = %2u:%u\n" - "b = %2u:%u\n", - fd, - finfo.id, - info.xres, - info.yres, - info.xres_virtual, - info.yres_virtual, - info.bits_per_pixel, - info.red.offset, info.red.length, - info.green.offset, info.green.length, - info.blue.offset, info.blue.length); - - AINF("width = %d mm (%f dpi)\n" - "height = %d mm (%f dpi)\n" - "refresh rate = %.2f Hz\n", - info.width, xdpi, - info.height, ydpi, - fps); - - if (0 == strncmp(finfo.id, "CLCD FB", 7)) - { - module->dpy_type = MALI_DPY_TYPE_CLCD; - } - else if (0 == strncmp(finfo.id, "ARM Mali HDLCD", 14)) - { - module->dpy_type = MALI_DPY_TYPE_HDLCD; - } - else - { - module->dpy_type = MALI_DPY_TYPE_UNKNOWN; - } - - if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo) == -1) - { - return -errno; - } - - if (finfo.smem_len <= 0) - { - return -errno; - } - - module->flags = flags; - module->info = info; - module->finfo = finfo; - module->xdpi = xdpi; - module->ydpi = ydpi; - module->fps = fps; - module->swapInterval = 1; - - /* - * map the framebuffer - */ - size_t fbSize = round_up_to_page_size(finfo.line_length * info.yres_virtual); - void* vaddr = mmap(0, fbSize, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); - if (vaddr == MAP_FAILED) - { - AERR( "Error mapping the framebuffer (%s)", strerror(errno) ); - return -errno; - } - - memset(vaddr, 0, fbSize); - - - // Create a "fake" buffer object for the entire frame buffer memory, and store it in the module - module->framebuffer = new private_handle_t(private_handle_t::PRIV_FLAGS_FRAMEBUFFER, GRALLOC_USAGE_HW_FB, fbSize, vaddr, - 0, dup(fd), 0, 0); - - module->numBuffers = info.yres_virtual / info.yres; - module->bufferMask = 0; - -#if GRALLOC_ARM_UMP_MODULE - ioctl(fd, IOCTL_GET_FB_UMP_SECURE_ID, &module->framebuffer->ump_id); - if ( (int)UMP_INVALID_SECURE_ID != module->framebuffer->ump_id ) - { - AERR("framebuffer accessed with UMP secure ID %i\n", module->framebuffer->ump_id); - } -#endif - - return 0; -} - -static int init_frame_buffer(struct private_module_t* module) -{ - pthread_mutex_lock(&module->lock); - int err = init_frame_buffer_locked(module); - pthread_mutex_unlock(&module->lock); - return err; -} - -static int fb_close(struct hw_device_t *device) -{ - framebuffer_device_t* dev = reinterpret_cast(device); - if (dev) - { -#if GRALLOC_ARM_UMP_MODULE - ump_close(); -#endif - delete dev; - } - return 0; -} - -int compositionComplete(struct framebuffer_device_t* dev) -{ - /* By doing a finish here we force the GL driver to start rendering - all the drawcalls up to this point, and to wait for the rendering to be complete.*/ - glFinish(); - /* The rendering of the backbuffer is now completed. - When SurfaceFlinger later does a call to eglSwapBuffer(), the swap will be done - synchronously in the same thread, and not asynchronoulsy in a background thread later. - The SurfaceFlinger requires this behaviour since it releases the lock on all the - SourceBuffers (Layers) after the compositionComplete() function returns. - However this "bad" behaviour by SurfaceFlinger should not affect performance, - since the Applications that render the SourceBuffers (Layers) still get the - full renderpipeline using asynchronous rendering. So they perform at maximum speed, - and because of their complexity compared to the Surface flinger jobs, the Surface flinger - is normally faster even if it does everyhing synchronous and serial. - */ - return 0; -} - -int framebuffer_device_open(hw_module_t const* module, const char* name, hw_device_t** device) -{ - int status = -EINVAL; - - alloc_device_t* gralloc_device; -#if DISABLE_FRAMEBUFFER_HAL == 1 - AERR("Framebuffer HAL not support/disabled %s", -#ifdef MALI_DISPLAY_VERSION - "with MALI display enable"); -#else - ""); -#endif - return -ENODEV; -#endif - status = gralloc_open(module, &gralloc_device); - if (status < 0) - { - return status; - } - - private_module_t* m = (private_module_t*)module; - status = init_frame_buffer(m); - if (status < 0) - { - gralloc_close(gralloc_device); - return status; - } - - /* initialize our state here */ - framebuffer_device_t *dev = new framebuffer_device_t(); - memset(dev, 0, sizeof(*dev)); - - /* initialize the procs */ - dev->common.tag = HARDWARE_DEVICE_TAG; - dev->common.version = 0; - dev->common.module = const_cast(module); - dev->common.close = fb_close; - dev->setSwapInterval = fb_set_swap_interval; - dev->post = fb_post; - dev->setUpdateRect = 0; - dev->compositionComplete = &compositionComplete; - - int stride = m->finfo.line_length / (m->info.bits_per_pixel >> 3); - const_cast(dev->flags) = 0; - const_cast(dev->width) = m->info.xres; - const_cast(dev->height) = m->info.yres; - const_cast(dev->stride) = stride; -#ifdef GRALLOC_16_BITS - const_cast(dev->format) = HAL_PIXEL_FORMAT_RGB_565; -#else - const_cast(dev->format) = HAL_PIXEL_FORMAT_BGRA_8888; -#endif - const_cast(dev->xdpi) = m->xdpi; - const_cast(dev->ydpi) = m->ydpi; - const_cast(dev->fps) = m->fps; - const_cast(dev->minSwapInterval) = 0; - const_cast(dev->maxSwapInterval) = 1; - *device = &dev->common; - - gralloc_vsync_enable(dev); - - return status; -} diff --git a/t83x/driver/product/kernel/Documentation/devicetree/bindings/arm/mali-midgard.txt b/t83x/kernel/Documentation/devicetree/bindings/arm/mali-midgard.txt similarity index 100% rename from t83x/driver/product/kernel/Documentation/devicetree/bindings/arm/mali-midgard.txt rename to t83x/kernel/Documentation/devicetree/bindings/arm/mali-midgard.txt diff --git a/t83x/driver/product/kernel/Documentation/dma-buf-test-exporter.txt b/t83x/kernel/Documentation/dma-buf-test-exporter.txt similarity index 100% rename from t83x/driver/product/kernel/Documentation/dma-buf-test-exporter.txt rename to t83x/kernel/Documentation/dma-buf-test-exporter.txt diff --git a/t83x/driver/product/kernel/Documentation/kds.txt b/t83x/kernel/Documentation/kds.txt similarity index 100% rename from t83x/driver/product/kernel/Documentation/kds.txt rename to t83x/kernel/Documentation/kds.txt diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_lock/sconscript b/t83x/kernel/drivers/base/dma_buf_lock/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_lock/sconscript rename to t83x/kernel/drivers/base/dma_buf_lock/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/Kbuild b/t83x/kernel/drivers/base/dma_buf_lock/src/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/Kbuild rename to t83x/kernel/drivers/base/dma_buf_lock/src/Kbuild diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/Makefile b/t83x/kernel/drivers/base/dma_buf_lock/src/Makefile similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/Makefile rename to t83x/kernel/drivers/base/dma_buf_lock/src/Makefile diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.c b/t83x/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.c rename to t83x/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.c diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.h b/t83x/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.h similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.h rename to t83x/kernel/drivers/base/dma_buf_lock/src/dma_buf_lock.h diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/sconscript b/t83x/kernel/drivers/base/dma_buf_lock/src/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_lock/src/sconscript rename to t83x/kernel/drivers/base/dma_buf_lock/src/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/Kbuild b/t83x/kernel/drivers/base/dma_buf_test_exporter/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/Kbuild rename to t83x/kernel/drivers/base/dma_buf_test_exporter/Kbuild diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/Kconfig b/t83x/kernel/drivers/base/dma_buf_test_exporter/Kconfig similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/Kconfig rename to t83x/kernel/drivers/base/dma_buf_test_exporter/Kconfig diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/Makefile b/t83x/kernel/drivers/base/dma_buf_test_exporter/Makefile similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/Makefile rename to t83x/kernel/drivers/base/dma_buf_test_exporter/Makefile diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/dma-buf-test-exporter.c b/t83x/kernel/drivers/base/dma_buf_test_exporter/dma-buf-test-exporter.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/dma-buf-test-exporter.c rename to t83x/kernel/drivers/base/dma_buf_test_exporter/dma-buf-test-exporter.c diff --git a/t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/sconscript b/t83x/kernel/drivers/base/dma_buf_test_exporter/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/dma_buf_test_exporter/sconscript rename to t83x/kernel/drivers/base/dma_buf_test_exporter/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/kds/Kbuild b/t83x/kernel/drivers/base/kds/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/base/kds/Kbuild rename to t83x/kernel/drivers/base/kds/Kbuild diff --git a/t83x/driver/product/kernel/drivers/base/kds/Kconfig b/t83x/kernel/drivers/base/kds/Kconfig similarity index 100% rename from t83x/driver/product/kernel/drivers/base/kds/Kconfig rename to t83x/kernel/drivers/base/kds/Kconfig diff --git a/t83x/driver/product/kernel/drivers/base/kds/Makefile b/t83x/kernel/drivers/base/kds/Makefile similarity index 100% rename from t83x/driver/product/kernel/drivers/base/kds/Makefile rename to t83x/kernel/drivers/base/kds/Makefile diff --git a/t83x/driver/product/kernel/drivers/base/kds/kds.c b/t83x/kernel/drivers/base/kds/kds.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/kds/kds.c rename to t83x/kernel/drivers/base/kds/kds.c diff --git a/t83x/driver/product/kernel/drivers/base/kds/sconscript b/t83x/kernel/drivers/base/kds/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/kds/sconscript rename to t83x/kernel/drivers/base/kds/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/sconscript b/t83x/kernel/drivers/base/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/sconscript rename to t83x/kernel/drivers/base/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/ump/Kbuild b/t83x/kernel/drivers/base/ump/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/Kbuild rename to t83x/kernel/drivers/base/ump/Kbuild diff --git a/t83x/driver/product/kernel/drivers/base/ump/Kconfig b/t83x/kernel/drivers/base/ump/Kconfig similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/Kconfig rename to t83x/kernel/drivers/base/ump/Kconfig diff --git a/t83x/driver/product/kernel/drivers/base/ump/docs/Doxyfile b/t83x/kernel/drivers/base/ump/docs/Doxyfile similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/docs/Doxyfile rename to t83x/kernel/drivers/base/ump/docs/Doxyfile diff --git a/t83x/driver/product/kernel/drivers/base/ump/docs/sconscript b/t83x/kernel/drivers/base/ump/docs/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/docs/sconscript rename to t83x/kernel/drivers/base/ump/docs/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/ump/example_kernel_api.c b/t83x/kernel/drivers/base/ump/example_kernel_api.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/example_kernel_api.c rename to t83x/kernel/drivers/base/ump/example_kernel_api.c diff --git a/t83x/driver/product/kernel/drivers/base/ump/example_user_api.c b/t83x/kernel/drivers/base/ump/example_user_api.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/example_user_api.c rename to t83x/kernel/drivers/base/ump/example_user_api.c diff --git a/t83x/driver/product/kernel/drivers/base/ump/sconscript b/t83x/kernel/drivers/base/ump/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/sconscript rename to t83x/kernel/drivers/base/ump/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/Kbuild b/t83x/kernel/drivers/base/ump/src/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/Kbuild rename to t83x/kernel/drivers/base/ump/src/Kbuild diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/Makefile b/t83x/kernel/drivers/base/ump/src/Makefile similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/Makefile rename to t83x/kernel/drivers/base/ump/src/Makefile diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/Makefile.common b/t83x/kernel/drivers/base/ump/src/Makefile.common similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/Makefile.common rename to t83x/kernel/drivers/base/ump/src/Makefile.common diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/arch-arm/config.h b/t83x/kernel/drivers/base/ump/src/arch-arm/config.h similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/arch-arm/config.h rename to t83x/kernel/drivers/base/ump/src/arch-arm/config.h diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/arch-arm64/config.h b/t83x/kernel/drivers/base/ump/src/arch-arm64/config.h similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/arch-arm64/config.h rename to t83x/kernel/drivers/base/ump/src/arch-arm64/config.h diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_core.c b/t83x/kernel/drivers/base/ump/src/common/ump_kernel_core.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_core.c rename to t83x/kernel/drivers/base/ump/src/common/ump_kernel_core.c diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_core.h b/t83x/kernel/drivers/base/ump/src/common/ump_kernel_core.h similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_core.h rename to t83x/kernel/drivers/base/ump/src/common/ump_kernel_core.h diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.c b/t83x/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.c rename to t83x/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.c diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.h b/t83x/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.h similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.h rename to t83x/kernel/drivers/base/ump/src/common/ump_kernel_descriptor_mapping.h diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_priv.h b/t83x/kernel/drivers/base/ump/src/common/ump_kernel_priv.h similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/common/ump_kernel_priv.h rename to t83x/kernel/drivers/base/ump/src/common/ump_kernel_priv.h diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/imports/ion/Makefile b/t83x/kernel/drivers/base/ump/src/imports/ion/Makefile similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/imports/ion/Makefile rename to t83x/kernel/drivers/base/ump/src/imports/ion/Makefile diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/imports/ion/sconscript b/t83x/kernel/drivers/base/ump/src/imports/ion/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/imports/ion/sconscript rename to t83x/kernel/drivers/base/ump/src/imports/ion/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c b/t83x/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c rename to t83x/kernel/drivers/base/ump/src/imports/ion/ump_kernel_import_ion.c diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/imports/sconscript b/t83x/kernel/drivers/base/ump/src/imports/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/imports/sconscript rename to t83x/kernel/drivers/base/ump/src/imports/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/linux/ump_kernel_linux.c b/t83x/kernel/drivers/base/ump/src/linux/ump_kernel_linux.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/linux/ump_kernel_linux.c rename to t83x/kernel/drivers/base/ump/src/linux/ump_kernel_linux.c diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.c b/t83x/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.c similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.c rename to t83x/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.c diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.h b/t83x/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.h similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.h rename to t83x/kernel/drivers/base/ump/src/linux/ump_kernel_linux_mem.h diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/sconscript b/t83x/kernel/drivers/base/ump/src/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/sconscript rename to t83x/kernel/drivers/base/ump/src/sconscript diff --git a/t83x/driver/product/kernel/drivers/base/ump/src/ump_arch.h b/t83x/kernel/drivers/base/ump/src/ump_arch.h similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/src/ump_arch.h rename to t83x/kernel/drivers/base/ump/src/ump_arch.h diff --git a/t83x/driver/product/kernel/drivers/base/ump/ump_ref_drv.h b/t83x/kernel/drivers/base/ump/ump_ref_drv.h similarity index 100% rename from t83x/driver/product/kernel/drivers/base/ump/ump_ref_drv.h rename to t83x/kernel/drivers/base/ump/ump_ref_drv.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/Kbuild b/t83x/kernel/drivers/gpu/arm/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/Kbuild rename to t83x/kernel/drivers/gpu/arm/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/Kconfig b/t83x/kernel/drivers/gpu/arm/Kconfig similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/Kconfig rename to t83x/kernel/drivers/gpu/arm/Kconfig diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/Kbuild b/t83x/kernel/drivers/gpu/arm/midgard/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/Kbuild rename to t83x/kernel/drivers/gpu/arm/midgard/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/Kconfig b/t83x/kernel/drivers/gpu/arm/midgard/Kconfig similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/Kconfig rename to t83x/kernel/drivers/gpu/arm/midgard/Kconfig diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/Makefile b/t83x/kernel/drivers/gpu/arm/midgard/Makefile similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/Makefile rename to t83x/kernel/drivers/gpu/arm/midgard/Makefile diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/Makefile.kbase b/t83x/kernel/drivers/gpu/arm/midgard/Makefile.kbase similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/Makefile.kbase rename to t83x/kernel/drivers/gpu/arm/midgard/Makefile.kbase diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/Kbuild b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/Kbuild rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_backend_config.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_backend_config.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_backend_config.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_backend_config.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_cache_policy_backend.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_debug_job_fault_backend.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_debug_job_fault_backend.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_debug_job_fault_backend.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_debug_job_fault_backend.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_hw.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_hw.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_hw.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_hw.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_internal.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_internal.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_internal.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_device_internal.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpu.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpu.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpu.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpu.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpuprops_backend.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpuprops_backend.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpuprops_backend.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_gpuprops_backend.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_backend.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_backend.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_backend.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_backend.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_internal.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_internal.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_internal.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_internal.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_internal.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_internal.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_internal.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_internal.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_linux.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_linux.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_linux.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_irq_linux.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_as.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_as.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_as.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_as.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_defs.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_defs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_defs.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_defs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_hw.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_hw.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_hw.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_hw.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_internal.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_internal.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_internal.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_internal.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_jm_rb.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_affinity.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_backend.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_backend.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_backend.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_backend.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_internal.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_internal.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_internal.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_js_internal.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_mmu_hw_direct.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_always_on.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_backend.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_backend.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_backend.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_backend.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_ca_fixed.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_coarse_demand.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_defs.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_defs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_defs.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_defs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_demand.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_driver.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_driver.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_driver.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_driver.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_internal.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_internal.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_internal.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_internal.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_metrics.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_metrics.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_metrics.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_metrics.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_pm_policy.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.c b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.c rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.h b/t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.h rename to t83x/kernel/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_time.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/docs/Doxyfile b/t83x/kernel/drivers/gpu/arm/midgard/docs/Doxyfile similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/docs/Doxyfile rename to t83x/kernel/drivers/gpu/arm/midgard/docs/Doxyfile diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/docs/policy_operation_diagram.dot b/t83x/kernel/drivers/gpu/arm/midgard/docs/policy_operation_diagram.dot similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/docs/policy_operation_diagram.dot rename to t83x/kernel/drivers/gpu/arm/midgard/docs/policy_operation_diagram.dot diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/docs/policy_overview.dot b/t83x/kernel/drivers/gpu/arm/midgard/docs/policy_overview.dot similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/docs/policy_overview.dot rename to t83x/kernel/drivers/gpu/arm/midgard/docs/policy_overview.dot diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_features.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_features.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_features.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_features.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_issues.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_issues.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_issues.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_base_hwconfig_issues.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_kernel.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_base_kernel.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_kernel.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_base_kernel.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_kernel_sync.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_base_kernel_sync.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_kernel_sync.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_base_kernel_sync.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_mem_priv.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_base_mem_priv.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_mem_priv.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_base_mem_priv.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_vendor_specific_func.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_base_vendor_specific_func.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_base_vendor_specific_func.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_base_vendor_specific_func.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_10969_workaround.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_cache_policy.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_config.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_config.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_config.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_config.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_config.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_config.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_config.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_config.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_config_defaults.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_config_defaults.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_config_defaults.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_config_defaults.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_context.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_context.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_context.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_context.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_core_linux.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_core_linux.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_core_linux.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_core_linux.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_job_fault.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_defs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_defs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_defs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_defs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_device.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_device.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_device.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_device.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_disjoint_events.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_disjoint_events.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_disjoint_events.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_disjoint_events.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_event.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_event.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_event.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_event.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gator.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gator.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gator.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gator.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_api.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_hwcnt_names.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_hwcnt_names.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_hwcnt_names.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gator_hwcnt_names.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpu_memory_debugfs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops_types.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops_types.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops_types.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_gpuprops_types.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hw.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_backend.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_backend.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_backend.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_backend.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_defs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_defs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_defs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_defs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_gpuprops.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_gpuprops.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_gpuprops.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_gpuprops.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_instr.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_instr.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_instr.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_instr.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_jm.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_jm.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_jm.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_jm.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_pm.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_pm.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_pm.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_pm.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_time.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_time.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_time.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwaccess_time.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwcnt_reader.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwcnt_reader.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_hwcnt_reader.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_hwcnt_reader.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_instr.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_ipa.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jd.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jd.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jd.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jd.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_jm.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_ctx_attr.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_defs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_defs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_defs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_defs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_js_policy_cfs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_linux.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_linux.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_linux.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_linux.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_linux.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_lowlevel.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_lowlevel.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_lowlevel.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_lowlevel.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_pool_debugfs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs_buf_size.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs_buf_size.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs_buf_size.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mem_profile_debugfs_buf_size.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_hw.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_hw.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_hw.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_hw.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode_lpae.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode_lpae.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode_lpae.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_mmu_mode_lpae.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_platform_fake.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_platform_fake.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_platform_fake.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_platform_fake.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_pm.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_profiling_gator_api.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_profiling_gator_api.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_profiling_gator_api.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_profiling_gator_api.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_replay.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_replay.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_replay.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_replay.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_security.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_security.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_security.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_security.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_security.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_security.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_security.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_security.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_smc.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_softjobs.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_softjobs.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_softjobs.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_softjobs.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_sync.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_sync_user.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_sync_user.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_sync_user.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_sync_user.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_tlstream.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_defs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_defs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_defs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_defs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline_defs.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline_defs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline_defs.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_trace_timeline_defs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_uku.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_uku.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_uku.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_uku.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_utility.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.c b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.c rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_kbase_vinstr.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_linux_kbase_trace.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_linux_kbase_trace.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_linux_kbase_trace.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_linux_kbase_trace.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_linux_trace.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_linux_trace.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_linux_trace.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_linux_trace.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_malisw.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_malisw.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_malisw.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_malisw.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_midg_regmap.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_midg_regmap.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_midg_regmap.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_midg_regmap.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_timeline.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_timeline.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_timeline.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_timeline.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_uk.h b/t83x/kernel/drivers/gpu/arm/midgard/mali_uk.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/mali_uk.h rename to t83x/kernel/drivers/gpu/arm/midgard/mali_uk.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/Kbuild b/t83x/kernel/drivers/gpu/arm/midgard/platform/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/Kbuild rename to t83x/kernel/drivers/gpu/arm/midgard/platform/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/Kconfig b/t83x/kernel/drivers/gpu/arm/midgard/platform/Kconfig similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/Kconfig rename to t83x/kernel/drivers/gpu/arm/midgard/platform/Kconfig diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/devicetree/Kbuild b/t83x/kernel/drivers/gpu/arm/midgard/platform/devicetree/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/devicetree/Kbuild rename to t83x/kernel/drivers/gpu/arm/midgard/platform/devicetree/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_devicetree.c b/t83x/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_devicetree.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_devicetree.c rename to t83x/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_devicetree.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_platform.h b/t83x/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_platform.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_platform.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_config_platform.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_runtime_pm.c b/t83x/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_runtime_pm.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_runtime_pm.c rename to t83x/kernel/drivers/gpu/arm/midgard/platform/devicetree/mali_kbase_runtime_pm.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/juno_soc/Kbuild b/t83x/kernel/drivers/gpu/arm/midgard/platform/juno_soc/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/juno_soc/Kbuild rename to t83x/kernel/drivers/gpu/arm/midgard/platform/juno_soc/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/juno_soc/juno_mali_opp.c b/t83x/kernel/drivers/gpu/arm/midgard/platform/juno_soc/juno_mali_opp.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/juno_soc/juno_mali_opp.c rename to t83x/kernel/drivers/gpu/arm/midgard/platform/juno_soc/juno_mali_opp.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_juno_soc.c b/t83x/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_juno_soc.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_juno_soc.c rename to t83x/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_juno_soc.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_platform.h b/t83x/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_platform.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_platform.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform/juno_soc/mali_kbase_config_platform.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_common.h b/t83x/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_common.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_common.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_common.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_fake.h b/t83x/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_fake.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_fake.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform/mali_kbase_platform_fake.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/Kbuild b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/Kbuild rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_platform.h b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_platform.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_platform.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_platform.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_vexpress.c b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_vexpress.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_vexpress.c rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_config_vexpress.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.c b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.c rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.h b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress/mali_kbase_cpu_vexpress.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/Kbuild b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/Kbuild rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_platform.h b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_platform.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_platform.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_platform.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_vexpress.c b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_vexpress.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_vexpress.c rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_1xv7_a57/mali_kbase_config_vexpress.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/Kbuild b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/Kbuild rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_platform.h b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_platform.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_platform.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_platform.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_vexpress.c b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_vexpress.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_vexpress.c rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_config_vexpress.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.c b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.c rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.c diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.h b/t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform/vexpress_6xvirtex7_10mhz/mali_kbase_cpu_vexpress.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform_dummy/mali_ukk_os.h b/t83x/kernel/drivers/gpu/arm/midgard/platform_dummy/mali_ukk_os.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/platform_dummy/mali_ukk_os.h rename to t83x/kernel/drivers/gpu/arm/midgard/platform_dummy/mali_ukk_os.h diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/midgard/sconscript b/t83x/kernel/drivers/gpu/arm/midgard/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/midgard/sconscript rename to t83x/kernel/drivers/gpu/arm/midgard/sconscript diff --git a/t83x/driver/product/kernel/drivers/gpu/arm/sconscript b/t83x/kernel/drivers/gpu/arm/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/arm/sconscript rename to t83x/kernel/drivers/gpu/arm/sconscript diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/Kbuild b/t83x/kernel/drivers/gpu/drm/pl111/Kbuild similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/Kbuild rename to t83x/kernel/drivers/gpu/drm/pl111/Kbuild diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/Kconfig b/t83x/kernel/drivers/gpu/drm/pl111/Kconfig similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/Kconfig rename to t83x/kernel/drivers/gpu/drm/pl111/Kconfig diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/Makefile b/t83x/kernel/drivers/gpu/drm/pl111/Makefile similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/Makefile rename to t83x/kernel/drivers/gpu/drm/pl111/Makefile diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_clcd_ext.h b/t83x/kernel/drivers/gpu/drm/pl111/pl111_clcd_ext.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_clcd_ext.h rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_clcd_ext.h diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm.h b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm.h rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm.h diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_connector.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_connector.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_connector.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_connector.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_crtc.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_crtc.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_crtc.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_crtc.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_cursor.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_cursor.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_cursor.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_cursor.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_device.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_device.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_device.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_device.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_dma_buf.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_dma_buf.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_dma_buf.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_dma_buf.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_encoder.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_encoder.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_encoder.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_encoder.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_fb.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_fb.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_fb.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_fb.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_funcs.h b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_funcs.h similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_funcs.h rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_funcs.h diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_gem.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_gem.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_gem.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_gem.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_pl111.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_pl111.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_pl111.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_pl111.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_platform.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_platform.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_platform.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_platform.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_suspend.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_suspend.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_suspend.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_suspend.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_vma.c b/t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_vma.c similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/pl111_drm_vma.c rename to t83x/kernel/drivers/gpu/drm/pl111/pl111_drm_vma.c diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/pl111/sconscript b/t83x/kernel/drivers/gpu/drm/pl111/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/pl111/sconscript rename to t83x/kernel/drivers/gpu/drm/pl111/sconscript diff --git a/t83x/driver/product/kernel/drivers/gpu/drm/sconscript b/t83x/kernel/drivers/gpu/drm/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/drm/sconscript rename to t83x/kernel/drivers/gpu/drm/sconscript diff --git a/t83x/driver/product/kernel/drivers/gpu/sconscript b/t83x/kernel/drivers/gpu/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/gpu/sconscript rename to t83x/kernel/drivers/gpu/sconscript diff --git a/t83x/driver/product/kernel/drivers/sconscript b/t83x/kernel/drivers/sconscript similarity index 100% rename from t83x/driver/product/kernel/drivers/sconscript rename to t83x/kernel/drivers/sconscript diff --git a/t83x/driver/product/kernel/include/linux/dma-buf-test-exporter.h b/t83x/kernel/include/linux/dma-buf-test-exporter.h similarity index 100% rename from t83x/driver/product/kernel/include/linux/dma-buf-test-exporter.h rename to t83x/kernel/include/linux/dma-buf-test-exporter.h diff --git a/t83x/driver/product/kernel/include/linux/kds.h b/t83x/kernel/include/linux/kds.h similarity index 100% rename from t83x/driver/product/kernel/include/linux/kds.h rename to t83x/kernel/include/linux/kds.h diff --git a/t83x/driver/product/kernel/include/linux/ump-common.h b/t83x/kernel/include/linux/ump-common.h similarity index 100% rename from t83x/driver/product/kernel/include/linux/ump-common.h rename to t83x/kernel/include/linux/ump-common.h diff --git a/t83x/driver/product/kernel/include/linux/ump-import.h b/t83x/kernel/include/linux/ump-import.h similarity index 100% rename from t83x/driver/product/kernel/include/linux/ump-import.h rename to t83x/kernel/include/linux/ump-import.h diff --git a/t83x/driver/product/kernel/include/linux/ump-ioctl.h b/t83x/kernel/include/linux/ump-ioctl.h similarity index 100% rename from t83x/driver/product/kernel/include/linux/ump-ioctl.h rename to t83x/kernel/include/linux/ump-ioctl.h diff --git a/t83x/driver/product/kernel/include/linux/ump.h b/t83x/kernel/include/linux/ump.h similarity index 100% rename from t83x/driver/product/kernel/include/linux/ump.h rename to t83x/kernel/include/linux/ump.h diff --git a/t83x/driver/product/kernel/license.txt b/t83x/kernel/license.txt similarity index 100% rename from t83x/driver/product/kernel/license.txt rename to t83x/kernel/license.txt diff --git a/t83x/driver/product/kernel/patches/integrate_kds_with_dma_buf.patch b/t83x/kernel/patches/integrate_kds_with_dma_buf.patch similarity index 100% rename from t83x/driver/product/kernel/patches/integrate_kds_with_dma_buf.patch rename to t83x/kernel/patches/integrate_kds_with_dma_buf.patch diff --git a/t83x/driver/product/kernel/sconscript b/t83x/kernel/sconscript similarity index 100% rename from t83x/driver/product/kernel/sconscript rename to t83x/kernel/sconscript -- 2.20.1