rkvdec2 link mode use a new serialized work flow.
This process is for link mode decoder in RK356x.
The new flow run async with hardware and use multiple trigger event to
run the work thread. All task operation, power operation and reset
operation are serialzed in one thread with certain order.
This is mainly for runtime debug and it will simplify the system design.
rkvdec2 link mode use two sets of counters to control the hardware io:
1. write / read task for preparing link mode task to ddr.
2. send / recv task for sending / receiving task from hardware.
All the operations are serialized in single work thread. So only a few
of lock and atomic is required.
The decoded counter and total counter are the synchronization method
between driver and hardware.
NOTE:
1. link mode reset should use sip_reset.
2. link mode should not change hardware frequency or power off when
there is still task running.
3. link mode should not access hardware when there is an error happen.
4. link mode should reserve a stuff task for H.264 decode task.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7736d54a64225089cd6d1b6522f660ce4481d437
NVR product isn't need to check yuv420 mode valid in hdmi driver.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I56264bd3e4a9a3e9d5ddbec48e36fb816dd1de65
Since storage drivers register in module_init, So the vendor_storage
should be initiated after it.
Change-Id: Icefce56c54713dd56ef992ec527e65fce4f0c977
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
[<c010f0c4>] (unwind_backtrace) from [<c010b3dc>] (show_stack+0x10/0x14)
[<c010b3dc>] (show_stack) from [<c03fcff8>] (dump_stack+0x7c/0x98)
[<c03fcff8>] (dump_stack) from [<c03fb0c4>] (Ldiv0_64+0x8/0x18)
[<c03fb0c4>] (Ldiv0_64) from [<c06bb3e8>] (enable_stream+0x290/0x940)
[<c06bb3e8>] (enable_stream) from [<c06bc784>]
(rk628_csi_s_stream+0x10/0x18)
[<c06bc784>] (rk628_csi_s_stream) from [<c06f7538>]
(rkisp1_pipeline_set_stream+0x7c/0x224)
[<c06f7538>] (rkisp1_pipeline_set_stream) from [<c06ff754>]
(rkisp1_start_streaming+0x364/0x69c)
[<c06ff754>] (rkisp1_start_streaming) from [<c06dc918>]
(vb2_start_streaming+0x64/0x128)
[<c06dc918>] (vb2_start_streaming) from [<c06dd4a8>]
(vb2_core_streamon+0xd0/0x12c)
[<c06dd4a8>] (vb2_core_streamon) from [<c06ccc4c>]
(__video_do_ioctl+0x224/0x2bc)
[<c06ccc4c>] (__video_do_ioctl) from [<c06cc668>]
(video_usercopy+0x294/0x648)
[<c06cc668>] (video_usercopy) from [<c06c65c8>] (v4l2_ioctl+0x5c/0x98)
[<c06c65c8>] (v4l2_ioctl) from [<c024f21c>] (do_vfs_ioctl+0x94/0x6a0)
[<c024f21c>] (do_vfs_ioctl) from [<c024f874>] (SyS_ioctl+0x4c/0x70)
[<c024f874>] (SyS_ioctl) from [<c0107240>] (ret_fast_syscall+0x0/0x54)
Division by zero in kernel.
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: Icb94f2ef1dc5575a162faae38e32352c5133ca27
1. reset hdmirx in cru when hotplug or res change to avoid audio L/R channel swap
2. disable hdmirx and audio unit when PHY setup
3. enable audio unit and audio fifo interrupts after N CTS updating
4. double initial audio fifo when fifo overflow after underflow
5. initial audio fifo when fifo overflow after underflow
6. fix i2c access timeout when hdmirx resetting
7. add 60ms delay after phy locked
Change-Id: I0bc2afe33a52a65c8a028695785fa273339b317b
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
When HDCP is enabled, there is a probability of data error for
a period of time, so we use the above method to workround it:
1. If read the same value six times, we think the data is stable.
2. If thd data is no stable after 1s, force hdcp avmute.
3. If avi packet is no ready, reset hdmi ctrl.
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: Ia4d2fe5fc74188e593ea149404ad2504a0d8a482
How to use this configuration:
make ARCH=arm rv1126_defconfig rv1126-dictionary-pen.config
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Change-Id: I85bc9744b61cd17f0b8f20aabf3184a4a931fd99
When build with rv1126_defconfig:
before:
text data bss dec hex filename
18918 34120 8 53046 cf36 drivers/pinctrl/pinctrl-rockchip.o
after:
text data bss dec hex filename
11726 3028 8 14762 39aa drivers/pinctrl/pinctrl-rockchip.o
Change-Id: I09e85d6a05f9bdee1033584bd1573d41d69633bc
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
1.support suspend logo refresh
2.support multi panel pmics define as:
&ebc_dev {
pmic = <&tps65185 &sy7673a &xxxx>;
}
3.do err when bufmode not support
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I9686a7d2eae8051c04c53970acdc7793870dd553
When internal DMA ready, the last spare data may still in fifo.
Change-Id: I1cf670d2008ea62b67b517641e31386fd0877417
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Requesting perst# as high and then drive it low makes some
buggy devices fail to work properly, for instance Biwin SSD.
It's not mandatory to have a high-low transition for perst#
before powering up. So we request it as output-low state directly
and remove redundant code.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ib62954f8dccc8a21dd06e7a582263bcf62995f29
1. Remove unused state
The link mode process will be moved to new function.
2. Remove reduce frequency function
The future link mode process should not reduce hardware frequency.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I173912e149e68aca97d5367ce92facf1af05eda7
Add new function pointer for process task, wait task result and task
worker thread.
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib0b23c90083b9acab6a8eec8db0871304dbb72ca
This reverts commit 384134cb60.
bcm2079x is unused.
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ibbc1b18fbadc1de9fa66915348b3382533ad1621
Failed to enable jpeg dec hw when the soft-reset of
the previous frame has not been completed.
So we have to manually trigger to do soft-reset when checking
that the soft-reset of this frame is not completed
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ib4cbb3c8a42af9d7235bcf41194f5b9ea7c9e207
We found that this abnormality exists not only in power lost,
but also in extreme environments during normal use, so the
retry mechanism is added.
Change-Id: Iaaa84a099c575dde833f6806036ea216ab98fe54
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
This reverts commit 1b9ac44296.
testcode is unused.
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I8b770eb8069289e59352e04081de4963cccc6a89
After commit cdc6f7d0b0 ("media: remove unused video drivers"),
these files are unused, so just remove them.
include/media/camsys_head.h
include/media/v4l2-chip-ident.h
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib561e90ec55f8f2b51c6d5fe3e03fe25836e511e
When gmac1 is working in SGMII mode, need to additionally
configure the speed of XPCS port1 according to the current
link information, otherwise it will not work.
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: Ie9407e1566e5ef2804ed50ee203d277f652aca23