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
FS35ND01G-S1Y2, FS35ND02G-S3Y2, FS35ND04G-S2Y2, fsxxndxxg
Change-Id: Icdff45a209b5aa4dd2827e0e58bd543a84f9d809
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Add a prefix for all clocks to avoid namespace conflicts,
and no functional changes.
Change-Id: I1cf1c868f84b9bee4ba033bdd80c4995876b43f1
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Add a prefix for all clocks to avoid namespace conflicts,
and no functional changes.
Change-Id: I6b586ce859ecf084fe6037c10c775d6bcc78baa1
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>