Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1296 commits
Select commit Hold shift + click to select a range
2b6aade
mt6628: wlan: remaining fixes
akku1139 Oct 13, 2026
a8e6b8d
mt6628: wlan: stop and suspend fixes
akku1139 Oct 13, 2026
3b4824f
mt6628: cleanup kconfig
akku1139 Oct 13, 2026
f0612f5
mt6628: compile fixes
akku1139 Oct 13, 2026
5d8f0ab
drm: mediatek: dsi: change HBP/HFP calc
akku1139 Oct 13, 2026
effdf4c
drm: mediatek: dsi: write timecon0-4
akku1139 Oct 13, 2026
871bcc8
fix(mt6628): coordinate combo power leases and WLAN STP readiness
akku1139 Oct 13, 2026
5492034
fix(mmc): protect MT6628 pwrseq supplier lifetime
akku1139 Oct 13, 2026
e20598e
fix(mt6628): hold a power lease for SDIO STP transport
akku1139 Oct 13, 2026
a544c8a
fix(mt6628): recover chip after failed UART STP initialization
akku1139 Oct 13, 2026
bc127eb
fix(mmc): drop unused MT6628 STP readiness completion
akku1139 Oct 13, 2026
8576479
fix(mt6628): constrain consumer reachability for modular pwrseq
akku1139 Oct 13, 2026
f871e77
mt6628: make kconfig cool
akku1139 Oct 13, 2026
de38c0b
fix(mt6628): select RX band from normalized channel
akku1139 Oct 14, 2026
fe3f1a0
fix(mt6628): protect firmware connection teardown
akku1139 Oct 14, 2026
e11037a
fix(mt6628): drain connection event workers before teardown
akku1139 Oct 14, 2026
95c59a2
fix(mt6628): avoid reinitializing active recovery work
akku1139 Oct 14, 2026
20cb4ba
fix(mt6628): report management TX status without ACK requests
akku1139 Oct 14, 2026
fee301e
fix(mt6628): serialize firmware connection cleanup
akku1139 Oct 14, 2026
c1ddd00
fix(mt6628): keep connection state reserved through teardown
akku1139 Oct 14, 2026
c3dda3c
fix(mt6628): guard connection setup and disconnect races
akku1139 Oct 14, 2026
22a5ce6
fix(mt6628): initialize recovery work once per device
akku1139 Oct 14, 2026
181a246
fix(mt6628): serialize key updates with connection teardown
akku1139 Oct 14, 2026
a9bf95e
fix(mt6628): retain failed key deletions for retry
akku1139 Oct 14, 2026
d2e3b64
docs(mt6628): document cleanup state reservation
akku1139 Oct 14, 2026
38025cb
fix(mt6628): initialize runtime locks only once
akku1139 Oct 14, 2026
829ed50
fix(drm/mediatek): start MT6589 source path before DSI
akku1139 Oct 14, 2026
fccd92f
fix(mt6628): reset recovery state consistently
akku1139 Oct 14, 2026
dedbeef
fix(mt6628): drain deferred RX work before teardown
akku1139 Oct 14, 2026
de35a46
fix(mt6628): block firmware handoff during recovery
akku1139 Oct 14, 2026
9d04592
fix(mt6628): preserve BSSID hint across recovery
akku1139 Oct 14, 2026
f5e965b
fix(mt6628): avoid blocking consumer probe on MMC power-up
akku1139 Oct 14, 2026
c661edf
fix(mt6628): check the patch version at the correct offset
akku1139 Oct 14, 2026
836d4a9
fix(mt6628): correct the pwrseq readiness comment
akku1139 Oct 14, 2026
0225dbb
fix(mt6628): wait for initramfs before registering UART STP
akku1139 Oct 15, 2026
5b39229
Revert "fix(mt6628): wait for initramfs before registering UART STP"
akku1139 Oct 15, 2026
0b0969e
mt6628: prefer asynchronous UART STP probing
akku1139 Oct 15, 2026
1254a24
drm/mediatek: start MT6589 display sink before OVL
akku1139 Oct 15, 2026
e78e823
init: trace boot progress before starting /init
akku1139 Oct 15, 2026
4612e26
arm: dts: mediatek: mt6589-lenovo-blade: disable many things for debu…
akku1139 Oct 15, 2026
c760bab
arm: dts: mediatek: mt6589-lenovo-blade: re-enable mmc0
akku1139 Oct 15, 2026
475185c
arm: dts: mediatek: mt6589-lenovo-blade: re-enable i2c0
akku1139 Oct 15, 2026
ab805e9
arm: dts: mediatek: mt6589-lenovo-blade: re-enable i2c4
akku1139 Oct 15, 2026
94230ae
Revert "drm: mediatek: dsi: write timecon0-4"
akku1139 Oct 18, 2026
d5deeb8
Revert "mutex and routing test"
akku1139 Oct 18, 2026
113e07d
clk: mediatek: mt6320: stop making the ACCDET clock its own parent
akku1139 Oct 21, 2026
27e86fe
iio: adc: mt6320: use the 2.8V ACCDET switch for the headset key ADC
akku1139 Oct 21, 2026
040f5d6
ASoC: mt6320-accdet: program the EINT debounce after claiming the line
akku1139 Oct 21, 2026
f406999
Bluetooth: mt6628-bt: hci_register_dev() returns an id, not an errno
akku1139 Oct 21, 2026
fca9c04
wifi: mt6628: do not consume the RX0 port on a zero-length report
akku1139 Oct 21, 2026
47debcc
media: mtk-fm: report CQI RSSI on the same 1/16 dB scale as RSSI_IND
akku1139 Oct 21, 2026
4a6dbf4
media: mediatek: move the MT6589 G2D blitter from DRM to V4L2 mem2mem
akku1139 Oct 21, 2026
76f0540
drm/mediatek: start the MT6589 pipeline source-first and send DSI DCS…
akku1139 Oct 21, 2026
71d4261
media: mtk-g2d: resolve the default rectangles from the buffer, not a…
akku1139 Oct 21, 2026
221bf9a
iio: adc: mt6320: enable the AUXADC clock gate before reading it
akku1139 Oct 21, 2026
a31b7da
media: mtk-csi2-rx: fix the SENINF top control and program the CSI2 t…
akku1139 Oct 21, 2026
3cd112c
media: mtk-cam: acknowledge the ISP error status and stop clobbering …
akku1139 Oct 21, 2026
0aa2070
media: mtk-scam: stop enabling interrupt sources nothing services
akku1139 Oct 21, 2026
3f93808
media: mtk-csi2-rx: service the CSI2 fault reports instead of arming …
akku1139 Oct 21, 2026
d3cd2a1
media: mtk-csi2-rx: program the frame size and fix the pad-op locking
akku1139 Oct 21, 2026
dfe6d32
media: mtk-cam: drop the pad-op lock assertions the core cannot satisfy
akku1139 Oct 21, 2026
bcebb1c
soc: mediatek: mtk-devapc: remove dead code left by the MT6589 refactor
akku1139 Oct 21, 2026
4672035
drm/panel: stop sending DCS to the hx8896 panel and fix pre-enable order
akku1139 Oct 21, 2026
a1adc74
drm: mediatek: enable BLS in the pixel path and wait for DSI idle
akku1139 Oct 21, 2026
1bbe5ca
drm/mediatek: dsi: write HSA_WC = 0 in sync-event video mode
akku1139 Oct 21, 2026
e99d49d
drm/mediatek: dsi: document why LD0CON reads zero on a working link
akku1139 Oct 21, 2026
7a9d52c
drm/mediatek: mt6589: bypass COLOR, as the bootloader does
akku1139 Oct 21, 2026
c34727c
drm/mediatek: dsi: use the bootloader's D-PHY timing on MT6589
akku1139 Oct 21, 2026
e778046
pwm: mt6589: keep BLS_En clear so the duty register controls brightness
akku1139 Oct 21, 2026
c2bc8b5
Revert "init: trace boot progress before starting /init"
akku1139 Oct 21, 2026
16db318
drm/mediatek: dsi: derive MT6589 D-PHY timing instead of hardcoding LK's
akku1139 Oct 21, 2026
1fb3660
media: mediatek: trim editorialising comments in the camera drivers
akku1139 Oct 21, 2026
8863e1f
drm/mediatek: remove the black-screen debug scaffolding
akku1139 Oct 21, 2026
2518487
memory: mtk-smi: drop the LARB2 SECUR_CON debug dumps
akku1139 Oct 21, 2026
74f3ab9
Remove the AI worklog documents from the tree root
akku1139 Oct 21, 2026
29c1d43
media: mediatek: trim the codec register header comments
akku1139 Oct 21, 2026
5848741
pwm: mt6589: share one BLS clock handle, drop the duty floor, add get…
akku1139 Oct 21, 2026
50b11de
ARM: configs: lenovo-blade: enable the iio-hwmon bridge
akku1139 Oct 21, 2026
0ad5ba6
pwm: mt6589: use the bootloader's PWM clock divider
akku1139 Oct 21, 2026
9a02d9a
ARM: dts: mt6589-lenovo-blade: pin EINT10 to the headset jack pad
akku1139 Oct 21, 2026
b7aff89
ASoC: mt6589: report the AFE period even when the status word is empty
akku1139 Oct 21, 2026
605f2f0
soc: mediatek: add MT6589 MEMPLL, EMI and DRAMC support
akku1139 Oct 21, 2026
859f418
memory: mt6589-dramc: flag the bus/rank width disagreement in the dump
akku1139 Oct 21, 2026
69ddf80
memory: mt6589-dramc: size each rank from its own width, not the bus …
akku1139 Oct 21, 2026
92d449e
ASoC: mt6589: fix static-analysis defects in the audio path
akku1139 Oct 21, 2026
3f38689
ASoC: mt6320: drive the board's external speaker amplifier
akku1139 Oct 21, 2026
cb5374b
media: i2c: add FM50AF autofocus VCM driver
akku1139 Oct 21, 2026
cbb8c20
mmc: pwrseq_mt6628: break the probe-order cycle with combo consumers
akku1139 Oct 21, 2026
2cc480c
arm: dts: mt6589-lenovo-blade: keep mmc3's vqmmc-supply
akku1139 Oct 21, 2026
524ae75
iio: magnetometer: bmc150_magn: support the BMM050
akku1139 Oct 21, 2026
838fb9a
drm/panel: add the Lenovo B6000 (Yoga Tablet 8) DSI panel
akku1139 Oct 21, 2026
59301d7
media: i2c: add A5142 and OV9760 camera sensor drivers
akku1139 Oct 21, 2026
0783643
drm/panel: b6000: use the CPT panel's real timings, not the CMI ones
akku1139 Oct 21, 2026
166ef12
media: i2c: a5142: clarify the gain-table comment
akku1139 Oct 21, 2026
1c531af
arm: dts: b6000: add the panel reset line
akku1139 Oct 21, 2026
7727aed
media: mediatek: mt6589-vcodec: add SPDX tags and fix comment alignment
akku1139 Oct 21, 2026
65057f7
ASoC: mt6320: trigger the headset detect line on level, not edge
akku1139 Oct 22, 2026
c942565
ASoC: mt6320: reproduce the vendor's 80 ms amplifier re-enable guard
akku1139 Oct 22, 2026
6d21874
drm/panel: name the CMI HX8896 variant correctly and document the strap
akku1139 Oct 22, 2026
1eec15e
media: i2c: ov9760: advertise the resolution the B8000 kernel reports
akku1139 Oct 22, 2026
e7dc0b8
arm: dts: mt6589-lenovo-blade: record the verified camera GPIO assign…
akku1139 Oct 22, 2026
e1614b4
thermal: mediatek: reset vts[VTS1] on the uncalibrated mt6589 path
akku1139 Oct 22, 2026
c857ad6
pwm: mt6589-disp: initialise the BLS PWM LUT
akku1139 Oct 22, 2026
2298dd3
pwm: mt6589-disp: correct the PWM LUT comment and document PWMLUT_En
akku1139 Oct 22, 2026
3110774
arm: dts: mt6589-lenovo-b8000: correct the bq24196 precharge current
akku1139 Oct 22, 2026
d5a1e7e
arm: dts: mt6589-lenovo-b6000: resolve the framebuffer geometry TODO
akku1139 Oct 22, 2026
b340ae9
arm: dts: mt6589-lenovo-blade: drop unverified sensor rails, document…
akku1139 Oct 22, 2026
d3738e7
lenovo-blade_defconfig: enable early console for emulator bring-up
akku1139 Oct 23, 2026
97b7419
mt6589: give the blade device trees a serial console
akku1139 Oct 23, 2026
9945085
mt6589: add an emulator-only B8000 tree without the generic timer
akku1139 Oct 23, 2026
20cf6e7
mt6589: preset lpj in the emulator tree so calibrate_delay is skipped
akku1139 Oct 23, 2026
4de21e6
mt6589: set maxcpus=1 in the emulator tree
akku1139 Oct 23, 2026
97d2859
emu: drop the COLOR reset from the emulator-only tree (diagnostic)
akku1139 Oct 23, 2026
f60aa8d
Revert "mt6589: give the blade device trees a serial console"
akku1139 Oct 23, 2026
df4c3e3
Revert "emu: drop the COLOR reset from the emulator-only tree (diagno…
akku1139 Oct 23, 2026
05dbb40
emu: restore initcall_debug and ignore_loglevel in the emulator bootargs
akku1139 Oct 23, 2026
93a4df5
mt6589: the i2c DMA window depends on the controller id, not the node
akku1139 Oct 24, 2026
8e3e645
Revert "mt6589: the i2c DMA window depends on the controller id, not …
akku1139 Oct 24, 2026
83074ef
mmc: pwrseq_mt6628: power the chip up when the lease count is non-zero
akku1139 Oct 25, 2026
b2c8a66
mmc: pwrseq_mt6628: stop touching the PMIC regulator
akku1139 Oct 25, 2026
f8bf1e9
Revert "arm: dts: mt6589-lenovo-blade: drop unverified sensor rails, …
akku1139 Oct 25, 2026
5e71098
mmc: clear the per-tag single-block flag on every new request
akku1139 Oct 25, 2026
34a9731
Input: rmi4: split long I2C reads for adapters with a combined-transf…
akku1139 Oct 25, 2026
326deae
wifi: mt6628: swap the TKIP Michael halves before installing a key
akku1139 Oct 25, 2026
6004ded
pmdomain: mt6589: wait on the ISP domain's real two SRAM_PDN_ACK bits
akku1139 Oct 25, 2026
da93d2b
Input: mtk-pmic-keys: sample the key status after the bounce settles
akku1139 Oct 25, 2026
d9574f6
drm/mediatek: drop the mtk_ddp_comp_get_type() declaration
akku1139 Oct 25, 2026
ab2cae2
Revert "Revert arm: dts: mt6589-lenovo-blade: drop unverified sensor …
akku1139 Oct 25, 2026
be0dc48
ASoC: mt6320: run the headphone path for speaker playback on ext-amp …
akku1139 Oct 25, 2026
ef967f4
Reapply "Revert arm: dts: mt6589-lenovo-blade: drop unverified sensor…
akku1139 Oct 25, 2026
95e2312
wifi: mt6628: keep the SDIO interrupt enabled across an ownership han…
akku1139 Oct 25, 2026
9679db6
pwm: mt6589-disp: keep the backlight's idle level lit while it is on
akku1139 Oct 25, 2026
1ff4ec0
wifi: mt6628: stop waiting for a CMD_RESULT a set command never sends
akku1139 Oct 25, 2026
5b93955
pwm: mt6589-disp: release the BLS reset instead of pulsing it
akku1139 Oct 25, 2026
38da052
ASoC: mt6320-accdet: report the jack on plug-in so headphones take over
akku1139 Oct 25, 2026
669ae0a
ASoC: mt6320: order the output-stage power-up and gate the amplifier
akku1139 Oct 25, 2026
44468e9
wifi: mt6628: hand the chip over only when the firmware says it is idle
akku1139 Oct 25, 2026
e94f777
arm: dts: mt6589-blade: mux DISP_PWM out to GPIO129
akku1139 Oct 25, 2026
38a19c2
ASoC: mt6320: write the whole HP output-mux field, not three bits of it
akku1139 Oct 25, 2026
62bb2b5
ASoC: mt6320: keep the analog mute held across the DAC enable sequence
akku1139 Oct 25, 2026
28a2079
ASoC: mt6320: make speaker/headphone exclusivity observable from dmesg
akku1139 Oct 25, 2026
d19abe7
wifi: mt6628: quiet the per-packet and per-interrupt status lines
akku1139 Oct 25, 2026
718b012
wifi: mt6628: accept mixed-mode group cipher and multiple AKM suites
akku1139 Oct 25, 2026
4e50962
ASoC: mt6320-accdet: log the detect pad level at probe and on every t…
akku1139 Oct 25, 2026
3125bbb
arm: dts: mt6589-blade: drop the internal pull on the jack detect pad
akku1139 Oct 25, 2026
26655ae
wifi: mt6628: reclaim TX credits when a queue runs dry instead of spi…
akku1139 Oct 25, 2026
1e56474
media: mtk-vdec/venc: give v4l2_fh_init the video_device, not our own…
akku1139 Oct 25, 2026
74388d9
media: mtk-vdec: parse H.264 parameter sets and program the AVC parser
akku1139 Oct 25, 2026
44c6198
media: mtk-venc: VENC_IMAGE_INFO_0 is 0x024, not 0x020
akku1139 Oct 25, 2026
8a3c335
media: mtk-vdec: bring the AVC parser out of reset
akku1139 Oct 25, 2026
d1f8f1d
wifi: mt6628: never leave the TX queue stopped, and drop rather than …
akku1139 Oct 25, 2026
52565f1
wifi: mt6628: stop stranding received frames, and stop gating RX on c…
akku1139 Oct 25, 2026
0e87945
media: mtk-vdec: walk dec_ref_pic_marking, which was rejecting valid …
akku1139 Oct 25, 2026
23f1918
media: mtk-vdec: decode an H.264 frame into the capture buffer
akku1139 Oct 25, 2026
badbabd
wifi: mt6628: wake the TX queue whenever any TC makes progress
akku1139 Oct 25, 2026
05d52e9
wifi: mt6628: reopen the TX queue on an actual release, not on free c…
akku1139 Oct 25, 2026
61f9a9f
wifi: mt6628: a pending RX length without RX_DONE is normal
akku1139 Oct 25, 2026
2ffa348
wifi: mt6628: stop the idle countdown from running for ever
akku1139 Oct 25, 2026
bb1f062
wifi: mt6628: never abandon a retry that is the only way back
akku1139 Oct 25, 2026
399bb60
wifi: mt6628: retry an owed ownership reclaim even without SLEEPY_NOTIFY
akku1139 Oct 25, 2026
01f549a
wifi: mt6628: service latched interrupts instead of refusing the hand…
akku1139 Oct 25, 2026
116fb6b
wifi: mt6628: keep the drain running after a full queue, and wake for…
akku1139 Oct 25, 2026
00cc30d
media: mtk-vdec: take the runtime-PM reference the completion path drops
akku1139 Oct 25, 2026
3dea3a1
wifi: mt6628: report the state that decides a transmit stall
akku1139 Oct 25, 2026
e5d60f6
wifi: mt6628: re-enable the SDIO interrupt unconditionally after serv…
akku1139 Oct 25, 2026
96c4609
wifi: mt6628: terminate the TX burst with the DWORD the firmware wait…
akku1139 Oct 25, 2026
f79c2b8
wifi: mt6628: distinguish "no interrupt" from "nothing to collect"
akku1139 Oct 25, 2026
5a9e5c6
wifi: mt6628: send the transfer length the downstream host driver sends
akku1139 Oct 25, 2026
63b8a6c
wifi: mt6628: restore the transfer lengths the link was proven to wor…
akku1139 Oct 25, 2026
5abe314
media: mtk-vdec: refuse streams larger than the picture we allocate
akku1139 Oct 25, 2026
aa458ea
media: mtk-vdec: check the real macroblock height, not the map-unit h…
akku1139 Oct 25, 2026
43e6e14
wifi: mt6628: bound the key length before copying it
akku1139 Oct 25, 2026
1c23d5d
wifi: mt6628: clamp the scan SSID count and IE length to the command …
akku1139 Oct 25, 2026
02b4838
wifi: mt6628: stop dropping transmit frames without a word
akku1139 Oct 25, 2026
f3fbffc
wifi: mt6628: let the TX worker see a frame queued as it finishes
akku1139 Oct 25, 2026
fea1674
wifi: mt6628: do not reclaim Driver Own inside the SDIO IRQ worker's …
akku1139 Oct 25, 2026
3dea654
wifi: mt6628: account for a WTSR0 read that succeeds before WTSR1 fails
akku1139 Oct 25, 2026
9b64685
wifi: mt6628: do not discard a consumed WTSR0 when the startup sync f…
akku1139 Oct 25, 2026
b008144
wifi: mt6628: keep the INIT credit a failed WTSR1 read consumed
akku1139 Oct 25, 2026
b27e1f6
wifi: mt6628: cancel the recovery worker inside runtime_stop
akku1139 Oct 25, 2026
333b7d0
wifi: mt6628: do not cancel recovery_work from inside recovery_work
akku1139 Oct 25, 2026
374251a
wifi: mt6628: stop the connect retry before purging the queues
akku1139 Oct 25, 2026
fb06c72
media: mtk-jpeg: do not initialise jpeg_work without a worker
akku1139 Oct 25, 2026
2c86358
wifi: mt6628: say why a TX status poll produced no registers
akku1139 Oct 25, 2026
8728e2c
media: mtk-vdec/venc: set V4L2_CAP_DEVICE_CAPS so QUERYCAP stops warning
akku1139 Oct 25, 2026
f32b4ac
wifi: mt6628: retry a transmit that could not reclaim the chip
akku1139 Oct 25, 2026
fd5ad54
arm: dts: mt6589-blade: give chosen a stdout-path
akku1139 Oct 25, 2026
c8bbb04
wifi: mt6628: give the TX credit back when a reclaim fails
akku1139 Oct 25, 2026
a247924
atm: dts: mediatek: mt6589-lenovo-blade: do not use `stdout-path = &u…
akku1139 Oct 25, 2026
ba48827
wifi: mt6628: do not retry immediately while the chip is still unrecl…
akku1139 Oct 25, 2026
456e95f
media: mtk-vdec/venc: give the vb2 queues a timestamp source
akku1139 Oct 25, 2026
bf692a9
wifi: mt6628: add a watchdog that runs when the chip stops interrupting
akku1139 Oct 25, 2026
5a0b2f6
arm: dts: mt6589-blade: add the console= address form as a supplement
akku1139 Oct 25, 2026
dfee104
wifi: mt6628: give management frames their own traffic class
akku1139 Oct 26, 2026
ba653ae
wifi: mt6628: re-enable the SDIO interrupt when the reclaim fails
akku1139 Oct 26, 2026
490ccf4
wifi: mt6628: record the last command so a firmware assert can be att…
akku1139 Oct 26, 2026
c221c8f
Revert "wifi: mt6628: give management frames their own traffic class"
akku1139 Oct 26, 2026
a35f8cd
wifi: mt6628: report a link that transmits but never receives
akku1139 Oct 26, 2026
471b89d
wifi: mt6628: dump the registers when the watchdog reports a stall
akku1139 Oct 26, 2026
918e707
wifi: mt6628: declare the peer record as a client, not an AP
akku1139 Oct 26, 2026
a44d78d
wifi: mt6628: expect the peer record to report a non-AP station
akku1139 Oct 26, 2026
4b660ec
mmc: mtk-sd: clear host->mrq when the HSQ path finalizes a request
akku1139 Oct 26, 2026
e653e03
wifi: mt6628: remove the STA-REC that was programmed, not the one bei…
akku1139 Oct 27, 2026
e58ffbf
wifi: mt6628: keep bus I/O out of the SDIO interrupt handler
akku1139 Oct 27, 2026
c7a1576
wifi: mt6628: activate the BSS before programming it
akku1139 Oct 27, 2026
5feaeb9
wifi: mt6628: log the connection command sequence and the mgmt TX header
akku1139 Oct 27, 2026
a086dc3
wifi: mt6628: describe management frames with the three-address header
akku1139 Oct 27, 2026
bee3fa5
wifi: mt6628: deliver the first handshake frame before the link is ma…
akku1139 Oct 27, 2026
789d26b
wifi: mt6628: log key installation and the link-down transition
akku1139 Oct 27, 2026
2bceb58
Revert "wifi: mt6628: expect the peer record to report a non-AP station"
akku1139 Oct 27, 2026
20d53f9
Revert "wifi: mt6628: declare the peer record as a client, not an AP"
akku1139 Oct 27, 2026
7da7917
wifi: mt6628: disable firmware power save when a link comes up
akku1139 Oct 27, 2026
cf9500a
Revert "wifi: mt6628: activate the BSS before programming it"
akku1139 Oct 27, 2026
684b3e2
wifi: mt6628: drop the connect-time power-save command
akku1139 Oct 27, 2026
c6338af
Revert "wifi: mt6628: describe management frames with the three-addre…
akku1139 Oct 27, 2026
b014833
wifi: mt6628: mask the SDIO interrupt in the callback again
akku1139 Oct 27, 2026
a1f999b
Revert "wifi: mt6628: mask the SDIO interrupt in the callback again"
akku1139 Oct 27, 2026
6767c53
wifi: mt6628: keep the firmware awake while associated
akku1139 Oct 27, 2026
b6c5ae9
wifi: mt6628: keep Driver Own for the life of a connection
akku1139 Oct 27, 2026
5aa943c
Revert "wifi: mt6628: keep Driver Own for the life of a connection"
akku1139 Oct 27, 2026
664df87
wifi: mt6628: send the firmware's connection state, not a boolean
akku1139 Oct 27, 2026
d409e51
Revert "wifi: mt6628: send the firmware's connection state, not a boo…
akku1139 Oct 27, 2026
3413449
wifi: mt6628: ask the firmware how transmission actually went
akku1139 Oct 27, 2026
66aeb9d
wifi: mt6628: sample the firmware's link statistics before the stall
akku1139 Oct 27, 2026
04e4d8a
wifi: mt6628: show the credit array in the TX poll report
akku1139 Oct 27, 2026
84088a4
wifi: mt6628: mark group-addressed frames with the broadcast STA index
akku1139 Oct 27, 2026
6e8f939
Revert "wifi: mt6628: mark group-addressed frames with the broadcast …
akku1139 Oct 27, 2026
82ee39b
wifi: mt6628: send group-addressed frames on the class that works
akku1139 Oct 27, 2026
054153e
wifi: mt6628: decline QoS until the receive reorder path exists
akku1139 Oct 27, 2026
5dcdab6
Revert "wifi: mt6628: decline QoS until the receive reorder path exists"
akku1139 Oct 27, 2026
fe16e7a
arm: boot: dts: mediatek: mt6589-lenovo-blade: add slub_debug=FZPU
akku1139 Oct 27, 2026
c4c5308
wifi: mt6628: enable the whole firmware-to-host software interrupt field
akku1139 Oct 27, 2026
c113557
wifi: mt6628: stay in CAM until the firmware own handshake exists
akku1139 Oct 27, 2026
abaca9e
wifi: mt6628: hand the chip to the firmware instead of holding it for…
akku1139 Oct 27, 2026
e40bb81
wifi: mt6628: say why the firmware own hand-over is refused
akku1139 Oct 27, 2026
527cbcb
wifi: mt6628: make refusing QoS a runtime switch
akku1139 Oct 27, 2026
7bd44bc
wifi: mt6628: record the reorder hint the firmware already sends
akku1139 Oct 27, 2026
b0e236d
wifi: mt6628: default to QoS again so the reorder path can be observed
akku1139 Oct 27, 2026
d98cf56
wifi: mt6628: count which half of the receive path stops
akku1139 Oct 27, 2026
1a135bd
arm: dts: mt6589-lenovo-blade: restore 4-bit SDIO on mmc3
akku1139 Oct 27, 2026
37627f9
Revert "wifi: mt6628: hand the chip to the firmware instead of holdin…
akku1139 Oct 27, 2026
5e1b22e
Revert "wifi: mt6628: stay in CAM until the firmware own handshake ex…
akku1139 Oct 27, 2026
e4ab125
clocksource: mediatek: refresh the generic timer's high word from GPT6
akku1139 Oct 29, 2026
a80e447
clocksource: mediatek: drive the MT6589 system counter assist from GPT3
akku1139 Oct 29, 2026
8d8f764
Merge branch 'blade/v7.1' into dev/v7.1/mt6589-drm-ox-alpha
akku1139 Oct 31, 2026
cd54ae9
Merge branch 'blade/v7.1' into dev/v7.1/mt6589-drm-ox-alpha
akku1139 Oct 31, 2026
9e36ebf
Merge branch 'blade/v7.1' into dev/v7.1/mt6589-drm-ox-alpha
akku1139 Nov 1, 2026
80dc886
Merge branch 'blade/v7.1' into dev/v7.1/mt6589-drm-ox-alpha
akku1139 Nov 1, 2026
92af1e6
arm: cleanup
akku1139 Nov 3, 2026
6380920
phy: mediatek: mipi-dsi-mt6589: cleanup
akku1139 Nov 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
# Normal rules (sorted alphabetically)
#
.*
# The leading-dot rule above would otherwise hide the CI configuration,
# which needs to be tracked for the workflow to run.
!.github/
!.github/workflows/
*.a
*.asn1.[ch]
*.bc
Expand Down
140 changes: 140 additions & 0 deletions Documentation/clk/mediatek-mt6589-unused-gates.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
=================================
MediaTek MT6589 unreferenced clocks
=================================

The MT6589 clock drivers in ``drivers/clk/mediatek/clk-mt6589-*.c`` define
188 clocks. 88 of them are referenced by a Device Tree node; the rest are
either internal graph nodes (which correctly have no consumer) or leaf gates
for blocks this board does not drive.

This file records what the unreferenced leaf gates belong to, so that a later
reader does not mistake them for an oversight and add a consumer for a block
that has no driver. A wrong clock consumer is worse than a missing one: it
programs a gate register for a block that is not there.

Internal graph nodes (not gates)
================================

Most of the unreferenced clocks are not gates at all but the mux and divider
outputs that form the internal clock graph. They must not be given DT
consumers; they are reached through the gates below them.

* ``CLK_TOP_MUX_*`` - ``axi_sel``, ``mem_sel``, ``smi_sel``, ``audintbus_sel``,
``audio_sel``, ``cam_sel``, ``camtg_sel``, ``dpilvds_sel``, ``fd_sel``,
``fix_sel``, ``hyd_sel``, ``irda_sel``, ``jpg_sel``, ``pmicspi_sel``,
``uart_sel``, ``usb20_sel``.
* PLL post-dividers - ``CLK_TOP_SYSPLL_D*``, ``CLK_TOP_UNIVPLL_D*``,
``CLK_TOP_UNIVPLL1_D*``, ``CLK_TOP_UNIVPLL2_D*``, ``CLK_TOP_MMPLL_D4``,
``CLK_TOP_MMPLL_D6``, ``CLK_TOP_LVDSPLL*``, ``CLK_TOP_MEMPLL_MCK_D4``.
* Miscellaneous - ``CLK_TOP_CLK_NULL``, ``CLK_TOP_CLKPH_MCK``,
``CLK_TOP_CPUM_TCK_IN``.

Display
=======

The following gates are not referenced by any node.

* ``CLK_DISP0_SCL`` (``disp0_scl``) - the display scaler. MT6589 drives its
panel through the MIPI DSI path, and nothing in this tree uses a scaler
block.
* ``CLK_DISP0_CMDQ_ENGINE`` / ``CLK_DISP0_CMDQ_SMI`` - the display command
queue.
* ``CLK_DISP0_GAMMA_ENGINE`` / ``CLK_DISP0_GAMMA_PIXEL`` - the gamma
correction block.
* ``CLK_DISP0_ROT_ENGINE`` / ``CLK_DISP0_ROT_SMI`` - the hardware rotator.
The MT6589 has no rotator in use here.
* ``CLK_DISP1_LCD``, ``CLK_DISP1_SLCD``, ``CLK_DISP1_DPI0``, ``CLK_DISP1_DPI1``,
``CLK_DISP1_DBI_ENGINE``, ``CLK_DISP1_DBI_OUTPUT``, ``CLK_DISP1_DBI_SMI`` -
the parallel LCD output paths (SLCD, DPI, DBI). The Lenovo Blade drives
MIPI DSI and has no parallel LCD interface wired.

Infrastructure
==============

Defined in ``clk-mt6589-infracfg.c``, unreferenced by any node.

* ``CLK_INFRA_MD1MCUAXI``, ``CLK_INFRA_MD1HWMIXAXI``, ``CLK_INFRA_MD1AHB``,
``CLK_INFRA_MD2MCUAXI``, ``CLK_INFRA_MD2HWMIXAXI``, ``CLK_INFRA_MD2AHB`` -
the two Cortex-M4 MCU subsystems (MD1, MD2). There is no MCU driver in
this tree, so no consumer can exist.
* ``CLK_INFRA_CPUM`` (``infra_cpum``) - the M4U-side CPU clock, same reason.
* ``CLK_INFRA_AUDIO``, ``CLK_INFRA_SPI0``, ``CLK_INFRA_DBGCLK``,
``CLK_INFRA_SMI``, ``CLK_INFRA_MFGAXI``, ``CLK_INFRA_CCIF0``,
``CLK_INFRA_CCIF1``.

.. note::

The gate array in ``clk-mt6589-infracfg.c`` does not line up with
``include/dt-bindings/clock/mediatek,mt6589-clk.h``: ``CLK_INFRA_M4U`` is
ID 7 in the header but is shifted to 8 in the driver, and the gates run to
shift 23 while the header stops at 19 plus ``CLK_INFRA_ARMDIV1`` (20).
Several entries also still carry the original author's ``/* maybe */`` and
``/* mt8135 */`` comments. That misalignment is a separate bug and has
deliberately not been changed here, because correcting it would renumber
live gate registers.

Peripheral
==========

Defined in ``clk-mt6589-pericfg.c``, unreferenced by any node.

* ``CLK_PERI0_USB1`` (``peri_usb1``) - this board uses the internal HSIC PHY,
not the USB1 controller clock path.
* ``CLK_PERI0_APHIF``, ``CLK_PERI0_MDHIF`` - the audio and multimedia PD/HIF
controllers. No MT6589 driver in this tree claims them.
* ``CLK_PERI0_IRDA``, ``CLK_PERI0_NLI`` - IrDA and the nativeland interface,
neither wired on this board.
* ``CLK_PERI1_FHCTL`` (``peri_fhctl``) - the frequency-hopping controller.
``clk-fhctl.c`` exists in this tree but no MT6589 node consumes the hop
clock.

Image
=====

Defined in ``clk-mt6589-img.c``, unreferenced by any node. The MT6589 camera
capture path has no driver in this tree - the camera dtsi files are GPIO pin
definitions only - so none of these can have a consumer yet.

* ``CLK_IMAGE_CAM_CAM``, ``CLK_IMAGE_CAM_SMI``, ``CLK_IMAGE_COMMON_SMI``,
``CLK_IMAGE_SEN_CAM``, ``CLK_IMAGE_SEN_TG``.

GPU
===

* ``CLK_MFG_HYD`` (``mfg_hyd``) - defined in ``clk-mt6589-mfg.c``, unreferenced.
No GPU driver in this tree drives this clock.

Top-level PMIC SPI
==================

* ``CLK_TOPCK_PMICSPI`` (``topck_pmicspi``) - a top-level PMIC SPI clock,
distinct from ``CLK_INFRA_PMICSPI``. The ``pwrap`` node takes the
infracfg one (mt6589.dtsi).

CPU intermediate clock
======================

``CLK_INFRA_ARMDIV1`` (``armdiv1``) is defined in
``clk-mt6589-infracfg.c`` as a divider on the CPU mux, with
``CLK_SET_RATE_PARENT`` set. Until the Device Tree was corrected it had no
consumer at all, because the CPU nodes named ``clk26m`` as their
"intermediate" clock.

That is not a cosmetic error. ``mediatek-cpufreq.c`` reads the clock by that
name and reparents the CPU onto it while ARMPLL is being reprogrammed, then
looks up an OPP matching the intermediate rate to derive a safe intermediate
voltage. Pointing it at an unrelated always-on oscillator made both the
reparent target and that voltage lookup meaningless.

The CPU nodes now name ``CLK_INFRA_ARMDIV1``, which divides the mux output
through ``TOP_CKDIV1.clkdiv1_sel`` (bits [4:0], datasheet pp. 435-437).

.. warning::

``mt6589_armdiv_determine_rate()`` selects the ratio *nearest* the request
rather than refusing a rate it cannot hit exactly
(``mt6589_armdiv_find_rate()``, ``clk-mt6589-infracfg.c``). A mis-specified
target frequency therefore yields a silently wrong - but valid - rate
instead of an error. This is left as-is deliberately: changing it alters
runtime clock semantics beyond the scope of this correction. It is called
out here so the behaviour is not mistaken for exact division.
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/mediatek,mt6589-mempll.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek MT6589 MEMPLL (DRAM PLL)

maintainers:
- Akari Tsuyukusa <akkun11.open@gmail.com>

description: |
The MT6589 MEMPLL is the PLL that clocks the DRAM controller. Its
registers are not in the apmixedsys window: MEMPLL0..MEMPLL12 and
MEMPLL_DIVIDER live in the ddrphy_conf module at 0x1001_1600..0x1001_1640,
and the power-on debounce registers MPLLPON0..3 at 0x1001_15C0, per the
MT6589 datasheet section 13.4.3 ("DDRPHY Registers"). The node therefore
lives in the ddrphy_conf window rather than under apmixedsys.

The binding exposes the MEMPLL as a single read-only clock output. The
rate is declared by the board with "clock-frequency" rather than decoded
from the registers, because the register set does not determine it
unambiguously: MEMPLL0's feedback divider field is not the divider for
PLL1, the reference can be either the crystal or the APLL plus a divider
(MEMPLL1[12:11]), and the downstream frequency tables map several
different DRAM rates onto the same DDS value.

The MEMPLL selection for the DRAM clock is still made in topckgen, not
here; the clock output of this node is what topckgen's "clkph_mck" is
parented to.

properties:
compatible:
const: mediatek,mt6589-mempll

reg:
maxItems: 1
description: |
The ddrphy_conf window, at minimum covering the MEMPLL registers,
i.e. 0x600 through 0x640 of that block.

clock-frequency:
description: |
Frequency of the MEMPLL output in Hz, as configured by the bootloader
for the DRAM rate this board runs at. Defaults to 266500000, the
figure the datasheet states for this clock ("MEMPLL_MCK 266.5MHz").
minimum: 1

"#clock-cells":
const: 0

required:
- compatible
- reg
- "#clock-cells"

allOf:
- $ref: /schemas/clock/clock.yaml#

additionalProperties: false

examples:
- |
#include <dt-bindings/clock/mediatek,mt6589-clk.h>

ddrphy: syscon@10011000 {
compatible = "mediatek,mt6589-mempll";
reg = <0x10011000 0x1000>;
#clock-cells = <0>;
};
15 changes: 15 additions & 0 deletions Documentation/devicetree/bindings/clock/mediatek,mt8186-fhctl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ description: |
properties:
compatible:
enum:
- mediatek,mt6589-fhctl
- mediatek,mt6795-fhctl
- mediatek,mt8173-fhctl
- mediatek,mt8186-fhctl
Expand All @@ -40,6 +41,20 @@ properties:
minimum: 0
maximum: 8

mediatek,fhctl-hopping-enabled:
description:
Whether a rate change on the corresponding PLL is driven through the
FHCTL hardware, one cell per entry in "clocks". This is separate from
mediatek,hopping-ssc-percent, which is the spread-spectrum modulation
depth and says nothing about whether the FHCTL path is used at all.
A PLL can hop without spreading, and conversely a spread-spectrum
percentage does not by itself make the hop work.
minItems: 0
maxItems: 30
items:
enum: [0, 1]
default: 0

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ properties:
oneOf:
- enum:
- mediatek,mt2701-disp-color
- mediatek,mt6589-disp-color
- mediatek,mt8167-disp-color
- mediatek,mt8173-disp-color
- mediatek,mt8195-mdp3-color
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,30 @@ description: |

allOf:
- $ref: /schemas/display/dsi-controller.yaml#
- if:
properties:
compatible:
contains:
const: mediatek,mt6589-dsi
then:
properties:
clocks:
minItems: 4
clock-names:
minItems: 4
else:
properties:
clocks:
maxItems: 3
clock-names:
maxItems: 3

properties:
compatible:
oneOf:
- enum:
- mediatek,mt2701-dsi
- mediatek,mt6589-dsi
- mediatek,mt7623-dsi
- mediatek,mt8167-dsi
- mediatek,mt8173-dsi
Expand All @@ -50,16 +68,22 @@ properties:
maxItems: 1

clocks:
minItems: 3
maxItems: 4
items:
- description: Engine Clock
- description: Digital Clock
- description: HS Clock
- description: Digital Lane Clock (MT6589 only)

clock-names:
minItems: 3
maxItems: 4
items:
- const: engine
- const: digital
- const: hs
- const: lane

resets:
maxItems: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ properties:
oneOf:
- enum:
- mediatek,mt2701-disp-ovl
- mediatek,mt6589-disp-ovl
- mediatek,mt8167-disp-ovl
- mediatek,mt8173-disp-ovl
- mediatek,mt8183-disp-ovl
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ properties:
oneOf:
- enum:
- mediatek,mt2701-disp-rdma
- mediatek,mt6589-disp-rdma
- mediatek,mt8173-disp-rdma
- mediatek,mt8183-disp-rdma
- mediatek,mt8195-disp-rdma
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/mediatek/mediatek,tdshp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek Two-Dimension Sharpness Processor (TDSHP)

maintainers:
- AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
- Matthias Brugger <matthias.bgg@gmail.com>

description: |
The MediaTek TDSHP is a two-dimension sharpness processor found in
various MediaTek SoCs. On MT6589 the block sits between the COLOR
processor and BLS in the display pipeline and is used in relay mode.

properties:
compatible:
const: mediatek,mt6589-disp-tdshp

reg:
maxItems: 1

interrupts:
maxItems: 1

clocks:
maxItems: 1

required:
- compatible
- reg
- clocks

additionalProperties: false

examples:
- |
#include <dt-bindings/clock/mediatek,mt6589-clk.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>

soc {
#address-cells = <1>;
#size-cells = <1>;
ranges;

tdshp@1400b000 {
compatible = "mediatek,mt6589-disp-tdshp";
reg = <0x1400b000 0x1000>;
interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_LOW>;
clocks = <&dispsys CLK_DISP0_2DSHP>;
};
};
Loading
Loading