Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Khadas edge 4.4.y #31

Merged
merged 4 commits into from
Oct 26, 2020
Merged

Khadas edge 4.4.y #31

merged 4 commits into from
Oct 26, 2020

Conversation

yan-wyb
Copy link

@yan-wyb yan-wyb commented Oct 24, 2020

No description provided.

yan-wyb and others added 4 commits October 20, 2020 15:46
Signed-off-by: yan <yan-wyb@foxmail.com>
Signed-off-by: yan <yan-wyb@foxmail.com>
Signed-off-by: yan <yan-wyb@foxmail.com>
@numbqq numbqq merged commit 23a5445 into khadas:khadas-edge-4.4.y Oct 26, 2020
numbqq pushed a commit that referenced this pull request Nov 7, 2020
[ Upstream commit 96298f6 ]

According to Core Spec Version 5.2 | Vol 3, Part A 6.1.5,
the incoming L2CAP_ConfigReq should be handled during
OPEN state.

The section below shows the btmon trace when running
L2CAP/COS/CFD/BV-12-C before and after this change.

=== Before ===
...
> ACL Data RX: Handle 256 flags 0x02 dlen 12                #22
      L2CAP: Connection Request (0x02) ident 2 len 4
        PSM: 1 (0x0001)
        Source CID: 65
< ACL Data TX: Handle 256 flags 0x00 dlen 16                #23
      L2CAP: Connection Response (0x03) ident 2 len 8
        Destination CID: 64
        Source CID: 65
        Result: Connection successful (0x0000)
        Status: No further information available (0x0000)
< ACL Data TX: Handle 256 flags 0x00 dlen 12                #24
      L2CAP: Configure Request (0x04) ident 2 len 4
        Destination CID: 65
        Flags: 0x0000
> HCI Event: Number of Completed Packets (0x13) plen 5      #25
        Num handles: 1
        Handle: 256
        Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5      #26
        Num handles: 1
        Handle: 256
        Count: 1
> ACL Data RX: Handle 256 flags 0x02 dlen 16                #27
      L2CAP: Configure Request (0x04) ident 3 len 8
        Destination CID: 64
        Flags: 0x0000
        Option: Unknown (0x10) [hint]
        01 00                                            ..
< ACL Data TX: Handle 256 flags 0x00 dlen 18                #28
      L2CAP: Configure Response (0x05) ident 3 len 10
        Source CID: 65
        Flags: 0x0000
        Result: Success (0x0000)
        Option: Maximum Transmission Unit (0x01) [mandatory]
          MTU: 672
> HCI Event: Number of Completed Packets (0x13) plen 5      #29
        Num handles: 1
        Handle: 256
        Count: 1
> ACL Data RX: Handle 256 flags 0x02 dlen 14                #30
      L2CAP: Configure Response (0x05) ident 2 len 6
        Source CID: 64
        Flags: 0x0000
        Result: Success (0x0000)
> ACL Data RX: Handle 256 flags 0x02 dlen 20                #31
      L2CAP: Configure Request (0x04) ident 3 len 12
        Destination CID: 64
        Flags: 0x0000
        Option: Unknown (0x10) [hint]
        01 00 91 02 11 11                                ......
< ACL Data TX: Handle 256 flags 0x00 dlen 14                #32
      L2CAP: Command Reject (0x01) ident 3 len 6
        Reason: Invalid CID in request (0x0002)
        Destination CID: 64
        Source CID: 65
> HCI Event: Number of Completed Packets (0x13) plen 5      #33
        Num handles: 1
        Handle: 256
        Count: 1
...
=== After ===
...
> ACL Data RX: Handle 256 flags 0x02 dlen 12               #22
      L2CAP: Connection Request (0x02) ident 2 len 4
        PSM: 1 (0x0001)
        Source CID: 65
< ACL Data TX: Handle 256 flags 0x00 dlen 16               #23
      L2CAP: Connection Response (0x03) ident 2 len 8
        Destination CID: 64
        Source CID: 65
        Result: Connection successful (0x0000)
        Status: No further information available (0x0000)
