PD#SWPL-7960
Problem:
There is no min ddr bandwidth data
Solution:
Add this value in sysfs
Verify:
p212
Change-Id: I9d90476d30c0ca7789046d8d205f0802de2b4acf
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-4863
Place drm_event_vblank in a new union that includes that and a bare
drm_event structure. This will allow new members of that union to be
added in the future without changing code related to the existing vbl
event type.
Assignments to the crtc_id field are now done when the event is
allocated, rather than when delievered. This way, delivery doesn't
need to have the crtc ID available.
v2:
* Remove 'dev' argument from create_vblank_event
It wasn't being used anyways, and if we need it in the future,
we can always get it from crtc->dev.
* Check for MODESETTING before looking for crtc in queue_vblank_event
UMS drivers will oops if we try to get a crtc, so make sure
we're modesetting before we try to find a crtc_id to fill into
the event.
(cherry picked from commit dc695b85fde88eca3ef3b03fcd82f15b6bc6e462)
Change-Id: I6f0feabcba9373fcc434b148752d9cd28bea67e6
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-4863
With the atomic API, it is possible that a single commit affects
multiple crtcs. If the user requests an event with that commit, one
event will be sent for each CRTC, but it is not possible to distinguish
which crtc an event is for in user space. To solve this, the reserved
field in struct drm_vblank_event is repurposed to include the crtc_id
which the event is for.
The DRM_CAP_CRTC_IN_VBLANK_EVENT is added to allow userspace to query if
the crtc field will be set properly.
[daniels: Rebased, using Maarten's forward-port.]
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Daniel Stone <daniels@collabora.com>
Cc: Maarten Lankhorst <maarten.lankhorst@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170404165221.28240-2-daniels@collabora.com
Change-Id: Ide7657bdc38563d2de91edc2d649b53262002c39
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-7960
Problem:
There is no min ddr bandwidth data
Solution:
Add this value in sysfs
Verify:
p212
Change-Id: I9d90476d30c0ca7789046d8d205f0802de2b4acf
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-7728
Problem:
bandwidth measure on tm2 is not enabled
Solution:
Adding port description of ddr controller for tm2
Also enable dmc monitor function for tm2
Verify:
AB301
Change-Id: I0127ac04fe29723669525f6ff1161e2fa35d69ca
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#TV-8696
Problem:
DMC can't set up from bootargs. For easy debug, we need
set a monitor from bootargs.
Solution:
Add a funciton for this feature. You can using following patten
to set up a DMC monitor:
dmc_montiro=[start_addr],[end_addr],[mask]
Example:
setenv initargs $initargs dmc_monitor=0x0,0x20000000,0xff58
This command set up monitor for following device on GXL:
RANGE:0 - 20000000
MONITOR DEVICE:
HDCP
HEVC
USB3.0
VPU READ1
VPU READ2
VPU READ3
VPU WRITE1
VPU WRITE2
VDEC
HCODEC
GE2DV
Verify:
P212
Change-Id: I864ff97325981fe62f18a4a4a24700b6b6ea7482
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#TV-5802
Problem:
irq of dmc violation happens very qiuckly, which may
have some wrong report if violation print in workqueu.
Solution:
Add a data to identify it. If data is null, then it's a
fake violation
Verify:
txhd
Change-Id: I402763fa2d20cfae3dc2d9647f7b2c2fb29ce966
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-6865
Problem:
ddr bandwidth measure is not supported on sm1
Solution:
1. Add port description and support for it
2. Record max/average bandwidth support;
3. Support up to 60 continue bandwidth sample
4. Fix bit mismatch of dmc monitor for sm1/tl1.
Verify:
sm1
Change-Id: I0b42db8214099b9cd6d1c3f00174dc65eebfc030
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-2767
Problem:
If DMC violation address is in highmem, then it will panic
when show memory using page_address();
Solution:
map violation address for highmem
Verify:
p212
Change-Id: Ib6213eaab42b129c8c0a381511a0b3376b0d3e66
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-4511
Problem:
1Gb SLC Nand ZDND1G08U3D-IA requested by Marketing
aka ZDND1G08U3D-xx module number in code
Solution:
add the nand id into amlogic nand flash id table
Verify:
AXG_S400
Change-Id: I4e221497b801239aa62f62f844ff247fa05925d0
Signed-off-by: Yi Zeng <yi.zeng@amlogic.com>
PD#SWPL-11771
Problem:
Hackers can use signed integer erase_boot_num to cause systems crash
Solution:
replace signed variable with unsigned variables
Verify:
AXG-S400
Change-Id: I9cc8d8f43c199f48e7d7bff2664bca740681d274
Signed-off-by: xianjun.liu <xianjun.liu@amlogic.com>
PD#SWPL-11772
Problem:
Inadequate clearing of keys/dtbs/env buf in memory
Solution:
clear the corresponding buf before free the buf
Verify:
AXG-S400
Change-Id: I61971c11a41c7062270a3863ae711c856d66f332
Signed-off-by: xianjun.liu <xianjun.liu@amlogic.com>
PD#SWPL-11776
Problem:
missing return value check for copy_from_user in uboot_write method
Solution:
checking return value after call copy_from_user/copy_to_user
Verify:
AXG-S420
Change-Id: I087a341cbf0b603b2898e81773dc266d8e3debe1
Signed-off-by: xianjun.liu <xianjun.liu@amlogic.com>
PD#SWPL-7804
Problem:
OTA upgrade would fail because nand info page no consisent
Solution:
Keep nand info page consisent between bl2/bl33/kernel
Verify:
s420
Change-Id: Icef5f720ba80e5f639b4ee7d1f1201833d5a5656
Signed-off-by: Liang Yang <liang.yang@amlogic.com>
PD#SWPL-5613
Problem:
boot fail because of the UBI write error
Solution:
fixed nested-calls spin-lock when update bbt
Verify:
AXG-S420
Change-Id: I56b603ebffa5557ab7949ead2fddd41323346d09
Signed-off-by: xianjun.liu <xianjun.liu@amlogic.com>
PD#OTT-1590
Problem:
bt mac write
Solution:
Accept the MAC address from uboot and create nodes
Verify:
Verifying on Public Edition P212
Change-Id: I77ff3543aff937adc07bf3a0933a350c27e9dd20
Signed-off-by: Qiu Zeng <qiu.zeng@amlogic.com>
PD#SWPL-9137
Problem:
tl1 add APIs to control pixel probe for debug
Solution:
tl1 add APIs to control pixel probe for debug
Verify:
X301
this commit MUST not be merged into trunk!!!
Change-Id: I3a538ff3afdd80ef5669fac63a3ab5f43b8e1055
Signed-off-by: Yan Wang <yan.wang@amlogic.com>
Conflicts:
arch/arm/configs/meson64_a32_defconfig
arch/arm64/configs/meson64_defconfig
drivers/amlogic/Kconfig
PD#SWPL-7711
Problem:
Executing echo l > /proc/sysrq-trigger each 5 seconds for about
15 minius will trigger hardlockup
Solution:
Add more strict checking for show_regs to filter out addresses
in secure monitor region and ioremap region, deferencing which
triggers external abort on none-linefetch, and finally leading
to hardlockup
Verify:
Locally pass on U200
Change-Id: I6bd219e7dc3ad29904e6bd1b7d2f4cfb3928d8ed
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
PD#SWPL-6028
Problem:
save irqflag locally when ftrace_ramoops io
Solution:
save irqflag locally when ftrace_ramoops io
Verify:
TL1 x301
Change-Id: I6df9700cceaccc97dc983d88ada73197a6968f73
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>
PD#SWPL-6718
Problem:
paddr just can get register and memory values for 32-bits aligned address.
Solution:
add paddr16 to get register or memory values for 16-bits aligned address.
Verify:
g12b w400_a
Change-Id: Ic7f32dcc6c2a24d0ac1e8c3ed60acc27e81887e0
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-3542
Problem:
2Gb SLC Nand ZDND2G08U3D-IA requested by Marketing
aka ZDND2GXXXXX module number
Solution:
add the nand id and MFR id into amlogic id table
adapt it's bad block identification
Verify:
AXG_S400
Change-Id: I6f0e2caf424e09c1f186beb42a146d92b675f161
Signed-off-by: Yi Zeng <yi.zeng@amlogic.com>
PD#SWPL-14700
Problem:
When open lockdep there is a warnning:
WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected
Solution:
use hardirq-safe lock to protect critical sections
Verify:
g12a
Change-Id: Icd7550efcdefb5589d248b862b77919db8581484
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#SWPL-5651
Problem:
tm2 has 2 extra pins than tl1, should use new param data
Solution:
add tm2 param data
Verify:
T962e2_ab319
Change-Id: I77aaaead7b10024cd5f12354ba6b47db74ba96f5
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#SWPL-5395
Problem:
sm1 support double-edge trigger, current code do not support.
Solution:
add relatvie bitmask to support this function.
Verify:
ptm & sm1_skt
Change-Id: I48ebc9b38db868f946c49b6fd5f98d427b2669df
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#TV-5021
Problem:
1.bt rcu cann't wakeup host when the system is in freeze mode;
2.There is no wake source in the bluetooth kernel.
3.current irqchip driver will complain "Unbalanced IRQ xx wake
disable" when gpio irq use as wakeup source, and can not wake device.
Solution:
1.add a gpio interrupt for bt in the bt kernel;
2.Wake up the interrupt;
3.Add a flag to skip undefined .irq_set_wake function in irqchip
driver.
Verify:
marconi.
Change-Id: Ic8d5525621e015a13fd765779f944cd1010144aa
Signed-off-by: Kuibao Zhang <kuibao.zhang@amlogic.com>
PD#172587
Problem:
1.Bringup TL1.
2.Invalid frequency setting
Solution:
1.Add ir blaster device tree for tl1.
2.Add frequency setting
Verify:
verify on tl1.
Change-Id: I51759e32577172ff766fd4d50f92a00ef77c7495
Signed-off-by: Bichao Zheng <bichao.zheng@amlogic.com>
PD#SWPL-14925
Problem:
The system can't be reset by wdt which is fed by the tv-service
when the tv-service is abnormally hanged.
Solution:
Add extra option to avoid the wdt is disabled when the fed dog
thread aborts, but we can disable wdt when certain condition is
met.
Verify:
test pass on customer board
Change-Id: I1fd5ff4e36f06bda99726c0a2ced399299596f95
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>