Commit Graph

33059 Commits

Author SHA1 Message Date
Cai YiWei
98d0bc3b25 media: rockchip: isp/ispp fix using of vb2_cma_sg
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
Change-Id: I564e64f93946c45f7295899fc97cab63b6ec8487
2022-03-22 11:45:56 +08:00
Yiqing Zeng
c4d5205b23 media: i2c: sc4336 fix __aeabi_uldivmod error
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: Iccabf61644e9b0e18710fc4d8c0387da626e0429
2022-03-22 11:45:55 +08:00
Zefa Chen
4979094097 media: rockchip: rkcif fixed buf error when used dma_sg
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Icbf960fe532a746342634566f06537d0fe87fd5d
2022-03-22 11:45:55 +08:00
Zefa Chen
d5e0728c35 media: rockchip: rkcif fixed bug for rv1106
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I4d5639ebd85fbfabe81f210dcc4df2e455c20c45
2022-03-22 11:45:55 +08:00
Cai YiWei
10d6a43961 media: rockchip: isp: isp32 fix nv12 error
Change-Id: I90c563f0120b9000b45d68a526c74d99f3913f01
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-22 11:45:55 +08:00
Cai YiWei
6ec9dad4d4 Revert "media: rockchip: isp: dynamic memory alloc for params and stats function"
This reverts commit 57bacabe6e98c4edfab40fd20c6e31f06f00feba.

Signed-off-by: Cai YiWei <cyw@rock-chips.com>
Change-Id: I97801770b8ed4e618bf99c4ab72c3c3d80c81d82
2022-03-22 11:45:55 +08:00
Dingxian Wen
5addbe2904 media: rockchip: hdmirx: Bind interrupts and delayed works to big cpu
Bind interrupts and delayed works to big cpu, and limit the
minimum frequency of the cpu to 1.2G when hdmi is inserted.

Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I66204c27d550f76224f1dc7087977a59257abdb8
2022-03-22 11:45:55 +08:00
Chen Shunqing
d6d0364d59 media: rockchip: hdmirx: filter the abnormal frames
If the color is YUV format, when resume or change resolution or plugin,
the first few frames of DMA is zero, Cause green screen display.

Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I8084e1c0b3c9b0e763fa8aae24994da6875b2f32
2022-03-21 16:14:07 +08:00
Cai YiWei
26093e03f8 media: platform: rockchip: cif/isp/ispp remove vb2_dma_contig and vb2_dma_sg
reduce driver size

Change-Id: I3f7eeec74603ae9b601c68bd1b2a0633094cd531
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-21 11:33:46 +08:00
Jianqun Xu
06f898829b media: platform: rockchip: cif/isp/ispp use videobuf2-cma-sg
Fix the videobuf2-rdma-sg to videobuf2-cma-sg, and move it into
videobuf2 directory.

The videobuf2-cma-sg almost keep same as videobuf2-rdma-sg, both of them
are referenced from videobuf2-dma-sg. But the videobuf2-cma-sg also
support the videobuf2-dma-sg if the device's attr without force
contiguous attr.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I397fd5cbcd54a0575a34ecbc853dda9e53629892
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-21 11:33:09 +08:00
Cai YiWei
5b8a719b6d media: common: videobuf2-cma-sg: support more pages alloc
if DMA_ATTR_FORCE_CONTIGUOUS to alloc contiguous pages and
dma alloc from rk_dma_heap default if it enable, else
alloc compacted pages.

Change-Id: Id1c020fd953e6b090ba734d1c41ed1c3d6932510
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-21 11:23:46 +08:00
Zefa Chen
259f76f849 media: i2c: sensor adapter support write sensor register by i2c interface
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I45d7ab10c24ee4b046b3fb85ea7fd45a88c9e4a9
2022-03-19 19:14:10 +08:00
Zefa Chen
af227dbe4a media: rockchip: vicap support rv1106
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I1a8f4a8a7e80494eef9991a7551762bc4c6267f6
2022-03-19 16:27:10 +08:00
Hu Kejun
79bfcdd26c media: i2c: ov50c40: fix cannot get channel info on android
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: I60a02c71bd2bd8970a608d5fffdca74801ca8efc
2022-03-18 16:11:56 +08:00
Yiqing Zeng
75a2a7aa38 media: i2c: add sc530ai sensor driver
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: Icc4feae09b7497777e2f1bc586bd220caeac92a5
2022-03-18 14:31:07 +08:00
Chen Shunqing
8dca81808b media: rockchip: hdmirx: fix power on abnormal
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: Ic02eff1f8dd1cae6ef1c1de87fc4e6839dfdceb0
2022-03-18 14:23:59 +08:00
Jianqun Xu
e7514f3b3c media: platform: rockchip: hdmirx select VIDEOBUF2_DMA_CONTIG
The hdmirx allocates memory through videobuf2 and call the
vb2_dma_contig_ops, but the hdmirx not select the VIDEOBUF2_DMA_CONTIG
itself, but the ISP will select it instead.

