19 Dec, 2018
1 commit
-
Correct gpu reg, otherwise DPU/GPU could not share memory.
Signed-off-by: Peng Fan
Reviewed-by: Flynn xu
Reviewed-by: Xianzhong
(cherry picked from commit f409184730bef2f5bc450b9241c3116c69a05d01)
18 Dec, 2018
1 commit
-
This reverts commit 8466489ef5ba48272ba4fa4ea9f8f403306de4c7.
Now that we can properly reset the uPD72020x without a hard PCI reset,
let's get rid of the existing quirks.Tested-by: Domenico Andreoli
Signed-off-by: Marc Zyngier
Tested-by: Faiz Abbas
Tested-by: Domenico Andreoli
Acked-by: Mathias Nyman
Signed-off-by: Greg Kroah-Hartman
(cherry picked from commit c2ef60fea2dc7f903450926aee1f9c282ea529ca)
13 Dec, 2018
3 commits
-
- Modify vpu decoder code for recording log info
- adjust poll function
- set module parameter for stream buffer size
- minor tweaks on debug dump function dbglog_show( )Signed-off-by: Huang Chaofan
(cherry picked from commit 92867ba34c31189b204a9573ded12d11970c74ef) -
The commit ae97fd867aa3 ("MLK-19091 cfg80211: make phy index match
after wiphy dev is released") manage wiphy_counter matching between
creating and freeing wiphy device. Then for one wifi instance, the index
of attached phy is not changed during loadable test. But it ignores
multiple wifi cards loadable test case, that introduces the phy index
confliction. So the patch revert the commit.Reviewed-by: Richard Zhu
Signed-off-by: Fugang Duan
(cherry picked from commit: 0977a2d9c95ba8a79dbedc995931a1f459fb2438) -
Add synaptics_dsx touch support for imx8mm ddr4 evk board.
Signed-off-by: Haibo Chen
(cherry picked from commit f1ce84fbb28e3061e5abbf0274cb320fa8bbb95f)
12 Dec, 2018
1 commit
-
Reserve 4KB memory at the GUEST_RAM0_BASE, this area will be used
as a magic number area, U-Boot will write this area and XEN will
check this area during U-Boot/Linux reseting/rebooting.Signed-off-by: Peng Fan
Reviewed-by: Flynn xu
(cherry picked from commit ed0659fb66dfb5b9fad51e9d920d5fb0a8a93f41)
11 Dec, 2018
1 commit
-
We are using SPI 33 for virtual PL031, but dom0 not passthrough
the interrupt, so domu are not able to use this.In this patch also correct domu android car rtc node interrupts
property.Signed-off-by: Peng Fan
Reviewed-by: Flynn xu
(cherry picked from commit 8dfead313460e0fa3c8d47248ee4e4fe2c80a638)
10 Dec, 2018
1 commit
-
Add lock and check for vb2 buffer to ensure won't access invalid vb2
buffer pointerSigned-off-by: Huang Chaofan
(cherry picked from commit b929c55e380c84c54d5ea1860766d8577028f78a)
07 Dec, 2018
1 commit
-
Android auto use sai0 for bluetooth phone audio output,
so enable sai0 for android auto.Signed-off-by: Peng Fan
(cherry picked from commit cadfe60f5cd87f80de1a30624861296a21f581fb)
06 Dec, 2018
2 commits
-
In TDM mode with Daisy Chain enabled (CPLD mode 0x04) DAC1 and DAC2
AK4458 codecs on audio board are able to play 16 channels, so extend
the TDM mode constraint to 16 channels.Signed-off-by: Viorel Suman
(cherry picked from commit bc8b6a74175c2d120383875b00b5a2a44def9dd0) -
Enable Daisy Chain if in TDM mode and the number of played
channels is bigger than the maximum supported number of channels.Signed-off-by: Viorel Suman
(cherry picked from commit 5ae97f159bfd9c4a37e7e60cd20aa3437041b251)
05 Dec, 2018
1 commit
-
Fix memory out of bounds access.
Change arry type for functopn avi info frame,
Align the arry type and its length.Signed-off-by: Sandor Yu
(cherry picked from commit 2fc41a88c9da514ae3f377e7cb73f4df886f038e)
04 Dec, 2018
2 commits
-
start code
Adjust update stream function for the format that need add start code
Signed-off-by: Huang Chaofan
(cherry picked from commit 3b29245bc201f1090e46c70ca60e61093e27675e) -
firmware commit patch:
1. report uStrBuffWrPtr and uFrameSize
2. don't append any eos naldriver do some change to adapt the firmware's change
and use scnprintf instread of snprintfSigned-off-by: ming_qian
03 Dec, 2018
5 commits
-
Similar with QXP MEK we switch to ASRC to support
multiple rates.Thus we introduce:
- asrc clocks
- make asrc PD depend on esai PDReviewed-by: Cosmin-Gabriel Samoila
Signed-off-by: Daniel Baluta
(cherry picked from commit d804a5cac96d7d6071a2b4808a6ebe262f20952c) -
DCSS needs special display timings for MIPI-DSI panel in order to do a
proper display on it.
In order to not break other display controller using this panel, add
custom display-timings for this specific use-caseSigned-off-by: Robert Chiras
Signed-off-by: Laurentiu Palcu -
This reverts commit 3c53532c466add234ac3ca2e70cefe80ea308b4f.
This change affects iMX8MM functionality, generating flicker.
Signed-off-by: Laurentiu Palcu
-
The root cause of the on-the-fly switch from tile to linear fb switch issue
is identified, so the full modeset workaround is no more needed.Patch "MLK-20506 gpu: imx: imx8_dprc: Set CROP_ULC_X/Y to be zero for linear fb"
is the correct fix for this issue.Revert "MLK-20470 drm/imx: dpu: plane: Do full modeset for tile to linear fb switch"
This reverts commit 9245bbf650fdeb79ebf869d48b6bd1b43c2bcf3b.
Signed-off-by: Liu Ying
(cherry picked from commit 7812bebe9c60a6ce954ce5ad504a6be002835462) -
Nonzero CROP_ULC_X/Y are only valid for tile framebuffer cropping.
Thus, we should set them to be zero for linear framebuffer, otherwise,
an on-the-fly switch from tile framebuffer(with cropping enabled) to
linear framebuffer would cause hardware malfunction.Signed-off-by: Liu Ying
(cherry picked from commit 4fc67aed944526545e6ee44d582b013a6327c8d1)
30 Nov, 2018
1 commit
-
- Since the l1ss is not enabled yet, configure
the clkreq# as gpio on 8qm/qxp mek boards.
Re-configure the clkreq# as input and open
drain when l1ss is enabled later.
- Correct the perst# configurations of 8qm.Signed-off-by: Richard Zhu
(cherry picked from commit cb7ec372ae90798a46b11e979243c3f058d8b26f)
29 Nov, 2018
2 commits
-
Correct the interrupt line for adv7535.
Signed-off-by: Fugang Duan
Tested-by: Robert Chiras
Acked-by: Fancy Fang -
record queue release
Add record for kalloc size and correct the judge for record queue
releaseSigned-off-by: Huang Chaofan
28 Nov, 2018
18 commits
-
This commit is breaking suspend/resume, so reverting it until a fix is
provided.This reverts commit 47427ff4ce37a6d6e0468de9b6e61f8a58b21d9a.
-
This commit is breaking suspend/resume, so reverting it until a fix is
provided.This reverts commit 4a004884a4f16d698941a39fd0ec5f29bedb10ed.
-
This is a work-around for the shifted display issue when using DCSS with
the DDR self-refresh disabled.Also, make sure it works with LCDIF as well.
Increasing VSYNC length gives DCSS more time to fetch the data from RAM
before the next frame kicks in.Signed-off-by: Laurentiu Palcu
(cherry picked from commit 3c53532c466add234ac3ca2e70cefe80ea308b4f) -
When the master imx-drm-core binding fails, component_bind_all()
in imx-drm-core ->bind() callback will unbind all bound components
first and then call drm_mode_config_cleanup(). Since the encoder
and connector(located in imx_ldb.imx_ldb_channel) are freed after
the ldb ->unbind() callback, drm_mode_config_cleanup() would
accidentally access the freed encoder and connector again. To fix
this issue, we should cleanup the encoder and connector, i.e.,
remove them from the global encoder and connector lists, in the
->unbind() callback, so that, drm_mode_config_cleanup() won't find
them again in the lists. However, we have to make sure they exist
before the cleanup in the ->unbind() callback, because imx-drm-core
->unbind() calls drm_mode_config_cleanup() first and then unbinds
all components via component_unbind_all(). Moreover, the connector
isn't created at the first place if a bridge exists, so the check
before the cleanup makes sense for this reason as well.Signed-off-by: Liu Ying
(cherry picked from commit 6d3fd1316d67ff0e62fae4067b61fd3f2809dfa5) -
When the master imx-drm-core binding fails, component_bind_all()
in imx-drm-core ->bind() callback will unbind all bound components
first and then call drm_mode_config_cleanup(). Since the crtc as
a member(base) of dpu_crtc is freed after the dpu crtc ->unbind()
callback, drm_mode_config_cleanup() would accidentally access the
freed crtc again. To fix this issue, we should cleanup the crtc,
i.e., remove the crtc from the global crtc list, in the ->unbind()
callback, so that drm_mode_config_cleanup() won't find the crtc
again in the list. However, we have to make sure the crtc exists
before the cleanup in the ->unbind() callback, because imx-drm-core
->unbind() calls drm_mode_config_cleanup() first and then unbinds
all components via component_unbind_all().There is a probe deferral caused by the LDB component(later probed
GPIO resource) on some platforms(e.g., i.MX8QXP MEK), which causes
multiple times to try binding and triggers the issue described above.This patch may fix the issue reported by KASAN:
[ 3.217996] BUG: KASAN: use-after-free in drm_mode_config_cleanup+0x220/0x448
[ 3.225149] Read of size 8 at addr ffff80000ad719b0 by task swapper/0/1
[ 3.231769]
[ 3.233279] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.14.78-05529-ge53ea0dba88e-dirty #43
[ 3.241642] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 3.246793] Call trace:
[ 3.249270] [] dump_backtrace+0x0/0x390
[ 3.254690] [] show_stack+0x14/0x20
[ 3.259769] [] dump_stack+0xf8/0x158
[ 3.264932] [] print_address_description+0x60/0x270
[ 3.271396] [] kasan_report+0x210/0x2f0
[ 3.276818] [] __asan_load8+0x84/0xa8
[ 3.282065] [] drm_mode_config_cleanup+0x220/0x448
[ 3.288447] [] imx_drm_bind+0x2b4/0x358
[ 3.293863] [] try_to_bring_up_master+0x20c/0x278
[ 3.300148] [] component_add+0x180/0x300
[ 3.305653] [] dpu_bliteng_probe+0x30/0x48
[ 3.311339] [] platform_drv_probe+0x74/0x108
[ 3.317198] [] driver_probe_device+0x3a0/0x4a8
[ 3.323226] [] __driver_attach+0xd0/0xd8
[ 3.328735] [] bus_for_each_dev+0xc0/0x140
[ 3.334419] [] driver_attach+0x30/0x40
[ 3.339749] [] bus_add_driver+0x2a8/0x320
[ 3.345344] [] driver_register+0xb4/0x190
[ 3.350941] [] __platform_driver_register+0x7c/0x88
[ 3.357410] [] dpu_bliteng_driver_init+0x1c/0x24
[ 3.363613] [] do_one_initcall+0xe0/0x260
[ 3.369211] [] kernel_init_freeable+0x230/0x2d8
[ 3.375330] [] kernel_init+0x10/0x118
[ 3.380574] [] ret_from_fork+0x10/0x18
[ 3.385894]
[ 3.387393] Allocated by task 1:
[ 3.390642] kasan_kmalloc+0xd0/0x180
[ 3.394322] kasan_slab_alloc+0x14/0x20
[ 3.398174] __kmalloc_node_track_caller+0x1ec/0x278
[ 3.403157] devm_kmalloc+0x8c/0x128
[ 3.406753] dpu_crtc_bind+0x38/0xbe0
[ 3.410434] component_bind_all+0x254/0x438
[ 3.414638] imx_drm_bind+0x1b0/0x358
[ 3.418314] try_to_bring_up_master+0x20c/0x278
[ 3.422857] component_add+0x180/0x300
[ 3.426622] dpu_bliteng_probe+0x30/0x48
[ 3.430559] platform_drv_probe+0x74/0x108
[ 3.434676] driver_probe_device+0x3a0/0x4a8
[ 3.438966] __driver_attach+0xd0/0xd8
[ 3.442730] bus_for_each_dev+0xc0/0x140
[ 3.446663] driver_attach+0x30/0x40
[ 3.450251] bus_add_driver+0x2a8/0x320
[ 3.454103] driver_register+0xb4/0x190
[ 3.457960] __platform_driver_register+0x7c/0x88
[ 3.462687] dpu_bliteng_driver_init+0x1c/0x24
[ 3.467147] do_one_initcall+0xe0/0x260
[ 3.470997] kernel_init_freeable+0x230/0x2d8
[ 3.475366] kernel_init+0x10/0x118
[ 3.478867] ret_from_fork+0x10/0x18
[ 3.482447]
[ 3.483941] Freed by task 1:
[ 3.486837] kasan_slab_free+0x88/0x198
[ 3.490691] kfree+0x70/0x210
[ 3.493672] release_nodes+0x538/0x5c0
[ 3.497432] devres_release_group+0x164/0x200
[ 3.501801] component_unbind.isra.4+0x98/0xb8
[ 3.506257] component_bind_all+0x3c8/0x438
[ 3.510456] imx_drm_bind+0x1b0/0x358
[ 3.514131] try_to_bring_up_master+0x20c/0x278
[ 3.518671] component_add+0x180/0x300
[ 3.522434] dpu_bliteng_probe+0x30/0x48
[ 3.526375] platform_drv_probe+0x74/0x108
[ 3.530490] driver_probe_device+0x3a0/0x4a8
[ 3.534781] __driver_attach+0xd0/0xd8
[ 3.538551] bus_for_each_dev+0xc0/0x140
[ 3.542488] driver_attach+0x30/0x40
[ 3.546083] bus_add_driver+0x2a8/0x320
[ 3.549941] driver_register+0xb4/0x190
[ 3.553793] __platform_driver_register+0x7c/0x88
[ 3.558519] dpu_bliteng_driver_init+0x1c/0x24
[ 3.562979] do_one_initcall+0xe0/0x260
[ 3.566827] kernel_init_freeable+0x230/0x2d8
[ 3.571199] kernel_init+0x10/0x118
[ 3.574698] ret_from_fork+0x10/0x18
[ 3.578277]
[ 3.579783] The buggy address belongs to the object at ffff80000ad71980
[ 3.579783] which belongs to the cache kmalloc-2048 of size 2048
[ 3.592501] The buggy address is located 48 bytes inside of
[ 3.592501] 2048-byte region [ffff80000ad71980, ffff80000ad72180)
[ 3.604258] The buggy address belongs to the page:
[ 3.609072] page:ffff7e00002b5c00 count:1 mapcount:0 mapping: (null) index:0x0 compound_mapcount: 0
[ 3.618926] flags: 0xfffc00000008100(slab|head)
[ 3.623484] raw: 0fffc00000008100 0000000000000000 0000000000000000 00000001800f000f
[ 3.631252] raw: dead000000000100 dead000000000200 ffff800010703400 0000000000000000
[ 3.639007] page dumped because: kasan: bad access detected
[ 3.644590]
[ 3.646086] Memory state around the buggy address:
[ 3.650898] ffff80000ad71880: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[ 3.658134] ffff80000ad71900: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[ 3.665370] >ffff80000ad71980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 3.672599] ^
[ 3.677402] ffff80000ad71a00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 3.684641] ffff80000ad71a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fbSigned-off-by: Liu Ying
(cherry picked from commit 5fc482dbf423fff005214db5ac4ac2dcd5cae028) -
The dpu_plane is allocated with kzalloc() in dpu_plane_init().
In case, dpu_plane_init() fails after that allocation, the bailout path
should free the dpu_plane, otherwise, there will be memory leakage.Signed-off-by: Liu Ying
(cherry picked from commit 99cb80f855aafbe524519db635c3d03bd4cc8d85) -
1.avoid illegal wptr, rptr, start and end.
2.function show_instance_info is too long, split it into several small
functions
3.export dma detail infoSigned-off-by: ming_qian
-
We enable the ASRC clocks from CPU side. We only need
the following clocks: "mem", "ipg" and "asrc0..3".Signed-off-by: Daniel Baluta
Reviewed-by: Shengjiu Wang
(cherry picked from commit 586297d7d5855cf75e25f629ca495b8ac5c1bb96) -
Because now DSP supports ASRC we need to power up pd_asrc0
each time pd_esai0 is powered up.Current power domain tree looks like this:
* pd_audio
* pd_audio_clk0
* pd_audio_clk1
* pd_dma0_chan6
* pd_dma0_chan7
* pd_esai0
* pd_dma0_chan0
* pd_dma0_chan1
[....]
* pd_asrc0We need to make pd_asrc0 dependent on pd_esai0, thus we move
pd_dm0_chan6 node as a child of pd_asrc0.Thus, the new power domain hierarch will look like this:
* pd_audio
* pd_audio_clk0
* pd_audio_clk1
* pd_dma0_chan0
* pd_dma0_chan1
[....]
* pd_asrc0
* pd_dma0_chan6
* pd_dma0_chan7
* pd_esai0Signed-off-by: Daniel Baluta
Reviewed-by: Shengjiu Wang
(cherry picked from commit 04c4825baad9344e5f3dfa1c69de3957199d3ab0) -
We introduce ASRC clocks (only "ipg", "mem", "asrc0..3" are
relevant for us), then remove ASRC related EDMA channels and
interrupts lines because they will be managed by DSP.There is one more step required: fire up the power domain for ASRC
this is tricky and will be done in the next patch.Signed-off-by: Daniel Baluta
Reviewed-by: Shengjiu Wang
(cherry picked from commit e9e613dc18a732e82227028f1c822862448ddc22) -
1. Remove debug log when boot
2. Add 8 for the vp8 frame length
3. correct some codesSigned-off-by: Huang Chaofan
(cherry picked from commit 1cbc438fade80f4d91851f1495852e43d2807f9d) -
Once 32Khz low power clock enable for Murata 1CQ module, Bluetooth core
may enter low power idle status that cause HCI communication error when
HCI device is down for 2 seconds after initialization.
Currently, remove the LP 32Khz input for the module.Reviewed-by: Richard Zhu
Signed-off-by: Fugang Duan -
The current keep-alive check mechanism uses a static variable
that is initialized to 0. When the function is first called, it may
happen to catch the 8-bit keep-alive counter right when it
overflows, hence returning BUSY.This patch will keep checking the counter for 10us, every 1us,
but it will immediately return if the keep-alive counter changed.Signed-off-by: Laurentiu Palcu
Signed-off-by: Sandor Yu
(cherry picked from commit 4ad828b95e78a652f509110688a6f907fc286ea9) -
Correct the pad confirations of the pcie perst and epdev_on
on 8qm/qxp platforms.Signed-off-by: Richard Zhu
Reviewed-by: Fugang Duan
(cherry picked from commit 28d5b68c1fa7568a2444915b71fab12e8a2d4350) -
hal/kernel/gc_hal_kernel_command.c: In function gckCOMMAND_Commit:
hal/kernel/gc_hal_kernel_command.c:2718:1:
error: the frame size of 2288 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]removed _commandBufferObject instrance, use kmalloc to avoid kasan error.
Date: Jul 13, 2017
Signed-off-by: Xianzhong
(cherry picked from commit d8d57e43a24bd02b375d7c6bd633ed236db19337)
(cherry picked from commit 484e3073adf47d27581482f268b01fe5fe219d18) -
Add DRM_VIV_GEM_VIRTUAL_POOL flags.
Switch to virtual pool when this flag is set.Change-Id: I6e1e799cd0b4f81ed1ffbfdabe8f105325fa9644
Signed-off-by: Ivan.liu
(cherry picked from commit c4bd0fc803409c54d06e3554f4857922d6640925) -
Signed-off-by: ming_qian
-
When an atomic commit contains an active CRTC with no plane,
it may cause two potential issues:First, this CRTC will fetch its last attached plane data
or has no data can be fetched depending on the plane
driver's atomic_disable() implementation.Second, this CRTC's 'plane_changed' will be false during
the whole commit tail stage, and this will make vblank
wait to be bypassed which directly causes the later wait
flip done timeout.So add this commit case check to the LCDIF CRTC's atomic
check to block this kind of commits.Signed-off-by: Fancy Fang
(cherry picked from commit 67ced65259a4dbf040ce4a931325be6ba97e5131)