It takes a bit of time to go through controller power up sequence and
initialization. To not stall the overall boot progress let's probe the
controller asynchronously, given that userspace is usually prepared for
hot-plugging of input devices and thus does not rely on particular
ordering.
Save about 0.35s on RK1808 EVB.
Change-Id: I5f38ae7dd9cbebeff02a5e522f29e131d21473ba
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
when define CONFIG_THREAD_INFO_IN_TASK, thread_info is in the task_struct,
and current_tread_info() is always point to the right current thread info
in irq/fiq mode, so do not change *current_tread_info().
Change-Id: Ic6476efc5f13cedb26405fd56646ee7c939dff45
Signed-off-by: Liang Chen <cl@rock-chips.com>
drivers/soc/rockchip/rockchip_system_monitor.c: In function 'rockchip_monitor_cpu_low_temp_adjust':
drivers/soc/rockchip/rockchip_system_monitor.c:684:3: error: implicit declaration of function 'cpufreq_update_policy'; [-Werror=implicit-function-declaration]
Change-Id: I0d47bdb848d22bd1e9d528a76ac0cfcf8fb62f2f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
drivers/gpu/drm/panel/panel-simple.o: In function `panel_simple_xfer_cmd_seq':
drivers/gpu/drm/panel/panel-simple.c:349: undefined reference to `mipi_dsi_device_transfer'
drivers/gpu/drm/panel/panel-simple.c:349:(.text+0xacc): relocation
truncated to fit: R_AARCH64_CALL26 against undefined symbol `mipi_dsi_device_transfer'
Fixes: 0f36136db1 ("drm/dsi: Export mipi_dsi_device_transfer()")
Change-Id: I34c6e4f732aa9c3fba5ef6d9ded012c53c8d107b
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Android 10 requires ion to allocate buffers for audio playback,
enable system heap by default to support it.
Change-Id: Id13e42254c7cfc2d07a33840d0dc4429e6fe7065
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com>
Add this dts to support camera hal3 and be compatible with android 10.
Change-Id: I4594f7e3eb7407a26cbd7dc119653236c622b22d
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com>
Add compile condition of ION and DRM.
Adapt struct kref.
Modify drm's iommu domain get method.
Delete drm's common_iommu_setup_dma_ops.
Delete code about ion.
Change-Id: I340e1798c5930af0a82566f8c40ec93e78084fda
Signed-off-by: Grey Li <grey.li@rock-chips.com>
Currently, it's set active_sensor to NULL when stream off. But it
could be useful for ioctls (e.g. enum_frameintervals) to obtain
active sensor's infomations.
This patchs keep active_sensor always available and renew it
every time before starting stream in case media topology changed.
Meanwhile, get active_sensor info once async subdevice registered
completely.
Change-Id: I21eb3954d5932a4bc7c899d8f110e31b409c91d2
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Currently the maximum size of video is 4416x3312. For those sensors(5M
or 8M), it's not a good idea to scale up to max resolution by ISP.
This avoid video output resolution exceeding the isp sub-device
size.
Change-Id: I4b2649cf3a8c3c7e81ff978eefba3e69e2c24d81
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
If no IOMMU support for ISP, we prefer to alloc continuous
physical memory from our reserved CMA region than from system
reserved.
Change-Id: I1e598ee7309c9c53254649f5267a1e7f515c6361
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
power on->isp start->restart...->power off
isp reset will set clk config to default value, if
isp restart clk isn't to reconfigure.
Change-Id: I2b5ef9883c8ca5e9e142270d935f300395b0ea74
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This patch adds two v4l2 events, start/stop streaming, for
userspace to subscribe. With these events, userspace could
init/de-init 3A tuning in proper time.
Only if isp sub-device input format is Raw Bayer and output
format is YUV, the 3A tuning is required.
Change-Id: I027d603fcf6d6901ebcd3762d0889ef8f7603601
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Enable VB2_USERPTR mode. vb2_dma_contig takes care
the rest of details except the vb2_plane_vaddr().
Change-Id: Id23e0c9ef7b3332fcb3be57c71c4178e181d7141
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
The mipi interrupt is auto on in resume operation,
so we may receive interrupt before isp clock resume,
and the kernel will be dead when access isp register in mipi isr function.
Change-Id: I73779111cb103457b0a4f125d8e4c9420a2d8553
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
On RK3328, dw-hdmi driver is reloaded after bind and unbind
then it will use the first register debugfs address if no run
debugfs_remove_recursive, and cause system crash.
Change-Id: Iafa6b4059962b62c79157a9cf6c3e1d56df48f03
Signed-off-by: xuhuicong <xhc@rock-chips.com>
when other devices bind failed,drm will unbind and re-bind all devices.
if don't cancel the delayed work but flush and destroy workqueue directly,
kernel point is likely to become NULL.
Change-Id: Ib48704186ee298cbd4daac1cdbbac5fb3906b6bb
Signed-off-by: algea.cao <algea.cao@rock-chips.com>
If hdmi driver data isn't be set, hdmi pointer can't be get
correctly, system will crush when reboot or shutdown.
Change-Id: I3a17a3238c307ab28d7570e8803a6dbe8c57c930
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Filling in the missing parts from:
'commit d7f22ab4c1 ("drm: bridge: dw-hdmi: fix wrong color if get
edid error at bootup")'
Change-Id: I92b690dcc332e9f9e50ef7d457734952a9f1ef2a
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Default value of hdmi->colordepth is defined by input color mode,
so there is no need to set value again when color depth property
is created.
Change-Id: I2e242fabdaadc0c3b41e48f806cbded5f619c455
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
HDMI protocol does not allow retransmit more than
five times when send cec message failed. In android
system, we do retransmit in framework only.
Change-Id: I7bd1a4aa48874be11e4948d60e0c36077268c1c9
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
To differentiate extend colorimetry and normal colorimetry, we
add the offset HDMI_COLORIMETRY_EXTENDED in colorimetry property.
It should use same value in dw_hdmi_rockchip_select_output.
Change-Id: I13e10b6e8211e7a2634dbd4b6c5310bc129bfa8d
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
Modify the code to sensor driver into the kernel and
make the compilation successful.
Change-Id: I3226b5df0084a80c63b7ad59aec7c759b3165a7b
Signed-off-by: Wang Jie <dave.wang@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
LPM feature of DWC2 module integrated in Rockchip SoCs doesn't work
properly or needs some additional handling, so disable it for now.
Without disabling LPM feature, the USB ADB communication fail with
the following error log:
dwc2 ff580000.usb: new address 27
dwc2 ff580000.usb: Failed to exit L1 sleep state in 200us.
dwc2 ff580000.usb: dwc2_hsotg_send_reply: cannot queue req
dwc2 ff580000.usb: dwc2_hsotg_process_req_status: failed to send reply
dwc2 ff580000.usb: dwc2_hsotg_enqueue_setup: failed queue (-11)
dwc2 ff580000.usb: Failed to exit L1 sleep state in 200us.
Change-Id: I4e2b243fba2f1536c39f313232433cfd295113d6
Signed-off-by: William Wu <william.wu@rock-chips.com>
set nand devices path to /dev/platform/xxxxxxx.nandc/rknand0
for android 9.0 and android 10 while using gpt.
Change-Id: I21c5d71ee6ed5d8520630174329c6da1c2764430
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
The OCR register defines the supported range of VDD voltages for SD cards.
However, it has turned out that some SD cards reports an invalid voltage
range, for example having bit7 set.
When a host supports MMC_CAP2_FULL_PWR_CYCLE and some of the voltages from
the invalid VDD range, this triggers the core to run a power cycle of the
card to try to initialize it at the lowest common supported voltage.
Obviously this fails, since the card can't support it.
Let's fix this problem, by clearing invalid bits from the read OCR register
for SD cards, before proceeding with the VDD voltage negotiation.
Change-Id: I23c224b59505e747e4156f7ddaf0c26630b3f6a4
Cc: stable@vger.kernel.org
Reported-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Philip Langdale <philipl@overt.org>
Tested-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
(cherry picked from commit 72741084d9)