for link mode, several tasks are running at the same time.
so, it need a list to manage these.
Change-Id: Iff4c208d066342a60ecee589dcf5df3831fc3e38
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
fix exposure and gain control issues && adjust register settings
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: Ia7198cfd60d21689811f789eaf559ae187c644a9
vop driver need to backup the last plane info for dump buffer cmd,
but the kmemleak tool will identify as a memleak buffer, so store the
planelist to rockchip_plane_state, and kfree the planlist at next frame
update or disable.
Change-Id: I6e95bfb9740a0ff4ad9033bbe3a34c28e1114c3d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Enabling zero-cross without AGC, it's may cause loss some
data when start capturing.
Change-Id: I57fcf2cdfc0f67b54700639c4a73bf6c92ac254a
Reported-by: XiaoTan Luo <lxt@rock-chips.com>
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
This patch fixes the following panic when use uvc function and
do reboot during uvc preview.
Unable to handle kernel NULL pointer dereference at virtual address 000001fd
pgd = 85dd55c1
[000001fd] *pgd=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP ARM
Modules linked in: galcore(O)
CPU: 0 PID: 716 Comm: xc:RkAiqCoreThr Tainted: G W O 4.19.111 #18
Hardware name: Generic DT based system
PC is at usb_gadget_deactivate+0x0/0x6c
LR is at usb_function_deactivate+0x54/0x74
It's because that do reboot operation will call configfs_composite_unbind()
to set cdev->gadget to NULL.
Change-Id: I6fbfe9b58f865113d04ca7ce0b74b00f8d89227c
Signed-off-by: William Wu <william.wu@rock-chips.com>
Fractional frequency divider to do integer frequency divider does not
need 20 times the limit.
Change-Id: I98e413230a237fc5aafebabb9c0696d0ce51281a
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
1. support wifi6
2. support sta/ap coex for Android P
3. support sta/ap coex for Linux Connman(Connection Manager)
notice:
As the new drivers are unstable, the vendor suggests to maintain
two sets of drivers, and delete them after the new drivers are stable.
Signed-off-by: Yao Xiao <xiaoyao@rock-chips.com>
Change-Id: I6c98e6e031aee1d619a7f1f4a357b09975237d80
add mclk and amp amplifier control for rockchip soc
using extcon notifier for headset detect
Change-Id: I5984a60f3e64682a669779cd99def8f423b6dd0d
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
rk312x use virtual tsadc, there is no need poweroff when overheat,
just limit the frequency.
Change-Id: Id43c76ca6876a5c38ced9e0c07511ee57dd53691
Signed-off-by: Liang Chen <cl@rock-chips.com>
This updates the rockchip_pvtm.c file to use SPDX-License-Identifier
instead of more verbose license text.
Change-Id: I9f89999e0668269ff7d9283e90710bf0b06bde7f
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
If the system doesn't save the PMIC_POWER_EN OTP, we don't have to write
it back.
Fixes: c0570888f0 ("mfd: rk808: Set only resetting pmic register for 817&809.")
Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: I3cb391202a2967060b79f5bd7af1ebbcc82e9d9a
Fixed the panic reloads when there are multiple thermal devices.
Change-Id: Ia08b0bfec940be089440b9246cc1abf9626c19a7
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
We know that under the condition of even frequency division,
if the numeratoris greater than 4, the duty cycle may not be
equal to 50%.
In the case, weneed to keep the original numerator(<4) and
denominator.
Change-Id: I8cd08199df4e3d27d5697ce80370224a6f267e26
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
ov8858 camera module used by rk3368 xikp board
Change-Id: Id8380b997c9fe042957a3ba5284e5cf3cc799c37
Signed-off-by: Wu Jingchen <oven.wu@rock-chips.com>
This DWC2 driver has handled the unaligned DMA address problem
for urb->transfer_buffer and split in transfer. But it still
has problem to handle the isoc out transfer with unaligned DMA
address.
I test an USB Audio device which supports 24bits 96KHz 3LE format:
usb 1-1: new full-speed USB device number 2 using dwc2
usb 1-1: New USB device found, idVendor=21b4, idProduct=0083, bcdDevice= 1.06
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: AudioQuest DragonFly Black v1.5
usb 1-1: Manufacturer: AudioQuest
usb 1-1: SerialNumber: AQDFBL0100023815
When play 24bits 96KHz WAV file, noise occurs.
The rootcause is that the DWC2 controller use internal DMA to
transfer USB audio data, and the DMA address of data buffer must
be 4 bytes aligned, otherwise, the dwc2 will fail to transfer the
data. In this test case, the USB audio may transfer 572 bytes or
582 bytes in one usb transaction. And one URB contains multiple
usb transactions, if the DWC2 transfer the 582 Bytes in the middle
of the URB, the DMA address will not be 4 bytes aligned.
This patch allocates new aligned buf for isoc out transfer with
unaligned DMA address.
For isoc split out transfer, this patch sets the start schedule at
the 2 * DWC2_SLICES_PER_UFRAME to transfer the SSPLIT-begin OUT
transaction like EHCI controller. Without this patch, the SSPLIT-begin
OUT transaction starts in the seventh microframe, and this makes the
USB HUB unhappy. This patch sets the the SSPLIT-begin OUT transaction
starts in the first microframe.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I251ccf804e062312f9bd348552493f3bab504beb
Change-Id: I89cc058f597d1f408da9367e859e855f7e79f8bf
Fixes: 1d1a1f03f3 ("mmc: dw_mmc: add xfer timer for avoid DTO without actual data payload")
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Get dst->clock from sclk_rate before it changed to avoid one div
operation.
Change-Id: I33a51fd8b9cef5c3e73fc4db436fe8c1dcc57306
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Fix follow build error on arm32:
In file included from ./arch/arm/include/asm/div64.h:127:0,
from ./include/linux/kernel.h:208,
from ./include/linux/clk.h:16,
from drivers/gpu/drm/rockchip/rk618/rk618_scaler.c:8:
drivers/gpu/drm/rockchip/rk618/rk618_scaler.c: In function
'calc_dsp_frm_hst_vst':
./include/asm-generic/div64.h:222:28: warning: comparison of distinct
pointer types lacks a cast
error, forbidden warning:div64.h:222
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
^
drivers/gpu/drm/rockchip/rk618/rk618_scaler.c:123:2: note: in expansion
of macro 'do_div'
do_div(t_frm_st, src_pixclock);
^~~~~~
./include/asm-generic/div64.h:222:28: warning: comparison of distinct
pointer types lacks a cast
error, forbidden warning:div64.h:222
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
^
drivers/gpu/drm/rockchip/rk618/rk618_scaler.c:124:19: note: in expansion
of macro 'do_div'
*dsp_frame_hst = do_div(t_frm_st, src_htotal);
drivers/gpu/drm/rockchip/rk618/rk618_scaler.c:303:
undefined reference to `__aeabi_uldivmod'
drivers/gpu/drm/rockchip/rk618/rk618_scaler.c:304:
undefined reference to `__aeabi_uldivmod'
drivers/gpu/drm/rockchip/rk618/rk618_dsi.o: In function
`rk618_dsi_set_hs_clk':
drivers/gpu/drm/rockchip/rk618/rk618_dsi.c:297:
undefined reference to `__aeabi_uldivmod'
Change-Id: I7a63cf63217e75ca5b2115581d39492642225e81
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Multiple fd may point to the same dmmabuf, which means the
same buffer. Therefore, fd cannot be added as a judgment.
Change-Id: I459a3350a692299932e58f3e274d2509a5b9a48e
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
If you want to enable kernel logo set the following state:
1. enable CONFIG_FRAMEBUFFER_CONSOLE
2. enable CONFIG_LOGO
3. disable route_HDMI/eDP/MIPI state at dts file;
Change-Id: I40c9c8bf4133c6e8e3fa829c4402bbe2c800d364
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
If you want to enable kernel logo set the following state:
1. enable CONFIG_FRAMEBUFFER_CONSOLE
2. enable CONFIG_LOGO
3. disable route_HDMI/eDP/MIPI state at dts file;
Change-Id: Ibe35ef6e296718cde9871c8cc2e61e1621c4d6a6
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
solve the machine sleep and wake up, 4G module is abnormal.
Under normal circumstances, sleep and wake up, 4g can not disconnect the network.
Change-Id: Iee28bdcee57747c4f4cbceae8c413b7f46c2b6ad
Signed-off-by: Wang Jie <dave.wang@rock-chips.com>