From 7df8efba137220614b26191bc0fcec3f7a72391a Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Thu, 13 Feb 2014 14:43:45 -0500 Subject: linux-ti-staging: apply network performance and LCD fixes locally for now Signed-off-by: Denys Dmytriyenko --- ...2-am43xx-Add-context-offset-for-dss-hwmod.patch | 44 +++++ ...omap-Sync-up-omap2plus-defconfig-with-sav.patch | 195 +++++++++++++++++++++ ...map_hwmod-Add-context-ops-to-am43xx-soc_o.patch | 36 ++++ ...omap-Make-advanced-networking-features-as.patch | 54 ++++++ ...M-config-omap-Disable-extra-debug-options.patch | 47 +++++ ...ge-ARM-config-omap-Disable-SMP-for-AM335x.patch | 44 +++++ ...ll-warning-in-CPUIDLE-code-with-CONFIG_SM.patch | 49 ++++++ recipes-kernel/linux/linux-ti-staging_3.12.bb | 12 +- 8 files changed, 480 insertions(+), 1 deletion(-) create mode 100644 recipes-kernel/linux/linux-ti-staging/0001-ARM-OMAP2-am43xx-Add-context-offset-for-dss-hwmod.patch create mode 100644 recipes-kernel/linux/linux-ti-staging/0001-ARM-config-omap-Sync-up-omap2plus-defconfig-with-sav.patch create mode 100644 recipes-kernel/linux/linux-ti-staging/0002-ARM-OMAP2-omap_hwmod-Add-context-ops-to-am43xx-soc_o.patch create mode 100644 recipes-kernel/linux/linux-ti-staging/0002-ARM-config-omap-Make-advanced-networking-features-as.patch create mode 100644 recipes-kernel/linux/linux-ti-staging/0003-ARM-config-omap-Disable-extra-debug-options.patch create mode 100644 recipes-kernel/linux/linux-ti-staging/0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch create mode 100644 recipes-kernel/linux/linux-ti-staging/0005-ARM-OMAP-Kill-warning-in-CPUIDLE-code-with-CONFIG_SM.patch diff --git a/recipes-kernel/linux/linux-ti-staging/0001-ARM-OMAP2-am43xx-Add-context-offset-for-dss-hwmod.patch b/recipes-kernel/linux/linux-ti-staging/0001-ARM-OMAP2-am43xx-Add-context-offset-for-dss-hwmod.patch new file mode 100644 index 00000000..52594a1a --- /dev/null +++ b/recipes-kernel/linux/linux-ti-staging/0001-ARM-OMAP2-am43xx-Add-context-offset-for-dss-hwmod.patch @@ -0,0 +1,44 @@ +From 52502d8e52ecd82cd802ee6900942d041f9a79ef Mon Sep 17 00:00:00 2001 +From: Dave Gerlach +Date: Wed, 12 Feb 2014 16:06:46 -0600 +Subject: [PATCH 1/2] ARM: OMAP2+: am43xx: Add context offset for dss hwmod + +Add context_offs to the DSS hwmod for am43xx as the driver uses the +context loss count to determine whether or not to restore context to the +module. Without this the display does not return after a suspend cycle. + +Signed-off-by: Dave Gerlach +--- + arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 1 + + arch/arm/mach-omap2/prcm43xx.h | 3 +++ + 2 files changed, 4 insertions(+) + +diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +index 978356d..4dcdcef 100644 +--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c ++++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c +@@ -1921,6 +1921,7 @@ static struct omap_hwmod am43xx_dss_core_hwmod = { + .prcm = { + .omap4 = { + .clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET, ++ .context_offs = AM43XX_PRM_RM_PER_DSS_CONTEXT, + .modulemode = MODULEMODE_SWCTRL, + }, + }, +diff --git a/arch/arm/mach-omap2/prcm43xx.h b/arch/arm/mach-omap2/prcm43xx.h +index f5344ab..d804228 100644 +--- a/arch/arm/mach-omap2/prcm43xx.h ++++ b/arch/arm/mach-omap2/prcm43xx.h +@@ -25,6 +25,9 @@ + #define AM43XX_PRM_WKUP_INST 0x2000 + #define AM43XX_PRM_DEVICE_INST 0x4000 + ++/* PRM.PRM_PER offsets */ ++#define AM43XX_PRM_RM_PER_DSS_CONTEXT 0x1224 ++ + /* RM RSTCTRL offsets */ + #define AM43XX_RM_PER_RSTCTRL_OFFSET 0x0010 + #define AM43XX_RM_GFX_RSTCTRL_OFFSET 0x0010 +-- +1.7.9.5 + diff --git a/recipes-kernel/linux/linux-ti-staging/0001-ARM-config-omap-Sync-up-omap2plus-defconfig-with-sav.patch b/recipes-kernel/linux/linux-ti-staging/0001-ARM-config-omap-Sync-up-omap2plus-defconfig-with-sav.patch new file mode 100644 index 00000000..f6665211 --- /dev/null +++ b/recipes-kernel/linux/linux-ti-staging/0001-ARM-config-omap-Sync-up-omap2plus-defconfig-with-sav.patch @@ -0,0 +1,195 @@ +From 0e6113030205a51f16944d4f73e166792200def0 Mon Sep 17 00:00:00 2001 +From: Santosh Shilimkar +Date: Thu, 13 Feb 2014 10:51:55 -0500 +Subject: [PATCH 1/6] ARM: config: omap: Sync up omap2plus defconfig with + savedefconfig + +This is preparatory patch for some of the config fragment updates +to be done for network performance issue. + +Signed-off-by: Santosh Shilimkar +--- + arch/arm/configs/omap2plus_defconfig | 67 ++++++++++------------------------ + 1 file changed, 20 insertions(+), 47 deletions(-) + +diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig +index f0484a2..2e8dcb9 100644 +--- a/arch/arm/configs/omap2plus_defconfig ++++ b/arch/arm/configs/omap2plus_defconfig +@@ -23,25 +23,22 @@ CONFIG_PARTITION_ADVANCED=y + CONFIG_ARCH_OMAP2PLUS=y + CONFIG_ARCH_MULTI_V6=y + CONFIG_GPIO_PCA953X=y ++CONFIG_OMAP_RESET_CLOCKS=y ++CONFIG_OMAP_MUX_DEBUG=y + CONFIG_ARCH_OMAP2=y + CONFIG_ARCH_OMAP3=y + CONFIG_ARCH_OMAP4=y + CONFIG_SOC_OMAP5=y +-CONFIG_SOC_AM33XX=y + CONFIG_SOC_AM43XX=y + CONFIG_SOC_DRA7XX=y +-CONFIG_OMAP_RESET_CLOCKS=y +-CONFIG_OMAP_MUX_DEBUG=y +-CONFIG_ARCH_VEXPRESS_CA9X4=y + CONFIG_OMAP4_ERRATA_I688=y + CONFIG_ARM_THUMBEE=y + CONFIG_ARM_ERRATA_411920=y + CONFIG_PCIE_DRA7XX=y + CONFIG_SMP=y + CONFIG_NR_CPUS=2 +-CONFIG_CMA=y + CONFIG_PREEMPT=y +-CONFIG_LEDS=y ++CONFIG_CMA=y + CONFIG_ZBOOT_ROM_TEXT=0x0 + CONFIG_ZBOOT_ROM_BSS=0x0 + CONFIG_ARM_APPENDED_DTB=y +@@ -75,30 +72,13 @@ CONFIG_IP_PNP_RARP=y + # CONFIG_INET_LRO is not set + # CONFIG_IPV6 is not set + CONFIG_NETFILTER=y +-CONFIG_NETFILTER_ADVANCED=y +-CONFIG_NETFILTER_XTABLES=y +-CONFIG_NF_NAT=y +-CONFIG_NF_NAT_NEEDED=y +-CONFIG_NF_NAT_IPV4=y +-CONFIG_NF_DEFRAG_IPV4=y + CONFIG_NF_CONNTRACK=y + CONFIG_NF_CONNTRACK_IPV4=y +-CONFIG_NF_CONNTRACK_PROC_COMPAT=y + CONFIG_IP_NF_IPTABLES=y + CONFIG_IP_NF_FILTER=y +-CONFIG_IP_NF_TARGET_LOG=y ++CONFIG_NF_NAT_IPV4=y + CONFIG_IP_NF_TARGET_MASQUERADE=y + CONFIG_BRIDGE=y +-CONFIG_BRIDGE_IGMP_SNOOPING=y +-CONFIG_BRIDGE_NETFILTER=y +-CONFIG_STP=y +-CONFIG_LLC=y +-CONFIG_INPUT_UINPUT=y +-CONFIG_HAS_IOMEM=y +-CONFIG_HAS_IOPORT=y +-CONFIG_HAS_DMA=y +-CONFIG_NLATTR=y +-CONFIG_AVERAGE=y + CONFIG_VLAN_8021Q=y + CONFIG_CAN=m + CONFIG_CAN_C_CAN=m +@@ -110,16 +90,13 @@ CONFIG_BT_HCIUART_BCSP=y + CONFIG_BT_HCIUART_LL=y + CONFIG_BT_HCIBCM203X=m + CONFIG_BT_HCIBPA10X=m +-CONFIG_NL80211_TESTMODE=y ++CONFIG_BT_WILINK=m + CONFIG_CFG80211=m ++CONFIG_NL80211_TESTMODE=y + CONFIG_MAC80211=m + CONFIG_MAC80211_RC_PID=y + CONFIG_MAC80211_RC_DEFAULT_PID=y +-CONFIG_WL_TI=y +-CONFIG_WL12XX=m +-CONFIG_WL18XX=m +-CONFIG_WLCORE=m +-CONFIG_WLCORE_SDIO=m ++CONFIG_RFKILL=y + CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" + CONFIG_DEVTMPFS=y + CONFIG_DEVTMPFS_MOUNT=y +@@ -171,6 +148,10 @@ CONFIG_LIBERTAS=m + CONFIG_LIBERTAS_USB=m + CONFIG_LIBERTAS_SDIO=m + CONFIG_LIBERTAS_DEBUG=y ++CONFIG_WL_TI=y ++CONFIG_WL12XX=m ++CONFIG_WL18XX=m ++CONFIG_WLCORE_SDIO=m + CONFIG_INPUT_JOYDEV=y + CONFIG_INPUT_EVDEV=y + CONFIG_KEYBOARD_GPIO=y +@@ -183,6 +164,7 @@ CONFIG_TOUCHSCREEN_TI_AM335X_TSC=y + CONFIG_TOUCHSCREEN_PIXCIR=m + CONFIG_INPUT_MISC=y + CONFIG_INPUT_TWL4030_PWRBUTTON=y ++CONFIG_INPUT_UINPUT=y + # CONFIG_LEGACY_PTYS is not set + CONFIG_SERIAL_8250=y + CONFIG_SERIAL_8250_CONSOLE=y +@@ -226,7 +208,6 @@ CONFIG_MFD_TPS65217=y + CONFIG_MFD_TPS65218=y + CONFIG_MFD_TPS65910=y + CONFIG_TWL6040_CORE=y +-CONFIG_REGULATOR_FIXED_VOLTAGE=y + CONFIG_REGULATOR_PALMAS=y + CONFIG_REGULATOR_PBIAS=y + CONFIG_REGULATOR_TPS65023=y +@@ -240,6 +221,10 @@ CONFIG_MEDIA_SUPPORT=y + CONFIG_MEDIA_CAMERA_SUPPORT=y + CONFIG_MEDIA_USB_SUPPORT=y + CONFIG_USB_VIDEO_CLASS=m ++CONFIG_V4L_PLATFORM_DRIVERS=y ++CONFIG_VIDEO_AM437X_VPFE=y ++# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set ++CONFIG_VIDEO_OV2659=y + CONFIG_FB=y + CONFIG_FIRMWARE_EDID=y + CONFIG_FB_TILEBLITTING=y +@@ -252,6 +237,7 @@ CONFIG_FB_OMAP2=y + CONFIG_DISPLAY_ENCODER_TFP410=y + CONFIG_DISPLAY_ENCODER_TPD12S015=y + CONFIG_DISPLAY_DRA_EVM_ENCODER_TPD12S015=y ++CONFIG_DISPLAY_ENCODER_SIL9022=y + CONFIG_DISPLAY_CONNECTOR_DVI=y + CONFIG_DISPLAY_CONNECTOR_HDMI=y + CONFIG_DISPLAY_PANEL_DPI=y +@@ -276,6 +262,7 @@ CONFIG_SND_DAVINCI_SOC=m + CONFIG_SND_AM33XX_SOC_EVM=m + CONFIG_SND_AM43XX_SOC_EPOS_EVM=m + CONFIG_SND_OMAP_SOC=m ++CONFIG_SND_OMAP_SOC_DRA7EVM=m + CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m + CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m + CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m +@@ -287,7 +274,6 @@ CONFIG_USB_EHCI_HCD=y + CONFIG_USB_MUSB_HDRC=m + CONFIG_USB_MUSB_OMAP2PLUS=m + CONFIG_USB_MUSB_DSPS=m +-CONFIG_USB_MUSB_AM335X_CHILD=m + CONFIG_USB_TI_CPPI41_DMA=y + CONFIG_USB_WDM=y + CONFIG_USB_STORAGE=y +@@ -390,17 +376,11 @@ CONFIG_SCHEDSTATS=y + CONFIG_TIMER_STATS=y + CONFIG_PROVE_LOCKING=y + # CONFIG_DEBUG_BUGVERBOSE is not set +-CONFIG_RFKILL=y +-CONFIG_KEYS=y +-CONFIG_BT_WILINK=m +-CONFIG_WIRELESS_EXT=y + CONFIG_SECURITY=y +-CONFIG_CRYPTO=y +-CONFIG_CRYPTO_ARC4=y +-CONFIG_CRYPTO_ECB=y +-CONFIG_CRYPTO_AES=y + CONFIG_CRYPTO_TEST=m ++CONFIG_CRYPTO_ECB=y + CONFIG_CRYPTO_MICHAEL_MIC=y ++CONFIG_CRYPTO_ARC4=y + # CONFIG_CRYPTO_ANSI_CPRNG is not set + CONFIG_CRYPTO_USER_API_HASH=y + CONFIG_CRYPTO_USER_API_SKCIPHER=y +@@ -415,10 +395,3 @@ CONFIG_LIBCRC32C=y + CONFIG_FONTS=y + CONFIG_FONT_8x8=y + CONFIG_FONT_8x16=y +-CONFIG_SND_OMAP_SOC_DRA7EVM=y +-CONFIG_DISPLAY_ENCODER_SIL9022=y +-CONFIG_VIDEO_V4L2=y +-CONFIG_V4L_PLATFORM_DRIVERS=y +-# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set +-CONFIG_VIDEO_AM437X_VPFE=y +-CONFIG_VIDEO_OV2659=y +-- +1.7.9.5 + diff --git a/recipes-kernel/linux/linux-ti-staging/0002-ARM-OMAP2-omap_hwmod-Add-context-ops-to-am43xx-soc_o.patch b/recipes-kernel/linux/linux-ti-staging/0002-ARM-OMAP2-omap_hwmod-Add-context-ops-to-am43xx-soc_o.patch new file mode 100644 index 00000000..02581421 --- /dev/null +++ b/recipes-kernel/linux/linux-ti-staging/0002-ARM-OMAP2-omap_hwmod-Add-context-ops-to-am43xx-soc_o.patch @@ -0,0 +1,36 @@ +From 8ec77cd15997749f51912e75bd47fad032cd3afe Mon Sep 17 00:00:00 2001 +From: Dave Gerlach +Date: Wed, 12 Feb 2014 16:05:30 -0600 +Subject: [PATCH 2/2] ARM: OMAP2+: omap_hwmod: Add context ops to am43xx + soc_ops + +AM43XX contains PRM_*_CONTEXT registers like OMAP4 did to track loss +of context in modules so utilize the same soc_ops present for OMAP4. + +Certain drivers use the context loss count to determine if context was +truly lost during a suspend operation to decide whether or not a +context restore is truly necessary. Without this, some drivers may +choose not to restore context when they have actually lost it and fail +to properly resume. + +Signed-off-by: Dave Gerlach +--- + arch/arm/mach-omap2/omap_hwmod.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c +index 1f766fd..c03c54d 100644 +--- a/arch/arm/mach-omap2/omap_hwmod.c ++++ b/arch/arm/mach-omap2/omap_hwmod.c +@@ -4296,6 +4296,8 @@ void __init omap_hwmod_init(void) + soc_ops.deassert_hardreset = _omap4_deassert_hardreset; + soc_ops.is_hardreset_asserted = _omap4_is_hardreset_asserted; + soc_ops.init_clkdm = _init_clkdm; ++ soc_ops.update_context_lost = _omap4_update_context_lost; ++ soc_ops.get_context_lost = _omap4_get_context_lost; + } else if (soc_is_am33xx()) { + soc_ops.enable_module = _am33xx_enable_module; + soc_ops.disable_module = _am33xx_disable_module; +-- +1.7.9.5 + diff --git a/recipes-kernel/linux/linux-ti-staging/0002-ARM-config-omap-Make-advanced-networking-features-as.patch b/recipes-kernel/linux/linux-ti-staging/0002-ARM-config-omap-Make-advanced-networking-features-as.patch new file mode 100644 index 00000000..5c4ad5f9 --- /dev/null +++ b/recipes-kernel/linux/linux-ti-staging/0002-ARM-config-omap-Make-advanced-networking-features-as.patch @@ -0,0 +1,54 @@ +From c43131183974d2b02140dce3560cf7bba385b459 Mon Sep 17 00:00:00 2001 +From: Santosh Shilimkar +Date: Thu, 13 Feb 2014 08:22:42 -0500 +Subject: [PATCH 2/6] ARM: config: omap: Make advanced networking features as + modules + +Linux networking supports advanced networking features like IPSEC, NETFILTERS, +BRIDGING etc and should be enabled only when user has specific usecase to +use them. Thats why all typical distro's build them as modules so that all +the standard network usecases don't get any additional overhead and specific +case can load those modules when needed. + +Lets align the config accordingly. Created using typical 'savedefconfig' method. + +Signed-off-by: Santosh Shilimkar +--- + arch/arm/configs/omap2plus_defconfig | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig +index 2e8dcb9..4c96d0c 100644 +--- a/arch/arm/configs/omap2plus_defconfig ++++ b/arch/arm/configs/omap2plus_defconfig +@@ -69,16 +69,20 @@ CONFIG_IP_PNP=y + CONFIG_IP_PNP_DHCP=y + CONFIG_IP_PNP_BOOTP=y + CONFIG_IP_PNP_RARP=y ++CONFIG_INET_XFRM_MODE_TRANSPORT=m ++CONFIG_INET_XFRM_MODE_TUNNEL=m ++CONFIG_INET_XFRM_MODE_BEET=m + # CONFIG_INET_LRO is not set ++CONFIG_INET_DIAG=m + # CONFIG_IPV6 is not set + CONFIG_NETFILTER=y +-CONFIG_NF_CONNTRACK=y +-CONFIG_NF_CONNTRACK_IPV4=y +-CONFIG_IP_NF_IPTABLES=y +-CONFIG_IP_NF_FILTER=y +-CONFIG_NF_NAT_IPV4=y +-CONFIG_IP_NF_TARGET_MASQUERADE=y +-CONFIG_BRIDGE=y ++CONFIG_NF_CONNTRACK=m ++CONFIG_NF_CONNTRACK_IPV4=m ++CONFIG_IP_NF_IPTABLES=m ++CONFIG_IP_NF_FILTER=m ++CONFIG_NF_NAT_IPV4=m ++CONFIG_IP_NF_TARGET_MASQUERADE=m ++CONFIG_BRIDGE=m + CONFIG_VLAN_8021Q=y + CONFIG_CAN=m + CONFIG_CAN_C_CAN=m +-- +1.7.9.5 + diff --git a/recipes-kernel/linux/linux-ti-staging/0003-ARM-config-omap-Disable-extra-debug-options.patch b/recipes-kernel/linux/linux-ti-staging/0003-ARM-config-omap-Disable-extra-debug-options.patch new file mode 100644 index 00000000..f515524e --- /dev/null +++ b/recipes-kernel/linux/linux-ti-staging/0003-ARM-config-omap-Disable-extra-debug-options.patch @@ -0,0 +1,47 @@ +From 2d7b208a86b15d2c35336783efa4b604d96ee31e Mon Sep 17 00:00:00 2001 +From: Santosh Shilimkar +Date: Thu, 13 Feb 2014 08:33:49 -0500 +Subject: [PATCH 3/6] ARM: config: omap: Disable extra debug options + +LOCK debug, SCHED debug, PREEMPT debug are very expensive operations and +always in fast path of kernel operations. These are typical kernel development +options and should be disabled in production kernel builds. + +Also enable JUMP_LABEL to take advantage of compiler optimisations. + +Created using typical 'savedefconfig' method. Hence you see some crypto +option noise which unrelated and no impact on the end config. + +Signed-off-by: Santosh Shilimkar +--- + arch/arm/configs/omap2plus_defconfig | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig +index 4c96d0c..4106761 100644 +--- a/arch/arm/configs/omap2plus_defconfig ++++ b/arch/arm/configs/omap2plus_defconfig +@@ -12,6 +12,7 @@ CONFIG_SLAB=y + CONFIG_PROFILING=y + CONFIG_OPROFILE=y + CONFIG_KPROBES=y ++CONFIG_JUMP_LABEL=y + CONFIG_MODULES=y + CONFIG_MODULE_FORCE_LOAD=y + CONFIG_MODULE_UNLOAD=y +@@ -376,10 +377,9 @@ CONFIG_NLS_ISO8859_1=y + CONFIG_PRINTK_TIME=y + CONFIG_DEBUG_INFO=y + CONFIG_MAGIC_SYSRQ=y +-CONFIG_SCHEDSTATS=y +-CONFIG_TIMER_STATS=y +-CONFIG_PROVE_LOCKING=y ++# CONFIG_SCHED_DEBUG is not set + # CONFIG_DEBUG_BUGVERBOSE is not set ++# CONFIG_FTRACE is not set + CONFIG_SECURITY=y + CONFIG_CRYPTO_TEST=m + CONFIG_CRYPTO_ECB=y +-- +1.7.9.5 + diff --git a/recipes-kernel/linux/linux-ti-staging/0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch b/recipes-kernel/linux/linux-ti-staging/0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch new file mode 100644 index 00000000..3813504f --- /dev/null +++ b/recipes-kernel/linux/linux-ti-staging/0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch @@ -0,0 +1,44 @@ +From adf38b7b71b35fcd1e229399e8eea7628be35815 Mon Sep 17 00:00:00 2001 +From: Santosh Shilimkar +Date: Thu, 13 Feb 2014 08:52:41 -0500 +Subject: [PATCH 4/6] Not-for-merge: ARM: config: omap: Disable SMP for AM335x + build + +SMP and SMP_ON_UP introduces some extra barriers and code many fast paths +including kernel lock functions. + +Performance sensitive usecases like networking gets impacted because of this. +In typical production kernel which is targeted for single core device +like AM335x family, you don't want to take this hit. + +Ideally one should just create a device specific config feed as done by all +typical distro's. Other option is to apply this specifically during build +time using recipe. + +Whichever option, one definitely don't want this overhead for performance +critical usecases. + +Disabling SMP in the build introduces one warining in cpuidle44xx.c driver +and fix is included in the series + +Signed-off-by: Santosh Shilimkar +--- + arch/arm/configs/omap2plus_defconfig | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig +index 4106761..bf49ab6 100644 +--- a/arch/arm/configs/omap2plus_defconfig ++++ b/arch/arm/configs/omap2plus_defconfig +@@ -36,8 +36,6 @@ CONFIG_OMAP4_ERRATA_I688=y + CONFIG_ARM_THUMBEE=y + CONFIG_ARM_ERRATA_411920=y + CONFIG_PCIE_DRA7XX=y +-CONFIG_SMP=y +-CONFIG_NR_CPUS=2 + CONFIG_PREEMPT=y + CONFIG_CMA=y + CONFIG_ZBOOT_ROM_TEXT=0x0 +-- +1.7.9.5 + diff --git a/recipes-kernel/linux/linux-ti-staging/0005-ARM-OMAP-Kill-warning-in-CPUIDLE-code-with-CONFIG_SM.patch b/recipes-kernel/linux/linux-ti-staging/0005-ARM-OMAP-Kill-warning-in-CPUIDLE-code-with-CONFIG_SM.patch new file mode 100644 index 00000000..ef6e0a77 --- /dev/null +++ b/recipes-kernel/linux/linux-ti-staging/0005-ARM-OMAP-Kill-warning-in-CPUIDLE-code-with-CONFIG_SM.patch @@ -0,0 +1,49 @@ +From a612d323c1e5a88a46323d5ee8547283917dd3b6 Mon Sep 17 00:00:00 2001 +From: Santosh Shilimkar +Date: Wed, 12 Feb 2014 16:42:39 -0500 +Subject: [PATCH 5/6] ARM: OMAP: Kill warning in CPUIDLE code with !CONFIG_SMP + +for non SMP build, NR_CPUS is 1 and hence the code complains with below +warnings. + +arch/arm/mach-omap2/cpuidle44xx.c:207:8: warning: array subscript is above array bounds [-Warray-bounds] +arch/arm/mach-omap2/cpuidle44xx.c:212:11: warning: array subscript is above array bounds [-Warray-bounds] + +Kill it by making array size fixed. + +Signed-off-by: Santosh Shilimkar +--- + arch/arm/mach-omap2/cpuidle44xx.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c +index 4c8982a..5e85f1e 100644 +--- a/arch/arm/mach-omap2/cpuidle44xx.c ++++ b/arch/arm/mach-omap2/cpuidle44xx.c +@@ -23,6 +23,8 @@ + #include "prm.h" + #include "clockdomain.h" + ++#define MAX_CPUS 2 ++ + /* Machine specific information */ + struct idle_statedata { + u32 cpu_state; +@@ -48,11 +50,11 @@ static struct idle_statedata omap4_idle_data[] = { + }, + }; + +-static struct powerdomain *mpu_pd, *cpu_pd[NR_CPUS]; +-static struct clockdomain *cpu_clkdm[NR_CPUS]; ++static struct powerdomain *mpu_pd, *cpu_pd[MAX_CPUS]; ++static struct clockdomain *cpu_clkdm[MAX_CPUS]; + + static atomic_t abort_barrier; +-static bool cpu_done[NR_CPUS]; ++static bool cpu_done[MAX_CPUS]; + static struct idle_statedata *state_ptr = &omap4_idle_data[0]; + + /* Private functions */ +-- +1.7.9.5 + diff --git a/recipes-kernel/linux/linux-ti-staging_3.12.bb b/recipes-kernel/linux/linux-ti-staging_3.12.bb index 8254cc30..2a9d089c 100644 --- a/recipes-kernel/linux/linux-ti-staging_3.12.bb +++ b/recipes-kernel/linux/linux-ti-staging_3.12.bb @@ -40,9 +40,19 @@ SRCREV = "c883f50c5bbf1bf5bfaeb550991caf5fc77a1c4d" PV = "3.12.10" # Append to the MACHINE_KERNEL_PR so that a new SRCREV will cause a rebuild -MACHINE_KERNEL_PR_append = "b+gitr${SRCPV}" +MACHINE_KERNEL_PR_append = "c+gitr${SRCPV}" PR = "${MACHINE_KERNEL_PR}" SRC_URI = "git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git;protocol=git;branch=${BRANCH} \ file://defconfig \ " +SRC_URI += "file://0001-ARM-config-omap-Sync-up-omap2plus-defconfig-with-sav.patch \ + file://0002-ARM-config-omap-Make-advanced-networking-features-as.patch \ + file://0003-ARM-config-omap-Disable-extra-debug-options.patch \ + file://0005-ARM-OMAP-Kill-warning-in-CPUIDLE-code-with-CONFIG_SM.patch \ + file://0001-ARM-OMAP2-am43xx-Add-context-offset-for-dss-hwmod.patch \ + file://0002-ARM-OMAP2-omap_hwmod-Add-context-ops-to-am43xx-soc_o.patch \ + " + +SRC_URI_append_ti33x = "file://0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch" +SRC_URI_append_ti43x = "file://0004-Not-for-merge-ARM-config-omap-Disable-SMP-for-AM335x.patch" -- cgit v1.2.3-54-g00ecf