Commit Graph

74830 Commits

Author SHA1 Message Date
Wyon Bi
54821e8d85 drm/rockchip: dw-dp: Fix aux timeout at boot
Use the HPD state machine state in detect instead of HPD_STATUS.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I9e6b14c819fa29dd38101340e40334f050832524
2021-12-14 18:44:28 +08:00
Tao Huang
f6909c028f Merge tag 'ASB-2021-12-05_12-5.10' of https://android.googlesource.com/kernel/common
https://source.android.com/security/bulletin/2021-12-01
CVE-2021-33909
CVE-2021-38204
CVE-2021-0961

* tag 'ASB-2021-12-05_12-5.10': (3010 commits)
  ANDROID: workqueue: export symbol of the function wq_worker_comm()
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: vendor_hooks: Add hooks for binder proc transaction
  ANDROID: GKI: Add symbols abi for USB IP kernel modules.
  ANDROID: GKI: Fix file mode on mtk abi file
  UPSTREAM: erofs: fix deadlock when shrink erofs slab
  ANDROID: init_task: Init android vendor and oem data
  UPSTREAM: sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain()
  ANDROID: Update symbol list for mtk
  UPSTREAM: erofs: fix unsafe pagevec reuse of hooked pclusters
  UPSTREAM: erofs: remove the occupied parameter from z_erofs_pagevec_enqueue()
  UPSTREAM: usb: dwc3: gadget: Fix null pointer exception
  ANDROID: fips140: support "evaluation testing" builds via build.sh
  FROMGIT: sched/scs: Reset task stack state in bringup_cpu()
  ANDROID: dma-buf: heaps: fix dma-buf heap pool pages stat
  ANDROID: ABI: Add several spi_mem related symbols
  UPSTREAM: spi: spi-mem: add spi_mem_dtr_supports_op()
  ANDROID: gki_defconfig: enable CONFIG_SPI_MEM
  ANDROID: ABI: Add several iio related symbols
  ANDROID: ABI: Update symbol list for IMX
  ...

Change-Id: I09cddc92fa34553b944e62cc5cbbba94a84e5437

Conflicts:
	arch/arm/boot/dts/rk322x.dtsi
	arch/arm64/boot/dts/rockchip/rk3399.dtsi
	drivers/dma-buf/heaps/system_heap.c
	drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop.c
	drivers/gpu/drm/rockchip/rockchip_lvds.c
	drivers/gpu/drm/rockchip/rockchip_vop_reg.c
	drivers/mtd/nand/spi/core.c
	drivers/pci/controller/pcie-rockchip-host.c
	drivers/soc/rockchip/Kconfig
	drivers/usb/dwc3/core.c
	drivers/usb/dwc3/core.h
2021-12-14 17:09:02 +08:00
Algea Cao
6767e3819f drm/rockchip: dw_hdmi: Don't create hdmi property hdmi_quant_range
RK3588 does not currently support this property.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Iddb898bc044a3f2aa07b27506593b2c56f096e16
2021-12-14 14:59:09 +08:00
Wyon Bi
fd70e6d353 drm/rockchip: dw-dp: Fix connectors changed in clone mode
When a new connector is added to current routing in clone mode,
the new connector doesn't have mode_changed=true set. This
incorrect programming sequence causes .mode_set call mismatches
to occur in the new stream.

So move the mode_set code to other callback.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I90f50882057c63f702cf390fb7bfeed088575324
2021-12-14 14:50:21 +08:00
Damon Ding
56102c8698 drm/bridge: sii902x: modify the check of bus-format
Use the definition of MEDIA_BUS_FMT_XXX instead of the
definition of sii902x_bus_format.

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I72b4d92a1704f98f437a80d2a8afe16d9f6b003f
2021-12-14 09:58:24 +08:00
Wyon Bi
29bdeacb4b drm/rockchip: dw-dp: Fix bus format for split mode
Fixes: f9e002e86f ("drm/rockchip: dw-dp: Add full output bus format support")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ib644ce28a5963082989e5345f046aca591c63166
2021-12-13 15:01:12 +08:00
Algea Cao
5989ac192f drm/rockchip: dw_hdmi: Correct incorrect color format configuration
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Id3267a80c0893acbfdbbd64ed06bf4c24fec57ae
2021-12-10 14:20:44 +08:00
Andy Yan
ae488c03ab drm: Not mark crtc state as connectors_changed when a writeback connector attatch to a crtc
The drm core will disable than enable a crtc when is marked as
connectors_changed.

