Commit Graph

1060459 Commits

Author SHA1 Message Date
Ding Wei
616eb53bf1 video: rockchip: mpp: rkvenc: probe issue for devfreq init error
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>
2021-10-26 10:41:38 +08:00
Yandong Lin
d6a0a91bc4 video: rockchip: mpp: Fix report wrong dev when pagefault
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
2021-10-26 10:41:38 +08:00
Ding Wei
4cc0b13369 video: rockchip: mpp: fix issue for CONFIG_IOMMU_SUPPORT=n
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>
2021-10-26 10:41:38 +08:00
Ding Wei
a73554c2b3 video: rockchip: mpp: Use CONFIG_CPU_XX to match build target
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>
2021-10-26 10:41:38 +08:00
Ding Wei
a58b07b133 video: rockchip: mpp: px30: Use hack_xx.c instead workround funcs
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>
2021-10-26 10:41:38 +08:00
Ding Wei
e39950f6fe video: rockchip: mpp: Use ROCKCHIP_MPP_PROC_FS instead of PROC_FS
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>
2021-10-26 10:41:38 +08:00
Frank Wang
07f556c601 arm64: dts: rockchip: rk3588s: add mailbox nodes
This adds three mailbox nodes for RK3588 SoCs.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I49edf5211a0aab183524aeb37aaed56a2cf2c3ff
2021-10-25 16:27:09 +08:00
Frank Wang
6b4eb82586 arm64: dts: rockchip: rk3588s: add hw spinlock nodes
This adds HW Spinlock nodes for RK3588 SoCs.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I97c9c7292060b8b805353448cf6c47167bb3981d
2021-10-25 16:27:09 +08:00
Jianqun Xu
79c6a1e08b dma-buf: system_heap: adjust orders if swiotlb limit
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>
2021-10-25 16:18:41 +08:00
Liang Chen
0bf8924272 soc: rockchip: rk_fiq_debugger: fix deadlock when printk in try_to_wake_up
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>
2021-10-25 15:52:40 +08:00
Elaine Zhang
738c7b532a regulator: rk860x: Add binding document for Rockchip Rk860x
Add rk860x-regulator.yaml document for Rockchip Rk860x Buck.

Change-Id: I374a9c3b17f0f9382d7213a5d3a1a8ece9f0ae1d
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-10-25 09:35:22 +08:00
Elaine Zhang
f8805c8874 regulator: rk860x: Add RK860X dcdc support
RK860X main features:
    - 2.7V to 5.5V Input Voltage Range;
    - 2.4MHz Constant Switching Frequency;
    - 6A Available Load Current;
    - Programmable Output Voltage: 0.7125V to 1.5V in 12.5mV
      Steps(RK8600/RK8601), 0.5V to 1.5V in 6.25mV(RK8602/RK8603);
    - PFM/PWM Operation for Optimum Increased Efficiency;

