Tags: prahal/linux
Tags
drm: exynos: g2d: check for contiguity of the dma addresses. To avoid return a dma address to a non contiguous set of buffers if not under iommu mapping facilities.
drm: exynos: G2D : Fix cmdlist free collision The cmdlist was freed twice: [ 372.563832] Internal error: Oops: 5 [#1] PREEMPT SMP ARM [ 372.570508] Modules linked in: cfg80211 bnep nfsd auth_rpcgss[ 372.570601] CPU: 0 PID: 71 Comm: kworker/u8:2 Tainted: G C O 3.18.0-rc3-00168-gd9d00f7-dirty #70 [ 372.570730] Workqueue: g2d g2d_runqueue_worker [exynosdrm] [ 372.570741] task: ed300000 ti: eb6a4000 task.ti: eb6a4000 [ 372.570800] PC is at g2d_unmap_cmdlist_gem+0x3c/0xe8 [exynosdrm] [ 372.570814] LR is at vprintk_emit+0x4ec/0x570 [ 372.570820] pc : [<bf059908>] lr : [<c007bf58>] psr: 000f0053 [ 372.570820] sp : eb6a5e38 ip : eb6a5da0 fp : eb6a5e74 [ 372.570824] r10: 00000000 r9 : 00000000 r8 : eafdcca4 [ 372.570828] r7 : 6b6b6b6b r6 : e3ae3000 r5 : e3ae3008 r4 : 6b6b6b6b [ 372.570832] r3 : 6b6b6b7b r2 : 00000000 r1 : c0864ac4 r0 : 00000017 [ 372.570838] Flags: nzcv IRQs on FIQs off Mode SVC_32 ISA ARM Segment kernel [ 372.570843] Control: 10c5387d Table: 67a6c04a DAC: 00000015 [ 372.570847] Process kworker/u8:2 (pid: 71, stack limit = 0xeb6a4248) [ 372.570851] Stack: (0xeb6a5e38 to 0xeb6a6000) [ 372.570857] 5e20: e3ae3000 6b6b6b6b [ 372.570865] 5e40: 6b6b6b7b eafdcc50 00000000 6b6b6b6b e3ae3008 e3ae3000 eafdcc50 eafdcca4 [ 372.570873] 5e60: 00000000 00000000 eb6a5e9c eb6a5e78 bf059a00 bf0598d8 a56b6b6b eafdcc64 [ 372.570881] 5e80: eafdcce4 eafdcc50 eb6a4000 eddad400 eb6a5ebc eb6a5ea0 bf05a5b4 bf0599c0 [ 372.570889] 5ea0: bf05a55c eafdcc64 eb67f400 edc15580 eb6a5efc eb6a5ec0 c003fa58 bf05a568 [ 372.570896] 5ec0: edc15580 eb6a4000 eb6a4000 00000000 eb67f400 edc15580 edc155a0 eb6a4000 [ 372.570904] 5ee0: eb6a4000 eb67f418 eb67f400 00000088 eb6a5f44 eb6a5f00 c00405d4 c003f82 [ 372.570912] 5f00: eb6a5f24 eb6a5f10 c06cc3c4 c0a0f100 00000000 c0a728f7 c00402bc eb68af00 [ 372.570922] 5f20: 00000000 eb67f400 c00402bc 00000000 00000000 00000000 eb6a5fac eb6a5f48 [ 372.570929] 5f40: c0045544 c00402c8 c0a2e138 00000000 eb6a5f6 eb67f400 00000000 00000000 [ 372.570937] 5f60: dead4ead ffffffff ffffffff eb6a5f6 eb6a5f6 00000000 00000000 dead4ead [ 372.570944] 5f80: ffffffff ffffffff eb6a5f88 eb6a5f88 eb68af00 c0045450 00000000 00000000 [ 372.570951] 5fa0: 00000000 eb6a5fb0 c000f918 c004545c 00000000 00000000 00000000 00000000 [ 372.570958] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 372.570965] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 5a5a5a5a 5a5a5a5a [ 372.571087] [<bf059908>] (g2d_unmap_cmdlist_gem [exynosdrm]) from [<bf059a00>] (g2d_free_runqueue_node+0x4c/0xa8 [exynosdrm]) [ 372.571195] [<bf059a00>] (g2d_free_runqueue_node [exynosdrm]) from [<bf05a5b4>] (g2d_runqueue_worker+0x58/0x80 [exynosdrm]) [ 372.571258] [<bf05a5b4>] (g2d_runqueue_worker [exynosdrm]) from [<c003fa58>] (process_one_work+0x23c/0x44c) [ 372.571269] [<c003fa58>] (process_one_work) from [<c00405d4>] (worker_thread+0x318/0x51c) [ 372.571282] [<c00405d4>] (worker_thread) from [<c0045544>] (kthread+0xf4/0xfc) [ 372.571297] [<c0045544>] (kthread) from [<c000f918>] (ret_from_fork+0x14/0x20) [ 372.571306] Code: eb59a21a e297301 e50b3034 0a00000c (e5973010)
HACK: GENPD_OF_DECLARE machinery to get power domain earlier than iommu
PreviousNext