But when we attach a writeback connector to a running
crtc, we really don't need this disable/enable, which
will black a running screen.

Change-Id: I636615f27424bc60496ffc487c218f60fb95d719
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-12-10 10:55:24 +08:00
Guochun Huang
9dd3db9ef9 drm/rockchip: dsi2: add loader protect helper for kernel logo
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I8132c8c6146e110a1ec0f559ce9ee426a85dd7e2
2021-12-09 16:01:53 +08:00
Andy Yan
81d9bd6936 drm/rockchip: vop2: Make sure the primary plane type is DRM_PLANE_TYPE_PRIMARY
Some times we want change a overlay plane defined in vop2_reg
to primary plane.

Change-Id: I5f563fb258a66278255be762ebdfca21b51aabd1
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-12-09 14:22:16 +08:00
Jianqun Xu
cd5c6a5b3a drm: rockchip: use dmabuf cache
Change-Id: I6a34a5a4f33e54b7459461bcfa84f03a831d2f65
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-12-09 10:55:09 +08:00
Sandy Huang
625ff3fefb drm/rockchip: vop2: gamma add support 8k
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I913ce7ec5a2f6486515ce2356051088b2934c205
2021-12-08 18:37:14 +08:00
Sandy Huang
696cf91c28 drm/rockchip: vop2: bcsh add support 8k
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I2ff73d12b9d6100c5bbfb96229166800841356ac
2021-12-08 18:37:14 +08:00
Sandy Huang
4dad387418 drm/rockchip: vop2: cubic lut add support 8k
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I222a734ae68d134bc52526530e008874b8e07a5b
2021-12-08 18:37:14 +08:00
Sandy Huang
30f24f27ba drm/rockchip: vop2: update axi rid
after this commit, axi id is used as the following rules:
AXI0
    Cluster0:
	win0: 0x2,0x3
	win1: 0x4,0x5
    Cluster1:
	win0: 0x6,0x7
	win1: 0x8,0x9
    Esmart0: 0xa, 0xb
    Esmart1: 0xc, 0xd
    Lut: 0xe[for vp0/2, will be used at different time]

AXI1:
    Cluter2:
	win0: 0x2,0x3
	win1: 0x4,0x5
    Cluster3:
	win0: 0x6,0x7
	win1: 0x8,0x9
    Esmart2: 0xa,0xb
    Esmart3: 0xc, 0xd
    Lut: 0x1[for vp1]

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Iae865835e49ba8ca0197b0f015d7709cba23e8b3
2021-12-08 18:37:14 +08:00
Algea Cao
b53d1f9467 drm/rockchip: dw_hdmi: Support 8K HDMI output
Support hdmi frl mode and dsc function.
Support max 8K-60Hz RGB 10bit output.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ibc2d48e2b25bc94e4be7ffa9703c400436bdee36
2021-12-08 11:26:13 +08:00
Algea Cao
02dbed2fbb drm/rockchip: drv: Don't parse DSC information when the VSDB does not contain the DSC block
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I685fea28613e2538657074ac2ee8c8d4b2667cd3
2021-12-08 11:22:47 +08:00
Algea Cao
a771ef8592 drm/rockchip: dw_hdmi: Attach rk3588 hdmi properties
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I9520b410f1dafa6a765a2341e244568ea78700ba
2021-12-08 11:22:47 +08:00
Sandy Huang
180d0b6980 drm/rockchip: vop2: add support cubic lut
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I0cf87a6d6c30ddc705c17dce677e5b7747084908
2021-12-07 15:59:58 +08:00
Sandy Huang
2d67ec5094 drm/rockchip: vop2: add support rk3588 gamma
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I6be46a12d73890c61578f1dae7a88b9cb4271dfb
2021-12-07 15:58:47 +08:00
Herman Chen
30eb2be25b iommu/rockchip: Add shootdown_entire prop
Replace IOMMU_TLB_SHOT_ENTIRE by shootdown_entire defined in
iommu DT node for clean IOMMU framework code and more convenient
for masters. The master should call iommu_flush_iotlb_all to
zap cache manually.

Signed-off-by: Simon Xue <xxm@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I5feab72fa12782d0715ad84a98cbd96a88bcd598
2021-12-07 15:02:35 +08:00
Simon Xue
540ad49319 Revert "drm/rockchip: gem: add IOMMU_TLB_SHOT_ENTIRE when call iommu_map_sg"
This reverts commit 91db0733d7.