< ACL Data TX: Handle 256 flags 0x00 dlen 12               #24
      L2CAP: Configure Request (0x04) ident 2 len 4
        Destination CID: 65
        Flags: 0x0000
> HCI Event: Number of Completed Packets (0x13) plen 5     #25
        Num handles: 1
        Handle: 256
        Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5     #26
        Num handles: 1
        Handle: 256
        Count: 1
> ACL Data RX: Handle 256 flags 0x02 dlen 16               #27
      L2CAP: Configure Request (0x04) ident 3 len 8
        Destination CID: 64
        Flags: 0x0000
        Option: Unknown (0x10) [hint]
        01 00                                            ..
< ACL Data TX: Handle 256 flags 0x00 dlen 18               #28
      L2CAP: Configure Response (0x05) ident 3 len 10
        Source CID: 65
        Flags: 0x0000
        Result: Success (0x0000)
        Option: Maximum Transmission Unit (0x01) [mandatory]
          MTU: 672
> HCI Event: Number of Completed Packets (0x13) plen 5     #29
        Num handles: 1
        Handle: 256
        Count: 1
> ACL Data RX: Handle 256 flags 0x02 dlen 14               #30
      L2CAP: Configure Response (0x05) ident 2 len 6
        Source CID: 64
        Flags: 0x0000
        Result: Success (0x0000)
> ACL Data RX: Handle 256 flags 0x02 dlen 20               #31
      L2CAP: Configure Request (0x04) ident 3 len 12
        Destination CID: 64
        Flags: 0x0000
        Option: Unknown (0x10) [hint]
        01 00 91 02 11 11                                .....
< ACL Data TX: Handle 256 flags 0x00 dlen 18               #32
      L2CAP: Configure Response (0x05) ident 3 len 10
        Source CID: 65
        Flags: 0x0000
        Result: Success (0x0000)
        Option: Maximum Transmission Unit (0x01) [mandatory]
          MTU: 672
< ACL Data TX: Handle 256 flags 0x00 dlen 12               #33
      L2CAP: Configure Request (0x04) ident 3 len 4
        Destination CID: 65
        Flags: 0x0000
> HCI Event: Number of Completed Packets (0x13) plen 5     #34
        Num handles: 1
        Handle: 256
        Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5     #35
        Num handles: 1
        Handle: 256
        Count: 1
...

Signed-off-by: Howard Chung <howardchung@google.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
HighwayStar pushed a commit to Amlogic-Lineage/linux that referenced this pull request May 19, 2022
PD#TV-3042

Problem:
3D function did not support afbc format before

Solution:
Add the support case which format is afbc.

Verify:
x301

Change-Id: I38189bfa78eec6ac811fb81631514d7d7b8b3d62
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

b8d9145 vpp: add interface to force non-afbc path [1/1]
c807fc4 vpp: tm2: add vd2 function for tm2 [2/2]
eea348a vpp: tm2: add vpp and sr support [1/2]
f08c28c video: Some interlace stream will stuck when pts rebound [1/1]
53b2624 amlvideo: reset video_inuse when amlvideo stop [1/1]
17cdaf3 amvideo: set black_threshold_height default 48 [1/1]
1cd025d vpp: set default aspect when the ratecontrol is zero [1/1]
58a2e8f vpp: Modify vframe epoll event [1/1]
94b0dc8 vpp: Modify vframe epoll event [1/1]
e98d6d3 video: enable pts calculation when hold video state changes [1/1]
43d30c4 vpp: add histgram test interface for vpp slt test [1/1]
2677784 amvecm: optimize amvecm update in vsync [1/1]
af78b0f vpp: increase the afbc burst len as 4 for txlx [1/1]
1ace6fc vpp: hold the vpp setting when meet the non-dw afbc frame [1/1]
e8a3758 vpp: 3d: disable crop when 3d playback or hdmi in [1/1]
4e6774d vpp: add black_threshold to disable video when window is too small[1/1]
3ae164f vpp: including crop info when AFBC switch to normal frame [1/1]
c67657f vpp: add the pic_mode backup to check difference [1/1]
33b1aee video: timming gets error when switching channels [1/1]
233779e vpp: add log switch in vpp_set_filters [1/1]
b00582b vpp: config the vd1 canvas1 correctly when 3D enabled [1/1]
607bc19 vpp: support 3D with afbc format [1/1]

