Closed liuyq closed 2 years ago
For error on dma_resv_excl_fence
From:
fence = dma_resv_excl_fence(resv);
to
int ret;
ret = dma_resv_get_singleton(resv, false, &fence);
if (ret) {
dma_resv_wait_timeout(resv, false, false,
MAX_SCHEDULE_TIMEOUT);
}
dma_resv_fences_list comment out related lines
could be worked around with the change here: https://android-review.linaro.org/c/kernel/omap-modules/+/22823
but it could only boot for the first time, and not possible to boot again after reboot:
[ 22.612121] init: starting service 'bootanim'...
[ 22.618469] 8<--- cut here ---
[ 22.618499] Unhandled fault: asynchronous external abort (0x1211) at 0x00000000
[ 22.618499] [00000000] *pgd=85328003, *pmd=00000000
[ 22.618499] Internal error: : 1211 [#1] PREEMPT SMP ARM
[ 22.643676] Modules linked in: snd_soc_omap_hdmi ti_tpd12s015 pvrsrvkm(O) omap_wdt omap_aes_driver ti_vpe ti_vpdma ti_csc ti_sc v4l2_mem2mem videobuf2_dma_contig rtc_omap omap_sham snd_soc_tlv320aic3x_i2c snd_soc_tlv320aic3x display_connector at24 omap_des omap_crypto libdes rtc_palmas crypto_engine rtc_ds1307 omap_hdq wire ahci_platform libahci_platform libahci libata phy_gmii_sel scsi_mod bsg scsi_common snd_soc_simple_card snd_soc_simple_card_utils
[ 22.683990] CPU: 0 PID: 475 Comm: vsync Tainted: G W O 5.18.0-06997-g1bb7c17137be #1
[ 22.692901] Hardware name: Generic DRA74X (Flattened Device Tree)
[ 22.699005] PC is at dispc_write_irqenable+0x1c/0x38
[ 22.704010] LR is at omap_irq_enable_vblank+0xbc/0xd8
[ 22.709075] pc : [<c094474c>] lr : [<c09358a8>] psr: 600a0093
[ 22.715362] sp : ea175d40 ip : 00000000 fp : c39d1008
[ 22.720611] r10: 00000000 r9 : c3a1d4b8 r8 : 600a0093
[ 22.725860] r7 : c39e9000 r6 : 0812d64c r5 : c39e9000 r4 : c39e9184
[ 22.732421] r3 : e61e3018 r2 : 0812d64c r1 : 0812d64c r0 : c37ea000
[ 22.738983] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
[ 22.746246] Control: 30c5387d Table: 850cfd00 DAC: fffffffd
[ 22.752014] Register r0 information: slab kmalloc-8k start c37ea000 pointer offset 0 size 8192
[ 22.760681] Register r1 information: non-paged memory
[ 22.765747] Register r2 information: non-paged memory
[ 22.770843] Register r3 information: 0-page vmalloc region starting at 0xe61e3000 allocated at __devm_ioremap_resource+0x108/0x1f0
[ 22.782653] Register r4 information: slab kmalloc-512 start c39e9000 pointer offset 388 size 512
[ 22.791473] Register r5 information: slab kmalloc-512 start c39e9000 pointer offset 0 size 512
[ 22.800140] Register r6 information: non-paged memory
[ 22.805236] Register r7 information: slab kmalloc-512 start c39e9000 pointer offset 0 size 512
[ 22.813903] Register r8 information: non-paged memory
[ 22.818969] Register r9 information: slab kmalloc-1k start c3a1d400 pointer offset 184 size 1024
[ 22.827819] Register r10 information: NULL pointer
[ 22.832611] Register r11 information: slab kmalloc-2k start c39d1000 pointer offset 8 size 2048
[ 22.841369] Register r12 information: NULL pointer
[ 22.846191] Process vsync (pid: 475, stack limit = 0x077635f3)
[ 22.852050] Stack: (0xea175d40 to 0xea176000)
[ 22.856445] 5d40: e5c17420 00010000 c39e9d0c 00000000 c3a1d400 00000000 c39e9c40 c090f4d8
[ 22.864654] 5d60: ea175d5c 00000000 00000000 00010000 c39e9c40 c39e9c80 c3a1d400 00000000
[ 22.872863] 5d80: 200a0013 c3a1d4bc 00000000 c090f3bc ffff9381 c0272d08 00000001 c5ad8f00
[ 22.881072] 5da0: c39e9c40 ea175e68 c5b01300 00000001 ffffffea c3a1d400 c39d1008 c0910b30
[ 22.889312] 5dc0: 00000000 00000000 00000000 00000000 01140657 ea175e68 ffffffff 00000001
[ 22.897521] 5de0: 00000000 c0271b78 00000000 00000000 557b154c 00000010 fffffff3 c5b01300
[ 22.905731] 5e00: c3a1d400 c09109c8 ea175e68 00000010 c5b01300 c08eacf0 00000000 557b154c
[ 22.913940] 5e20: b02bc158 ea175e68 00000010 c09109c8 ea175e68 c5bb53c0 c5b01300 c08eaf7c
[ 22.922149] 5e40: 0000e200 00000001 c13620c4 00000000 00000010 b02bc158 c010643a 0000003a
[ 22.930358] 5e60: c1072814 00000000 00000001 00000001 00000000 00000000 00000000 00000000
[ 22.938598] 5e80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 22.946807] 5ea0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 22.955017] 5ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 22.963226] 5ee0: 00000000 00000000 557b154c c5bb53c0 c3bc9008 ea175f60 0000000c b02bc158
[ 22.971435] 5f00: c5bb53c1 00000036 c010643a c048ab2c 00000000 00000009 c02f303c 00000000
[ 22.979675] 5f20: c5080000 000000f0 b02c50f8 c02f3088 ffffffff c5080000 c5080000 557b154c
[ 22.987884] 5f40: 00000000 00000000 b02bc158 00000001 c0200298 c5080000 b02bc130 00000008
[ 22.996093] 5f60: 00000000 b02bc130 00000000 c02d7674 00000016 23dccaab 00000000 557b154c
[ 23.004302] 5f80: 557b154c b02c50f0 b02bc158 0000000c 00000036 c0200298 c5080000 00000036
[ 23.012512] 5fa0: 00000000 c0200060 b02c50f0 b02bc158 0000000c c010643a b02bc158 b02bc124
[ 23.020751] 5fc0: b02c50f0 b02bc158 0000000c 00000036 b02bc128 c010643a b09bb928 00000000
[ 23.028961] 5fe0: 00000078 b02bc110 b1d43f2b b1d78c0c 800a0010 0000000c 00000000 00000000
[ 23.037170] dispc_write_irqenable from omap_irq_enable_vblank+0xbc/0xd8
[ 23.043914] omap_irq_enable_vblank from drm_vblank_enable+0x8c/0x184
[ 23.050384] drm_vblank_enable from drm_vblank_get+0x7c/0x10c
[ 23.056152] drm_vblank_get from drm_wait_vblank_ioctl+0x168/0x4b8
[ 23.062377] drm_wait_vblank_ioctl from drm_ioctl_kernel+0xe8/0x154
[ 23.068664] drm_ioctl_kernel from drm_ioctl+0x220/0x36c
[ 23.074005] drm_ioctl from sys_ioctl+0xbe4/0xc54
[ 23.078735] sys_ioctl from ret_fast_syscall+0x0/0x4c
[ 23.083831] Exception stack(0xea175fa8 to 0xea175ff0)
[ 23.088897] 5fa0: b02c50f0 b02bc158 0000000c c010643a b02bc158 b02bc124
[ 23.097106] 5fc0: b02c50f0 b02bc158 0000000c 00000036 b02bc128 c010643a b09bb928 00000000
[ 23.105316] 5fe0: 00000078 b02bc110 b1d43f2b b1d78c0c
[ 23.110412] Code: e5903004 e1c12002 e2833018 e5832000 (e5902004)
[ 23.116516] ---[ end trace 0000000000000000 ]---
[ 23.116546] Kernel panic - not syncing: Fatal exception
[ 23.126403] CPU1: stopping
[ 23.129119] CPU: 1 PID: 1 Comm: init Tainted: G D W O 5.18.0-06997-g1bb7c17137be #1
[ 23.137786] Hardware name: Generic DRA74X (Flattened Device Tree)
[ 23.143890] unwind_backtrace from show_stack+0x10/0x14
[ 23.149169] show_stack from dump_stack_lvl+0x48/0x54
[ 23.154235] dump_stack_lvl from do_handle_IPI+0x13c/0x148
[ 23.159759] do_handle_IPI from ipi_handler+0x18/0x20
[ 23.164825] ipi_handler from handle_percpu_devid_irq+0x78/0x204
[ 23.170867] handle_percpu_devid_irq from generic_handle_domain_irq+0x28/0x38
[ 23.178039] generic_handle_domain_irq from gic_handle_irq+0x40/0x8c
[ 23.184448] gic_handle_irq from generic_handle_arch_irq+0x2c/0x3c
[ 23.190643] generic_handle_arch_irq from call_with_stack+0x18/0x20
[ 23.196960] call_with_stack from __irq_svc+0x84/0xac
[ 23.202026] Exception stack(0xe600dd40 to 0xe600dd88)
[ 23.207092] dd40: 00000011 e600dd90 e5c20740 00000000 00000000 c1cf8000 e600ddd4 00000001
[ 23.215301] dd60: 00000000 fffffff5 c03de608 e600ddc8 c5015d30 e600dd90 c5015d30 c02f6e78
[ 23.223541] dd80: 20070013 ffffffff
[ 23.227020] __irq_svc from smp_call_function_single+0x114/0x1f8
[ 23.233062] smp_call_function_single from perf_cgroup_attach+0x74/0xbc
[ 23.239715] perf_cgroup_attach from cgroup_migrate_execute+0x2ac/0x39c
[ 23.246368] cgroup_migrate_execute from cgroup_attach_task+0x130/0x248
[ 23.253021] cgroup_attach_task from __cgroup_procs_write+0x108/0x144
[ 23.259490] __cgroup_procs_write from cgroup_procs_write+0x10/0x1c
[ 23.265808] cgroup_procs_write from kernfs_fop_write_iter+0x114/0x1bc
[ 23.272369] kernfs_fop_write_iter from vfs_write+0x268/0x468
[ 23.278137] vfs_write from ksys_write+0x70/0xd0
[ 23.282775] ksys_write from ret_fast_syscall+0x0/0x4c
[ 23.287933] Exception stack(0xe600dfa8 to 0xe600dff0)
[ 23.292999] dfa0: beecb6a0 beecb695 00000014 beecb695 00000003 ffffffff
[ 23.301239] dfc0: beecb6a0 beecb695 00000014 00000004 beecb694 00000014 beecb6a1 00000003
[ 23.309448] dfe0: 00000030 beecb658 b6a569f5 b5dfc8c4
[ 23.314514] Rebooting in 5 seconds..
some links on the open pvr: https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/tree/letux-pvrsrvkm-5.19-rc1 https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/commit/2b7bafd69f0999fd5aff853d453bf74bc264ed25 https://gitlab.freedesktop.org/frankbinns/powervr/-/blob/powervr-next/drivers/gpu/drm/imagination/pvr_fence.c https://gitlab.freedesktop.org/frankbinns/powervr/-/commits/powervr-next/ https://lists.freedesktop.org/archives/mesa-dev/2022-March/225699.html https://chromium.googlesource.com/chromiumos/third_party/kernel/+/refs/heads/linux/v3.18-19262-g315d1eac8e327%5E%21/#F3
stuck there without any response:
[ 901.396453] init: Umounted /dev/block/platform/ocp/48000000.interconnect/48000000.interconnect:see
[ 901.497070] init: sync() after umount...
[ 901.497253] init: sync() after umount took0ms
[ 901.597381] init: powerctl_shutdown_time_ms:3702:0
[ 901.597503] init: remaining_shutdown_time: 302
[ 901.597747] init: Reboot ending, jumping to kernel
[ 902.847991] PVR_K:(Error): PollForValueKM: Timeout. Expected 0xe77 but found 0x0 (mask 0xffffffff.
[ 902.857116] PVR_K:(Error): SGXPrePowerState: Wait for pending interrupts failed.
[ 902.864593] PVR_K: SGX debug (SGX_DDK_Android sgxddk 1.17@4948957)
[ 902.870819] PVR_K: Host Ctl flags= 0000000c
[ 902.875122] PVR_K: SGX Host control:
[ 902.878723] PVR_K: (HC-0) 0x00000001 0x0000002C 0x00000000 0x00000000
[ 902.885314] PVR_K: (HC-10) 0x00000000 0x0000000A 0x0004A666 0x00000000
[ 902.891998] PVR_K: (HC-20) 0x00000004 0x00000006 0x00000000 0x00000000
[ 902.898681] PVR_K: (HC-30) 0x00127EE7 0xF01E24A0 0x00000000 0x00000000
[ 902.905334] PVR_K: (HC-40) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.911987] PVR_K: (HC-50) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.918670] PVR_K: (HC-60) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.925323] PVR_K: (HC-70) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.932006] PVR_K: (HC-80) 0x00000000 0x00000000 0x00000E77 0x00000000
[ 902.938659] PVR_K: SGX TA/3D control:
[ 902.942352] PVR_K: (T3C-0) 0xF4003000 0xF40031A0 0xF4002000 0xF4235000
[ 902.949035] PVR_K: (T3C-10) 0x00000000 0x00000002 0x00000000 0xF4002BA0
[ 902.955749] PVR_K: (T3C-20) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.962524] PVR_K: (T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.969268] PVR_K: (T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.976013] PVR_K: (T3C-50) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.982788] PVR_K: (T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.989532] PVR_K: (T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000
[ 902.996276] PVR_K: (T3C-80) 0x00000000 0x00000000 0x00000000 0x00000000
[ 903.003021] PVR_K: (T3C-90) 0x00000000 0x00000000 0x00000002 0x00000000
[ 903.009796] PVR_K: (T3C-A0) 0x00000001 0x0000031E 0x00000007 0x00000000
[ 903.016540] PVR_K: (T3C-B0) 0x00000000 0xF4000000 0x83B23000 0x00000000
[ 903.023284] PVR_K: (T3C-C0) 0x00000000 0xF416B480 0x00000000 0xF401E060
[ 903.030029] PVR_K: (T3C-D0) 0xF4002BA0 0x00000000 0x00000000 0x00000000
[ 903.036773] PVR_K: (T3C-E0) 0xF401E060 0x00703244 0x00703244 0x00000000
[ 903.043548] PVR_K: (T3C-F0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 903.050323] PVR_K: (T3C-100) 0x00000000 0x00000000 0x00000000 0x00000000
[ 903.057159] PVR_K: (T3C-110) 0x00000000 0x00000000 0x00000000 0x00000000
[ 903.063995] PVR_K: (T3C-120) 0x00000000 0x00000000 0x00000000 0x00000000
[ 903.070861] PVR_K: (T3C-130) 0xF2016010 0xF2016014 0xF2016034 0xF2016030
[ 903.077667] PVR_K: (T3C-140) 0xF4004000 0xF400F820 0xF4002020 0x00000000
[ 903.084533] PVR_K: (T3C-150) 0x00000000 0x00000000 0x00000003 0x0000016C
[ 903.091369] PVR_K: (T3C-160) 0x0000016C 0x00000000 0x00000000 0x00000000
[ 903.098205] PVR_K: (T3C-170) 0x00000001 0x00000001 0x00000000 0x00000001
x15-drm-revert.patch.gz x15-work-2022-08-04-01-06.patch.gz x15-work-2022-08-05-01-34.patch.gz
00:57:03 P15v:common$ git log --oneline
b7fde7fa1145 (HEAD) Revert "drm/i915: consider min_page_size when migrating"
a47ca1dcdfb9 Revert "drm/i915: Fix assert in i915_ggtt_pin"
a331f3c183ca Revert "drm/i915: use IOMEM_ERR_PTR() directly"
1ddfbe77d19e Revert "drm/i915: Fix race in __i915_vma_remove_closed"
2e7694b774bc Revert "drm/vc4: Use newer fence API properly to fix build errors"
ca9ac6246dc8 Revert "Merge tag 'msm-next-5.19-fixes' of https://gitlab.freedesktop.org/abhinavk/msm into drm-next"
d5254b9b4943 Revert "Merge tag 'drm-intel-next-fixes-2022-05-24' of git://anongit.freedesktop.org/drm/drm-intel into drm-next"
ac781f69b037 Revert "dma-buf & drm/amdgpu: remove dma_resv workaround"
c32ec9f5fabb Revert "Merge tag 'amd-drm-next-5.19-2022-04-29' of https://gitlab.freedesktop.org/agd5f/linux into drm-next"
8c0b34937f89 Revert "Merge tag 'amd-drm-next-5.19-2022-05-18' of https://gitlab.freedesktop.org/agd5f/linux into drm-next"
03f6acf57225 Revert "drm/amdgpu: Free user pages if kvmalloc_array fails"
749381b51df2 Revert "dma-buf: add DMA_RESV_USAGE_KERNEL v3"
ac0add4bb182 Revert "dma-buf: add DMA_RESV_USAGE_BOOKKEEP v3"
9f5d9596784a Revert "dma-buf: drop seq count based update"
1e2455d05bc7 (x15-drm-not-work-minmum) Merge 2518f226c60d ("Merge tag 'drm-next-2022-05-25' of git://anongit.freedesktop.org/drm/drm") into android-mainline
======================= 73511edf8b19 dma-buf: specify usage while adding fences to dma_resv obj v7 71d637823cac dma-buf: finally make dma_resv_excl_fence private v2 15325e3c1013 dma-buf: drop the DAG approach for the dma_resv object v3 8938d48451f5 dma-buf: finally make the dma_resv_list private v2
============================ dma_resv_reserve_shared dma_resv_excl_fence dma_resv_add_shared_fence <---update_dma_resv_fences_src <---process_dma_resv
update_dma_resv_fences_dst <---process_dma_resv
8f94eda39952 dma-buf: drop seq count based update 0cc848a75b74 dma-buf: add DMA_RESV_USAGE_BOOKKEEP v3 b29895e18304 dma-buf: add DMA_RESV_USAGE_KERNEL v3 047a1b877ed4 dma-buf & drm/amdgpu: remove dma_resv workaround 73511edf8b19 dma-buf: specify usage while adding fences to dma_resv obj v7 7bc80a5462c3 dma-buf: add enum dma_resv_usage v4 c8d4c18bfbc4 dma-buf/drivers: make reserving a shared slot mandatory v4 71d637823cac dma-buf: finally make dma_resv_excl_fence private v2 92cedee6a6a3 dma-buf: add dma_resv_get_singleton v2 15325e3c1013 dma-buf: drop the DAG approach for the dma_resv object v3 8938d48451f5 dma-buf: finally make the dma_resv_list private v2 548e7432dc2d dma-buf: add dma_resv_replace_fences v2
8938d48451f5d7cb565dfa68aa0bd0e81985da09 ("dma-buf: finally make the dma_resv_list private v2")
86baad1941702aa9b6fb44d6f150a34e9e4e1fae ("drm/qxl: use iterator instead of dma_resv_shared_list") https://patchwork.freedesktop.org/patch/464520/ might be refered for the fix
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:329:10: error: implicit declaration of function 'dma_resv_shared_list' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
flist = dma_resv_shared_list(resv);
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:329:8: warning: incompatible integer to pointer conversion assigning to 'struct dma_resv_list *' from 'int' [-Wint-conversion]
flist = dma_resv_shared_list(resv);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:330:36: error: incomplete definition of type 'struct dma_resv_list'
shared_fence_count = flist ? flist->shared_count : 0;
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:351:43: error: incomplete definition of type 'struct dma_resv_list'
fence = rcu_dereference_protected(flist->shared[i], dma_resv_held(resv));
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:595:31: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), __UNIQUE_ID(rcu), (c), __rcu)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:401:12: note: expanded from macro '__rcu_dereference_protected'
((typeof(*p) __force __kernel *)(p)); \
^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:351:43: error: incomplete definition of type 'struct dma_resv_list'
fence = rcu_dereference_protected(flist->shared[i], dma_resv_held(resv));
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:595:31: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), __UNIQUE_ID(rcu), (c), __rcu)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:401:35: note: expanded from macro '__rcu_dereference_protected'
((typeof(*p) __force __kernel *)(p)); \
^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:351:10: error: assigning to 'struct dma_fence *' from incompatible type 'void'
fence = rcu_dereference_protected(flist->shared[i], dma_resv_held(resv));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:400:60: error: incomplete definition of type 'struct dma_resv_list'
struct dma_fence *fence = rcu_dereference_protected(flist->shared[i], dma_resv_held(resv));
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:595:31: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), __UNIQUE_ID(rcu), (c), __rcu)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:401:12: note: expanded from macro '__rcu_dereference_protected'
((typeof(*p) __force __kernel *)(p)); \
^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:400:60: error: incomplete definition of type 'struct dma_resv_list'
struct dma_fence *fence = rcu_dereference_protected(flist->shared[i], dma_resv_held(resv));
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:595:31: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), __UNIQUE_ID(rcu), (c), __rcu)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:401:35: note: expanded from macro '__rcu_dereference_protected'
((typeof(*p) __force __kernel *)(p)); \
^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:400:21: error: initializing 'struct dma_fence *' with an expression of incompatible type 'void'
struct dma_fence *fence = rcu_dereference_protected(flist->shared[i], dma_resv_held(resv));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:417:62: error: incomplete definition of type 'struct dma_resv_list'
struct dma_fence *fence = rcu_dereference_protected(flist->shared[i], dma_resv_held(resv));
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:595:31: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), __UNIQUE_ID(rcu), (c), __rcu)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:401:12: note: expanded from macro '__rcu_dereference_protected'
((typeof(*p) __force __kernel *)(p)); \
^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:417:62: error: incomplete definition of type 'struct dma_resv_list'
struct dma_fence *fence = rcu_dereference_protected(flist->shared[i], dma_resv_held(resv));
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:595:31: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), __UNIQUE_ID(rcu), (c), __rcu)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:401:35: note: expanded from macro '__rcu_dereference_protected'
((typeof(*p) __force __kernel *)(p)); \
^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:417:23: error: initializing 'struct dma_fence *' with an expression of incompatible type 'void'
struct dma_fence *fence = rcu_dereference_protected(flist->shared[i], dma_resv_held(resv));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:839:23: error: incomplete definition of type 'struct dma_resv_list'
shared_count = flist->shared_count;
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:848:33: error: incomplete definition of type 'struct dma_resv_list'
fence = rcu_dereference(flist->shared[i]);
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:604:50: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:532:27: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), __UNIQUE_ID(rcu), \
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:392:10: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:848:33: error: incomplete definition of type 'struct dma_resv_list'
fence = rcu_dereference(flist->shared[i]);
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:604:50: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:532:27: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), __UNIQUE_ID(rcu), \
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:392:31: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
^
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:848:33: error: incomplete definition of type 'struct dma_resv_list'
fence = rcu_dereference(flist->shared[i]);
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:604:50: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:532:27: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), __UNIQUE_ID(rcu), \
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:392:53: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:352:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:340:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:332:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:848:33: error: incomplete definition of type 'struct dma_resv_list'
fence = rcu_dereference(flist->shared[i]);
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:604:50: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:532:27: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), __UNIQUE_ID(rcu), \
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:392:53: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:352:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:340:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:332:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:848:33: error: incomplete definition of type 'struct dma_resv_list'
fence = rcu_dereference(flist->shared[i]);
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:604:50: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:532:27: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), __UNIQUE_ID(rcu), \
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:392:53: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:352:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:340:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:332:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:848:33: error: incomplete definition of type 'struct dma_resv_list'
fence = rcu_dereference(flist->shared[i]);
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:604:50: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:532:27: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), __UNIQUE_ID(rcu), \
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:392:53: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:352:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:340:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:332:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
/home/liuyq/data/android/lkft/common/../omap-modules/android-mainline/pvr/services4/srvkm/env/linux/pvr_linux_fence.c:848:33: error: incomplete definition of type 'struct dma_resv_list'
fence = rcu_dereference(flist->shared[i]);
~~~~~^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:604:50: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:532:27: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), __UNIQUE_ID(rcu), \
^
/home/liuyq/data/android/lkft/common/include/linux/rcupdate.h:392:53: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:352:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:340:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/compiler_types.h:332:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
/home/liuyq/data/android/lkft/common/include/linux/dma-resv.h:50:8: note: forward declaration of 'struct dma_resv_list'
struct dma_resv_list;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3ccd59f93004c369cc4c0f0939f80cb069f0fc2d drm: omapdrm: Do no allocate non-scanout GEMs through DMM/TILER 1948d28db6215d055930f0cbb6e300622ede5931 drm: omapdrm: Support exporting of non-contiguous GEM BOs 86ad0397250c585096d242dc3c0f774320ed1a80 drm: omapdrm: simplify omap_gem_pin
c9b2d923befd8cee0b9d6cbd96128ec0bf44c881 drm/tidss: Soft Reset DISPC on startup 8f2a3970c969d0d8d7289a4c65edcedafc16fd92 drm/omap: fix NULL but dereferenced coccicheck error 09077bc3116581f4d1cb961ec359ad56586e370b drm/bridge_connector: enable HPD by default if supported
c9b2d923befd drm/tidss: Soft Reset DISPC on startup 3ccd59f93004 drm: omapdrm: Do no allocate non-scanout GEMs through DMM/TILER 1948d28db621 drm: omapdrm: Support exporting of non-contiguous GEM BOs 86ad0397250c drm: omapdrm: simplify omap_gem_pin 09077bc31165 drm/bridge_connector: enable HPD by default if supported pvr_linux_fence.c.gz
used to check which ko files is necessary
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/8*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/a*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/b43.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/bc*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/bl*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/bq*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/brc*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/bridge.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/bs*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/bt*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/ca*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/c_*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/cc*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/cd*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/cf*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/ch*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/ci*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/cls*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/cm*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/co*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/cp*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/cr*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/cx*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/dib*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/dn*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/drx*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/ds*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/dvb*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/e*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/f*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/g*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/h*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/i*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/j*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/k*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/l*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/m*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/n*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/omap*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/option.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/or*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/ov*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/p8022.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/pci*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/peg*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/phy*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/pixcir_i2c_ts.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/pl*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/ps*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/pwm*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/pxa27x_keypad.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/q*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/r*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/s*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/tc*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/tda*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/te*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/tg3.ko
# # rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/ti*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/tpm*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/ts*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/tu*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/u*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/v*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/w*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/x*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/y*.ko
# rm -fr ${DIR_KERNEL_MODULES}/lib/modules/0.0/vendor/lib/modules/z*.ko
it's possible to work with the latest android-mainline kernel with the change here now: https://android-review.linaro.org/c/kernel/omap-modules/+/22911
The other two commits are discussed here: [PATCH] drm/bridge_connector: enable HPD by default if supported https://lore.kernel.org/lkml/20211225063151.2110878-1-nikita.yoush@cogentembedded.com/
[PATCH 3/3] drm: omapdrm: Do no allocate non-scanout GEMs through DMM/TILER https://lore.kernel.org/lkml/47dbc690-bff2-8839-f01f-9287403a7562@gmail.com/T/#m3e02107dfde933c41f3af6e880ba08e9659f5b71
Tested with fd84c0287257 ("ANDROID: hung_task: Add vendor hook for hung task detect") and http://testdata.linaro.org/lkft/aosp-stable/aosp-master-throttled/8845613/beagle_x15-userdebug
The last work commit is cac827f2619b, and the next bad commit is 1e2455d05bc7
affected the series of changes here: https://lore.kernel.org/all/20211123142111.3885-1-christian.koenig@amd.com/#r
dma_resv_excl_fence -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:343:11: error: implicit declaration of function 'dma_resv_excl_fence' is invalid -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:374:29: error: implicit declaration of function 'dma_resv_excl_fence' is invalid -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:470:10: error: implicit declaration of function 'dma_resv_excl_fence' is invalid
struct dma_fence *fence = dma_resv_excl_fence(resv);
ret = dma_resv_get_singleton(resv, false, &fence);
if (ret) {
dma_resv_wait_timeout(resv, false, false,
MAX_SCHEDULE_TIMEOUT);
}
dma_resv_shared_list -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:329:10: error: implicit declaration of function 'dma_resv_shared_list' is invalid
struct dma_resv_list' -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:400:60: error: incomplete definition of type 'struct dma_resv_list' referred to https://patchwork.freedesktop.org/patch/457487/ and https://patchwork.freedesktop.org/patch/457493/
dma_resv_add_excl_fence -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:368:3: error: implicit declaration of function 'dma_resv_add_excl_fence' is invalid -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:393:3: error: implicit declaration of function 'dma_resv_add_excl_fence' is invalid -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:435:2: error: implicit declaration of function 'dma_resv_add_excl_fence' is invalid referred to https://patchwork.freedesktop.org/patch/481655/
if (usage >= DMA_RESV_USAGE_READ)
dma_resv_add_shared_fence(&resv, f);
else
dma_resv_add_excl_fence(&resv, f);
dma_resv_add_fence(&resv, f, usage);
dma_resv_reserve_shared -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:448:8: error: implicit declaration of function 'dma_resv_reserve_shared' is invalid referred to https://patchwork.freedesktop.org/patch/480869/
dma_resv_add_shared_fence -- pvr/services4/srvkm/env/linux/pvr_linux_fence.c:465:3: error: implicit declaration of function 'dma_resv_add_shared_fence' is invalid refer to https://patchwork.freedesktop.org/patch/481655/ but no idea which one it should use, DMA_RESV_USAGE_READ or DMA_RESV_USAGE_WRITE? From:
if (shared)
dma_resv_add_shared_fence(resv, &fence->base);
else
dma_resv_add_excl_fence(resv, &fence->base);
dma_resv_add_fence(resv, &fence->base, shared ?
DMA_RESV_USAGE_READ : DMA_RESV_USAGE_WRITE);