For kernel-tiny, remove debug relative code, and reduce the size of module.
Change-Id: Ic78a0839a75c9cebb56fa32e87235bd97be0370a
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
This adds three mailbox nodes for RK3588 SoCs.
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I49edf5211a0aab183524aeb37aaed56a2cf2c3ff
This adds HW Spinlock nodes for RK3588 SoCs.
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I97c9c7292060b8b805353448cf6c47167bb3981d
This patch is useful for board with totalram size larger than 4GB.
Since swiotlb has memory size limitation, this will calculate the
maximum size locally, as a workaround to fix the orders[0].
With this patch:
[ 3.921612] orders[0] = 6
[ 3.921647] orders[1] = 4
[ 3.921715] orders[2] = 0
Change-Id: I9286f6ea53f679816c9afd378a6cfe620ef1b53e
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Assume p is console task, try_to_wake_up(p) will hold p->pi_lock,
if printk is called in try_to_wake_up(), then printk will call
try_to_wake_up(p) again which cause deadlock on p->pi_lock.
deadlock stack:
Thread #2 2 (Name: cpu1, EL2H) (Suspended : Container)
queued_spin_lock_slowpath() at qspinlock.c:382 0xffffffc0101359a4
queued_spin_lock() at qspinlock.h:85 0xffffffc0111ef72c
do_raw_spin_lock_flags() at spinlock.h:195 0xffffffc0111ef72c
__raw_spin_lock_irqsave() at spinlock_api_smp.h:119 0xffffffc0111ef72c
_raw_spin_lock_irqsave() at spinlock.c:159 0xffffffc0111ef72c
try_to_wake_up() at core.c:3,070 0xffffffc0101059c0
wake_up_process() at core.c:3,275 0xffffffc010103bcc
console_write() at rk_fiq_debugger.c:337 0xffffffc010732a50
fiq_debugger_console_write() at fiq_debugger.c:1,169 0xffffffc010d60004
call_console_drivers() at printk.c:1,912 0xffffffc01013f2d4
console_unlock() at printk.c:2,538 0xffffffc01013f2d4
vprintk_emit() at printk.c:2,061 0xffffffc01013ed48
vprintk_default() at printk.c:2,078 0xffffffc01013f698
vprintk_func() at printk_safe.c:401 0xffffffc010142304
printk() at printk.c:2,109 0xffffffc0111e50a4
report_bug() at bug.c:193 0xffffffc01063e258
bug_handler() at traps.c:907 0xffffffc01009415c
call_break_hook() at debug-monitors.c:325 0xffffffc010085a40
brk_handler() at debug-monitors.c:332 0xffffffc010085a40
do_debug_exception() at fault.c:964 0xffffffc0100af2bc
el1_dbg() at entry-common.c:185 0xffffffc0111e6ba8
el1_sync_handler() at entry-common.c:222 0xffffffc0111e6a04
el1_sync() at 0xffffffc01008240c
brk()
WARN_ON_ONCE()
ttwu_queue_wakelist()
try_to_wake_up()
hrtimer_wakeup()
run_hrtimer()
usleep_range()
console_put()
console_thread()
Change-Id: I76dac4e2a76abb1f75e66677fb7ece2b52a83f25
Signed-off-by: Liang Chen <cl@rock-chips.com>
- media: i2c: lt8619c: update the driver to v0.01.02
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: I894dc4822d4a9efb6cf3b6d5b6c12b4f03c3ae92
dma framework use dma_mask to check device if dma_capable, so set
dma_mask to mask(64) to compatible with platform that ddr capacity
larger than 4GB or physical address space beyond 32 bit.
Change-Id: I04cbe038402db6b48ef2b36a9494fc8eb8c98d6c
Signed-off-by: Simon Xue <xxm@rock-chips.com>
1. reduce buffer size to 128KB
2. invalidate buffer cache on demand
3. reduce scantimer interval to 100us
Can improve NPU fps from 45 to 95, the main reason is that
most of data packages of NPU less than 1MB, setting buffer
size to 128KB got a well result after testing.
Signed-off-by: Simon Xue <xxm@rock-chips.com>
Change-Id: Ib9e57b95a608110f4ec00c74a84cbe6deb63caf7
This reverts commit 75b31192fe.
The original purpose of customized pcm was to config prealloc buffer size
flexibly. but, we can do the same thing by soc-generic-dmaengine-pcm.
And the generic one can generated the better config by querying DMA
capabilities from dmaengine driver rather than the Hard-Coded one.
e.g.
the customized one:
static const struct snd_pcm_hardware snd_rockchip_hardware = {
.info = SNDRV_PCM_INFO_MMAP |
SNDRV_PCM_INFO_MMAP_VALID |
SNDRV_PCM_INFO_PAUSE |
SNDRV_PCM_INFO_RESUME |
SNDRV_PCM_INFO_INTERLEAVED,
...
the generic one:
ret = dma_get_slave_caps(chan, &dma_caps);
if (ret == 0) {
if (dma_caps.cmd_pause && dma_caps.cmd_resume)
hw.info |= SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME;
if (dma_caps.residue_granularity <= DMA_RESIDUE_GRANULARITY_SEGMENT)
hw.info |= SNDRV_PCM_INFO_BATCH;
...
So, let's revert back to use the generic dmaengine pcm.
Change-Id: I30eee2e8047b69d7311fd6da0cfd2b5872b81e17
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Reviewed-by: John Keeping <john@metanate.com>
Link: https://lore.kernel.org/r/1632792957-80428-1-git-send-email-sugar.zhang@rock-chips.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 5ba8ecf227
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.16)
Currently, The fixed 512KB prealloc buffer size is too larger for
tiny memory kernel (such as 16MB memory). This patch adds the module
option "prealloc_buffer_size_kbytes" to specify prealloc buffer size.
It's suitable for cards which use the generic dmaengine pcm driver
with no config.
Change-Id: I76cc278f523d41083ba30b36d801d2839682d158
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Link: https://lore.kernel.org/r/1632394246-59341-1-git-send-email-sugar.zhang@rock-chips.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit b0e3b0a707
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.16)
If hdmi i2c adapter is not deleted when hdmi bind failed, there
may be a crash when other device added. Because hdmi i2c memory
was freed but hdmi i2c still in the kobj list, its address may
be accessed when other device was added to the kobj list.
BUG: KASAN: use-after-free in __list_add_valid+0x3c/0xc8
Read of size 8 at addr ffffff80065930f8 by task swapper/0/1
CPU: 4 PID: 1 Comm: swapper/0 Not tainted 5.10.43 #294
Hardware name: Rockchip RK3399 EVB IND LPDDR4 Board edp (Android) (DT)
Call trace:
dump_backtrace+0x0/0x2d0
show_stack+0x18/0x28
dump_stack_lvl+0xfc/0x138
print_address_description.constprop.13+0x7c/0x31c
kasan_report+0x1e8/0x250
__asan_load8+0x9c/0xd8
__list_add_valid+0x3c/0xc8
kobject_add_internal+0xbc/0x400
kobject_add+0x108/0x1a8
device_add+0x1b8/0xc10
device_link_add+0x63c/0x8c8
_regulator_get+0x148/0x3a8
_devm_regulator_get+0x50/0xc8
devm_regulator_get+0x14/0x20
panel_simple_probe+0x120/0x538
panel_simple_platform_probe+0x60/0xf8
platform_drv_probe+0x70/0xd0
really_probe+0x148/0x558
driver_probe_device+0x78/0xe8
device_driver_attach+0x9c/0xa8
__driver_attach+0x74/0x118
bus_for_each_dev+0xec/0x160
driver_attach+0x34/0x48
bus_add_driver+0x244/0x2a0
driver_register+0xc0/0x1e0
__platform_driver_register+0x80/0x90
panel_simple_init+0x24/0x4c
do_one_initcall+0xa0/0x420
kernel_init_freeable+0x2f0/0x374
kernel_init+0x14/0x120
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ifc38263ce52f951f6dd0fb83ac1a76facd98445e
If dw-hdmi is not used as the final output port, it is
only used as a bridge but not a connector.
Change-Id: Ie730f47d6075db74c0c54374849fd938c13f5ba8
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
add capacity-dmips-mhz for each cpu, so that schedule can select
the best cpu for a task.
Change-Id: I2799f09e5e0f16d0749bb63aaaf42c7e498d89dd
Signed-off-by: Liang Chen <cl@rock-chips.com>
These modules are not compatible with GKI because of missing symbols.
-CONFIG_STMMAC_ETH=m
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I7361d48940ccd3a26835636c18adeff6ec78b7ee
These modules are not compatible with GKI because of missing symbols.
-CONFIG_USB_SERIAL_OPTION=m
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I9c6a4ddd081a56ef01727308818be06d69c04657
These modules are not compatible with GKI because of missing symbols.
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_USBAT=m
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I3fed6d3b1643a6625833ade16f11702ac355ece4
These modules are not compatible with GKI because of missing symbols.
-CONFIG_USB_CATC=m
-CONFIG_USB_HSO=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_NET_QMI_WWAN=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_SIERRA_NET=m
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ibd9b077fad1aee5d419f3d44781af095ef2e054b
These modules are not compatible with GKI because of missing symbols.
-CONFIG_BT_BNEP=m
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: If047a9e6fea58aaccbce4f6df0ffc679600d75e7
These modules are not compatible with GKI because of missing symbols.
-CONFIG_ATA=m
-CONFIG_SATA_AHCI=m
-CONFIG_SATA_AHCI_PLATFORM=m
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I9f71e28fd86d47307b1d89ee0ceb89e0ddc67d7f
In drm_edid.c, yuv422 supported flag will be clean although EDID
indicates support for it. To be compatible with GKI, we can not
modify drm_edid.c. So we parse the information about yuv422 in EDID
in rockchip driver.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Iecae74173f6b1d87e0c1381e96b71365ea4a1fac
These modules are not compatible with GKI because of missing symbols.
-CONFIG_ISO9660_FS=m
-CONFIG_UDF_FS=m
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I01e5a615461a15be6f7e9aa9aecd179f3d6975fd
These modules are not compatible with GKI because of missing symbols.
-CONFIG_PPPOE=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I71b14c6849288295e277573555718015e8e93bae
These modules are not compatible with GKI because of missing symbols.
-CONFIG_INET6_AH=m
-CONFIG_INET_AH=m
-CONFIG_INET_IPCOMP=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_RPFILTER=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: If4896cae2eb8fe9eb8510460e562272a8002f8b8
1. echo off > sys/class/drm/card0-HDMI-A-1/status
2. echo detect > sys/class/drm/card0-HDMI-A-1/status
HDMI is not displayed after executing the above commands.
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: I46fc984b278f5186a22c279def82570603af5494
In tcpm displayport driver, drm_connector_oob_hotplug_event()
execute before dp_altmode_notify().
The dp_altmode_notify() call the mux set function, which
transfer phy info(lane count, pin assignments) to typec
phy.
The drm_connector_oob_hotplug_event() call oob_hotplug_event
function, which notify the cdn-dp driver hotplug event, and
the cdn-dp will start work to deal with the hotpug event,
which will user the phy info.
if here no delay time, The phy info use may be early than phy
info update, whick may cause the phy info mismatch.
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: Ic3394769f66bd3b7a621095e09978e4b15393b7e
We will use tcpm framework to detect dp hotplug event,
no longer extcon, so remove it.
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: If51f1f44f38ec0ae135735ac1ec1632132271a56
Add a new drm_connector_oob_hotplug_event() function and
oob_hotplug_event drm_connector_funcs member.
On some hardware a hotplug event notification may come from outside the
display driver / device. An example of this is some USB Type-C setups
where the hardware muxes the DisplayPort data and aux-lines but does
not pass the altmode HPD status bit to the GPU's DP HPD pin.
In cases like this the new drm_connector_oob_hotplug_event() function can
be used to report these out-of-band events.
Avoid the conflict of GKI, the drm_connector_oob_hotplug_event() is be
completed in rockchip drm driver, not the drm framework.
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: I5b1428daa83b0fdb7cf88e95d0b8fde2548d43d8
L0 may be detected just in time if Gen1 training is finished.
But if EP supports higher Gen mode, Gen switch just happen
there but we keep on accessing devices, which leads unstable
link state and fail to detect the device finally.
And a bit more time before accessing devices to avoid this risky
case.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: If7eddce430b4590922b5c8f765be8a240b562d92