isp20 bridge will config gain and image dma address when isp
frame start interrupt event, and frame end update. But no
actual update if frame start and frame end together. One read
back is the same as the start interrupt event, so to update
bridge mi this.
Change-Id: I697128fd60c3e38eb2ed163a5a94df8c4c018241
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
To be compatible with GKI, dw-hdmi driver can't call interfaces in
rockchip-drm directly. In order for dp to be usable, get yuv422
format interface should define in rockchip-drm. So hdmi call
get yuv422 format interface in dw_hdmi-rockchip.c.
Fixes: dbd228a254 ("drm/bridge: synopsys: dw-hdmi: Get edid yuv422 info independently")
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Icc879ff4420357a6becba84371b9e3317583960b
For rk3568, ddr timings adjustment is no longer supported in dmc drive.
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I63f0c5fea8c5acf8e6ef8f44b62968deb7bd823e
Add dmc_fsp node for initialize dmc frequency set point on U-Boot.
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I9fcd1ae498a64b5a4698c42ad05af96740b59e61
Add ddr parameters for initialize dmc frequency set point.
Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I3445fa2dbabca5774306cc1052cd3c1d472b6867
The device must be registered last. If there is an error, the device
should not succeed.
Change-Id: Ie342c8bbf30e8a94822dcb2e0417fe1230e4482a
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
When devfreq initially fails, the device can still continue to execute,
but there is no devfreq function.
Change-Id: I2a39a77e0a85cb43854b6adbe0476905abcc9a3b
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
On some platforms(such as px30), vepu and vdpu shared the
same mmu.So when registering the iommu handle function,
there will be overwriting.Results in the reported device mismatch
when page fault.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Id07c7f3088c52fcb987797c689296154c670078c
if CONFIG_IOMMU_SUPPORT=n, log:
error: 'const struct iommu_ops' has no member named 'flush_iotlb_all'
if (domain && domain->ops && domain->ops->flush_iotlb_all)
Change-Id: I8268e0b5d5a513d1c55b0c755c479049b13bdeb7
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Using CONFIG_CPU_XX only compiles the code of matching CPU,
then it can reduce the object file.
Change-Id: Ic19345464c802939d08786ae29b34111c3c5a855
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
move the workaround functions for px30 to the mpp_hack_px30.c.
Change-Id: I9f9880c28fe1d797b0551d116a66294223a5e251
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
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