1.when release buffer should call vpu_iommu_clear function.
2.before call vpu_iommu_clear that we should call
vpu_drm_unmap_iommu&vpu_drm_free if there is through
vpu_drm_alloc to allocate buffer.
Change-Id: I01e7fac88c6da40e8cb4ee2199dd38283323783b
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
The test results indicate that larger transfers improve
mtp read/write speeds. The Tx/Rx request transfer length
is now 16K bytes. Increase the Tx/Rx transfer length from
16K to 64K to get good throughputs.
For USB DWC3 controller, you can try to increase the
Tx/Rx transfer length from 16K to 1MB to get better
throughputs.
Change-Id: If5ac41685acdc9b9d2db7f7f79e183e3dff7b558
Signed-off-by: William Wu <william.wu@rock-chips.com>
This patch backport from https://android.googlesource.com/kernel/msm
android-msm-wahoo-4.4-oreo-mr1
commit 79dc83a8cb933b8f0d746169961347a54c530ef1
This change captures time taken by each vfs_read() and vfs_write() call
made from USB MTP gadget driver where data size is equal to USB request
buffer size. It provides debugfs entry to get this information for 100
such call and resetting the same.
How-To use:
To get stats:
cat /sys/kernel/debug/usb_mtp/status
To reset stats:
echo 0 > /sys/kernel/debug/usb_mtp/status
Change-Id: Iade04950d1dce936fc1f88387da5e4fa74cd30df
Signed-off-by: William Wu <william.wu@rock-chips.com>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
This patch backport from https://android.googlesource.com/kernel/msm
android-msm-wahoo-4.4-oreo-mr1
commit 1f6b38f5293cfd619adcfac152e6d32ba6b40023
The Tx request transfer length is 16K bytes by default. The test
results indicate that larger transfers improve read speeds. Add
provision for specifying Tx transfer length at runtime.
echo 1048576 > /sys/module/usb_f_mtp/parameters/mtp_tx_req_len
The above command can be used to set Tx transfer length to 1MB. If
the memory allocation is failed, fallback to the default length.
Also add provision for specifying no. of Tx requests at runtime.
echo 8 > /sys/module/usb_f_mtp/parameters/mtp_tx_reqs
Change-Id: I9aa2210e145310ba79e79d353688a46c877ecb6b
Signed-off-by: William Wu <william.wu@rock-chips.com>
This patch backport from https://android.googlesource.com/kernel/msm
android-msm-wahoo-4.4-oreo-mr1
commit 1bb8887af8b525e68d9c9e7c828836a3d17ab0b3
The Rx request transfer length is 16K bytes by default. The test
results indicate that larger transfers improve write speeds. Add
provision for specifying Rx transfer length at runtime.
echo 1048576 > /sys/module/usb_f_mtp/parameters/mtp_rx_req_len
The above command can be used to set Rx transfer length to 1MB. If
the memory allocation is failed, fallback to the default length.
Change-Id: If5a7d4a167ec4a9e080fcd10caa95884d765a3b6
Signed-off-by: William Wu <william.wu@rock-chips.com>
It looks like should add gpio base in the gpiolib instead of
each gpio or pinctrl driver, and base defined in the gpio.h.
If the definition of base is 0, then it is the same as the
original, now the definition of base is 1000.
The dynamic assignment of a range of valid GPIOs should be
also from the defined base.
Change-Id: I636bc71a5ba078fd5e1bc9a476cdcf942aa8010a
Signed-off-by: David Wu <david.wu@rock-chips.com>
if not add HDMI_SWITCH node, h_5V will be disabled when resume
Change-Id: I06349a4e1f8c6caabaaa93f95db92ae514957d48
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Some nodes are always used for android, so we move them to android.dtsi.
Change-Id: Ifc5ef68dd00f14a0faec4a24998feef6dc592d5e
Signed-off-by: Liang Chen <cl@rock-chips.com>
Per listen(fd, backlog) rules, there is really no point accepting a SYN,
sending a SYNACK, and dropping the following ACK packet if accept queue
is full, because application is not draining accept queue fast enough.
This behavior is fooling TCP clients that believe they established a
flow, while there is nothing at server side. They might then send about
10 MSS (if using IW10) that will be dropped anyway while server is under
stress.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 5ea8ea2cb7)
Backport for pass Android CTS CtsLibcoreTestCases:
libcore.javax.net.ServerSocketFactoryTest#testCreateServerSocketWithPortNoBacklog
Refer the comments on libcore/luni/src/test/java/libcore/javax/net/ServerSocketFactoryTest.java
// This test may fail on kernel versions between 4.4 and 4.9, due to a kernel implementation
// detail change. Backporting the following kernel change will fix the behavior.
// http://b/31960002
// https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5ea8ea2cb7f1d0db15762c9b0bb9e7330425a071
public void testCreateServerSocketWithPortNoBacklog() throws IOException {
ServerSocket serverSocket = ServerSocketFactory.getDefault().createServerSocket(0, 1);
testSocket(serverSocket, 1);
}
Change-Id: I9bb3531480f4942447d8d4eded110aa31bc7c031
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
RK618 provides a complete set of display interface to support
very flexible applications as follows:
- 2 RGB display input interface with double data rate
- 1 LVDS display output interface with double channels
- 1 MIPI display output interface with 4 data lanes
- 1 HDMI display output interface
- 1 RGB display output interface shared with LVDS
- 1 RGB display output interface shared with RGB display input interface
VIF is used to LCDC SDR/DDR timing reconstruction.
SCALER is a synchronous parallel RGB frame converter for different
resolution. It is used to realize dual display function from
one display source. It can be used like VIF for LCDC SDR timing
reconstruction only.
DITHER is used for converting 24bit RGB888 to 18bit RGB666 with FRC
dither down.
Change-Id: I5b25e64c283bd84f85d7d7686bee6d940df44910
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
RK618 is a partner chip for Rockchip mobile application processor.
RK618 includes two RGB display input interface with double data rate.
With the internal MUX function, it can output 1080P HDMI signal to
TV and output RGB/LVDS/MIPI signal to TFT panel. In this case, RK618
can support dual panel (TV and TFT) display.
RK618 includes a audio codec, which with two I2S/PCM interface, two
differential microphone input and audio processing function.
Change-Id: Id18c251cbe1613de98e84c2b022826f85b3dd82b
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
The dsp_stx and dsp_sty of plane should use crtc_ variables
in adjusted_mode, which is the actual mode we give to hw.
Change-Id: I83199c80604e076f0b91559bff18e1da3783523f
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
enable CX20810, ROTARY_ENCODER and led configs for echo.
Change-Id: Ie12a2a45bcfd21c8d65e8603d9b7163f0b56067b
Signed-off-by: Wenping Zhang <wenping.zhang@rock-chips.com>
User space function driver could always provide descriptors for all
speeds irrespective of USB speed supported with USB gadget. If USB
gadget is not high/super speed capable, f_fs driver doesn't parse
HS or SS descriptors which results into OS descriptors processing
fail due to checking against wrong offset within received descriptor
buffer. Fix this issue by always processing HS and SS descriptors
without checking USB gadget speed.
Change-Id: I3b2ad8a4447c06a4302f0ef2c6759cb3f0c09cbd
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(am from https://android.googlesource.com/kernel/msm android-msm-wahoo-4.4-oreo-dr1
commit 362a9cd1380e16a963c20d453ae14ee3611f3f21)
If c->cdev->use_os_string flag is not set,
don't need to invoke ffs_do_os_descs() in _ffs_func_bind.
So uninitialized ext_compat_id pointer won't be accessed by
__ffs_func_bind_do_os_desc to cause kernel panic.
Change-Id: I7b04774e7bc69ce77e4cffc463d6335bb4bd64e8
Signed-off-by: Jim Lin <jilin@nvidia.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit c6010c8b4d)
Extended compat ID descriptor contains fixed-length header section and
one or more function section. Function section contains five fields as:
bFirstInterfaceNumber, Reserved1, compatibleID, subCompatibleID and
Reserved2. Specification suggests that Reserved1 needs to be set as 0x1
but f_fs driver fails processing descriptors if Reserved1 field is 0x1.
This results into USB enumeration issue due to incomplete descriptors.
This issue is seen with newer adbd which is passing extended compat ID
descriptors.
Change-Id: I6c6dae3ab2322bc914e3b04c8a29b4fcab19322f
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(am from git@10.10.10.29/kernel/msm android-msm-wahoo-4.4-oreo-dr1
commit 1431dc81797891e90c4ea37db4f00665df4fe697)
RDI interrupt is enough, disable RLSI, which can also
reduce the risk of continuous interrupt.
Change-Id: I1946813034cb895e550c5f5ab2aa9647256dda9c
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
1.When fiq debugger driver probes, and uart rx is pulled low.
The uart interrupt comes so early that uart handler can't be
called. Which makes interrupt come frequently and block the cpu.
2.Remove '<hit enter to activate fiq debugger>'.
Change-Id: I4656d6942bb2cbb0e992852a52bc82f71deadda8
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
If output interlace mode, we should compare the mode->flags to
make sure the vop output timing is unchanged.
Change-Id: I98b540a970cbfff2e957bb33506866dc954f3b05
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
This patch is to avoid fifo xrun in some timing case.
Change-Id: I511ebc4c443f1c3369fff1c4b4eb5faf145d5ae5
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This patch is to avoid fifo xrun in some timing case.
Change-Id: I0231030d054e4d3cb861dce8702898decc8ea0af
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This patch adds a macro regmap_read_poll_timeout that works similar
to the readx_poll_timeout defined in linux/iopoll.h, except that this
can also return the error value returned by a failed regmap_read.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 08188ba882)
Change-Id: I6f358e2b324591b311590e1b421cd7fb69f20cd7
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
The rk3288-evb-rk1608 hardware using APIO5_VDD 1.8v,
the default 3.3v bb-iomain cause the abnormal waveform
(<1V @24MHz) on the SPI0 bus (GPIO3_B7~B4), even with max
driving strength 12mA. So we need to switch the bb-iodomain
to 1.8v, then the waveform is corrent.
Change-Id: I0fa49e5348897933ee56867ca458ec3aa519bcba
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
fix fival_list alloc and free with API doesn't match
Change-Id: I4d24a783cf8caaba3aa1575be26078cc7e1336fc
Signed-off-by: Peng Zhou <benjo.zhou@rock-chips.com>