Signed-off-by: Simon Xue <xxm@rock-chips.com>
Change-Id: I7842de3f5a7e4a64e570ceb93e82fdee38f78498
2021-12-07 15:02:27 +08:00
Sandy Huang
2e72e95308 drm/rockchip: dsi2: add support software TE mode
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I5fd600c9a91dd59cbfaf89765b63b7aa261f3976
2021-12-07 14:21:00 +08:00
Sandy Huang
cc5f5c07a0 drm/rockchip: vop2: add support mipi dsi cmd mode panel
for vp2/vp3, we can use hardware or software TE to sync with panel ram,
but for vp1->dsc1->dsc1 path, we only can use software TE to sync with panel
ram.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I0f54723c5c1c45916e669ce21819a127dc5b415d
2021-12-07 14:21:00 +08:00
Sandy Huang
be1e4b616a drm/rockchip: drv: add support soft TE mode to sync with panel ram
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I3d0cc0f6f941da61336f47062a8682210234b803
2021-12-07 14:21:00 +08:00
Wyon Bi
f9e002e86f drm/rockchip: dw-dp: Add full output bus format support
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I9d64c8d7cdf756f7e2e02465a70b6f3e1ccf03f9
2021-12-07 09:21:30 +08:00
Wyon Bi
abcb1f7cc8 drm/rockchip: vop2: Add more bus formats
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Icedcbb58a441086727baf6c194598dae0f7c97df
2021-12-07 09:21:30 +08:00
Sandy Huang
aa4f2f1f87 drm/rockchip: vop2: update DSC config for HDMI 8kp60 RGB output
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Id80e3ced8899843e42e2fcaf1954fdad71f0cef1
2021-12-04 16:05:51 +08:00
Algea Cao
7bd094a384 drm/rockchip: dw_hdmi_qp: Fix rk3588 hdmitx suspend crash
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I5f7771dbcbcfb13fb556b84ba147711fbde689e5
2021-12-03 16:14:51 +08:00
Wyon Bi
b7723280a5 drm/rockchip: dw-dp: support dynamic binding to different vp port
Fixes: ca885383eb ("drm/rockchip: dw-dp: support dynamic binding to different vp port")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I94654e6eb916d688d9fe46544f60bd02e8d8cb7b
2021-12-03 15:16:11 +08:00
Sugar Zhang
ae7682acd6 drm/bridge: synopsys: dw-hdmi-qp: Fix PKTSCHED register access error
ACR located at Packet Scheduler which belongs to VIDQPCLK domain.
So, the related clk should be enabled before register access.

Actually, There are three CLK domain (AUDCLK, VIDQPCLK, LINKQPCLK)
related to Audio. So, do check clk status before config audio.

Maybe the better way should be spliting hdmi regmap into several parts
which managed by related clk domain in future.

e.g.

  devm_regmap_init_mmio_clk(dev, "aud", regs, AUD_REGBANK);
  devm_regmap_init_mmio_clk(dev, "vidqp", regs, VIDQP_REGBANK);
  devm_regmap_init_mmio_clk(dev, "linkqp", regs, LINKQP_REGBANK);
  ...

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ib497d92a73d99d9f38c4617f615f02c705b82ae7
2021-12-03 15:15:46 +08:00
Sugar Zhang
5260237497 Revert "drm/bridge: synopsys: Fix register access panic when PD off"
This reverts commit 6b7fb9a6c9.

The audio regbank of hdmi-qp is drived by audio interface clk, and had
fixed by commits as follows:

[1] 3a7f369b5c ("arm64: dts: rockchip: rk3588: Add aud clk for hdmi nodes")
[2] e108ff9f6f ("drm/rockchip: dw_hdmi: Handle aud clk for hdmi qp")

OTOH, to make android hal happy, we still allow to access hdmi audio even
hdmi is plugged out.

  "hdmi-audio-codec: ASoC: error at snd_soc_dai_startup on i2s-hifi: -19"

Android/Linux should reopen hdmi sound card depends on HPD plug event
to bring back to normal state.

Change-Id: I654fe18a04b750f57c8bd52ef4948a476bc1fa50
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-12-01 16:43:15 +08:00
Andy Yan
167ea3e2e9 drm/rockchip: vop2: Fix dclk_out rate calculate error in YUV420 output mode
The K will be set 2 in YUV420 output mode, so we
don't need to handle YUV420 for DisplayPort.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I8f42536735e65c82705d58382f1db2b2994d741b
2021-12-01 11:27:23 +08:00
Andy Yan
27dc0c199b drm/rockchip: vop2: Fix hdmi_edp1_pixclk div width
Max div of hdmi_edp1_pixclk is 2.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: Idb21a06a586f088f8a332435676a8bb031a384ca
2021-12-01 11:27:23 +08:00
Algea Cao
6680da5e1f drm/rockchip: dw_hdmi: Fix hdmitx0 hpd irq mute by hdmitx1 driver
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ia4b4c977208f925c0f2c2fe6e763f3cd7ecc9db9
2021-11-30 19:40:05 +08:00
Jiajian Wu
d34e75ac1e drm/bridge: synopsys: Add hook_plugged_cb for dw-hdmi-qp reporting connector status
Signed-off-by: Jiajian Wu <jair.wu@rock-chips.com>
Change-Id: I3103df9f379dfe98a4eb54dc5d3ce9f407038d8c
2021-11-30 18:37:26 +08:00
Andy Yan
1966a3328a drm/rockchip: vop2: Report max_input of window as 4096x4320
Make hwc work correct when handle a 8K input source

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I77ee3c13f5c884fbdd9eec72b02998e10bbc3425
2021-11-30 18:37:19 +08:00
Wyon Bi
8d3c3e5d41 drm/rockchip: dw-dp: Improve link maintenance
- Only check link retrain in short hpd pulse
- Always do link train in modeset
- Fix link retrain condition
- Add sink count check

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ifed1d706dcda5ac79322271ec59c2f1a5a79262b
2021-11-30 15:58:44 +08:00
Algea Cao
92bdbf29ec drm/rockchip: dw_hdmi: Fix crash when rk3588 hdmitx1 hotplug
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ia75e8cd7ce6f5862f0ae321d9d9265363f2cb533
2021-11-29 20:25:56 +08:00
Wyon Bi
afd6026f71 drm/rockchip: vop2: Support set clock defaults for vp node
Parse and set assigned clocks configuration at the child node level.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I745090ebc2a3531c51557600fdb69867d7216684
2021-11-29 18:48:06 +08:00
Andy Yan
dfcff113be drm/rockchip: vop2: Fix a left_src_w calc error in splice mode
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I8900bfd1018dfcd5b47d857007a1d888dbe6c039
2021-11-29 16:26:16 +08:00
Zheng Yang
ca885383eb drm/rockchip: dw-dp: support dynamic binding to different vp port
According to the application scenario, DP0/DP1 may be bind to the
same vp port, or different vp port. The corresponding bit in output_if
needs to be set or cleared correctly.

Change-Id: I880946d0c61a209d5a16ff7d2aada43f87a075c5
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2021-11-29 16:05:47 +08:00
Wyon Bi
ffd1c1b1d6 drm/rockchip: dw-dp: Register aux channel
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I3bd76c5ba249901179d56db29661ef195839ae3a
2021-11-29 11:56:52 +08:00
Andy Yan
edf7edcdee drm/rockchip: vop2: Check PMU_BISR_STATUS register for pd status when bisr enabled
We should check PMU_BISR_STATUS register for
pd on/off status when bisr memory repair is
enabled.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: If1d0927551ddea9757c70b3a948367132a83ed5c
2021-11-29 10:35:44 +08:00
Wyon Bi
e3093cade8 drm/rockchip: dw-dp: Check hpd status before power down link
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I3a05b3520d71ef5f0429a2c33933db62f3a2fffc
2021-11-27 11:07:47 +08:00
Wyon Bi
956b7cc975 drm/rockchip: dw-dp: Use drm_dp_read_dpcd_caps() helper
Reads the extended DPRX caps (%DP_DP13_DPCD_REV) if present.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I5c442e4c92917e136665b3dd5554abef9b7c81e5
2021-11-26 19:10:58 +08:00
Jianqun Xu
ec6350b547 drm/rockchip: fix overflow of min_pitch
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I45a90e68d5ca3f24fea66086ddae46b03f7ee5a7
2021-11-26 10:35:27 +08:00
Wyon Bi
7b87558613 drm/rockchip: dw-dp: Fix aux_status register field
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ide7b83c9debec94825d4cf2a2ede621fb2764849
2021-11-26 09:21:08 +08:00
Sugar Zhang
e108ff9f6f drm/rockchip: dw_hdmi: Handle aud clk for hdmi qp
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I9a8abc55175a1c1219d7731d358a63451de60238
2021-11-25 18:25:22 +08:00
Wyon Bi
80db5a7bc7 drm/rockchip: analogix_dp: Add support for split mode
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I7be492886ddd595a01415d92ce4a56ce9d69b21b
2021-11-25 16:59:40 +08:00