Change-Id: Ib564dee94151d42c0288d2141c6b66c70bc019b9
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-10-25 09:35:06 +08:00
Guochun Huang
d6f73e172c arm64: dts: rockchip: rk3568-evb6: add rk628 rgb2dsi/lvds
Change-Id: Ifced0ebe42c25bfb19c7abec45a451feeb7d7120
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2021-10-22 19:03:29 +08:00
Dingxian Wen
dd51ab39f1 media: i2c: lt8619c: add lt8619c HDMI to BT656/BT1120 bridge driver
- media: i2c: lt8619c: update the driver to v0.01.02

Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: I894dc4822d4a9efb6cf3b6d5b6c12b4f03c3ae92
2021-10-22 18:21:17 +08:00
Simon Xue
b3ed01278c drm/rockchip: assign drm device dma_mask to mask(64) from mask(32)
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>
2021-10-22 17:51:31 +08:00
Simon Xue
049dac47fb PCI: rockchip: update rockchip-pcie-dma driver
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
2021-10-22 17:26:56 +08:00
Sugar Zhang
3844d139b1 FROMGIT: ASoC: rockchip: Use generic dmaengine code
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)
2021-10-22 17:01:14 +08:00
Sugar Zhang
12b914d232 FROMGIT: ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes
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)
2021-10-22 16:59:42 +08:00
Algea Cao
fddab04238 drm/bridge: synopsys: dw-hdmi: Delete i2c adapter when hdmi bind failed
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
2021-10-22 16:51:50 +08:00
Algea Cao
7b772c40d3 drm/bridge: synopsys: dw-hdmi: Support dw-hdmi does not serve as a connector
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>
2021-10-21 19:00:09 +08:00
Elaine Zhang
4cf554ae0f arm64: dts: rockchip: rk3588: add can dts nodes
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I3df08faf6731e712c02a90b08d15d926808493f2
2021-10-21 14:51:04 +08:00
Liang Chen
8ff91bcd82 arm64: dts: rockchip: rk3588s: add capacity-dmips-mhz for cpu node
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>
2021-10-20 20:19:19 +08:00
Tao Huang
55eeccd877 arm64: rockchip_gki.config: Disable CONFIG_STMMAC_ETH
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
2021-10-20 16:11:11 +08:00
Tao Huang
8342be98a9 arm64: rockchip_gki.config: Disable CONFIG_USB_SERIAL_OPTION
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
2021-10-20 14:39:24 +08:00
Tao Huang
f891dd1b27 arm64: rockchip_gki.config: Disable some usb storage
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
2021-10-20 12:28:03 +08:00
Tao Huang
6b4044ffbb arm64: rockchip_gki.config: Disable some usb ethernet
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
2021-10-20 12:05:13 +08:00
Tao Huang
60f2ba1898 arm64: rockchip_gki.config: Disable CONFIG_BT_BNEP
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
2021-10-20 11:46:07 +08:00
Tao Huang
920569e3b2 arm64: rockchip_gki.config: Disable ATA
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
2021-10-20 11:25:39 +08:00
Algea Cao
dbd228a254 drm/bridge: synopsys: dw-hdmi: Get edid yuv422 info independently
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ibd340a273a16a5faa7ac1b548c81cc89914f442f
2021-10-20 10:40:27 +08:00
Algea Cao
1bd6270500 drm/rockchip: drv: Parse edid yuv422 info in rockchip driver
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
2021-10-20 10:40:20 +08:00
Tao Huang
b1a5ad8bd8 arm64: rockchip_gki.config: Disable CDROM FS
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
2021-10-20 10:26:54 +08:00
Tao Huang
7d864c248c arm64: rockchip_gki.config: Disable ppp modules
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
2021-10-20 10:00:46 +08:00
Tao Huang
34d6602ed7 arm64: rockchip_gki.config: Disable net modules
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
2021-10-20 09:14:17 +08:00
Tao Huang
c00db9df9e clk/rockchip/regmap: rk628: Use devm_reset_controller_register()
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I6ff802e11381bb980d55b005edfa6ed3a9c7a469
2021-10-19 18:03:40 +08:00
Shunqing Chen
466b01a904 drm/bridge: synopsys: dw-hdmi: fix the issue that can not display after force off
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
2021-10-19 14:12:52 +08:00
Zhang Yubing
e291ddfbcb drm/rockchip: cdn-dp: use delay work replace work
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
2021-10-19 11:31:52 +08:00
Zhang Yubing
3a38a93376 drm/rockchip: cdn-dp: register dp sub_dev to support hotplug event
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: Ia2c6eb883b8b6e5500d2eb7ef7439ac42ebc6e52
2021-10-19 11:31:28 +08:00
Zhang Yubing
43a103fe8b drm/rockchip: cdn-dp: remove the extcon function
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
2021-10-19 11:31:14 +08:00
Hans de Goede
594af86e81 FORMLIST: usb: typec: altmodes/displayport: Notify drm subsys of hotplug events
Use the new drm_connector_oob_hotplug_event() functions to let drm/kms
drivers know about DisplayPort over Type-C hotplug events.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: I1763c3af6b2416a41a13f2f9c6b4ca6ec4917ffb
Link: https://lore.kernel.org/linux-usb/20210817215201.795062-9-hdegoede@redhat.com/
2021-10-19 11:31:00 +08:00
Zhang Yubing
82a87fa40a drm/rockchip: Add support for out-of-band hotplug notification
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
2021-10-19 11:31:00 +08:00
Guochun Huang
5aa16e093b drm/rockchip/rk628: combtxphy: reducing DUAL LVDS power consumption
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I831dc7879f8f4656e9db63c629c37cc5709d3e35
2021-10-19 10:49:59 +08:00
Sandy Huang
e261251240 drm/rockchip/rk628: max input resolution is 4k yuv420
Change-Id: I154b72b9ce3e975e62e9f107346eb57451dbb76d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-10-19 10:49:52 +08:00
Dingxian Wen
050ba7e86a drm: rockchip: rk628: the combrxphy cable mode wait for clk to stabilize
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I7502b8f71f4fcc376a925045adbe6148ebdc2d3f
2021-10-19 10:49:46 +08:00
Shunqing Chen
8ba551e60d drm: rockchip: rk628: post_process: recalculate dst clock
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: I93388ba499f0d74c5f5c549decc83f3225ae1b82
2021-10-19 10:49:38 +08:00
Tao Huang
26b711fa00 arm64: rockchip_gki.config: Enable CONFIG_DRM_ROCKCHIP_RK628
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Iedd3a37da2c1bcdd56b29676bf6321388279e29c
2021-10-19 10:37:07 +08:00
Wyon Bi
358218bef5 drm/rockchip: Add rk628 display driver
Change-Id: I7be65c5ed58df2be2cf2cfe819feacf8a610e880
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-10-19 10:36:14 +08:00
Shawn Lin
6523be7278 PCI: rockchip: dw: Fix gen switch case when link is up
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
2021-10-19 09:54:55 +08:00
Wu Liangqing
89751e3f7d arm64: dts: rockchip: rk3588-evb: add sdmmc/sdhci/saradc
Change-Id: I44235e30b8480dbd1c505595ed5b6de9366beb40
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2021-10-18 18:59:07 +08:00
Jon Lin
2fb4d11d5e mtd: spinand: Support xtx
XT26G01A, XT26G02A, XT26G04A, XT26G01B, XT26G02B, XT26G01C, XT26G02C,
XT26G04C, XT26G11C

Change-Id: I3397f0a1f29c09a10446b3838504dc77d867f124
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-10-18 18:56:19 +08:00
Jon Lin
c691a1418d mtd: spinand: winbond: Support new devices
W25N512GV, W25N02KV, W25N04KV, W25N01GW

Change-Id: If178c6cf7024ec961593b235229a9f7a4366df33
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-10-18 18:56:19 +08:00