vpp: config the vd1 canvas1 correctly when 3D enabled [1/1]

PD#TV-3086

Problem:
3D display abnormal. The vd1 canvas1 was incorrect.

Solution:
When enabled 3D function, config vd1 canvas1 correctly

Verify:
x301

Change-Id: I201cda2f33badf1af54ab4f177a17f761c7cea8d
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: add log switch in vpp_set_filters [1/1]

PD#SWPL-5942

Problem:
Too many log when DI process called the vpp_set_filters with AFBC.

Solution:
Add log switch to disable it.

Verify:
verified on X301

Change-Id: I34c8573bed78e49d27ec386279e929e617bf76d5
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

video: timming gets error when switching channels [1/1]

PD#TV-3062

Problem:
When switching channels, Hisense platform needs hold video,
and the timming obtained at this time is wrong

Solution:
because we have add hold video function, so get width and
height interface give the last video frame width and height,
and so on change the video

Verify:
X301

Change-Id: I331a4589dcb5f5785dce7eea6d8cd03c92d733d2
Signed-off-by: Xiaoming Sui <xiaoming.sui@amlogic.com>

vpp: add the pic_mode backup to check difference [1/1]

PD#TV-2929

Problem:
The pic_mode in cur_dispbuf was changed but not be detected.

Solution:
Add global pic_mode variable to check if the pic_mode in cur_dispbuf
is changed. If so, force vpp_set_filters.

Verify:
verified on x301

Change-Id: I5b95f512ad0823b031989f05526f114694887f2b
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: including crop info when AFBC switch to normal frame [1/1]

PD#SWPL-6347

Problem:
When AFBC switch to normal frame, excluding the crop information, the pps
parameters are calculated with wrong input size.

Solution:
1.Add the crop information, when afbc swicth to normal frame.
2.check ratio of compress_width/width, sync to crop value

Verify:
verified on x301

Change-Id: Ib943f8a11263ce577952e589bc172d8b7bafd954
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

vpp: add black_threshold to disable video when window is too small [1/1]

PD#TV-3641

Problem:
Add new interface to disable video when window is too small

Solution:
Add the black_threshold interface to control the threshold size.
And set the default value is width=20, height=30.

Verify:
verified by x301

Change-Id: Ifeb376c2e2edbb5706b2cdc2d08421bd0086b01e
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: 3d: disable crop when 3d playback or hdmi in [1/1]

PD#TV-3962

Problem:
3D mode does not support crop function

Solution:
Remove crop when 3D display.

Verify:
Verified on x301

Change-Id: Id35dd662886be24e3ec78d070e3a70f513f89b16
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: hold the vpp setting when meet the non-dw afbc frame [1/1]

PD#SWPL-7513

Problem:
When meet the non-dw afbc frame, vpp can not display with
scaling down as expected.

Solution:
Hold the current vpp setting and wait provider to switch
non-afbc.

Verify:
x301

Change-Id: I3c0e678d2da42376f3a77e334b8c5ce48460273b
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: increase the afbc burst len as 4 for txlx [1/1]

PD#TV-3132

Problem:
When playing 4K afbc and scaling down to small window,
the vskip is 1 and DDR freq is also lower, the display will
flicker caused by DDR bandwidth issue.

Solution:
Increase the afbc mif burst len from 2 to 4. And enable
the dmc adjustment in that case.

Verify:
r311, verify pass

Change-Id: Ia431a93f6083fd584b7e2eb14f777c5a5e7c20e7
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

amvecm: optimize amvecm update in vsync [1/1]

PD#SWPL-6475

Problem:
hdmi input signal, video flicker

Solution:
optimize amvecm update in vsync

Verify:
verify on TL1

Change-Id: I3379333053fc52b8a33747ca83b1d6d68ea874ab
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>

vpp: add histgram test interface for vpp slt test [1/1]

PD#khadasGH-31

