MT8163: Amazon Checkers support#6
Draft
akku1139 wants to merge 126 commits into
Draft
Conversation
3df1c2a to
06f6718
Compare
Owner
Author
??? |
2cf80d6 to
64c27d1
Compare
akku1139
pushed a commit
that referenced
this pull request
May 22, 2026
[ Upstream commit 163e5f2 ] When using perf record with the `--overwrite` option, a segmentation fault occurs if an event fails to open. For example: perf record -e cycles-ct -F 1000 -a --overwrite Error: cycles-ct:H: PMU Hardware doesn't support sampling/overflow-interrupts. Try 'perf stat' perf: Segmentation fault #0 0x6466b6 in dump_stack debug.c:366 #1 0x646729 in sighandler_dump_stack debug.c:378 #2 0x453fd1 in sigsegv_handler builtin-record.c:722 #3 0x7f8454e65090 in __restore_rt libc-2.32.so[54090] #4 0x6c5671 in __perf_event__synthesize_id_index synthetic-events.c:1862 #5 0x6c5ac0 in perf_event__synthesize_id_index synthetic-events.c:1943 #6 0x458090 in record__synthesize builtin-record.c:2075 #7 0x45a85a in __cmd_record builtin-record.c:2888 #8 0x45deb6 in cmd_record builtin-record.c:4374 #9 0x4e5e33 in run_builtin perf.c:349 #10 0x4e60bf in handle_internal_command perf.c:401 #11 0x4e6215 in run_argv perf.c:448 #12 0x4e653a in main perf.c:555 #13 0x7f8454e4fa72 in __libc_start_main libc-2.32.so[3ea72] #14 0x43a3ee in _start ??:0 The --overwrite option implies --tail-synthesize, which collects non-sample events reflecting the system status when recording finishes. However, when evsel opening fails (e.g., unsupported event 'cycles-ct'), session->evlist is not initialized and remains NULL. The code unconditionally calls record__synthesize() in the error path, which iterates through the NULL evlist pointer and causes a segfault. To fix it, move the record__synthesize() call inside the error check block, so it's only called when there was no error during recording, ensuring that evlist is properly initialized. Fixes: 4ea648a ("perf record: Add --tail-synthesize option") Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
akku1139
pushed a commit
that referenced
this pull request
May 22, 2026
[ Upstream commit 2939203 ] In the current implementation, the enetc_xdp_xmit() always transmits redirected XDP frames even if the link is down, but the frames cannot be transmitted from TX BD rings when the link is down, so the frames are still kept in the TX BD rings. If the XDP program is uninstalled, users will see the following warning logs. fsl_enetc 0000:00:00.0 eno0: timeout for tx ring #6 clear More worse, the TX BD ring cannot work properly anymore, because the HW PIR and CIR are not equal after the re-initialization of the TX BD ring. At this point, the BDs between CIR and PIR are invalid, which will cause a hardware malfunction. Another reason is that there is internal context in the ring prefetch logic that will retain the state from the first incarnation of the ring and continue prefetching from the stale location when we re-initialize the ring. The internal context is only reset by an FLR. That is to say, for LS1028A ENETC, software cannot set the HW CIR and PIR when initializing the TX BD ring. It does not make sense to transmit redirected XDP frames when the link is down. Add a link status check to prevent transmission in this condition. This fixes part of the issue, but more complex cases remain. For example, the TX BD ring may still contain unsent frames when the link goes down. Those situations require additional patches, which will build on this one. Fixes: 9d2b68c ("net: enetc: add support for XDP_REDIRECT") Signed-off-by: Wei Fang <wei.fang@nxp.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Reviewed-by: Hariprasad Kelam <hkelam@marvell.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Link: https://patch.msgid.link/20251211020919.121113-1-wei.fang@nxp.com Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
akku1139
pushed a commit
that referenced
this pull request
May 22, 2026
commit c943bfc upstream. After a copy pair swap the block device's "device" symlink points to the secondary CCW device, but the gendisk's parent remained the primary, leaving /sys/block/<dasdx> under the wrong parent. Move the gendisk to the secondary's device with device_move(), keeping the sysfs topology consistent after the swap. Fixes: 413862c ("s390/dasd: add copy pair swap capability") Cc: stable@vger.kernel.org #6.1 Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com> Signed-off-by: Stefan Haberland <sth@linux.ibm.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
64c27d1 to
2095172
Compare
Add compatible for MT8163 sysirq controller. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a device tree binding for the systimer (GPT) on the MT8163 SoC. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a device tree providing basic platform support for MT8163. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add device tree bindings for the main clock controllers on the MT8163 SoC, including apmixedsys, infracfg, pericfg and topckgen. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
A few MediaTek SoCs (namely MT8163) do not have individual set/clr registers on muxes. Add support for those types of muxes. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Mainly useful in circumstances where we don't want the divider to propagate rate changes to its parent. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add drivers to support the main clock controllers on the MT8163 SoC, including apmixedsys, infracfg and topckgen. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add DT bindings for the Top Reset Generation Unit (TOPRGU) on the MT8163 SoC. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add the compatible data for the Top Reset Generation Unit found on the MT8163 SoC. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add the apmixedsys, infracfg and topckgen clock controllers to the MT8163 devicetree. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Now that support for basic clocks are implemented on MT8163, use the real clock for the timer. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add device tree node for the Top Reset Generator Unit (TOPRGU) on the MT8163 SoC. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a compatible string for the PMIC Wrapper (PWRAP) on the MT8163 SoC. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a binding for mediatek,mt8163-pctl-a-syscfg. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add bindings for pinctrl on the MT8163 SoC. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add support for pinctrl on the MT8163 SoC. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add device tree nodes for pinctrl on the MT8163 SoC. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add support for the PMIC wrapper on the MT8163 SoC. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Disable all display related hardware blocks on biscuit as they are unused. Also disable the Mali GPU as it seems to either be fused off or not present on the MT8163 variant used on biscuit. This is done in a new mt8163-headless.dtsi file so other headless MT8163 devices (should they exist) can include it in their device trees. Thermal is also disabled on biscuit specifically as the ADC sensors on aren't present. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add GPIO keys for the volume down and volume up buttons on biscuit. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Mux the volume down and action button to the keypad controller and enable it. The action button is mapped to KEY_ASSISTANT to try and retain its original purpose. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
The goodix driver allows the max_x and max_y properties to be overriden from the device tree so long as the read config from the touch controller is valid. If that is not the case however, then the driver will override max_x and max_y to default values regardless of whether they are actually valid or not. Fix this by checking again if max_x and max_y are invalid, and if so then set them to safe defaults, but otherwise, use the values parsed from the device tree. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
TODO: Currently these panels misbehave when resetting DSI blocks, for now we avoid resetting them and try to retain LK's initialization as done in the downstream driver. Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add a display backlight node for all Amazon MT8163 devices, since they all use the display PWM based backlight control for the display. Signed-off-by: bengris32 <bengris32@protonmail.ch>
Signed-off-by: bengris32 <bengris32@protonmail.ch>
Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Co-authored-by: Jack Matthews <jack@jackmatthe.ws> Signed-off-by: Ben Grisdale <bengris32@protonmail.ch> Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws> Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws> Signed-off-by: Ben Grisdale <bengris32@protonmail.ch>
Add Solteam Electronics Co, Ltd. https://www.solteam.com.tw/ https://www.solteam-medical.com/ https://www.solteamopto.com.tw/ Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
This adds device tree bindings for the JSA1212/JSA1214 light and proximity sensor. Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Adds support for the JSA1214 ambient light sensor. This sensor lacks proximity compared to JSA1212. Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
Signed-off-by: Jack Matthews <jack@jackmatthe.ws>
2095172 to
c3a351f
Compare
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Link: torvalds@c9ced38 Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
The MediaTek MT8196 vlpckgen clock driver uses __devm_regmap_init_mmio_clk() by devm_regmap_init_mmio(), which is defined in drivers/base/regmap/regmap-mmio.c. However, the driver's Kconfig entry does not select REGMAP_MMIO. This causes a linker error when REGMAP_MMIO is not enabled. Fix this by selecting REGMAP_MMIO in the Kconfig entry. Fixes: 2f8b3ae ("clk: mediatek: Add MT8196 vlpckgen clock support") Cc: stable@vger.kernel.org Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Downstream files are separated depending on the board version. - checkers_dvt.dts - checkers_evt.dts - checkers_hvt.dts - checkers_proto.dts - checkers_pvt.dts Link: https://github.com/amazon-oss/android_kernel_amazon_mt8163/tree/c374d6392fa0175064357b890d3041efd1390600/arch/arm64/boot/dts/mediatek Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Owner
Author
diff --git a/arch/arm64/boot/dts/mediatek/mt8163-amazon-checkers-dvt.dts b/arch/arm64/boot/dts/mediatek/mt8163-amazon-checkers-dvt.dts
index f10ac7521f23..4022825e6c14 100644
--- a/arch/arm64/boot/dts/mediatek/mt8163-amazon-checkers-dvt.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8163-amazon-checkers-dvt.dts
@@ -11,4 +11,29 @@
/ {
/* Needed by stock bootloader */
version = "dvt";
+
+ chosen {
+ framebuffer {
+ compatible = "simple-framebuffer";
+ memory-region = <&framebuffer_reserved>;
+ width = <480>;
+ height = <960>;
+ stride = <(480 * 2)>;
+ format = "a8r8g8b8";
+
+ status = "okay";
+ };
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ ranges;
+
+ framebuffer_reserved: memory@5f900000 {
+ reg = <0 0x5f900000 0 0x700000>;
+ no-map;
+ };
+ };
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8163-amazon-checkers.dtsi b/arch/arm64/boot/dts/mediatek/mt8163-amazon-checkers.dtsi
index ec88ffdf375c..d87039fad292 100644
--- a/arch/arm64/boot/dts/mediatek/mt8163-amazon-checkers.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8163-amazon-checkers.dtsi
@@ -11,3 +11,9 @@ / {
compatible = "amazon,checkers", "mediatek,mt8163";
chassis-type = "embedded";
};
+
+&usb0 {
+ /* No 5V supply for OTG support. */
+ dr_mode = "peripheral";
+ status = "okay";
+};
diff --git a/arch/arm64/configs/checkers_defconfig b/arch/arm64/configs/checkers_defconfig
index bd991297bb2c..23538b54e26b 100644
--- a/arch/arm64/configs/checkers_defconfig
+++ b/arch/arm64/configs/checkers_defconfig
@@ -12,3 +12,6 @@ CONFIG_PINCTRL_MTK=y
CONFIG_PINCTRL_MT8163=y
CONFIG_SND_SOC_MT8163=y
+
+CONFIG_EFI_ZBOOT=y
+CONFIG_KERNEL_GZIP=y |
Owner
Author
|
Owner
Author
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Owner
Author
|
memory size is 0x40000000 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ref: