Jon Lin
cd7c4819ab
mtd: spi-nor: xtx: Add code
...
Change-Id: I789d0662cc77f038fd0521749274c3d484a42bfc
Signed-off-by: Jon Lin <jon.lin@rock-chips.com >
2022-03-15 11:42:18 +08:00
Jon Lin
a3df8a05a6
mtd: spi-nor: xmc: Support new devices
...
XM25QH32C, XM25QH64C, XM25QU64C, XM25QH128B, XM25QH128C, XM25QU128C
Change-Id: I3a305f3a7359803c707c7efd7973cfcf1c8a4a32
Signed-off-by: Jon Lin <jon.lin@rock-chips.com >
2022-03-15 11:42:18 +08:00
Jon Lin
a5456f1383
mtd: spi-nor: gigadevice: Support gd25q512
...
Change-Id: I2f0368bffb6002a21126f35eb555909339dcc5ae
Signed-off-by: Jon Lin <jon.lin@rock-chips.com >
2022-03-15 11:42:18 +08:00
Lin Jinhan
02bd80254d
crypto: rockchip: cryptodev_linux: add rsa support
...
Add new ioctl cmd RIOCCRYPT_RSA_CRYPT for rsa encrypt/decrypt.
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com >
Change-Id: If92e1a71b1ce4fcf6b414736cf6405a1d7b6334c
2022-03-15 10:34:10 +08:00
Tao Huang
cf394eddf2
usb: typec: tcpm: Fix for GKI
...
Fixes: b1302e6a83 ("usb: typec: tcpm: add pd handler lock")
Signed-off-by: Tao Huang <huangtao@rock-chips.com >
Change-Id: Ic0709a80851490a8dca4c53a8e0fa50b18bf0a63
2022-03-15 09:45:57 +08:00
Tao Huang
463bcb6c7f
init: Introduce call initcall async
...
Support call same level initcall async in kthread.
Introduce kernel parameter "initcall_nr_threads" control how many threads.
initcall_nr_threads default is 0, which disable intcall async.
initcall_nr_threads=-1, auto selected the number of threads.
Save boot time about 29ms on rk3126-bnd-d708 board.
Change-Id: I04663d22500bc1d65ca5841fb08e4b57083d6b5e
Signed-off-by: Tao Huang <huangtao@rock-chips.com >
2022-03-14 19:37:36 +08:00
Cai YiWei
243508d8ec
media: rockchip: isp: fix config of capture_v30
...
Change-Id: Iaa929ec3f1ca3d469c2b227980ec44e135f0e1a8
Signed-off-by: Cai YiWei <cyw@rock-chips.com >
2022-03-14 19:26:51 +08:00
Ding Wei
b6f99be6df
iommu/rockchip: fix issue for read the value for the MMU_DTE_ADDR
...
The register of MMU_DTE_ADDR may effect for delay several us.
Change-Id: I74397a914313d9fe3d7c93de7b94b4b38dc61c7b
Signed-off-by: Ding Wei <leo.ding@rock-chips.com >
2022-03-14 17:56:48 +08:00
Jianqun Xu
06d55ecd4d
ARM: rv1106_defconfig: CONFIG_FORCE_MAX_ZONEORDER = 9
...
+CONFIG_FORCE_MAX_ZONEORDER=9
Set max zone order to 9, make the pagelock to be 1MiB size.
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com >
Change-Id: If013d2dc092c85c89b325b4c646c814f9cf94fef
2022-03-14 16:22:47 +08:00
William Wu
f14ef60afd
phy: rockchip: inno-usb2: set bvalid to high by grf for rv1103
...
RV1103 doesn't have VBUSDET pin for the usb phy to
detect the USB VBUS, and the default status of bvalid
is inactive(low level), it cause the dwc3 controller
fail to start usb device connection, so it needs to
set bvalid to high by grf for RV1103.
Signed-off-by: William Wu <william.wu@rock-chips.com >
Change-Id: If63c68270c14ff8fa402805a33ce3061f6f796ab
2022-03-14 16:04:46 +08:00
William Wu
7598c25d0b
ARM: configs: rv1106-evb.config: Enable usb phy and controller
...
This patch enable the USB configs for basic device and
host functions.
With this patch, it also enable CONFIG_CONFIGFS_FS because
the USB Gadget F_FS depends on it.
I use size cmd to calculate the increased static memory.
before:
MODULE BYTES
kernel/drivers 1212734
kernel/fs 699540
after:
MODULE BYTES
kernel/drivers 1506379
kernel/fs 712940
And if we disable the CONFIG_DEBUG_FS, it can save 11441 Bytes
for xhci-debugfs driver.
Signed-off-by: William Wu <william.wu@rock-chips.com >
Change-Id: Id23410e66c49fb54663e34a23e09e142d49c7dd9
2022-03-14 16:04:25 +08:00
Ondrej Jirman
7c62ae6c44
BACKPORT: i2c: rk3x: Handle a spurious start completion interrupt flag
...
In a typical read transfer, start completion flag is being set after
read finishes (notice ipd bit 4 being set):
trasnfer poll=0
i2c start
rk3x-i2c fdd40000.i2c: IRQ: state 1, ipd: 10
i2c read
rk3x-i2c fdd40000.i2c: IRQ: state 2, ipd: 1b
i2c stop
rk3x-i2c fdd40000.i2c: IRQ: state 4, ipd: 33
This causes I2C transfer being aborted in polled mode from a stop completion
handler:
trasnfer poll=1
i2c start
rk3x-i2c fdd40000.i2c: IRQ: state 1, ipd: 10
i2c read
rk3x-i2c fdd40000.i2c: IRQ: state 2, ipd: 0
rk3x-i2c fdd40000.i2c: IRQ: state 2, ipd: 1b
i2c stop
rk3x-i2c fdd40000.i2c: IRQ: state 4, ipd: 13
i2c stop
rk3x-i2c fdd40000.i2c: unexpected irq in STOP: 0x10
Clearing the START flag after read fixes the issue without any obvious
side effects.
This issue was dicovered on RK3566 when adding support for powering
off the RK817 PMIC.
Signed-off-by: Ondrej Jirman <megous@megous.com >
Reviewed-by: John Keeping <john@metanate.com >
Signed-off-by: Wolfram Sang <wsa@kernel.org >
(cherry picked from commit 02fe0fbd8a )
Signed-off-by: David Wu <david.wu@rock-chips.com >
Change-Id: I9cf23d9a9bc9560a421c6fe13a82a6637d8a1432
2022-03-14 15:28:45 +08:00
Shunhua Lan
0260220515
media: rockchip: hdmirx: add hdmirx class for audio info
...
Signed-off-by: Shunhua Lan <lsh@rock-chips.com >
Change-Id: Ifd4f9cd9e28318f49fdc3da95113819de3775587
2022-03-14 14:18:36 +08:00
Guochun Huang
7cceedfb74
drm/panel: panel-simple: add error message to debug.
...
in order to directly determine the specific error
location of panel_simple_probe from error message
as follow:
BUG:
[ 2.055658] rockchip-drm display-subsystem: bound ff900000.vop (ops
vop_component_ops)
[ 2.055791] rockchip-vop ff8f0000.vop: missing rockchip,grf property
[ 2.056148] rockchip-drm display-subsystem: bound ff8f0000.vop (ops
vop_component_ops)
[ 2.056505] [drm:rockchip_dp_bind] *ERROR* failed to find panel
[ 2.056732] rockchip-drm display-subsystem: failed to bind
ff970000.edp (ops rockchip_dp_component_ops): -517
[ 2.057374] rockchip-drm display-subsystem: master bind failed: -517
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com >
Change-Id: I2ceeaa9fac3834ad0c4b2bc0a4d8ab79050dfd8b
2022-03-12 19:32:59 +08:00
Lin Jinhan
23c9526f86
crypto: rockchip: v2: akcipher: prevent input data overflow
...
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com >
Change-Id: I39442e8e8ad1897b454da451090fbe867d6b26d6
2022-03-12 17:19:57 +08:00
Lin Jinhan
1e2b2b5aec
crypto: rockchip: v2: akcipher: drop sign and verify
...
For kernel 5.10, the interface functions of sign and
verify have changed and are not mandatory.
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com >
Change-Id: I2b94eaeaa5d0d3dd99ba86dd418338d9502c8aa5
2022-03-12 17:19:57 +08:00
吴良清
6e8b377f6d
Revert "Revert "arm64: dts: rockchip: rk3588-android: enabled dmc""
...
This reverts commit de8062f2c3 .
Change-Id: I061d2738aed267263f02f494b1663fb8d8a0e5db
Signed-off-by: Wu Liangqing <wlq@rock-chips.com >
2022-03-12 16:57:59 +08:00
Jianwei Fan
d079e65435
media: i2c: imx214: adapt to kernel-5.10 and add 4lane mode support
...
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com >
Change-Id: I05129ea47403f173fda55ddc4ccccc9fce5791f8
2022-03-12 16:49:51 +08:00
Sugar Zhang
d27ca5b359
drm/bridge: synopsys: dw-hdmi-qp: Fix audio infoframe
...
AUDI_CONTENTS0: { RSV, HB2, HB1, RSV }
AUDI_CONTENTS1: { PB3, PB2, PB1, PB0 }
AUDI_CONTENTS2: { PB7, PB6, PB5, PB4 }
PB0: CheckSum
PB1: | CT3 | CT2 | CT1 | CT0 | F13 | CC2 | CC1 | CC0 |
PB2: | F27 | F26 | F25 | SF2 | SF1 | SF0 | SS1 | SS0 |
PB3: | F37 | F36 | F35 | F34 | F33 | F32 | F31 | F30 |
PB4: | CA7 | CA6 | CA5 | CA4 | CA3 | CA2 | CA1 | CA0 |
PB5: | DM_INH | LSV3 | LSV2 | LSV1 | LSV0 | F52 | F51 | F50 |
PB6~PB10: Reserved
AUDI_CONTENTS0 default value defined by HDMI specification,
and shall only be changed for debug purposes.
So, we only configure payload byte from PB0~PB7(2 word total).
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com >
Change-Id: Idfbb34ff7f7069af4e73c6995f32eefa798a9450
2022-03-12 16:29:28 +08:00
Sugar Zhang
ea0f840194
drm/bridge: synopsys: dw-hdmi-qp: Fix channel status
...
* LPCM: BPCUV insertion by hw
* NLPCM/HBR: BPCUV insertion from stream
when BPCUV is from stream, we should not enable hw channel
status override which will replace CS with the hw one.
This fixes DD+ bitstream.
when BPCUV generated from HW, PBIT_FORCE_EN should be set
for Parity bit calculated internally.
This fixes no sound on some display devices.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com >
Change-Id: I3aa0390d9dd7d217853394c74576749c36b84720
2022-03-12 16:29:22 +08:00
Sugar Zhang
974a88ba65
arm64: dts: rockchip: rk3588: Add DCLKx for hdmi nodes
...
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com >
Change-Id: If7e1be0e59bd2234e32769e06bc767b4a6fc2112
2022-03-12 16:29:15 +08:00
Algea Cao
de16913c3b
drm/rockchip: dw_hdmi: Make sure dclk is enabled when set audio registers
...
Change-Id: Idb62c2c9ea0d75d7090ec3e35c7742b0d42b3e43
Signed-off-by: Algea Cao <algea.cao@rock-chips.com >
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com >
2022-03-12 16:29:07 +08:00
Algea Cao
c14ae13e54
drm/rockchip: vop2: Save crtc id in rockchip_crtc_state
...
Signed-off-by: Algea Cao <algea.cao@rock-chips.com >
Change-Id: Iadcf16d59241f4915421f5c3937d4abe0a9bc304
2022-03-12 16:28:59 +08:00
Algea Cao
f0b4873247
drm/bridge: dw-hdmi-qp: Send AVI/DRMI packet once per field
...
Increasing the sending frequency of infoframe improves
compatibility.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com >
Change-Id: I095495d8d6641e7263de6cf2d3359f645aac2d6b
2022-03-12 16:19:30 +08:00
Algea Cao
4acfe816a6
drm/bridge: dw-hdmi-qp: Enable cec when resume
...
Signed-off-by: Algea Cao <algea.cao@rock-chips.com >
Change-Id: I670ac19b14725e575c8a194a9cbf1fd96560d764
2022-03-12 16:18:49 +08:00
Zefa Chen
179381a7c5
phy: rockchip: csi2-dphy: fixed err path register only for rv1106
...
Fixes: f31433ff94 ("phy: rockchip: csi2-dphy: support rv1106")
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com >
Change-Id: Id4ad47f5fa5eb279b428216b3d568d7f3405819b
2022-03-12 16:08:21 +08:00
Yu Qiaowei
3289e323f8
video: rockchip: rga3: Fixup pr_err for debug info to pr_info
...
Update driver version to 1.2.5
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: Ic34b2dd0f351906cd05f08db3e43052c0ab6f07f
2022-03-12 16:02:31 +08:00
Yu Qiaowei
76c47e9eea
video: rockchip: rga3: fixup scale error on win1
...
even multiples of 128 (act w/h) require a scaling factor -1
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: I5e7d68088fb1eceb7a57729ce9f87886a3b9fbaf
2022-03-12 16:02:31 +08:00
Yu Qiaowei
9a9d2d4903
video: rockchip: rga3: update register print
...
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: Ic707e77ac4eb3757e7299c9fe27ab2bd4bfef55e
2022-03-12 16:02:31 +08:00
Yu Qiaowei
c7123b7112
video: rockchip: rga3: Fix 1106 RGA2 CSC output exception
...
Default configuration Y_clip[0,255] UV_clip[0,255].
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: I2134fa5fc179a6e86d73b11a632236b6859cc056
2022-03-12 16:02:31 +08:00
Yu Qiaowei
e3e16782ac
video: rockchip: rga3: support early interruption
...
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: I4cbd31d9088b789dffc215ce891cfcaa08a8b0bf
2022-03-12 16:02:31 +08:00
Yu Qiaowei
43375c377b
video: rockchip: rga3: RGA2 support OSD
...
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: Ib649bbdf4b7b41b9bb93323b9004ca5e17577ec5
2022-03-12 16:02:31 +08:00
Yu Qiaowei
4bb8b324f2
video: rockchip: rga3: RGA2 support YUV HDS/VDS
...
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: I03f909f4d52bb8c5bd6c0607064f9075a4865cd7
2022-03-12 16:02:31 +08:00
Yu Qiaowei
06622a5859
video: rockchip: rga3: support Yin_Yout mode
...
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: Ia94e4e58575eabcc122390ad126a1c5d9e6f468e
2022-03-12 16:02:31 +08:00
Yu Qiaowei
943b11ebfa
video: rockchip: rga3: RGA2 Support mosaic
...
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: Ib79b211c76bc0f547e597a9dbeb94726b3766983
2022-03-12 16:02:31 +08:00
Yu Qiaowei
e95866de6e
video: rockchip: rga3: Support to judge the hardware information of 1106
...
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com >
Change-Id: I42f77a95d18e9e16e08194c1011114fe69a2ede4
2022-03-12 16:02:31 +08:00
Chen Shunqing
64faa64356
media: rockchip: hdmirx: set phy to low power mode
...
Signed-off-by: Chen Shunqing <csq@rock-chips.com >
Change-Id: I28c90d43029c1c0d71e4c7686a84fc086be8742f
2022-03-12 15:20:49 +08:00
Chen Shunqing
75dd861649
media: rockchip: hdmirx: fix interlaced resolution ficker
...
Signed-off-by: Chen Shunqing <csq@rock-chips.com >
Change-Id: I6b0b71fc846d98d02a6c79e88768315f11216418
2022-03-12 15:20:24 +08:00
Chen Shunqing
b3bfa85987
media: rockchip: hdmirx: workaround get error timing
...
1. Get timing from hdmirx ctrl.
2. If the timing is error, get timing from dma.
3. If get timing error from dma, re-execute hotplug process.
Signed-off-by: Chen Shunqing <csq@rock-chips.com >
Change-Id: Iae43386a8d45cb0a9338a1c8b32a122b6b377ca2
2022-03-12 15:19:53 +08:00
Jianwei Fan
a056012edf
media: i2c: dw9714: sync from kernel-4.19
...
kernel 4.19 drivers/media/i2c/dw9714.c ends
commit 6e50af3b41 ("media: move rk_vcm_head.h from
drivers/media/i2c/ to include/uapi/linux/")
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com >
Change-Id: If329076cf39aa01d9a7b7ab4326e09ba0578c90f
2022-03-12 15:15:47 +08:00
Zefa Chen
9f87ca55e4
media: rockchip: cif fix errors in rgb24 data format
...
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com >
Change-Id: I0766997860f06dc25e604c2ea8425049a987fdc5
2022-03-12 14:39:29 +08:00
Herman Chen
b5267d2417
video: rockchip: mpp: rkvenc2: Fix async msg issue
...
H.264 encoder will send the task request and wait result in async way.
The task process will be like:
send task 1
send task 2
wait task 1
send task 3
wait task 2
Then the msgs struct will carry the latest task rather than the task in
the pending queue. And free the wrong task structure.
Error log:
[ 387.742800][ T1983] list_add corruption. prev->next should be next (ffffff8114ced948), but was ffffff8152228028. (prev=ffffff8152228028).
[ 387.742819][ T1983] ------------[ cut here ]------------
[ 387.742822][ T1983] kernel BUG at lib/list_debug.c:28!
[ 387.742827][ T1983] Internal error: Oops - BUG: 0 [#1 ] PREEMPT SMP
[ 387.762394][ T1983] Modules linked in: rk_vcodec
[ 387.762403][ T1983] CPU: 5 PID: 1983 Comm: mpp_h264e_1982 Not tainted 5.10.66 #103
[ 387.762404][ T1983] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[ 387.762408][ T1983] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[ 387.762415][ T1983] pc : __list_add_valid+0x94/0x98
[ 387.762417][ T1983] lr : __list_add_valid+0x94/0x98
[ 387.762419][ T1983] sp : ffffffc018f2bce0
[ 387.762421][ T1983] x29: ffffffc018f2bce0 x28: ffffff8114ced948
[ 387.762424][ T1983] x27: ffffff8152228028 x26: ffffff8152228028
[ 387.762427][ T1983] x25: ffffff8114ced880 x24: ffffff817888a080
[ 387.762429][ T1983] x23: ffffff8152228000 x22: ffffff817888a080
[ 387.762432][ T1983] x21: ffffffc018f2bd58 x20: ffffff8114ced880
[ 387.762435][ T1983] x19: ffffffc018f2bd58 x18: ffffffc018ecd040
[ 387.762437][ T1983] x17: 0000000000000000 x16: 00000000000000d8
[ 387.762440][ T1983] x15: 0000000000000004 x14: 0000000000003fff
[ 387.762443][ T1983] x13: ffffffc011f0cf78 x12: 0000000000000003
[ 387.762445][ T1983] x11: 00000000ffffbfff x10: 00000000ffffffff
[ 387.762448][ T1983] x9 : 07e69d051dac6800 x8 : 07e69d051dac6800
[ 387.762451][ T1983] x7 : 727028202e383230 x6 : ffffffc0120ee318
[ 387.762454][ T1983] x5 : ffffffffffffffff x4 : 0000000000000000
[ 387.762457][ T1983] x3 : ffffffc011bc4854 x2 : 0000000000000000
[ 387.762459][ T1983] x1 : 0000000000000001 x0 : 0000000000000075
[ 387.762462][ T1983] Call trace:
[ 387.762465][ T1983] __list_add_valid+0x94/0x98
[ 387.762507][ T1983] mpp_msgs_trigger+0x15c/0x1f0 [rk_vcodec]
[ 387.762542][ T1983] mpp_dev_ioctl+0x4b8/0x5d8 [rk_vcodec]
[ 387.762563][ T1983] __arm64_sys_ioctl+0x94/0xd0
[ 387.764333][ T1983] el0_svc_common+0xc0/0x23c
[ 387.764335][ T1983] do_el0_svc+0x28/0x88
[ 387.764339][ T1983] el0_svc+0x14/0x24
[ 387.764342][ T1983] el0_sync_handler+0x88/0xec
[ 387.764344][ T1983] el0_sync+0x1a8/0x1c0
[ 387.764349][ T1983]
[ 387.764349][ T1983] PC: 0xffffffc01059b608:
Signed-off-by: Herman Chen <herman.chen@rock-chips.com >
Change-Id: Id55b3b66726a526bca68594ab9a86cc58c265945
2022-03-12 14:38:30 +08:00
Addy Ke
2094d714b6
arm64: dts: rockchip: rk3588-toybrick-x0: enable can2
...
Signed-off-by: Addy Ke <addy.ke@rock-chips.com >
Change-Id: Ie5cedd3055d7c64cf5b3a6f50684fe38a25f5ff5
2022-03-11 16:08:36 +08:00
Tao Huang
37d4a8872f
soc: rockchip: ramdisk: Add Rockchip RAM disk support
...
Support use reserved RAM memory as a block device.
Change-Id: I64367a2cb67467425a0e4c6753fa5af0a245405d
Signed-off-by: Tao Huang <huangtao@rock-chips.com >
2022-03-11 16:03:08 +08:00
Wang Jie
0b9a0e19a7
dt-bindings: usb: add et7303 document
...
Change-Id: I3001058b835e367595924cd8b00b415bcaeee670
Signed-off-by: Wang Jie <dave.wang@rock-chips.com >
2022-03-11 15:09:21 +08:00
Wang Jie
fb2fd67ed8
usb: typec: tcpm: add et7303 driver
...
Change-Id: I2339e9ece6c00d5a18eac01224cb623468d1771c
Signed-off-by: Wang Jie <dave.wang@rock-chips.com >
2022-03-11 15:09:10 +08:00
Andy Yan
6a13a81062
drm/rockchip: vop2: Support skip reference fb
...
It support skip reference fb at vop driver by
adding add skip-ref-fb at vop dt node.
Change-Id: I7a0a91d905ba4907f8f0720e1997e9ee9c5c65c7
Signed-off-by: Andy Yan <andy.yan@rock-chips.com >
2022-03-11 14:28:38 +08:00
Cai YiWei
f6cafa7cbd
media: rockchip: isp: isp32 add vsm
...
Change-Id: I456f06ef23c54196ddb4904675696a82dc74864c
Signed-off-by: Cai YiWei <cyw@rock-chips.com >
2022-03-11 14:18:01 +08:00
Cai YiWei
2fa9233522
media: rockchip: isp: scale up and down for some stream
...
Change-Id: Ie6f48cf197e5be0c4fbb63e641dde4299920d97a
Signed-off-by: Cai YiWei <cyw@rock-chips.com >
2022-03-11 14:17:38 +08:00
Cai YiWei
8b0728ec75
media: rockchip: isp: add luma stream for isp32
...
Change-Id: If20dfa24389b3df7f2ef0ad918cc649d9c560807
Signed-off-by: Cai YiWei <cyw@rock-chips.com >
2022-03-11 14:17:17 +08:00