Problem:
Need pattern to filter the error vpp modules in SLT test

Solution:
Using clipping and histgram function to create the test pattern
and get the histgram data.

Verify:
verified on w400

Change-Id: I52680c96f568980f71ac8c27c4b66352fea96651
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

video: enable pts calculation when hold video state changes [1/1]

PD#TV-3999

Problem:
dtmb individual channel switching speed is slow,
it takes about 16s

Solution:
enable pts calculation when hold video
state changes.

Verify:
X301

Change-Id: I4c8eda3af3df894d8116461abf63c3dda45c8ce3
Signed-off-by: Rui Wang <rui.wang@amlogic.com>

vpp: Modify vframe epoll event [1/1]

PD#SWPL-8850

Problem:
too many print when channel change.

Solution:
Modify vframe epoll event flow to avoid same event.

Verify:
verify on marconi.

Change-Id: Id709439f24d3cad82df6082c477cacce1a9b9cc7
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>

vpp: Modify vframe epoll event [1/1]

PD#SWPL-8850

Problem:
too many print when channel change.

Solution:
Modify vframe epoll event flow to avoid same event.

Verify:
verify on marconi.

Change-Id: Iefbd190c0280276bf941c48bf99706a0f2573df1
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>

vpp: set default aspect when the ratecontrol is zero [1/1]

PD#TV-5266

Problem:
Vpp used the wrong aspect ratio in 3D, screen mode = normal
and aspect ratio is 0 in ratecontrol variable.

Solution:
When the aspect ratio is 0, set the default value as
(height << 8) / width

Verify:
Verified by x301

Change-Id: I34f7cd3ce5ed1818d3090ebb4be934225038625e
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

amvideo: set black_threshold_height default 48 [1/1]

PD#OTT-1836

Problem:
disable video when window is too small

Solution:
set black_threshold_height default 48

Verify:
U212

Change-Id: I9ed7deb54baef1c44bb9cc0c1a4d699140663864
Signed-off-by: jintao xu <jintao.xu@amlogic.com>

amlvideo: reset video_inuse when amlvideo stop [1/1]

PD#TV-6189

Problem:
video_inuse always is 1 when codec server crash

Solution:
reset video_inuse when amlvideo stop

Verify:
TL1

Change-Id: I5b1b808668e3b2fb78781a4ea1ccbaefc3507d2b
Signed-off-by: Lifeng Cao <lifeng.cao@amlogic.com>

video: Some interlace stream will stuck when pts rebound [1/1]

PD#TV-6236

Problem:
Some interlace stream di has buffer count more than 16
If video pts rebound in this stream. The condition that
(abs(omx_pts_set_index - next_vf->omx_index) <= 16) is
not true. So this frame can not toggle always.

Solution:
Delete this condition that
(abs(omx_pts_set_index - next_vf->omx_index) <= 16)

Verify:
verify TL1

Change-Id: I7e8c12ec72d086b0516f7c7490b492e16e36e8fe
Signed-off-by: Lifeng Cao <lifeng.cao@amlogic.com>

vpp: tm2: add vpp and sr support [1/2]

PD#SWPL-6615

Problem:
Need vpp and sr supprt for sm2

Solution:
add support for tm2

Verify:
test pass on tm2 skt

Change-Id: I0ae2cb178fcbe047cdfec6b4e200424178993e6e
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: tm2: add vd2 function for tm2 [2/2]

PD#SWPL-6615

Problem:
Need vd2 function

Solution:
add vd2 function for tm2:
1.vd2 pps scaler
2.disable vd2 afbc

Verify:
test pass on tm2 skt

Change-Id: I7af5de741b90e443ee065218aecb823ef06d66a7
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

vpp: add interface to force non-afbc path [1/1]

PD#SWPL-7035

Problem:
When DI switched to use VD AFBC, need vpp force to non-afbc first.
Otherwise, display willl flash.

Solution:
Provide new interface to request the vpp release afbc hardware first.
Then return the current afbc status.

Verify:
verified on x301

Change-Id: Ibb2b897db7d2f2c40006433d63709988992c84f1
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants