From 0abf58adb8c3386fa0506714cbc30d1afe86f7d5 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 28 Aug 2019 17:11:56 +0900 Subject: [PATCH 01/16] ARM64: configs: tizen_bcmrpi3_defconfig: Enable NETFILTER_XT_MATCH_LIMIT From Tizen network security, NETFILTER_XT_MATCH_LIMIT is used for ipv6. So enable NETFILTER_XT_MATCH_LIMIT config option. Change-Id: Ieeba2c67481e299fb3d91ee4378f8b2a2baffc7b Signed-off-by: Seung-Woo Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index 41647c8..79cbbf8 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -108,6 +108,7 @@ CONFIG_NETFILTER_XT_TARGET_AUDIT=y CONFIG_NETFILTER_XT_TARGET_LOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y CONFIG_NETFILTER_XT_MATCH_OWNER=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_NAT=y -- 2.7.4 From c88150b76a8cad111d2c6bcd0400c0e004627ee4 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 28 Aug 2019 17:13:22 +0900 Subject: [PATCH 02/16] ARM: configs: tizen_bcm2709_defconfig: Enable NETFILTER_XT_MATCH_LIMIT From Tizen network security, NETFILTER_XT_MATCH_LIMIT is used for ipv6. So enable NETFILTER_XT_MATCH_LIMIT config option. Change-Id: Ife75ee0a766c64fb38a0e261f41a45678ab49bd4 Signed-off-by: Seung-Woo Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index dd0d9dc1..a4caf39 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -108,6 +108,7 @@ CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_LOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y CONFIG_NETFILTER_XT_MATCH_OWNER=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_NAT=y -- 2.7.4 From d4fb57d2135c37b96b1703bf91b68f19c434b2b7 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Thu, 5 Sep 2019 09:14:46 +0900 Subject: [PATCH 03/16] packaging: add perf package for perf tool and traceevent plugins Add perf package for perf tool and its traceevent plugins. Note: they are built from below directories. - perf: tools/perf - traceevent plugins: tools/lib/traceevent Change-Id: I418c52ec7dffb6b98e72e402af5bf67c3d837ba7 Signed-off-by: Seung-Woo Kim --- packaging/linux-rpi3.spec | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packaging/linux-rpi3.spec b/packaging/linux-rpi3.spec index 9af2618..ed7aae0 100644 --- a/packaging/linux-rpi3.spec +++ b/packaging/linux-rpi3.spec @@ -64,6 +64,15 @@ Provides: %{variant}-kernel-devel-uname-r = %{fullVersion} %description -n %{variant}-linux-kernel-devel This package provides kernel map and etc information. +%package -n linux-kernel-perf +Summary: The perf performance counter tool +Group: System/Kernel +Provides: perf = %{fullVersion} + +%description -n linux-kernel-perf +This package provides the "perf" tool that can be used to monitor performance +counter events as well as various kernel internal events. + %prep %setup -q -n linux-kernel-%{version} @@ -86,6 +95,10 @@ make dtbs %{?_smp_mflags} # 1-4. Build modules make modules %{?_smp_mflags} +# 1-5. Build perf +make -s -C tools/lib/traceevent %{?_smp_mflags} +make -s -C tools/perf %{?_smp_mflags} + %install QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT @@ -116,6 +129,13 @@ install -m 644 rpi3/boot/bootcode.bin %{buildroot}/boot/ install -m 644 rpi3/boot/start*.elf %{buildroot}/boot/ install -m 644 rpi3/boot/fixup*.dat %{buildroot}/boot/ +# 2-5. Install perf +install -d %{buildroot}/usr +make -s -C tools/perf DESTDIR=%{buildroot}/usr install +rm -rf %{buildroot}/usr/etc +rm -rf %{buildroot}/usr/lib/debug +rm -rf %{buildroot}/usr/share + # 3-1. remove unnecessary files to prepare for devel package find %{_builddir}/linux-kernel-%{version} -name ".tmp_vmlinux*" -delete find %{_builddir}/linux-kernel-%{version} -name ".gitignore" -delete @@ -163,3 +183,9 @@ rm -rf %{buildroot} /boot/bootcode.bin /boot/start*.elf /boot/fixup*.dat + +%files -n linux-kernel-perf +%license COPYING +/usr/bin/* +/usr/libexec/* +/usr/lib/traceevent/* -- 2.7.4 From 5337e1dbb4d49a7b0aba72a2c2db3dcffeea8aa6 Mon Sep 17 00:00:00 2001 From: Jaehoon Chung Date: Tue, 17 Sep 2019 14:10:17 +0900 Subject: [PATCH 04/16] build: script: combine rpi3 32bit and 64bit scripts Combine rpi3 32bit and 64bit scripts. e.g) build-rpi3.sh arm / arm64 Change-Id: I224b7944362245685e4557f2fe41837c3a685ad8 Signed-off-by: Jaehoon Chung --- build-rpi3-arm32.sh | 26 -------------------------- build-rpi3-arm64.sh | 29 ----------------------------- build-rpi3.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 55 deletions(-) delete mode 100755 build-rpi3-arm32.sh delete mode 100755 build-rpi3-arm64.sh create mode 100755 build-rpi3.sh diff --git a/build-rpi3-arm32.sh b/build-rpi3-arm32.sh deleted file mode 100755 index 1e8c02a..0000000 --- a/build-rpi3-arm32.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Check this system has ccache -check_ccache() -{ - type ccache - if [ "$?" -eq "0" ]; then - CCACHE=ccache - fi -} - -check_ccache - -rm -f arch/arm/boot/zImage -rm -f arch/arm/boot/dts/*.dtb - -if ! [ -e .config ] ; then - make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- tizen_bcm2709_defconfig -fi - -make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8 - -if [ ! -f "./arch/arm/boot/zImage" ]; then - echo "Build fail" - exit 1 -fi diff --git a/build-rpi3-arm64.sh b/build-rpi3-arm64.sh deleted file mode 100755 index 15b9391..0000000 --- a/build-rpi3-arm64.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# Check this system has ccache -check_ccache() -{ - type ccache - if [ "$?" -eq "0" ]; then - CCACHE=ccache - fi -} - -check_ccache - -rm -f arch/arm64/boot/Image -rm -f arch/arm64/boot/dts/broadcom/*.dtb - -if ! [ -e .config ] ; then - make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- tizen_bcmrpi3_defconfig -fi - -make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 -make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs -if [ ! -f "./arch/arm64/boot/Image" ]; then - echo "Build fail" - exit 1 -fi - -make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules_prepare -j8 -make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules -j8 diff --git a/build-rpi3.sh b/build-rpi3.sh new file mode 100755 index 0000000..27eac56 --- /dev/null +++ b/build-rpi3.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +if [ $# != 1 ]; +then + echo "Usage : build-rpi3.sh " + echo " architecture : arm or arm64" + echo " e.g) build-rpi3.sh arm" + exit +fi + +# Check this system has ccache +check_ccache() +{ + type ccache + if [ "$?" -eq "0" ]; then + CCACHE=ccache + fi +} + +check_ccache + +if [ $1 = "arm" ]; then + echo "ARM" + rm -f arch/arm/boot/zImage + rm -f arch/arm/boot/dts/*.dtb + CROSS_COMPILER=arm-linux-gnueabi- + if ! [ -e .config ] ; then + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILER" tizen_bcm2709_defconfig + fi + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILER" -j8 + if [ ! -f "./arch/arm/boot/zImage" ]; then + echo "Build fail" + exit 1 + fi + +elif [ $1 = "arm64" ]; then + echo "ARM64" + rm -f arch/arm64/boot/Image + rm -f arch/arm64/boot/dts/broadcom/*.dtb + CROSS_COMPILER=aarch64-linux-gnu- + + if ! [ -e .config ] ; then + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILER" tizen_bcmrpi3_defconfig + fi + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILER" -j8 + if [ ! -f "./arch/arm64/boot/Image" ]; then + echo "Build fail" + exit 1 + fi +fi -- 2.7.4 From 89dcbe9b298c1c5428abe8fe0fe1a1fddf088286 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Mon, 23 Sep 2019 18:00:11 +0900 Subject: [PATCH 05/16] scripts: mkbootimg_rpi3.sh: Fix to install modules on non sudo status On sudo status, env variable is possible not to be preserved and it causes failure on modules_install. So fix to install modules on non sudo status and then move the directories and files to image area. Change-Id: Ie1e0ff695caf79b1ce3d25be8a70151a30fbfee0 Signed-off-by: Seung-Woo Kim --- scripts/mkbootimg_rpi3.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/mkbootimg_rpi3.sh b/scripts/mkbootimg_rpi3.sh index 490d7d8..ba66dac 100755 --- a/scripts/mkbootimg_rpi3.sh +++ b/scripts/mkbootimg_rpi3.sh @@ -62,19 +62,21 @@ sudo umount tmp rm -f modules.img mkdir -p tmp/lib/modules +mkdir -p tmp_modules # Create modules.img dd if=/dev/zero of=modules.img bs=1024 count=20480 mkfs.ext4 -q -F -t ext4 -b 1024 -L modules modules.img sudo mount -o loop modules.img ./tmp/lib/modules if [ -n "$IS_64BIT" ]; then - sudo make modules_install ARCH=arm64 INSTALL_MOD_PATH=./tmp INSTALL_MOD_STRIP=1 CROSS_COMPILE=aarch64-linux-gnu- + make modules_install ARCH=arm64 INSTALL_MOD_PATH=./tmp_modules INSTALL_MOD_STRIP=1 CROSS_COMPILE=aarch64-linux-gnu- else - sudo make modules_install ARCH=arm INSTALL_MOD_PATH=./tmp INSTALL_MOD_STRIP=1 CROSS_COMPILE=arm-linux-gnueabi- + make modules_install ARCH=arm INSTALL_MOD_PATH=./tmp_modules INSTALL_MOD_STRIP=1 CROSS_COMPILE=arm-linux-gnueabi- fi +sudo mv ./tmp_modules/lib/modules/* ./tmp/lib/modules sudo -n chown root:root ./tmp/lib/modules -R sync sudo umount tmp/lib/modules -rm -rf tmp +rm -rf tmp tmp_modules -- 2.7.4 From 737c6b871eab9b7ae3b940609509da8c187341e9 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 11 Oct 2019 13:43:33 +0900 Subject: [PATCH 06/16] drm/vc4: add extcon hdmi connection uevent Add extcon hdmi connection and disconnection ueven when extcon module is enabled. The vc4 hdmi detection is done by polling way, so extcon uevent for connection is a bit slow after changing real hdmi cable state. Change-Id: I962f7a39b7a3344f9793e436ef28c36b123571a8 Signed-off-by: Seung-Woo Kim --- drivers/gpu/drm/vc4/vc4_hdmi.c | 64 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 56 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index fd5522f..022c496 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -47,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -97,6 +98,11 @@ struct vc4_hdmi { struct clk *pixel_clock; struct clk *hsm_clock; + + enum drm_connector_status status; +#ifdef CONFIG_EXTCON + struct extcon_dev *edev; +#endif }; #define HDMI_READ(offset) readl(vc4->hdmi->hdmicore_regs + offset) @@ -238,22 +244,40 @@ vc4_hdmi_connector_detect(struct drm_connector *connector, bool force) { struct drm_device *dev = connector->dev; struct vc4_dev *vc4 = to_vc4_dev(dev); + enum drm_connector_status status; if (vc4->hdmi->hpd_gpio) { if (gpio_get_value_cansleep(vc4->hdmi->hpd_gpio) ^ - vc4->hdmi->hpd_active_low) - return connector_status_connected; + vc4->hdmi->hpd_active_low) { + status = connector_status_connected; + goto out; + } cec_phys_addr_invalidate(vc4->hdmi->cec_adap); - return connector_status_disconnected; + status = connector_status_disconnected; + goto out; } - if (drm_probe_ddc(vc4->hdmi->ddc)) - return connector_status_connected; + if (drm_probe_ddc(vc4->hdmi->ddc)) { + status = connector_status_connected; + goto out; + } - if (HDMI_READ(VC4_HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) - return connector_status_connected; + if (HDMI_READ(VC4_HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) { + status = connector_status_connected; + goto out; + } cec_phys_addr_invalidate(vc4->hdmi->cec_adap); - return connector_status_disconnected; + status = connector_status_disconnected; +out: + if (status != vc4->hdmi->status) { +#ifdef CONFIG_EXTCON + extcon_set_state_sync(vc4->hdmi->edev, EXTCON_DISP_HDMI, + (status == connector_status_connected ? + true : false)); +#endif + vc4->hdmi->status = status; + } + return status; } static void vc4_hdmi_connector_destroy(struct drm_connector *connector) @@ -1292,6 +1316,13 @@ static const struct cec_adap_ops vc4_hdmi_cec_adap_ops = { }; #endif +#ifdef CONFIG_EXTCON +static const unsigned int vc4_hdmi_extcon_cable[] = { + EXTCON_DISP_HDMI, + EXTCON_NONE, +}; +#endif + static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) { struct platform_device *pdev = to_platform_device(dev); @@ -1307,6 +1338,23 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) if (!hdmi) return -ENOMEM; + hdmi->status = connector_status_disconnected; + +#ifdef CONFIG_EXTCON + /* Initialize extcon device */ + hdmi->edev = devm_extcon_dev_allocate(dev, vc4_hdmi_extcon_cable); + if (IS_ERR(hdmi->edev)) { + dev_err(dev, "failed to allocate memory for extcon\n"); + return -ENOMEM; + } + + ret = devm_extcon_dev_register(dev, hdmi->edev); + if (ret) { + dev_err(dev, "failed to register extcon device\n"); + return ret; + } +#endif + vc4_hdmi_encoder = devm_kzalloc(dev, sizeof(*vc4_hdmi_encoder), GFP_KERNEL); if (!vc4_hdmi_encoder) -- 2.7.4 From 4bd613e56c2fc3a27dc542afbf17910842dae9cb Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 11 Oct 2019 13:46:34 +0900 Subject: [PATCH 07/16] ARM64: configs: tizen_bcmrpi3_defconfig: Enable EXTCON for hdmi Enable CONFIG_EXTCON for hdmi connection uevent. Change-Id: I912b8dddf6e2fbc13075ad6f83fbd06ea55f6d90 Signed-off-by: Seung-Woo Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index 79cbbf8..c09683e 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -309,6 +309,7 @@ CONFIG_MAILBOX=y CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set CONFIG_RASPBERRYPI_POWER=y +CONFIG_EXTCON=y CONFIG_PWM=y CONFIG_PWM_BCM2835=y CONFIG_ANDROID=y -- 2.7.4 From d93b3b7ce563d0535a15b9a24887ae18450fa8b9 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 11 Oct 2019 13:47:47 +0900 Subject: [PATCH 08/16] ARM: configs: tizen_bcm2709_defconfig: Enable EXTCON for hdmi Enable CONFIG_EXTCON for hdmi connection uevent. Change-Id: I62cc93151019209661600af2a63f087d25112490 Signed-off-by: Seung-Woo Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index a4caf39..792b462 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -342,6 +342,7 @@ CONFIG_MAILBOX=y CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set CONFIG_RASPBERRYPI_POWER=y +CONFIG_EXTCON=y CONFIG_PWM=y CONFIG_PWM_BCM2835=y CONFIG_ANDROID=y -- 2.7.4 From 1a421866df009aa6c06fb860891a85ae92c32a72 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Thu, 31 Oct 2019 12:42:36 +0900 Subject: [PATCH 09/16] packaging: Add -fPIC flag to perf build cflags Current Tizen build environment requires -fPIC with relocation and without the flag, there is build error for perf like below: armv7l armv7l-tizen-linux-gnueabi/bin/ld: perf-in.o: relocation R_ARM_MOVW_ABS_NC against `__stack_chk_guard' can not be used when making a shared object; recompile with -fPIC aarch64 aarch64-tizen-linux-gnu/bin/ld: perf-in.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stack_chk_guard@@GLIBC_2.17' can not be used when making a shared object; recompile with -fPIC aarch64-tizen-linux-gnu/bin/ld: perf-in.o(.text+0x4): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `__stack_chk_guard@@GLIBC_2.17' Add -fPIC flag to perf build. Change-Id: Icca04801698c88180dfde493a3ef92e5c01612b5 Signed-off-by: Seung-Woo Kim --- packaging/linux-rpi3.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/linux-rpi3.spec b/packaging/linux-rpi3.spec index ed7aae0..71a40a5 100644 --- a/packaging/linux-rpi3.spec +++ b/packaging/linux-rpi3.spec @@ -97,7 +97,7 @@ make modules %{?_smp_mflags} # 1-5. Build perf make -s -C tools/lib/traceevent %{?_smp_mflags} -make -s -C tools/perf %{?_smp_mflags} +make -s -C tools/perf EXTRA_CFLAGS=-fPIC %{?_smp_mflags} %install QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT -- 2.7.4 From ef61d801e04a689bc27a50846d0d3ab5a2758045 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 1 Nov 2019 10:17:15 +0900 Subject: [PATCH 10/16] packaging: replace -fPIC to -fPIE for perf executable Build issue for perf is from linking perf executable, so pie flag is suitabler than pic flag. Replace -fPIC to -fPIE for perf executable and add the flag to missed perf install part. Change-Id: I0911dc2b3ffc54724927846f5e081da9d7335c39 Suggested-by: Dongkyun Son Signed-off-by: Seung-Woo Kim --- packaging/linux-rpi3.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/linux-rpi3.spec b/packaging/linux-rpi3.spec index 71a40a5..a103e18 100644 --- a/packaging/linux-rpi3.spec +++ b/packaging/linux-rpi3.spec @@ -97,7 +97,7 @@ make modules %{?_smp_mflags} # 1-5. Build perf make -s -C tools/lib/traceevent %{?_smp_mflags} -make -s -C tools/perf EXTRA_CFLAGS=-fPIC %{?_smp_mflags} +make -s -C tools/perf EXTRA_CFLAGS="-fPIE -rdynamic" %{?_smp_mflags} %install QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT @@ -131,7 +131,7 @@ install -m 644 rpi3/boot/fixup*.dat %{buildroot}/boot/ # 2-5. Install perf install -d %{buildroot}/usr -make -s -C tools/perf DESTDIR=%{buildroot}/usr install +make -s -C tools/perf EXTRA_CFLAGS="-fPIE -rdynamic" DESTDIR=%{buildroot}/usr install rm -rf %{buildroot}/usr/etc rm -rf %{buildroot}/usr/lib/debug rm -rf %{buildroot}/usr/share -- 2.7.4 From 22aa5c5184a107120d6f90b19a2e835420ff7457 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 20 Nov 2019 17:10:48 +0900 Subject: [PATCH 11/16] ARM64: configs: tizen_bcmrpi3_defconfig: Enable HID_MULTITOUCH To support usb multi-touch device, enable CONFIG_HID_MULTITOUCH. Change-Id: I36f625f08b980e7a5ed8cea9e061ba0d4d56d39b Signed-off-by: Seung-Woo Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index c09683e..0bdf544 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -272,6 +272,7 @@ CONFIG_SND_BCM2835_SOC_I2S=y CONFIG_SND_SOC_SEEED_VOICECARD=y CONFIG_SND_SOC_AC108_CODEC=y CONFIG_HIDRAW=y +CONFIG_HID_MULTITOUCH=y CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y CONFIG_USB=y -- 2.7.4 From ad6db8c5ad8bc4ea267a269190a4d8cc34cc4a38 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 20 Nov 2019 17:12:09 +0900 Subject: [PATCH 12/16] ARM: configs: tizen_bcm2709_defconfig: Enable HID_MULTITOUCH To support usb multi-touch device, enable CONFIG_HID_MULTITOUCH. Change-Id: I2423291698367912d379787e94dc75659f414a31 Signed-off-by: Seung-Woo Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index 792b462..799bf14 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -291,6 +291,7 @@ CONFIG_SND_SOC_WM8741=m CONFIG_SND_SOC_TPA6130A2=m CONFIG_HIDRAW=y CONFIG_HID_LED=m +CONFIG_HID_MULTITOUCH=y CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y CONFIG_USB=y -- 2.7.4 From 61226a61f164b4d716edd2d3213f2ffd2a8b29f9 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Thu, 5 Dec 2019 16:52:29 +0900 Subject: [PATCH 13/16] drm/vc4: fix wrong filp usage in gem_info debugfs node After the mainline commit 65101d8c9108 ("drm/vc4: Expose performance counters to userspace") applied in v4.17, vc4 drm has its own filp. So gem_info filp usage is not proper. Fix the wrong filp usage in gem_info debugfs node. Change-Id: I526a888f345378d66f96e9d6cd3d19527e56ddaa Signed-off-by: Seung-Woo Kim --- drivers/gpu/drm/vc4/vc4_bo.c | 7 ++++--- drivers/gpu/drm/vc4/vc4_drv.h | 11 ++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c index 87bdab9..c1bae46 100644 --- a/drivers/gpu/drm/vc4/vc4_bo.c +++ b/drivers/gpu/drm/vc4/vc4_bo.c @@ -109,8 +109,8 @@ static int vc4_gem_one_info(int id, void *ptr, void *data) { struct drm_gem_object *obj = (struct drm_gem_object *)ptr; struct vc4_gem_info_data *gem_info_data = data; - struct drm_vc4_file_private *file_priv = - gem_info_data->filp->driver_priv; + struct vc4_file *vc4file = gem_info_data->filp->driver_priv; + struct drm_vc4_file_private *file_priv = &vc4file->priv; if (!obj) { DRM_ERROR("failed to get drm_gem_object\n"); @@ -570,7 +570,8 @@ struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size, static void vc4_gem_register_pid(struct drm_file *file_priv) { - struct drm_vc4_file_private *driver_priv = file_priv->driver_priv; + struct vc4_file *vc4file = file_priv->driver_priv; + struct drm_vc4_file_private *driver_priv = &vc4file->priv; if (!driver_priv->pid && !driver_priv->tgid) { driver_priv->pid = task_pid_nr(current); diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h index d9436491..ff99565 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.h +++ b/drivers/gpu/drm/vc4/vc4_drv.h @@ -553,6 +553,11 @@ struct vc4_exec_info { struct vc4_perfmon *perfmon; }; +struct drm_vc4_file_private { + pid_t pid; + pid_t tgid; +}; + /* Per-open file private data. Any driver-specific resource that has to be * released when the DRM file is closed should be placed here. */ @@ -561,6 +566,7 @@ struct vc4_file { struct idr idr; struct mutex lock; } perfmon; + struct drm_vc4_file_private priv; }; static inline struct vc4_exec_info * @@ -812,11 +818,6 @@ bool vc4_check_tex_size(struct vc4_exec_info *exec, struct vc4_validated_shader_info * vc4_validate_shader(struct drm_gem_cma_object *shader_obj); -struct drm_vc4_file_private { - pid_t pid; - pid_t tgid; -}; - int vc4_debugfs_gem_info(struct seq_file *m, void *data); int vc4_drm_gem_prime_fd_to_handle(struct drm_device *dev, struct drm_file *file_priv, int prime_fd, uint32_t *handle); -- 2.7.4 From 6d8995c00d5ab8f8004e774e32aa73903e0b8bcc Mon Sep 17 00:00:00 2001 From: Junghoon Kim Date: Wed, 18 Dec 2019 10:26:43 +0900 Subject: [PATCH 14/16] ARM: tizen_bcm2709_defconfig: Enable btrfs filesystem Enable btrfs filesystem to use it as the rootfs mount for the RPI3 32-bit architecture. Change-Id: I697e2fc9cbf4c8f69a94afed0e2244c3b8accad7 Signed-off-by: Junghoon Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index 799bf14..07b3c8d 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -353,6 +353,8 @@ CONFIG_OPTEE=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y +CONFIG_BTRFS_FS=y +CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_F2FS_FS=y CONFIG_FANOTIFY=y CONFIG_AUTOFS4_FS=y @@ -397,7 +399,6 @@ CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_LZO=y CONFIG_CRC_ITU_T=y CONFIG_CRC7=m -CONFIG_LIBCRC32C=y CONFIG_PRINTK_TIME=y CONFIG_BOOT_PRINTK_DELAY=y CONFIG_DEBUG_MEMORY_INIT=y -- 2.7.4 From 3f090805e716842d25ccbdc8c87ffa9c7477400f Mon Sep 17 00:00:00 2001 From: Junghoon Kim Date: Wed, 18 Dec 2019 10:43:55 +0900 Subject: [PATCH 15/16] ARM64: tizen_bcmrpi3_defconfig: Enable btrfs filesystem Enable btrfs filesystem to use it as the rootfs mount for the RPI4 64-bit architecture. Change-Id: Ieb13f6970dbfd8c947c501cfad1c7eb9ee4d2799 Signed-off-by: Junghoon Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index 0bdf544..4364f87 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -320,6 +320,8 @@ CONFIG_OPTEE=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y +CONFIG_BTRFS_FS=y +CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_F2FS_FS=y CONFIG_FANOTIFY=y CONFIG_AUTOFS4_FS=y @@ -358,7 +360,6 @@ CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_LZO=y CONFIG_CRC_ITU_T=y -CONFIG_LIBCRC32C=y CONFIG_PRINTK_TIME=y CONFIG_BOOT_PRINTK_DELAY=y CONFIG_DEBUG_MEMORY_INIT=y -- 2.7.4 From ac1f2c66b12dd3d8e19b0e5a72efe10715ab58aa Mon Sep 17 00:00:00 2001 From: Junghoon Kim Date: Wed, 18 Dec 2019 10:53:42 +0900 Subject: [PATCH 16/16] scripts: mkbootimg_rpi3.sh: Create boot tarball for the lthor flashing This patch is to create boot tarball for the lthor flashing. With this, we can easily test the rpi3 kernel in the local environment. Change-Id: Ib7bca6f7fa2c5a51be097042eda80c2d9297d4ac Signed-off-by: Junghoon Kim --- scripts/mkbootimg_rpi3.sh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/scripts/mkbootimg_rpi3.sh b/scripts/mkbootimg_rpi3.sh index ba66dac..ab23269 100755 --- a/scripts/mkbootimg_rpi3.sh +++ b/scripts/mkbootimg_rpi3.sh @@ -69,10 +69,13 @@ dd if=/dev/zero of=modules.img bs=1024 count=20480 mkfs.ext4 -q -F -t ext4 -b 1024 -L modules modules.img sudo mount -o loop modules.img ./tmp/lib/modules if [ -n "$IS_64BIT" ]; then - make modules_install ARCH=arm64 INSTALL_MOD_PATH=./tmp_modules INSTALL_MOD_STRIP=1 CROSS_COMPILE=aarch64-linux-gnu- + export ARCH=arm64 + export CROSS_COMPILE=aarch64-linux-gnu- else - make modules_install ARCH=arm INSTALL_MOD_PATH=./tmp_modules INSTALL_MOD_STRIP=1 CROSS_COMPILE=arm-linux-gnueabi- + export ARCH=arm + export CROSS_COMPILE=arm-linux-gnueabi- fi +make modules_install INSTALL_MOD_PATH=./tmp_modules INSTALL_MOD_STRIP=1 sudo mv ./tmp_modules/lib/modules/* ./tmp/lib/modules sudo -n chown root:root ./tmp/lib/modules -R @@ -80,3 +83,15 @@ sync sudo umount tmp/lib/modules rm -rf tmp tmp_modules + +# Create boot tarball for the lthor flashing +DATE=`date +%Y%m%d` +BOOT_TARBALL=tizen-local-${DATE}-boot-${ARCH}-rpi3.tar + +tar cf ${BOOT_TARBALL} boot.img modules.img +if [ "$?" != "0" ]; then + echo "Failed to create boot tarball" + exit 1 +fi + +echo ${BOOT_TARBALL} -- 2.7.4