When a patch for ISP may not select VIDEOBUF2_DMA_CONTIG, the hdmirx
will fail to compile since not defined videobuf2_dma_contig_ops.

So select VIDEOBUF2_DMA_CONTIG by hdmirx indeed.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ibcf45da96053cb280e208b160ba24b2c1614a7b6
2022-03-18 08:24:38 +08:00
Jianqun Xu
2cc285e065 media: platform: rockchip: source rockchip dir to subdir
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Iffe0151bda9f05dba871907f93c0e9aef0f40ae8
2022-03-17 20:45:30 +08:00
Jianqun Xu
ef34c63346 media: videobuf2: add vb2_cma_sg_memops
Currently videobuf2 supports videobuf2-dma-sg, videobuf2-dma-contig and
videobuf2-vmalloc.

- vb2_dma_sg_memops
  created by videobuf2-dma-sg driver,
  allocates memory through 'alloc_pages' and manager them with scatter
  gather list (sgt).

- vb2_dma_contig_memops
  created by videobuf2-dma-contig driver,
  allocates memory through dma_alloc_attrs, may result in many kinds of
  memory, including 'cma_alloc'.

- vb2_vmalloc_memops
  created by videobuf2-vmalloc driver,
  allocates memory through vmalloc_user.

In some case device requires allocate memory through cma_alloc and manager
them by sgt, the new driver is named videobuf2-cma-sg.

- vb2_cma_sg_memops
  created by videobuf2-cma-sg driver,
  allocates memory through 'cma_alloc' and manager them with sgt.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ic974dd41aa3dcf9588311ad8ed6c166f3064d6fd
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-17 20:36:28 +08:00
Chen Shunqing
9acb3cd2ce media: rockchip: hdmirx: fix crash for write node
Some registers is read only, write these registers will cause crash.

Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: If4bde6f21d525c2fc6fe3c56d54fce58d4900762
2022-03-17 20:35:33 +08:00
Chen Shunqing
6d8d3d37be media: rockchip: hdmirx: add debug node
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I5ab694ae4ec5c7a5a991ef3373781670ab5dcd20
2022-03-17 15:53:06 +08:00
Zefa Chen
d709534077 media: i2c: add sensor driver sc4336
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ic9dd56d8ea06fef25ff149cde55821e7794f7566
2022-03-16 15:48:54 +08:00
Zefa Chen
6b605a54f8 media: i2c: add sensor driver sc3336
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ifcf3edab686b1c1fb52d25092797d2a843ce204c
2022-03-16 15:48:54 +08:00
Cai YiWei
bee058dcef media: rockchip: isp: wrap mode for dvbm
Change-Id: I8d20364c03c057465c390107e33ced3e5eb4dcbf
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-15 17:52:48 +08:00
Chen Shunqing
9ab8c6cff6 media: rockchip: hdmirx: fix get yuv420 timing error
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I37f6a4f19d9be0875c117f58f3ba6da9cbe3f9ed
2022-03-15 17:51:44 +08:00
Dingxian Wen
ac0d8ffc8a media: rockchip: hdmirx: Workaround to fix system crashes
1.Hdmirx DMA caused NOC abnormal pending during hot-plug operation,
resulting in system crash.Detect signal change as soon as possible
and reset hdmirx controller in FIQ to avoid hdmirx DMA exception.
2.Add hdmirx DMA reset operation when HDMI is unplugged and hdmirx
DMA is off.

Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I89dfda97cc0e4a9ac366a87b134762e400675530
2022-03-15 14:38:18 +08:00
Chen Shunqing
c4f2304ac6 media: rockchip: hdmirx: fix edid error after resume
Close vdd_log in suspend, cause sram reset.

Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I72b02b1df0e6df762133fb70faf47a604dd0fa57
2022-03-15 14:24:50 +08:00
Cai YiWei
243508d8ec media: rockchip: isp: fix config of capture_v30
Change-Id: Iaa929ec3f1ca3d469c2b227980ec44e135f0e1a8
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-14 19:26:51 +08:00
Shunhua Lan
0260220515 media: rockchip: hdmirx: add hdmirx class for audio info
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
Change-Id: Ifd4f9cd9e28318f49fdc3da95113819de3775587
2022-03-14 14:18:36 +08:00
Jianwei Fan
d079e65435 media: i2c: imx214: adapt to kernel-5.10 and add 4lane mode support
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: I05129ea47403f173fda55ddc4ccccc9fce5791f8
2022-03-12 16:49:51 +08:00
Chen Shunqing
64faa64356 media: rockchip: hdmirx: set phy to low power mode
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I28c90d43029c1c0d71e4c7686a84fc086be8742f
2022-03-12 15:20:49 +08:00
Chen Shunqing
75dd861649 media: rockchip: hdmirx: fix interlaced resolution ficker
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I6b0b71fc846d98d02a6c79e88768315f11216418
2022-03-12 15:20:24 +08:00
Chen Shunqing
b3bfa85987 media: rockchip: hdmirx: workaround get error timing
1. Get timing from hdmirx ctrl.
2. If the timing is error, get timing from dma.
3. If get timing error from dma, re-execute hotplug process.

Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: Iae43386a8d45cb0a9338a1c8b32a122b6b377ca2
2022-03-12 15:19:53 +08:00
Jianwei Fan
a056012edf media: i2c: dw9714: sync from kernel-4.19
kernel 4.19 drivers/media/i2c/dw9714.c ends
commit 6e50af3b41c7550d ("media: move rk_vcm_head.h from
drivers/media/i2c/ to include/uapi/linux/")

Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: If329076cf39aa01d9a7b7ab4326e09ba0578c90f
2022-03-12 15:15:47 +08:00
Zefa Chen
9f87ca55e4 media: rockchip: cif fix errors in rgb24 data format
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I0766997860f06dc25e604c2ea8425049a987fdc5
2022-03-12 14:39:29 +08:00
Cai YiWei
f6cafa7cbd media: rockchip: isp: isp32 add vsm
Change-Id: I456f06ef23c54196ddb4904675696a82dc74864c
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-11 14:18:01 +08:00
Cai YiWei
2fa9233522 media: rockchip: isp: scale up and down for some stream
Change-Id: Ie6f48cf197e5be0c4fbb63e641dde4299920d97a
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-11 14:17:38 +08:00
Cai YiWei
8b0728ec75 media: rockchip: isp: add luma stream for isp32
Change-Id: If20dfa24389b3df7f2ef0ad918cc649d9c560807
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-11 14:17:17 +08:00
Cai YiWei
8dd3e56958 media: rockchip: isp: isp32 mi switch according to output buf
Change-Id: I2d4ce521e00dc9907c60472538d2b9b7300e4539
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-11 14:16:48 +08:00
Cai YiWei
40e63cc682 media: rockchip: isp: build depends on CPU config
Change-Id: I20ed687a3b52b04bb826ef8c8405217c3f1f19d0
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-11 11:18:47 +08:00
Cai YiWei
3549b11f93 media: rockchip: isp: add get isp information api
Change-Id: I774cc2d215e1b57a427fbf9f3f7bdcf0ea7a0391
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-10 19:54:46 +08:00
Cai YiWei
6b70848540 media: rockchip: isp: add cgc config
Change-Id: I235207147a7c4bd14c195d5bb53dec5992a1c3c3
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-10 19:54:46 +08:00
Cai YiWei
8a1aeac9b2 media: rockchip: isp: isp32 support raw data compression
Change-Id: I62b7a39982ba661034856cce79fb873104f2c4ba
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-10 19:54:46 +08:00
Cai YiWei
c76be98cdc media: rockchip: isp: isp32 support mirror and flip
Change-Id: I8e067cddee9bb314d97e2fd09b62886e8f9b222d
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-10 19:54:46 +08:00
Cai YiWei
5409c91052 media: rockchip: isp: isp32 bls2 remove to awb
Change-Id: Ieea6a4fd4ee796c5a02a46dbf9e7650d2a345170
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-10 19:54:46 +08:00
Cai YiWei
8bffb2d344 media: rockchip: isp: add isp32 for rv1106
Change-Id: I3f02927df17cb04868d868f8c3a72079a99fea77
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-10 19:54:46 +08:00
Cai YiWei
68dc2bca0c media: rockchip: isp: fix mp uyvy format error for isp30
mainpath is bytes per line for Y_LLENGTH but
selfpath is pixels per line.

Change-Id: I3321f01ee3466bae99e65a6ac10ffbe0acdeed71
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-10 19:54:46 +08:00
Cai YiWei
0dc12b0118 media: rockchip: isp: add version to querycap
Change-Id: Idb3fc5e57d5ecf0ea8dfe82bc7072998f2472940
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-03-10 19:54:46 +08:00
Zefa Chen
d466135aef media: rockchip: vicap: fix hdr mode timestamp bug
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ie355235dd0568b3c790c7bfca558da870edb922e
2022-03-08 14:34:28 +08:00
Zefa Chen
93ffc33081 media: rockchip: vicap: rk3588 fix HDR capture bug in line_info or id_code mode
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I5cd12597e5bdebebbe7cd502f7aa7cad6d4887d2
2022-03-07 10:06:32 +08:00