diff --git a/packages/linux-drivers/RTL8192EU/package.mk b/packages/linux-drivers/RTL8192EU/package.mk index 0908b467fe..1cb8c7448d 100644 --- a/packages/linux-drivers/RTL8192EU/package.mk +++ b/packages/linux-drivers/RTL8192EU/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="RTL8192EU" -PKG_VERSION="192bad4" -PKG_SHA256="35c7783cc1d10d4cee887b857a0372b808677c6aada8a02f78df906323acbd2f" +PKG_VERSION="49a0fb5" +PKG_SHA256="b09e37edd3882e05c7d430914fb3b78b82dad8e54830a69f72c241bc0b18bf46" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="https://github.com/Mange/rtl8192eu-linux-driver" diff --git a/packages/linux-drivers/RTL8812AU/package.mk b/packages/linux-drivers/RTL8812AU/package.mk index e762b61132..4d87489858 100644 --- a/packages/linux-drivers/RTL8812AU/package.mk +++ b/packages/linux-drivers/RTL8812AU/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="RTL8812AU" -PKG_VERSION="8e7ccba" -PKG_SHA256="9caf7db8cca8ae74fc2daa4c522a92a0648a55ee3958cf48424e1dbe7074e240" +PKG_VERSION="da70677" +PKG_SHA256="2a8950db3314833b32cf7ea2720509d05210ce11daa01d8f19c2ecc70c705fe2" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="https://github.com/paspro/rtl8812au" diff --git a/packages/linux-firmware/iwlwifi-firmware/package.mk b/packages/linux-firmware/iwlwifi-firmware/package.mk index 98270bd7f2..49344d3547 100644 --- a/packages/linux-firmware/iwlwifi-firmware/package.mk +++ b/packages/linux-firmware/iwlwifi-firmware/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="iwlwifi-firmware" -PKG_VERSION="c68485d" -PKG_SHA256="d5d785b186ec83dfeec6329957babbe1fcb2fe15fa8722ebf3852a8331e33dd5" +PKG_VERSION="78b9e19" +PKG_SHA256="1cd3ec0f2133f56760bc8946344e426833ac887a0a09f8750e6f0f51b7c994de" PKG_ARCH="any" PKG_LICENSE="Free-to-use" PKG_SITE="https://github.com/LibreELEC/iwlwifi-firmware" diff --git a/packages/linux/package.mk b/packages/linux/package.mk index de742cb371..23f1d0a758 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -46,8 +46,8 @@ case "$LINUX" in PKG_PATCH_DIRS="amlogic-3.14" ;; *) - PKG_VERSION="4.13.12" - PKG_SHA256="bf98065bf0e3aa5af379d0808f157be48ca4e452a55468fc4ce814b17cf9de74" + PKG_VERSION="4.14" + PKG_SHA256="f81d59477e90a130857ce18dc02f4fbe5725854911db1e7ba770c7cd350f96a7" PKG_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default" ;; diff --git a/packages/linux/patches/default/linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch b/packages/linux/patches/default/linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch index 6b09bc0073..381c582512 100644 --- a/packages/linux/patches/default/linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch +++ b/packages/linux/patches/default/linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch @@ -1,5 +1,7 @@ ---- linux/drivers/media/rc/ir-rc6-decoder.c 2012-11-25 22:08:13.148418669 -0800 -+++ linux.patch/drivers/media/rc/ir-rc6-decoder.c 2012-11-25 22:07:48.864417975 -0800 +diff --git a/drivers/media/rc/ir-rc6-decoder.c b/drivers/media/rc/ir-rc6-decoder.c +index 5d0d2fe..3d8cc1a 100644 +--- a/drivers/media/rc/ir-rc6-decoder.c ++++ b/drivers/media/rc/ir-rc6-decoder.c @@ -39,7 +39,6 @@ #define RC6_STARTBIT_MASK 0x08 /* for the header bits */ #define RC6_6A_MCE_TOGGLE_MASK 0x8000 /* for the body bits */ @@ -8,19 +10,19 @@ #ifndef CHAR_BIT #define CHAR_BIT 8 /* Normally in */ #endif -@@ -257,14 +256,9 @@ again: +@@ -252,14 +251,9 @@ static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev) toggle = 0; break; case 32: - if ((scancode & RC6_6A_LCC_MASK) == RC6_6A_MCE_CC) { -- protocol = RC_TYPE_RC6_MCE; +- protocol = RC_PROTO_RC6_MCE; - toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK); - scancode &= ~RC6_6A_MCE_TOGGLE_MASK; - } else { -- protocol = RC_TYPE_RC6_6A_32; +- protocol = RC_PROTO_RC6_6A_32; - toggle = 0; - } -+ protocol = RC_TYPE_RC6_MCE; ++ protocol = RC_PROTO_RC6_MCE; + toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK); + scancode &= ~RC6_6A_MCE_TOGGLE_MASK; break; diff --git a/packages/linux/patches/default/linux-999.99-iwlwifi-support_version_7_of_the_SCAN_REQ_UMAC_FW_command.patch b/packages/linux/patches/default/linux-999.99-iwlwifi-support_version_7_of_the_SCAN_REQ_UMAC_FW_command.patch new file mode 100644 index 0000000000..90673af0fb --- /dev/null +++ b/packages/linux/patches/default/linux-999.99-iwlwifi-support_version_7_of_the_SCAN_REQ_UMAC_FW_command.patch @@ -0,0 +1,322 @@ +From ca7e685439996448a6f9179354d23ab30f9b0879 Mon Sep 17 00:00:00 2001 +From: Luca Coelho +Date: Fri, 10 Nov 2017 14:03:36 +0200 +Subject: [PATCH] iwlwifi: mvm: support version 7 of the SCAN_REQ_UMAC FW + command + +Newer firmware versions (such as iwlwifi-8000C-34.ucode) have +introduced an API change in the SCAN_REQ_UMAC command that is not +backwards compatible. The driver needs to detect and use the new API +format when the firmware reports it, otherwise the scan command will +not work properly, causing a command timeout. + +Fix this by adding a TLV that tells the driver that the new API is in +use and use the correct structures for it. + +Fixes: d7a5b3e9e42e ("iwlwifi: mvm: bump API to 34 for 8000 and up") +Signed-off-by: Luca Coelho +--- + drivers/net/wireless/intel/iwlwifi/fw/api/scan.h | 59 ++++++++++++---- + drivers/net/wireless/intel/iwlwifi/fw/file.h | 1 + + drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 6 ++ + drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 86 ++++++++++++++++++------ + 4 files changed, 118 insertions(+), 34 deletions(-) + +diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h b/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h +index 5a40092febfb..3bfc657f6b42 100644 +--- a/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h ++++ b/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h +@@ -531,6 +531,8 @@ struct iwl_scan_config_v1 { + } __packed; /* SCAN_CONFIG_DB_CMD_API_S */ + + #define SCAN_TWO_LMACS 2 ++#define SCAN_LB_LMAC_IDX 0 ++#define SCAN_HB_LMAC_IDX 1 + + struct iwl_scan_config { + __le32 flags; +@@ -578,6 +580,7 @@ enum iwl_umac_scan_general_flags { + IWL_UMAC_SCAN_GEN_FLAGS_MATCH = BIT(9), + IWL_UMAC_SCAN_GEN_FLAGS_EXTENDED_DWELL = BIT(10), + IWL_UMAC_SCAN_GEN_FLAGS_LMAC2_FRAGMENTED = BIT(11), ++ IWL_UMAC_SCAN_GEN_FLAGS_ADAPTIVE_DWELL = BIT(13), + }; + + /** +@@ -631,12 +634,17 @@ struct iwl_scan_req_umac_tail { + * @uid: scan id, &enum iwl_umac_scan_uid_offsets + * @ooc_priority: out of channel priority - &enum iwl_scan_priority + * @general_flags: &enum iwl_umac_scan_general_flags +- * @reserved2: for future use and alignment + * @scan_start_mac_id: report the scan start TSF time according to this mac TSF + * @extended_dwell: dwell time for channels 1, 6 and 11 + * @active_dwell: dwell time for active scan + * @passive_dwell: dwell time for passive scan + * @fragmented_dwell: dwell time for fragmented passive scan ++ * @adwell_default_n_aps: for adaptive dwell the default number of APs ++ * per channel ++ * @adwell_default_n_aps_social: for adaptive dwell the default ++ * number of APs per social (1,6,11) channel ++ * @adwell_max_budget: for adaptive dwell the maximal budget of TU to be added ++ * to total scan time + * @max_out_time: max out of serving channel time, per LMAC - for CDB there + * are 2 LMACs + * @suspend_time: max suspend time, per LMAC - for CDB there are 2 LMACs +@@ -644,6 +652,8 @@ struct iwl_scan_req_umac_tail { + * @channel_flags: &enum iwl_scan_channel_flags + * @n_channels: num of channels in scan request + * @reserved: for future use and alignment ++ * @reserved2: for future use and alignment ++ * @reserved3: for future use and alignment + * @data: &struct iwl_scan_channel_cfg_umac and + * &struct iwl_scan_req_umac_tail + */ +@@ -651,41 +661,64 @@ struct iwl_scan_req_umac { + __le32 flags; + __le32 uid; + __le32 ooc_priority; +- /* SCAN_GENERAL_PARAMS_API_S_VER_4 */ + __le16 general_flags; +- u8 reserved2; ++ u8 reserved; + u8 scan_start_mac_id; +- u8 extended_dwell; +- u8 active_dwell; +- u8 passive_dwell; +- u8 fragmented_dwell; + union { + struct { ++ u8 extended_dwell; ++ u8 active_dwell; ++ u8 passive_dwell; ++ u8 fragmented_dwell; + __le32 max_out_time; + __le32 suspend_time; + __le32 scan_priority; +- /* SCAN_CHANNEL_PARAMS_API_S_VER_4 */ ++ /* SCAN_CHANNEL_PARAMS_API_S_VER_1 */ + u8 channel_flags; + u8 n_channels; +- __le16 reserved; ++ __le16 reserved2; + u8 data[]; + } v1; /* SCAN_REQUEST_CMD_UMAC_API_S_VER_1 */ + struct { ++ u8 extended_dwell; ++ u8 active_dwell; ++ u8 passive_dwell; ++ u8 fragmented_dwell; + __le32 max_out_time[SCAN_TWO_LMACS]; + __le32 suspend_time[SCAN_TWO_LMACS]; + __le32 scan_priority; +- /* SCAN_CHANNEL_PARAMS_API_S_VER_4 */ ++ /* SCAN_CHANNEL_PARAMS_API_S_VER_1 */ + u8 channel_flags; + u8 n_channels; +- __le16 reserved; ++ __le16 reserved2; + u8 data[]; + } v6; /* SCAN_REQUEST_CMD_UMAC_API_S_VER_6 */ ++ struct { ++ u8 active_dwell; ++ u8 passive_dwell; ++ u8 fragmented_dwell; ++ u8 adwell_default_n_aps; ++ u8 adwell_default_n_aps_social; ++ u8 reserved3; ++ __le16 adwell_max_budget; ++ __le32 max_out_time[SCAN_TWO_LMACS]; ++ __le32 suspend_time[SCAN_TWO_LMACS]; ++ __le32 scan_priority; ++ /* SCAN_CHANNEL_PARAMS_API_S_VER_1 */ ++ u8 channel_flags; ++ u8 n_channels; ++ __le16 reserved2; ++ u8 data[]; ++ } v7; /* SCAN_REQUEST_CMD_UMAC_API_S_VER_7 */ + }; + } __packed; + +-#define IWL_SCAN_REQ_UMAC_SIZE sizeof(struct iwl_scan_req_umac) ++#define IWL_SCAN_REQ_UMAC_SIZE_V7 sizeof(struct iwl_scan_req_umac) ++#define IWL_SCAN_REQ_UMAC_SIZE_V6 (sizeof(struct iwl_scan_req_umac) - \ ++ 2 * sizeof(u8) - sizeof(__le16)) + #define IWL_SCAN_REQ_UMAC_SIZE_V1 (sizeof(struct iwl_scan_req_umac) - \ +- 2 * sizeof(__le32)) ++ 2 * sizeof(__le32) - 2 * sizeof(u8) - \ ++ sizeof(__le16)) + + /** + * struct iwl_umac_scan_abort +diff --git a/drivers/net/wireless/intel/iwlwifi/fw/file.h b/drivers/net/wireless/intel/iwlwifi/fw/file.h +index 740d97093d1c..37a5c5b4eda6 100644 +--- a/drivers/net/wireless/intel/iwlwifi/fw/file.h ++++ b/drivers/net/wireless/intel/iwlwifi/fw/file.h +@@ -264,6 +264,7 @@ enum iwl_ucode_tlv_api { + IWL_UCODE_TLV_API_STA_TYPE = (__force iwl_ucode_tlv_api_t)30, + IWL_UCODE_TLV_API_NAN2_VER2 = (__force iwl_ucode_tlv_api_t)31, + /* API Set 1 */ ++ IWL_UCODE_TLV_API_ADAPTIVE_DWELL = (__force iwl_ucode_tlv_api_t)32, + IWL_UCODE_TLV_API_NEW_BEACON_TEMPLATE = (__force iwl_ucode_tlv_api_t)34, + IWL_UCODE_TLV_API_NEW_RX_STATS = (__force iwl_ucode_tlv_api_t)35, + IWL_UCODE_TLV_API_COEX_ATS_EXTERNAL = (__force iwl_ucode_tlv_api_t)37, +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h +index 0e18c5066f04..4575595ab022 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h +@@ -1142,6 +1142,12 @@ static inline bool iwl_mvm_is_d0i3_supported(struct iwl_mvm *mvm) + IWL_UCODE_TLV_CAPA_D0I3_SUPPORT); + } + ++static inline bool iwl_mvm_is_adaptive_dwell_supported(struct iwl_mvm *mvm) ++{ ++ return fw_has_api(&mvm->fw->ucode_capa, ++ IWL_UCODE_TLV_API_ADAPTIVE_DWELL); ++} ++ + static inline bool iwl_mvm_enter_d0i3_on_suspend(struct iwl_mvm *mvm) + { + /* For now we only use this mode to differentiate between +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c +index 774122fed454..e4fd476e9ccb 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c +@@ -130,6 +130,19 @@ struct iwl_mvm_scan_params { + u32 measurement_dwell; + }; + ++static inline void *iwl_mvm_get_scan_req_umac_data(struct iwl_mvm *mvm) ++{ ++ struct iwl_scan_req_umac *cmd = mvm->scan_cmd; ++ ++ if (iwl_mvm_is_adaptive_dwell_supported(mvm)) ++ return (void *)&cmd->v7.data; ++ ++ if (iwl_mvm_has_new_tx_api(mvm)) ++ return (void *)&cmd->v6.data; ++ ++ return (void *)&cmd->v1.data; ++} ++ + static u8 iwl_mvm_scan_rx_ant(struct iwl_mvm *mvm) + { + if (mvm->scan_rx_ant != ANT_NONE) +@@ -1075,25 +1088,57 @@ static void iwl_mvm_scan_umac_dwell(struct iwl_mvm *mvm, + { + struct iwl_mvm_scan_timing_params *timing = &scan_timing[params->type]; + ++ if (iwl_mvm_is_regular_scan(params)) ++ cmd->ooc_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6); ++ else ++ cmd->ooc_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_2); ++ ++ if (iwl_mvm_is_adaptive_dwell_supported(mvm)) { ++ if (params->measurement_dwell) { ++ cmd->v7.active_dwell = params->measurement_dwell; ++ cmd->v7.passive_dwell = params->measurement_dwell; ++ } else { ++ cmd->v7.active_dwell = IWL_SCAN_DWELL_ACTIVE; ++ cmd->v7.passive_dwell = IWL_SCAN_DWELL_PASSIVE; ++ } ++ cmd->v7.fragmented_dwell = IWL_SCAN_DWELL_FRAGMENTED; ++ ++ cmd->v7.scan_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6); ++ cmd->v7.max_out_time[SCAN_LB_LMAC_IDX] = ++ cpu_to_le32(timing->max_out_time); ++ cmd->v7.suspend_time[SCAN_LB_LMAC_IDX] = ++ cpu_to_le32(timing->suspend_time); ++ if (iwl_mvm_is_cdb_supported(mvm)) { ++ cmd->v7.max_out_time[SCAN_HB_LMAC_IDX] = ++ cpu_to_le32(timing->max_out_time); ++ cmd->v7.suspend_time[SCAN_HB_LMAC_IDX] = ++ cpu_to_le32(timing->suspend_time); ++ } ++ ++ return; ++ } ++ + if (params->measurement_dwell) { +- cmd->active_dwell = params->measurement_dwell; +- cmd->passive_dwell = params->measurement_dwell; +- cmd->extended_dwell = params->measurement_dwell; ++ cmd->v1.active_dwell = params->measurement_dwell; ++ cmd->v1.passive_dwell = params->measurement_dwell; ++ cmd->v1.extended_dwell = params->measurement_dwell; + } else { +- cmd->active_dwell = IWL_SCAN_DWELL_ACTIVE; +- cmd->passive_dwell = IWL_SCAN_DWELL_PASSIVE; +- cmd->extended_dwell = IWL_SCAN_DWELL_EXTENDED; ++ cmd->v1.active_dwell = IWL_SCAN_DWELL_ACTIVE; ++ cmd->v1.passive_dwell = IWL_SCAN_DWELL_PASSIVE; ++ cmd->v1.extended_dwell = IWL_SCAN_DWELL_EXTENDED; + } +- cmd->fragmented_dwell = IWL_SCAN_DWELL_FRAGMENTED; ++ cmd->v1.fragmented_dwell = IWL_SCAN_DWELL_FRAGMENTED; + + if (iwl_mvm_has_new_tx_api(mvm)) { + cmd->v6.scan_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6); +- cmd->v6.max_out_time[0] = cpu_to_le32(timing->max_out_time); +- cmd->v6.suspend_time[0] = cpu_to_le32(timing->suspend_time); ++ cmd->v6.max_out_time[SCAN_LB_LMAC_IDX] = ++ cpu_to_le32(timing->max_out_time); ++ cmd->v6.suspend_time[SCAN_LB_LMAC_IDX] = ++ cpu_to_le32(timing->suspend_time); + if (iwl_mvm_is_cdb_supported(mvm)) { +- cmd->v6.max_out_time[1] = ++ cmd->v6.max_out_time[SCAN_HB_LMAC_IDX] = + cpu_to_le32(timing->max_out_time); +- cmd->v6.suspend_time[1] = ++ cmd->v6.suspend_time[SCAN_HB_LMAC_IDX] = + cpu_to_le32(timing->suspend_time); + } + } else { +@@ -1102,11 +1147,6 @@ static void iwl_mvm_scan_umac_dwell(struct iwl_mvm *mvm, + cmd->v1.scan_priority = + cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6); + } +- +- if (iwl_mvm_is_regular_scan(params)) +- cmd->ooc_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6); +- else +- cmd->ooc_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_2); + } + + static void +@@ -1178,8 +1218,7 @@ static int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, + int type) + { + struct iwl_scan_req_umac *cmd = mvm->scan_cmd; +- void *cmd_data = iwl_mvm_has_new_tx_api(mvm) ? +- (void *)&cmd->v6.data : (void *)&cmd->v1.data; ++ void *cmd_data = iwl_mvm_get_scan_req_umac_data(mvm); + struct iwl_scan_req_umac_tail *sec_part = cmd_data + + sizeof(struct iwl_scan_channel_cfg_umac) * + mvm->fw->ucode_capa.n_scan_channels; +@@ -1216,7 +1255,10 @@ static int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, + IWL_SCAN_CHANNEL_FLAG_EBS_ACCURATE | + IWL_SCAN_CHANNEL_FLAG_CACHE_ADD; + +- if (iwl_mvm_has_new_tx_api(mvm)) { ++ if (iwl_mvm_is_adaptive_dwell_supported(mvm)) { ++ cmd->v7.channel_flags = channel_flags; ++ cmd->v7.n_channels = params->n_channels; ++ } else if (iwl_mvm_has_new_tx_api(mvm)) { + cmd->v6.channel_flags = channel_flags; + cmd->v6.n_channels = params->n_channels; + } else { +@@ -1661,8 +1703,10 @@ int iwl_mvm_scan_size(struct iwl_mvm *mvm) + { + int base_size = IWL_SCAN_REQ_UMAC_SIZE_V1; + +- if (iwl_mvm_has_new_tx_api(mvm)) +- base_size = IWL_SCAN_REQ_UMAC_SIZE; ++ if (iwl_mvm_is_adaptive_dwell_supported(mvm)) ++ base_size = IWL_SCAN_REQ_UMAC_SIZE_V7; ++ else if (iwl_mvm_has_new_tx_api(mvm)) ++ base_size = IWL_SCAN_REQ_UMAC_SIZE_V6; + + if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN)) + return base_size + +-- +2.14.2 + diff --git a/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0010-kernel-4.14.patch b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0010-kernel-4.14.patch new file mode 100644 index 0000000000..9aae52c82c --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia-legacy/patches/xf86-video-nvidia-legacy-0010-kernel-4.14.patch @@ -0,0 +1,37 @@ +From 5c9e8a994fe8529388ab159e0aa371c75bc3d17b Mon Sep 17 00:00:00 2001 +From: MilhouseVH +Date: Thu, 21 Sep 2017 04:22:12 +0100 +Subject: [PATCH] drm/pci: drm_pci_init/exit now deprecated + +As per: https://github.com/torvalds/linux/commit/10631d724deff712343d96dd3017cd323349f761 + +Use legacy variant, as pci_[un]register_driver currently fails. +--- + kernel/nv-drm.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kernel/nv-drm.c b/kernel/nv-drm.c +index 2aa7cc8..23df996 100644 +--- a/kernel/nv-drm.c ++++ b/kernel/nv-drm.c +@@ -173,7 +173,7 @@ int __init nv_drm_init( + { + int ret = 0; + #if defined(NV_DRM_AVAILABLE) +- ret = drm_pci_init(&nv_drm_driver, pci_driver); ++ ret = drm_legacy_pci_init(&nv_drm_driver, pci_driver); + #endif + return ret; + } +@@ -183,7 +183,7 @@ void nv_drm_exit( + ) + { + #if defined(NV_DRM_AVAILABLE) +- drm_pci_exit(&nv_drm_driver, pci_driver); ++ drm_legacy_pci_exit(&nv_drm_driver, pci_driver); + #endif + } + +-- +2.7.4 + diff --git a/projects/Generic/linux/linux.x86_64.conf b/projects/Generic/linux/linux.x86_64.conf index 28f289831e..2591ebe328 100644 --- a/projects/Generic/linux/linux.x86_64.conf +++ b/projects/Generic/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.13.0 Kernel Configuration +# Linux/x86_64 4.14.0-rc5 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -215,6 +215,7 @@ CONFIG_ELF_CORE=y # CONFIG_PCSPKR_PLATFORM is not set CONFIG_BASE_FULL=y CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y @@ -244,6 +245,7 @@ CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_SYSTEM_DATA_VERIFICATION is not set # CONFIG_PROFILING is not set @@ -283,6 +285,7 @@ CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_RCU_TABLE_FREE=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y @@ -307,6 +310,7 @@ CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y @@ -430,7 +434,7 @@ CONFIG_X86_FAST_FEATURE_TESTS=y # CONFIG_X86_X2APIC is not set CONFIG_X86_MPPARSE=y # CONFIG_GOLDFISH is not set -# CONFIG_INTEL_RDT_A is not set +# CONFIG_INTEL_RDT is not set # CONFIG_X86_EXTENDED_PLATFORM is not set CONFIG_X86_INTEL_LPSS=y CONFIG_X86_AMD_PLATFORM_DEVICE=y @@ -502,9 +506,12 @@ CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=y CONFIG_X86_CPUID=y +# CONFIG_X86_5LEVEL is not set CONFIG_ARCH_PHYS_ADDR_T_64BIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_X86_DIRECT_GBPAGES=y +CONFIG_ARCH_HAS_MEM_ENCRYPT=y +# CONFIG_AMD_MEM_ENCRYPT is not set CONFIG_NUMA=y # CONFIG_AMD_NUMA is not set CONFIG_X86_64_ACPI_NUMA=y @@ -537,6 +544,7 @@ CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_MIGRATION=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y @@ -609,6 +617,7 @@ CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init usbcore.autosuspend=-1" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_MODIFY_LDT_SYSCALL=y CONFIG_HAVE_LIVEPATCH=y +CONFIG_ARCH_HAS_ADD_PAGES=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_USE_PERCPU_NUMA_NODE_ID=y @@ -898,7 +907,6 @@ CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_NET_PTP_CLASSIFY=y # CONFIG_NETWORK_PHY_TIMESTAMPING is not set CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=m @@ -1168,6 +1176,7 @@ CONFIG_DNS_RESOLVER=y # CONFIG_VSOCKETS is not set # CONFIG_NETLINK_DIAG is not set # CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set # CONFIG_HSR is not set # CONFIG_NET_SWITCHDEV is not set # CONFIG_NET_L3_MASTER_DEV is not set @@ -1190,7 +1199,6 @@ CONFIG_NET_FLOW_LIMIT=y # CONFIG_NET_DROP_MONITOR is not set # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set -# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m @@ -1328,7 +1336,6 @@ CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -# CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set @@ -1706,7 +1713,6 @@ CONFIG_B44=y CONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=y -# CONFIG_BCMGENET is not set CONFIG_BNX2=y CONFIG_CNIC=y CONFIG_TIGON3=y @@ -1738,6 +1744,7 @@ CONFIG_ULI526X=y CONFIG_NET_VENDOR_EZCHIP=y # CONFIG_NET_VENDOR_EXAR is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_E100=y CONFIG_E1000=y @@ -1849,6 +1856,7 @@ CONFIG_MARVELL_PHY=y # CONFIG_NATIONAL_PHY is not set # CONFIG_QSEMI_PHY is not set CONFIG_REALTEK_PHY=y +# CONFIG_ROCKCHIP_PHY is not set # CONFIG_SMSC_PHY is not set # CONFIG_STE10XP is not set # CONFIG_TERANETICS_PHY is not set @@ -2317,6 +2325,7 @@ CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_ALTERA_PS2 is not set # CONFIG_SERIO_PS2MULT is not set # CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_USERIO is not set # CONFIG_GAMEPORT is not set @@ -2412,7 +2421,6 @@ CONFIG_I2C_MUX=m # CONFIG_I2C_MUX_LTC4306 is not set # CONFIG_I2C_MUX_PCA9541 is not set # CONFIG_I2C_MUX_PCA954x is not set -# CONFIG_I2C_MUX_PINCTRL is not set # CONFIG_I2C_MUX_REG is not set # CONFIG_I2C_MUX_MLXCPLD is not set CONFIG_I2C_HELPER_AUTO=y @@ -2525,7 +2533,9 @@ CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_CHERRYVIEW=y # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set +# CONFIG_PINCTRL_DENVERTON is not set # CONFIG_PINCTRL_GEMINILAKE is not set +# CONFIG_PINCTRL_LEWISBURG is not set # CONFIG_PINCTRL_SUNRISEPOINT is not set CONFIG_GPIOLIB=y CONFIG_GPIO_ACPI=y @@ -2790,10 +2800,6 @@ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y # CONFIG_SSB_DRIVER_GPIO is not set CONFIG_BCMA_POSSIBLE=y - -# -# Broadcom specific AMBA -# CONFIG_BCMA=m CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y @@ -2811,6 +2817,7 @@ CONFIG_MFD_CORE=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_MFD_AAT2870_CORE is not set # CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_PMIC_DA903X is not set @@ -2871,6 +2878,7 @@ CONFIG_MFD_RTSX_USB=y # CONFIG_MFD_TPS65086 is not set # CONFIG_MFD_TPS65090 is not set # CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TPS68470 is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TPS65218 is not set # CONFIG_MFD_TPS6586X is not set @@ -2889,43 +2897,6 @@ CONFIG_MFD_RTSX_USB=y # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8994 is not set # CONFIG_REGULATOR is not set -CONFIG_MEDIA_SUPPORT=m - -# -# Multimedia core support -# -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -# CONFIG_MEDIA_RADIO_SUPPORT is not set -# CONFIG_MEDIA_SDR_SUPPORT is not set -CONFIG_MEDIA_RC_SUPPORT=y -# CONFIG_MEDIA_CEC_SUPPORT is not set -# CONFIG_MEDIA_CONTROLLER is not set -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_V4L2=m -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -CONFIG_VIDEO_TUNER=m -CONFIG_VIDEOBUF_GEN=m -CONFIG_VIDEOBUF_DMA_SG=m -CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m -CONFIG_VIDEOBUF2_CORE=m -CONFIG_VIDEOBUF2_MEMOPS=m -CONFIG_VIDEOBUF2_VMALLOC=m -CONFIG_VIDEOBUF2_DMA_SG=m -CONFIG_VIDEOBUF2_DVB=m -CONFIG_DVB_CORE=m -CONFIG_DVB_NET=y -CONFIG_TTPCI_EEPROM=m -CONFIG_DVB_MAX_ADAPTERS=8 -# CONFIG_DVB_DYNAMIC_MINORS is not set -# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set - -# -# Media drivers -# CONFIG_RC_CORE=m CONFIG_RC_MAP=m CONFIG_RC_DECODERS=y @@ -2957,9 +2928,46 @@ CONFIG_IR_IGUANA=m CONFIG_IR_TTUSBIR=m # CONFIG_RC_LOOPBACK is not set # CONFIG_IR_GPIO_CIR is not set +# CONFIG_IR_GPIO_TX is not set CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y # CONFIG_IR_SIR is not set +CONFIG_MEDIA_SUPPORT=m + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_CEC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2=m +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEOBUF2_DMA_SG=m +CONFIG_VIDEOBUF2_DVB=m +CONFIG_DVB_CORE=m +CONFIG_DVB_NET=y +CONFIG_TTPCI_EEPROM=m +CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_DYNAMIC_MINORS is not set +# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set + +# +# Media drivers +# CONFIG_MEDIA_USB_SUPPORT=y # @@ -3124,6 +3132,7 @@ CONFIG_DVB_MANTIS=m # CONFIG_DVB_HOPPER is not set CONFIG_DVB_NGENE=m CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set CONFIG_DVB_SMIPCIE=m # CONFIG_V4L_PLATFORM_DRIVERS is not set # CONFIG_V4L_MEM2MEM_DRIVERS is not set @@ -3257,7 +3266,10 @@ CONFIG_MEDIA_TUNER_QM1D1C0042=m CONFIG_DVB_STB0899=m CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m +CONFIG_DVB_STV0910=m CONFIG_DVB_STV6110x=m +CONFIG_DVB_STV6111=m +CONFIG_DVB_MXL5XX=m CONFIG_DVB_M88DS3103=m # @@ -3371,6 +3383,7 @@ CONFIG_DVB_TUNER_DIB0090=m # SEC control devices for DVB-S # CONFIG_DVB_DRX39XYJ=m +CONFIG_DVB_LNBH25=m CONFIG_DVB_LNBP21=m CONFIG_DVB_LNBP22=m CONFIG_DVB_ISL6405=m @@ -3783,7 +3796,6 @@ CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m -CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m # CONFIG_SND_SOC_INTEL_SKL_RT286_MACH is not set # CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH is not set @@ -3822,6 +3834,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS43130 is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DA7213=m @@ -3843,7 +3856,6 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM512x_I2C is not set CONFIG_SND_SOC_RL6231=m -CONFIG_SND_SOC_RT5514=m # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5640=m @@ -3870,6 +3882,7 @@ CONFIG_SND_SOC_SPDIF=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 is not set # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -4208,7 +4221,6 @@ CONFIG_USB_SERIAL_PL2303=m # CONFIG_USB_ULPI_BUS is not set # CONFIG_UWB is not set CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=32 # CONFIG_SDIO_UART is not set @@ -4217,6 +4229,7 @@ CONFIG_MMC_BLOCK_MINORS=32 # # MMC/SD/SDIO Host Controller Drivers # +# CONFIG_MMC_DEBUG is not set CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PCI=y # CONFIG_MMC_RICOH_MMC is not set @@ -4243,6 +4256,7 @@ CONFIG_LEDS_CLASS_FLASH=y # # LED drivers # +# CONFIG_LEDS_AS3645A is not set # CONFIG_LEDS_LM3530 is not set # CONFIG_LEDS_LM3642 is not set # CONFIG_LEDS_PCA9532 is not set @@ -4391,6 +4405,7 @@ CONFIG_DMADEVICES=y CONFIG_DMA_ENGINE=y CONFIG_DMA_VIRTUAL_CHANNELS=m CONFIG_DMA_ACPI=y +# CONFIG_ALTERA_MSGDMA is not set CONFIG_INTEL_IDMA64=m CONFIG_INTEL_IOATDMA=m # CONFIG_QCOM_HIDMA_MGMT is not set @@ -4442,6 +4457,7 @@ CONFIG_VIRTIO_MMIO=y # CONFIG_HYPERV is not set # CONFIG_HYPERV_TSCPAGE is not set CONFIG_STAGING=y +# CONFIG_IRDA is not set # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set CONFIG_RTL8192U=m @@ -4449,6 +4465,7 @@ CONFIG_RTL8192U=m CONFIG_RTL8723BS=m CONFIG_R8712U=m # CONFIG_R8188EU is not set +# CONFIG_R8822BE is not set CONFIG_RTS5208=y # CONFIG_VT6655 is not set CONFIG_VT6656=m @@ -4585,6 +4602,10 @@ CONFIG_PCC=y # SOC (System On Chip) specific Drivers # +# +# Amlogic SoC drivers +# + # # Broadcom SoC drivers # @@ -4592,6 +4613,10 @@ CONFIG_PCC=y # # i.MX SoC drivers # + +# +# Qualcomm SoC drivers +# # CONFIG_SUNXI_SRAM is not set # CONFIG_SOC_TI is not set # CONFIG_PM_DEVFREQ is not set @@ -4606,8 +4631,8 @@ CONFIG_ARM_GIC_MAX_NR=1 CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_ATH79 is not set # CONFIG_RESET_BERLIN is not set -# CONFIG_RESET_GEMINI is not set # CONFIG_RESET_IMX7 is not set +# CONFIG_RESET_LANTIQ is not set # CONFIG_RESET_LPC18XX is not set # CONFIG_RESET_MESON is not set # CONFIG_RESET_PISTACHIO is not set @@ -4645,10 +4670,6 @@ CONFIG_THUNDERBOLT=m CONFIG_NVMEM=y # CONFIG_STM is not set # CONFIG_INTEL_TH is not set - -# -# FPGA Configuration Support -# # CONFIG_FPGA is not set # @@ -4682,6 +4703,7 @@ CONFIG_EFI_RUNTIME_WRAPPERS=y # CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_TEST is not set CONFIG_APPLE_PROPERTIES=y +# CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_EFI_DEV_PATH_PARSER=y # @@ -4823,6 +4845,7 @@ CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 @@ -4959,8 +4982,7 @@ CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y -CONFIG_ARCH_WANT_FRAME_POINTERS=y -# CONFIG_FRAME_POINTER is not set +CONFIG_FRAME_POINTER=y # CONFIG_STACK_VALIDATION is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set CONFIG_MAGIC_SYSRQ=y @@ -5111,6 +5133,8 @@ CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_TRACE_EVAL_MAP_FILE is not set CONFIG_TRACING_EVENTS_GPIO=y +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_DMA_API_DEBUG is not set # # Runtime Testing @@ -5132,18 +5156,16 @@ CONFIG_TRACING_EVENTS_GPIO=y # CONFIG_TEST_UUID is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set -# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set -# CONFIG_DMA_API_DEBUG is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_USER_COPY is not set # CONFIG_TEST_BPF is not set # CONFIG_TEST_FIRMWARE is not set # CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set -# CONFIG_MEMTEST is not set # CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_TEST_KMOD is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set @@ -5181,6 +5203,9 @@ CONFIG_OPTIMIZE_INLINING=y # CONFIG_DEBUG_NMI_SELFTEST is not set CONFIG_X86_DEBUG_FPU=y # CONFIG_PUNIT_ATOM_DEBUG is not set +CONFIG_FRAME_POINTER_UNWINDER=y +# CONFIG_ORC_UNWINDER is not set +# CONFIG_GUESS_UNWINDER is not set # # Security options @@ -5400,6 +5425,7 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC7 is not set CONFIG_LIBCRC32C=m # CONFIG_CRC8 is not set +CONFIG_XXHASH=y # CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set # CONFIG_RANDOM32_SELFTEST is not set CONFIG_ZLIB_INFLATE=y @@ -5407,6 +5433,8 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y # CONFIG_XZ_DEC_X86 is not set # CONFIG_XZ_DEC_POWERPC is not set @@ -5445,5 +5473,5 @@ CONFIG_SG_POOL=y CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAS_PMEM_API=y CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y -CONFIG_ARCH_HAS_MMIO_FLUSH=y CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set diff --git a/projects/RPi/devices/RPi/linux/linux.arm.conf b/projects/RPi/devices/RPi/linux/linux.arm.conf index b5d5efe7c0..4f26ca81db 100644 --- a/projects/RPi/devices/RPi/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.13.8 Kernel Configuration +# Linux/arm 4.14.0-rc5 Kernel Configuration # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -169,6 +169,7 @@ CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y @@ -197,6 +198,7 @@ CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set # CONFIG_SYSTEM_DATA_VERIFICATION is not set # CONFIG_PROFILING is not set CONFIG_TRACEPOINTS=y @@ -566,7 +568,6 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y # CPU frequency scaling drivers # # CONFIG_CPUFREQ_DT is not set -# CONFIG_ARM_DB8500_CPUFREQ is not set # CONFIG_ARM_KIRKWOOD_CPUFREQ is not set CONFIG_ARM_BCM2835_CPUFREQ=y # CONFIG_QORIQ_CPUFREQ is not set @@ -713,7 +714,6 @@ CONFIG_IPV6_NDISC_NODETYPE=y # CONFIG_NET_PTP_CLASSIFY is not set # CONFIG_NETWORK_PHY_TIMESTAMPING is not set CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=m @@ -983,6 +983,7 @@ CONFIG_DNS_RESOLVER=y # CONFIG_VSOCKETS is not set # CONFIG_NETLINK_DIAG is not set # CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set # CONFIG_HSR is not set # CONFIG_NET_SWITCHDEV is not set # CONFIG_NET_L3_MASTER_DEV is not set @@ -1001,7 +1002,6 @@ CONFIG_BQL=y # CONFIG_NET_DROP_MONITOR is not set # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set -# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m @@ -1030,7 +1030,6 @@ CONFIG_BT_HCIUART_H4=y # CONFIG_BT_HCIUART_ATH3K is not set CONFIG_BT_HCIUART_3WIRE=y # CONFIG_BT_HCIUART_INTEL is not set -CONFIG_BT_HCIUART_BCM=y # CONFIG_BT_HCIUART_QCA is not set # CONFIG_BT_HCIUART_AG6XX is not set # CONFIG_BT_HCIUART_MRVL is not set @@ -1088,7 +1087,7 @@ CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y # CONFIG_NET_DEVLINK is not set CONFIG_MAY_USE_DEVLINK=y -CONFIG_HAVE_CBPF_JIT=y +CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -1367,6 +1366,7 @@ CONFIG_MICROCHIP_PHY=m # CONFIG_NATIONAL_PHY is not set # CONFIG_QSEMI_PHY is not set # CONFIG_REALTEK_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set # CONFIG_SMSC_PHY is not set # CONFIG_STE10XP is not set # CONFIG_TERANETICS_PHY is not set @@ -1696,6 +1696,8 @@ CONFIG_INPUT_MISC=y # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_UINPUT=y # CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set # CONFIG_INPUT_ADXL34X is not set # CONFIG_INPUT_IMS_PCU is not set @@ -1728,6 +1730,7 @@ CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PS2MULT is not set # CONFIG_SERIO_ARC_PS2 is not set # CONFIG_SERIO_APBPS2 is not set +# CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_USERIO is not set # CONFIG_GAMEPORT is not set @@ -1933,6 +1936,7 @@ CONFIG_PINCTRL_BCM2835=y CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y CONFIG_GPIOLIB=y CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y @@ -2003,6 +2007,7 @@ CONFIG_W1_SLAVE_THERM=m # CONFIG_W1_SLAVE_DS2413 is not set # CONFIG_W1_SLAVE_DS2406 is not set # CONFIG_W1_SLAVE_DS2423 is not set +# CONFIG_W1_SLAVE_DS2805 is not set # CONFIG_W1_SLAVE_DS2431 is not set # CONFIG_W1_SLAVE_DS2433 is not set # CONFIG_W1_SLAVE_DS2438 is not set @@ -2010,7 +2015,6 @@ CONFIG_W1_SLAVE_THERM=m # CONFIG_W1_SLAVE_DS2780 is not set # CONFIG_W1_SLAVE_DS2781 is not set # CONFIG_W1_SLAVE_DS28E04 is not set -# CONFIG_W1_SLAVE_BQ27000 is not set # CONFIG_POWER_AVS is not set CONFIG_POWER_RESET=y # CONFIG_POWER_RESET_BRCMKONA is not set @@ -2032,6 +2036,7 @@ CONFIG_POWER_SUPPLY=y # CONFIG_BATTERY_BQ27XXX is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_LP8727 is not set # CONFIG_CHARGER_GPIO is not set @@ -2134,6 +2139,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_NCT7904 is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set +# CONFIG_SENSORS_PWM_FAN is not set # CONFIG_SENSORS_SHT15 is not set # CONFIG_SENSORS_SHT21 is not set # CONFIG_SENSORS_SHT3x is not set @@ -2243,10 +2249,6 @@ CONFIG_SSB_SDIOHOST_POSSIBLE=y # CONFIG_SSB_DEBUG is not set # CONFIG_SSB_DRIVER_GPIO is not set CONFIG_BCMA_POSSIBLE=y - -# -# Broadcom specific AMBA -# CONFIG_BCMA=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_HOST_SOC is not set @@ -2267,6 +2269,7 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_ATMEL_FLEXCOM is not set # CONFIG_MFD_ATMEL_HLCDC is not set # CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_ASIC3 is not set @@ -2389,6 +2392,7 @@ CONFIG_REGULATOR_ARIZONA_MICSUPP=m # CONFIG_REGULATOR_PV88060 is not set # CONFIG_REGULATOR_PV88080 is not set # CONFIG_REGULATOR_PV88090 is not set +# CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -2396,40 +2400,6 @@ CONFIG_REGULATOR_ARIZONA_MICSUPP=m # CONFIG_REGULATOR_TPS65132 is not set # CONFIG_REGULATOR_TPS6524X is not set # CONFIG_REGULATOR_VCTRL is not set -CONFIG_MEDIA_SUPPORT=m - -# -# Multimedia core support -# -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -CONFIG_MEDIA_RADIO_SUPPORT=y -# CONFIG_MEDIA_SDR_SUPPORT is not set -CONFIG_MEDIA_RC_SUPPORT=y -# CONFIG_MEDIA_CEC_SUPPORT is not set -# CONFIG_MEDIA_CONTROLLER is not set -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_V4L2=m -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -CONFIG_VIDEO_TUNER=m -CONFIG_VIDEOBUF_GEN=m -CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m -CONFIG_VIDEOBUF2_CORE=m -CONFIG_VIDEOBUF2_MEMOPS=m -CONFIG_VIDEOBUF2_VMALLOC=m -CONFIG_DVB_CORE=m -CONFIG_DVB_NET=y -CONFIG_TTPCI_EEPROM=m -CONFIG_DVB_MAX_ADAPTERS=8 -# CONFIG_DVB_DYNAMIC_MINORS is not set -# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set - -# -# Media drivers -# CONFIG_RC_CORE=m CONFIG_RC_MAP=m CONFIG_RC_DECODERS=y @@ -2457,8 +2427,43 @@ CONFIG_IR_IGUANA=m CONFIG_IR_TTUSBIR=m # CONFIG_RC_LOOPBACK is not set CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m +CONFIG_IR_PWM_TX=m # CONFIG_IR_SERIAL is not set # CONFIG_IR_SIR is not set +CONFIG_MEDIA_SUPPORT=m + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_CEC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2=m +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_DVB_CORE=m +CONFIG_DVB_NET=y +CONFIG_TTPCI_EEPROM=m +CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_DYNAMIC_MINORS is not set +# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set + +# +# Media drivers +# CONFIG_MEDIA_USB_SUPPORT=y # @@ -2874,6 +2879,7 @@ CONFIG_DRM_PANEL_BRIDGE=y # CONFIG_DRM_I2C_ADV7511 is not set # CONFIG_DRM_STI is not set CONFIG_DRM_VC4=m +# CONFIG_DRM_VC4_HDMI_CEC is not set # CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_MXSFB is not set # CONFIG_DRM_TINYDRM is not set @@ -2941,11 +2947,14 @@ CONFIG_LCD_CLASS_DEVICE=y # CONFIG_LCD_HX8357 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set +# CONFIG_BACKLIGHT_PWM is not set CONFIG_BACKLIGHT_RPI=y # CONFIG_BACKLIGHT_PM8941_WLED is not set # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_LP855X is not set CONFIG_BACKLIGHT_GPIO=y # CONFIG_BACKLIGHT_LV5207LP is not set # CONFIG_BACKLIGHT_BD6107 is not set @@ -3099,6 +3108,7 @@ CONFIG_SND_SOC_CS4265=m # CONFIG_SND_SOC_CS4271_SPI is not set CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m +# CONFIG_SND_SOC_CS43130 is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set # CONFIG_SND_SOC_DIO2125 is not set @@ -3149,6 +3159,7 @@ CONFIG_SND_SOC_TAS5713=m CONFIG_SND_SOC_WM5102=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 is not set # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -3474,7 +3485,6 @@ CONFIG_USB_SERIAL_PL2303=m # CONFIG_USB_ULPI_BUS is not set # CONFIG_UWB is not set CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set CONFIG_PWRSEQ_EMMC=y CONFIG_PWRSEQ_SIMPLE=y CONFIG_MMC_BLOCK=y @@ -3489,6 +3499,7 @@ CONFIG_MMC_BCM2835_MMC=y CONFIG_MMC_BCM2835_DMA=y CONFIG_MMC_BCM2835_PIO_DMA_BARRIER=2 CONFIG_MMC_BCM2835_SDHOST=y +# CONFIG_MMC_DEBUG is not set # CONFIG_MMC_ARMMMCI is not set CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y @@ -3516,6 +3527,7 @@ CONFIG_LEDS_CLASS_FLASH=y # LED drivers # # CONFIG_LEDS_AAT1290 is not set +# CONFIG_LEDS_AS3645A is not set # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_LM3530 is not set @@ -3532,6 +3544,7 @@ CONFIG_LEDS_GPIO=y # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_PCA963X is not set # CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_PWM is not set # CONFIG_LEDS_REGULATOR is not set # CONFIG_LEDS_BD2802 is not set # CONFIG_LEDS_LT3593 is not set @@ -3687,6 +3700,7 @@ CONFIG_DMADEVICES=y CONFIG_DMA_ENGINE=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_OF=y +# CONFIG_ALTERA_MSGDMA is not set # CONFIG_AMBA_PL08X is not set CONFIG_DMA_BCM2835=y # CONFIG_FSL_EDMA is not set @@ -3723,6 +3737,7 @@ CONFIG_SYNC_FILE=y # # CONFIG_HYPERV_TSCPAGE is not set CONFIG_STAGING=y +# CONFIG_IRDA is not set # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set # CONFIG_RTLLIB is not set @@ -3762,6 +3777,7 @@ CONFIG_SND_BCM2835=m # USB Power Delivery and Type-C drivers # # CONFIG_TYPEC_TCPM is not set +# CONFIG_PI433 is not set # CONFIG_GOLDFISH is not set # CONFIG_CHROME_PLATFORMS is not set CONFIG_CLKDEV_LOOKUP=y @@ -3771,6 +3787,7 @@ CONFIG_COMMON_CLK=y # # Common Clock Framework # +# CONFIG_CLK_HSDK is not set # CONFIG_COMMON_CLK_SI5351 is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI570 is not set @@ -3779,6 +3796,7 @@ CONFIG_COMMON_CLK=y # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_CLK_QORIQ is not set # CONFIG_COMMON_CLK_NXP is not set +# CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_PXA is not set # CONFIG_COMMON_CLK_PIC32 is not set # CONFIG_COMMON_CLK_VC5 is not set @@ -3820,6 +3838,10 @@ CONFIG_BCM2835_MBOX=y # SOC (System On Chip) specific Drivers # +# +# Amlogic SoC drivers +# + # # Broadcom SoC drivers # @@ -3829,6 +3851,10 @@ CONFIG_RASPBERRYPI_POWER=y # # i.MX SoC drivers # + +# +# Qualcomm SoC drivers +# # CONFIG_SUNXI_SRAM is not set # CONFIG_SOC_TI is not set # CONFIG_PM_DEVFREQ is not set @@ -3845,15 +3871,19 @@ CONFIG_EXTCON_ARIZONA=m # CONFIG_EXTCON_USB_GPIO is not set # CONFIG_MEMORY is not set # CONFIG_IIO is not set -# CONFIG_PWM is not set +CONFIG_PWM=y +CONFIG_PWM_SYSFS=y +CONFIG_PWM_BCM2835=m +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_PCA9685 is not set CONFIG_IRQCHIP=y CONFIG_ARM_GIC_MAX_NR=1 # CONFIG_IPACK_BUS is not set CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_ATH79 is not set # CONFIG_RESET_BERLIN is not set -# CONFIG_RESET_GEMINI is not set # CONFIG_RESET_IMX7 is not set +# CONFIG_RESET_LANTIQ is not set # CONFIG_RESET_LPC18XX is not set # CONFIG_RESET_MESON is not set # CONFIG_RESET_PISTACHIO is not set @@ -3884,10 +3914,6 @@ CONFIG_RESET_CONTROLLER=y CONFIG_NVMEM=y # CONFIG_STM is not set # CONFIG_INTEL_TH is not set - -# -# FPGA Configuration Support -# # CONFIG_FPGA is not set # @@ -4040,6 +4066,7 @@ CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 @@ -4299,6 +4326,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_TRACE_EVAL_MAP_FILE is not set CONFIG_TRACING_EVENTS_GPIO=y +# CONFIG_DMA_API_DEBUG is not set # # Runtime Testing @@ -4320,17 +4348,16 @@ CONFIG_TRACING_EVENTS_GPIO=y # CONFIG_TEST_UUID is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set -# CONFIG_DMA_API_DEBUG is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_USER_COPY is not set # CONFIG_TEST_BPF is not set # CONFIG_TEST_FIRMWARE is not set # CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set -# CONFIG_MEMTEST is not set # CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_TEST_KMOD is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set @@ -4538,6 +4565,7 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC7 is not set CONFIG_LIBCRC32C=m # CONFIG_CRC8 is not set +CONFIG_XXHASH=y # CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set # CONFIG_RANDOM32_SELFTEST is not set CONFIG_ZLIB_INFLATE=y @@ -4545,6 +4573,8 @@ CONFIG_ZLIB_DEFLATE=m CONFIG_LZO_COMPRESS=m CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=m +CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y # CONFIG_XZ_DEC_X86 is not set # CONFIG_XZ_DEC_POWERPC is not set @@ -4579,4 +4609,5 @@ CONFIG_FONT_8x16=y CONFIG_SG_POOL=y CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set # CONFIG_VIRTUALIZATION is not set diff --git a/projects/RPi/devices/RPi2/linux/linux.arm.conf b/projects/RPi/devices/RPi2/linux/linux.arm.conf index ec59fabf48..d7f624102b 100644 --- a/projects/RPi/devices/RPi2/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi2/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.13.8 Kernel Configuration +# Linux/arm 4.14.0-rc5 Kernel Configuration # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -175,6 +175,7 @@ CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y @@ -203,6 +204,7 @@ CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_SYSTEM_DATA_VERIFICATION is not set # CONFIG_PROFILING is not set @@ -649,7 +651,6 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y # # CONFIG_CPUFREQ_DT is not set # CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set -# CONFIG_ARM_DB8500_CPUFREQ is not set # CONFIG_ARM_KIRKWOOD_CPUFREQ is not set CONFIG_ARM_BCM2835_CPUFREQ=y # CONFIG_QORIQ_CPUFREQ is not set @@ -799,7 +800,6 @@ CONFIG_IPV6_NDISC_NODETYPE=y # CONFIG_NET_PTP_CLASSIFY is not set # CONFIG_NETWORK_PHY_TIMESTAMPING is not set CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=m @@ -1069,6 +1069,7 @@ CONFIG_DNS_RESOLVER=y # CONFIG_VSOCKETS is not set # CONFIG_NETLINK_DIAG is not set # CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set # CONFIG_HSR is not set # CONFIG_NET_SWITCHDEV is not set # CONFIG_NET_L3_MASTER_DEV is not set @@ -1091,7 +1092,6 @@ CONFIG_NET_FLOW_LIMIT=y # CONFIG_NET_DROP_MONITOR is not set # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set -# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m @@ -1120,7 +1120,6 @@ CONFIG_BT_HCIUART_H4=y # CONFIG_BT_HCIUART_ATH3K is not set CONFIG_BT_HCIUART_3WIRE=y # CONFIG_BT_HCIUART_INTEL is not set -CONFIG_BT_HCIUART_BCM=y # CONFIG_BT_HCIUART_QCA is not set # CONFIG_BT_HCIUART_AG6XX is not set # CONFIG_BT_HCIUART_MRVL is not set @@ -1178,7 +1177,7 @@ CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y # CONFIG_NET_DEVLINK is not set CONFIG_MAY_USE_DEVLINK=y -CONFIG_HAVE_CBPF_JIT=y +CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -1458,6 +1457,7 @@ CONFIG_MICROCHIP_PHY=m # CONFIG_NATIONAL_PHY is not set # CONFIG_QSEMI_PHY is not set # CONFIG_REALTEK_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set # CONFIG_SMSC_PHY is not set # CONFIG_STE10XP is not set # CONFIG_TERANETICS_PHY is not set @@ -1787,6 +1787,8 @@ CONFIG_INPUT_MISC=y # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_UINPUT=y # CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set # CONFIG_INPUT_ADXL34X is not set # CONFIG_INPUT_IMS_PCU is not set @@ -1819,6 +1821,7 @@ CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PS2MULT is not set # CONFIG_SERIO_ARC_PS2 is not set # CONFIG_SERIO_APBPS2 is not set +# CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_USERIO is not set # CONFIG_GAMEPORT is not set @@ -2024,6 +2027,7 @@ CONFIG_PINCTRL_BCM2835=y CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y CONFIG_GPIOLIB=y CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y @@ -2095,6 +2099,7 @@ CONFIG_W1_SLAVE_THERM=m # CONFIG_W1_SLAVE_DS2413 is not set # CONFIG_W1_SLAVE_DS2406 is not set # CONFIG_W1_SLAVE_DS2423 is not set +# CONFIG_W1_SLAVE_DS2805 is not set # CONFIG_W1_SLAVE_DS2431 is not set # CONFIG_W1_SLAVE_DS2433 is not set # CONFIG_W1_SLAVE_DS2438 is not set @@ -2102,7 +2107,6 @@ CONFIG_W1_SLAVE_THERM=m # CONFIG_W1_SLAVE_DS2780 is not set # CONFIG_W1_SLAVE_DS2781 is not set # CONFIG_W1_SLAVE_DS28E04 is not set -# CONFIG_W1_SLAVE_BQ27000 is not set # CONFIG_POWER_AVS is not set CONFIG_POWER_RESET=y # CONFIG_POWER_RESET_BRCMKONA is not set @@ -2127,6 +2131,7 @@ CONFIG_POWER_SUPPLY=y # CONFIG_BATTERY_BQ27XXX is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_LP8727 is not set # CONFIG_CHARGER_GPIO is not set @@ -2229,6 +2234,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_NCT7904 is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set +# CONFIG_SENSORS_PWM_FAN is not set # CONFIG_SENSORS_SHT15 is not set # CONFIG_SENSORS_SHT21 is not set # CONFIG_SENSORS_SHT3x is not set @@ -2338,10 +2344,6 @@ CONFIG_SSB_SDIOHOST_POSSIBLE=y # CONFIG_SSB_DEBUG is not set # CONFIG_SSB_DRIVER_GPIO is not set CONFIG_BCMA_POSSIBLE=y - -# -# Broadcom specific AMBA -# CONFIG_BCMA=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_HOST_SOC is not set @@ -2362,6 +2364,7 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_ATMEL_FLEXCOM is not set # CONFIG_MFD_ATMEL_HLCDC is not set # CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_ASIC3 is not set @@ -2485,6 +2488,7 @@ CONFIG_REGULATOR_ARIZONA_MICSUPP=m # CONFIG_REGULATOR_PV88060 is not set # CONFIG_REGULATOR_PV88080 is not set # CONFIG_REGULATOR_PV88090 is not set +# CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -2492,40 +2496,6 @@ CONFIG_REGULATOR_ARIZONA_MICSUPP=m # CONFIG_REGULATOR_TPS65132 is not set # CONFIG_REGULATOR_TPS6524X is not set # CONFIG_REGULATOR_VCTRL is not set -CONFIG_MEDIA_SUPPORT=m - -# -# Multimedia core support -# -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -CONFIG_MEDIA_RADIO_SUPPORT=y -# CONFIG_MEDIA_SDR_SUPPORT is not set -CONFIG_MEDIA_RC_SUPPORT=y -# CONFIG_MEDIA_CEC_SUPPORT is not set -# CONFIG_MEDIA_CONTROLLER is not set -CONFIG_VIDEO_DEV=m -CONFIG_VIDEO_V4L2=m -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -CONFIG_VIDEO_TUNER=m -CONFIG_VIDEOBUF_GEN=m -CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m -CONFIG_VIDEOBUF2_CORE=m -CONFIG_VIDEOBUF2_MEMOPS=m -CONFIG_VIDEOBUF2_VMALLOC=m -CONFIG_DVB_CORE=m -CONFIG_DVB_NET=y -CONFIG_TTPCI_EEPROM=m -CONFIG_DVB_MAX_ADAPTERS=8 -# CONFIG_DVB_DYNAMIC_MINORS is not set -# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set - -# -# Media drivers -# CONFIG_RC_CORE=m CONFIG_RC_MAP=m CONFIG_RC_DECODERS=y @@ -2553,8 +2523,43 @@ CONFIG_IR_IGUANA=m CONFIG_IR_TTUSBIR=m # CONFIG_RC_LOOPBACK is not set CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m +CONFIG_IR_PWM_TX=m # CONFIG_IR_SERIAL is not set # CONFIG_IR_SIR is not set +CONFIG_MEDIA_SUPPORT=m + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_CEC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_V4L2=m +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_DVB_CORE=m +CONFIG_DVB_NET=y +CONFIG_TTPCI_EEPROM=m +CONFIG_DVB_MAX_ADAPTERS=8 +# CONFIG_DVB_DYNAMIC_MINORS is not set +# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set + +# +# Media drivers +# CONFIG_MEDIA_USB_SUPPORT=y # @@ -2970,6 +2975,7 @@ CONFIG_DRM_PANEL_BRIDGE=y # CONFIG_DRM_I2C_ADV7511 is not set # CONFIG_DRM_STI is not set CONFIG_DRM_VC4=m +# CONFIG_DRM_VC4_HDMI_CEC is not set # CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_MXSFB is not set # CONFIG_DRM_TINYDRM is not set @@ -3037,11 +3043,14 @@ CONFIG_LCD_CLASS_DEVICE=m # CONFIG_LCD_HX8357 is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set +# CONFIG_BACKLIGHT_PWM is not set CONFIG_BACKLIGHT_RPI=y # CONFIG_BACKLIGHT_PM8941_WLED is not set # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_LP855X is not set CONFIG_BACKLIGHT_GPIO=y # CONFIG_BACKLIGHT_LV5207LP is not set # CONFIG_BACKLIGHT_BD6107 is not set @@ -3195,6 +3204,7 @@ CONFIG_SND_SOC_CS4265=m # CONFIG_SND_SOC_CS4271_SPI is not set CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m +# CONFIG_SND_SOC_CS43130 is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set # CONFIG_SND_SOC_DIO2125 is not set @@ -3245,6 +3255,7 @@ CONFIG_SND_SOC_TAS5713=m CONFIG_SND_SOC_WM5102=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 is not set # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -3570,7 +3581,6 @@ CONFIG_USB_SERIAL_PL2303=m # CONFIG_USB_ULPI_BUS is not set # CONFIG_UWB is not set CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set CONFIG_PWRSEQ_EMMC=y CONFIG_PWRSEQ_SIMPLE=y CONFIG_MMC_BLOCK=y @@ -3585,6 +3595,7 @@ CONFIG_MMC_BCM2835_MMC=y CONFIG_MMC_BCM2835_DMA=y CONFIG_MMC_BCM2835_PIO_DMA_BARRIER=2 CONFIG_MMC_BCM2835_SDHOST=y +# CONFIG_MMC_DEBUG is not set # CONFIG_MMC_ARMMMCI is not set CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y @@ -3612,6 +3623,7 @@ CONFIG_LEDS_CLASS_FLASH=y # LED drivers # # CONFIG_LEDS_AAT1290 is not set +# CONFIG_LEDS_AS3645A is not set # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_LM3530 is not set @@ -3628,6 +3640,7 @@ CONFIG_LEDS_GPIO=y # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_PCA963X is not set # CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_PWM is not set # CONFIG_LEDS_REGULATOR is not set # CONFIG_LEDS_BD2802 is not set # CONFIG_LEDS_LT3593 is not set @@ -3784,6 +3797,7 @@ CONFIG_DMADEVICES=y CONFIG_DMA_ENGINE=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_OF=y +# CONFIG_ALTERA_MSGDMA is not set # CONFIG_AMBA_PL08X is not set CONFIG_DMA_BCM2835=y # CONFIG_FSL_EDMA is not set @@ -3820,6 +3834,7 @@ CONFIG_SYNC_FILE=y # # CONFIG_HYPERV_TSCPAGE is not set CONFIG_STAGING=y +# CONFIG_IRDA is not set # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set # CONFIG_RTLLIB is not set @@ -3859,6 +3874,7 @@ CONFIG_SND_BCM2835=m # USB Power Delivery and Type-C drivers # # CONFIG_TYPEC_TCPM is not set +# CONFIG_PI433 is not set # CONFIG_GOLDFISH is not set # CONFIG_CHROME_PLATFORMS is not set CONFIG_CLKDEV_LOOKUP=y @@ -3868,6 +3884,7 @@ CONFIG_COMMON_CLK=y # # Common Clock Framework # +# CONFIG_CLK_HSDK is not set # CONFIG_COMMON_CLK_SI5351 is not set # CONFIG_COMMON_CLK_SI514 is not set # CONFIG_COMMON_CLK_SI570 is not set @@ -3876,6 +3893,7 @@ CONFIG_COMMON_CLK=y # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_CLK_QORIQ is not set # CONFIG_COMMON_CLK_NXP is not set +# CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_PXA is not set # CONFIG_COMMON_CLK_PIC32 is not set # CONFIG_COMMON_CLK_VC5 is not set @@ -3919,6 +3937,10 @@ CONFIG_BCM2835_MBOX=y # SOC (System On Chip) specific Drivers # +# +# Amlogic SoC drivers +# + # # Broadcom SoC drivers # @@ -3928,6 +3950,10 @@ CONFIG_RASPBERRYPI_POWER=y # # i.MX SoC drivers # + +# +# Qualcomm SoC drivers +# # CONFIG_SUNXI_SRAM is not set # CONFIG_SOC_TI is not set # CONFIG_PM_DEVFREQ is not set @@ -3944,15 +3970,19 @@ CONFIG_EXTCON_ARIZONA=m # CONFIG_EXTCON_USB_GPIO is not set # CONFIG_MEMORY is not set # CONFIG_IIO is not set -# CONFIG_PWM is not set +CONFIG_PWM=y +CONFIG_PWM_SYSFS=y +CONFIG_PWM_BCM2835=m +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_PCA9685 is not set CONFIG_IRQCHIP=y CONFIG_ARM_GIC_MAX_NR=1 # CONFIG_IPACK_BUS is not set CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_ATH79 is not set # CONFIG_RESET_BERLIN is not set -# CONFIG_RESET_GEMINI is not set # CONFIG_RESET_IMX7 is not set +# CONFIG_RESET_LANTIQ is not set # CONFIG_RESET_LPC18XX is not set # CONFIG_RESET_MESON is not set # CONFIG_RESET_PISTACHIO is not set @@ -3983,10 +4013,6 @@ CONFIG_RESET_CONTROLLER=y CONFIG_NVMEM=y # CONFIG_STM is not set # CONFIG_INTEL_TH is not set - -# -# FPGA Configuration Support -# # CONFIG_FPGA is not set # @@ -4141,6 +4167,7 @@ CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 @@ -4403,6 +4430,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_TRACE_EVAL_MAP_FILE is not set CONFIG_TRACING_EVENTS_GPIO=y +# CONFIG_DMA_API_DEBUG is not set # # Runtime Testing @@ -4424,17 +4452,16 @@ CONFIG_TRACING_EVENTS_GPIO=y # CONFIG_TEST_UUID is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set -# CONFIG_DMA_API_DEBUG is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_USER_COPY is not set # CONFIG_TEST_BPF is not set # CONFIG_TEST_FIRMWARE is not set # CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set -# CONFIG_MEMTEST is not set # CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_TEST_KMOD is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set @@ -4652,6 +4679,7 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC7 is not set CONFIG_LIBCRC32C=m # CONFIG_CRC8 is not set +CONFIG_XXHASH=y # CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set # CONFIG_RANDOM32_SELFTEST is not set CONFIG_ZLIB_INFLATE=y @@ -4659,6 +4687,8 @@ CONFIG_ZLIB_DEFLATE=m CONFIG_LZO_COMPRESS=m CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=m +CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y # CONFIG_XZ_DEC_X86 is not set # CONFIG_XZ_DEC_POWERPC is not set @@ -4694,4 +4724,5 @@ CONFIG_FONT_8x16=y CONFIG_SG_POOL=y CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set # CONFIG_VIRTUALIZATION is not set diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 667a767bc2..addc4e1eaf 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,115 @@ -From 6de11925d24bc10497a476e2a412b143f8342a12 Mon Sep 17 00:00:00 2001 +From 1e941cd6e8d9f3f65ce9ddee60ec26fb84c0bbb6 Mon Sep 17 00:00:00 2001 +From: Dan Pasanen +Date: Thu, 21 Sep 2017 09:55:42 -0500 +Subject: [PATCH 001/139] arm: partially revert + 702b94bff3c50542a6e4ab9a4f4cef093262fe65 + +* Re-expose some dmi APIs for use in VCSM +--- + arch/arm/include/asm/cacheflush.h | 21 +++++++++++++++++++++ + arch/arm/include/asm/glue-cache.h | 2 ++ + arch/arm/mm/proc-macros.S | 2 ++ + arch/arm/mm/proc-syms.c | 3 +++ + 4 files changed, 28 insertions(+) + +diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h +index 74504b154256e36ff4897ed1c7df43eb4d91bdef..8ccb358b7043cabeb3d2b6769ef4eb11827d78ed 100644 +--- a/arch/arm/include/asm/cacheflush.h ++++ b/arch/arm/include/asm/cacheflush.h +@@ -94,6 +94,21 @@ + * DMA Cache Coherency + * =================== + * ++ * dma_inv_range(start, end) ++ * ++ * Invalidate (discard) the specified virtual address range. ++ * May not write back any entries. If 'start' or 'end' ++ * are not cache line aligned, those lines must be written ++ * back. ++ * - start - virtual start address ++ * - end - virtual end address ++ * ++ * dma_clean_range(start, end) ++ * ++ * Clean (write back) the specified virtual address range. ++ * - start - virtual start address ++ * - end - virtual end address ++ * + * dma_flush_range(start, end) + * + * Clean and invalidate the specified virtual address range. +@@ -115,6 +130,8 @@ struct cpu_cache_fns { + void (*dma_map_area)(const void *, size_t, int); + void (*dma_unmap_area)(const void *, size_t, int); + ++ void (*dma_inv_range)(const void *, const void *); ++ void (*dma_clean_range)(const void *, const void *); + void (*dma_flush_range)(const void *, const void *); + } __no_randomize_layout; + +@@ -140,6 +157,8 @@ extern struct cpu_cache_fns cpu_cache; + * is visible to DMA, or data written by DMA to system memory is + * visible to the CPU. + */ ++#define dmac_inv_range cpu_cache.dma_inv_range ++#define dmac_clean_range cpu_cache.dma_clean_range + #define dmac_flush_range cpu_cache.dma_flush_range + + #else +@@ -159,6 +178,8 @@ extern void __cpuc_flush_dcache_area(void *, size_t); + * is visible to DMA, or data written by DMA to system memory is + * visible to the CPU. + */ ++extern void dmac_inv_range(const void *, const void *); ++extern void dmac_clean_range(const void *, const void *); + extern void dmac_flush_range(const void *, const void *); + + #endif +diff --git a/arch/arm/include/asm/glue-cache.h b/arch/arm/include/asm/glue-cache.h +index 01c3d92624e5ed3e0035c4305ca5b6797ba1888b..99f29f1963aec25c0016c5eadeb4a042e75bd4c9 100644 +--- a/arch/arm/include/asm/glue-cache.h ++++ b/arch/arm/include/asm/glue-cache.h +@@ -154,6 +154,8 @@ static inline void nop_dma_unmap_area(const void *s, size_t l, int f) { } + #define __cpuc_coherent_user_range __glue(_CACHE,_coherent_user_range) + #define __cpuc_flush_dcache_area __glue(_CACHE,_flush_kern_dcache_area) + ++#define dmac_inv_range __glue(_CACHE,_dma_inv_range) ++#define dmac_clean_range __glue(_CACHE,_dma_clean_range) + #define dmac_flush_range __glue(_CACHE,_dma_flush_range) + #endif + +diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S +index f10e31d0730afa572cb6604d65813eb6df1dcfa9..1bc23484e8e3e3d64317157fbbb7e3b26e006a13 100644 +--- a/arch/arm/mm/proc-macros.S ++++ b/arch/arm/mm/proc-macros.S +@@ -324,6 +324,8 @@ ENTRY(\name\()_cache_fns) + .long \name\()_flush_kern_dcache_area + .long \name\()_dma_map_area + .long \name\()_dma_unmap_area ++ .long \name\()_dma_inv_range ++ .long \name\()_dma_clean_range + .long \name\()_dma_flush_range + .size \name\()_cache_fns, . - \name\()_cache_fns + .endm +diff --git a/arch/arm/mm/proc-syms.c b/arch/arm/mm/proc-syms.c +index 054b491ff7649ca067ff821770aec80a4da42102..70e8b7d3443467ae9595924f1a9d043b984e2c93 100644 +--- a/arch/arm/mm/proc-syms.c ++++ b/arch/arm/mm/proc-syms.c +@@ -30,6 +30,9 @@ EXPORT_SYMBOL(__cpuc_flush_user_all); + EXPORT_SYMBOL(__cpuc_flush_user_range); + EXPORT_SYMBOL(__cpuc_coherent_kern_range); + EXPORT_SYMBOL(__cpuc_flush_dcache_area); ++EXPORT_SYMBOL(dmac_inv_range); ++EXPORT_SYMBOL(dmac_clean_range); ++EXPORT_SYMBOL(dmac_flush_range); + #else + EXPORT_SYMBOL(cpu_cache); + #endif + +From 47c46ebd6f0dd53587525c5abf3a2dda3fd9c97b Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 001/141] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/139] smsx95xx: fix crimes against truesize smsc95xx is adjusting truesize when it shouldn't, and following a recent patch from Eric this is now triggering warnings. @@ -13,7 +121,7 @@ Signed-off-by: Steve Glendinning 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 340c13484e5cc7dd5001577b7522d5a4318bd5b6..7d3d98f0405ad948f9ab3e035a70e15c667e4fa1 100644 +index 309b88acd3d0b6ca1528dde7b27a23926f9be952..25e37195ceb00cfc0ced7638e8b571a1b0b8e6f1 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -82,6 +82,10 @@ static bool turbo_mode = true; @@ -27,7 +135,7 @@ index 340c13484e5cc7dd5001577b7522d5a4318bd5b6..7d3d98f0405ad948f9ab3e035a70e15c static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -1960,7 +1964,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) +@@ -1959,7 +1963,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(skb); skb_trim(skb, skb->len - 4); /* remove fcs */ @@ -37,7 +145,7 @@ index 340c13484e5cc7dd5001577b7522d5a4318bd5b6..7d3d98f0405ad948f9ab3e035a70e15c return 1; } -@@ -1978,7 +1983,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) +@@ -1977,7 +1982,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(ax_skb); skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */ @@ -48,10 +156,10 @@ index 340c13484e5cc7dd5001577b7522d5a4318bd5b6..7d3d98f0405ad948f9ab3e035a70e15c usbnet_skb_return(dev, ax_skb); } -From d45d4ac0adf3a9ef20b947ef5561e644dbcd0588 Mon Sep 17 00:00:00 2001 +From feaf60838d05a13c2dfcfb9bacebc6b2ded6a7f3 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 002/141] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 003/139] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -60,7 +168,7 @@ See: http://forum.kodi.tv/showthread.php?tid=285288 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 7d3d98f0405ad948f9ab3e035a70e15c667e4fa1..8d34e517db08d895e6135f785c42bf639671815c 100644 +index 25e37195ceb00cfc0ced7638e8b571a1b0b8e6f1..09c7d4a07299e70b1cdc9df2c2c4cb39d2207c37 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -86,6 +86,10 @@ static bool truesize_mode = false; @@ -74,7 +182,7 @@ index 7d3d98f0405ad948f9ab3e035a70e15c667e4fa1..8d34e517db08d895e6135f785c42bf63 static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -1107,13 +1111,13 @@ static int smsc95xx_reset(struct usbnet *dev) +@@ -1106,13 +1110,13 @@ static int smsc95xx_reset(struct usbnet *dev) if (!turbo_mode) { burst_cap = 0; @@ -94,10 +202,10 @@ index 7d3d98f0405ad948f9ab3e035a70e15c667e4fa1..8d34e517db08d895e6135f785c42bf63 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From 027723e2dad0ea6dde59c07e91bca00ea1877736 Mon Sep 17 00:00:00 2001 +From 3af16ca93ebb7063c822ca7023b4d4d679098024 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 003/141] Allow mac address to be set in smsc95xx +Subject: [PATCH 004/139] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -105,7 +213,7 @@ Signed-off-by: popcornmix 1 file changed, 56 insertions(+) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 8d34e517db08d895e6135f785c42bf639671815c..5df7e105c41532c3185e46ee54f43a371b787caa 100644 +index 09c7d4a07299e70b1cdc9df2c2c4cb39d2207c37..4d9704d0b184df9bd7ddbe6769e40a7584f22a42 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -60,6 +60,7 @@ @@ -127,7 +235,7 @@ index 8d34e517db08d895e6135f785c42bf639671815c..5df7e105c41532c3185e46ee54f43a37 static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -919,6 +924,53 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) +@@ -918,6 +923,53 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL); } @@ -181,7 +289,7 @@ index 8d34e517db08d895e6135f785c42bf639671815c..5df7e105c41532c3185e46ee54f43a37 static void smsc95xx_init_mac_address(struct usbnet *dev) { const u8 *mac_addr; -@@ -940,6 +992,10 @@ static void smsc95xx_init_mac_address(struct usbnet *dev) +@@ -939,6 +991,10 @@ static void smsc95xx_init_mac_address(struct usbnet *dev) } } @@ -193,10 +301,10 @@ index 8d34e517db08d895e6135f785c42bf639671815c..5df7e105c41532c3185e46ee54f43a37 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From c1d64b379842ba1444d01c895297ac5b5cc980eb Mon Sep 17 00:00:00 2001 +From 831c59492cd83cff2141ab26b90790063e0e4b41 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 004/141] Protect __release_resource against resources without +Subject: [PATCH 005/139] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -224,10 +332,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From c2fd20c54cb6925a811f60285e9f85b5ff6f3a08 Mon Sep 17 00:00:00 2001 +From 083a9d562254f9c2d23505a9765db84d64a278df Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 005/141] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/139] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -242,7 +350,7 @@ though, so trap them early. 1 file changed, 1 insertion(+) diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index e7463e3c08143acae3e8cc5682f918c6a0b07ebd..a8db33b50ad9ff83d284fa54fe4d3b65f859df0f 100644 +index dc8c1e3eafe794a3af83dd987a6d6362d14dd5ee..e8204d9af58f1b893505c06902a83390c2ea8509 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -175,6 +175,7 @@ __exception_irq_entry bcm2836_arm_irqchip_handle_irq(struct pt_regs *regs) @@ -254,10 +362,10 @@ index e7463e3c08143acae3e8cc5682f918c6a0b07ebd..a8db33b50ad9ff83d284fa54fe4d3b65 #endif } else if (stat) { -From d8c5c99e76d1a3b8f8d76dc37f7dff46dd38a8b3 Mon Sep 17 00:00:00 2001 +From 4a3fb8e5b929c9606bc5503a2a1c997652ff4c54 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 006/141] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 007/139] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -268,7 +376,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index a8db33b50ad9ff83d284fa54fe4d3b65f859df0f..c4e151451cf8c8ebde5225515eac2786d6f61d46 100644 +index e8204d9af58f1b893505c06902a83390c2ea8509..6e3fab9587b782e026c01fa6b6e40338ef0c8d0a 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -157,7 +157,7 @@ static void bcm2836_arm_irqchip_register_irq(int hwirq, struct irq_chip *chip) @@ -281,10 +389,10 @@ index a8db33b50ad9ff83d284fa54fe4d3b65f859df0f..c4e151451cf8c8ebde5225515eac2786 static void -From 090cf3193ec1f62d846da29763867047af985d89 Mon Sep 17 00:00:00 2001 +From 8f81dbb6e19dfebfbd4aefbf412bae6b90a9e1f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 007/141] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 008/139] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -302,10 +410,10 @@ Acked-by: Stephen Warren 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index 73be3d5788510e953a460c76437db3f22c3d7bda..3c7d01eaa341b03ced0ba9aadb705463f82ca149 100644 +index 5d2925e2ce1ff8b99ec219fbcc1c392d28e01835..b336f0359946e3d7247a6877c947d7e0e45717f8 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -154,6 +154,7 @@ config ARCH_BCM2835 +@@ -155,6 +155,7 @@ config ARCH_BCM2835 select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 select TIMER_OF select BCM2835_TIMER @@ -314,7 +422,7 @@ index 73be3d5788510e953a460c76437db3f22c3d7bda..3c7d01eaa341b03ced0ba9aadb705463 select PINCTRL_BCM2835 help diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 44d7c38dde479d771f3552e914bf8c1c1f5019f7..42ff5e6a8e0d532f5b60a1e7af7cc4d941bd5008 100644 +index d2da8a1e6b1b71381e382d034e7a94e865a6c3da..c4903360eabc2bef04f8e745782cea268fb22897 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -54,7 +54,7 @@ @@ -381,9 +489,9 @@ index 44d7c38dde479d771f3552e914bf8c1c1f5019f7..42ff5e6a8e0d532f5b60a1e7af7cc4d9 } static struct irq_chip armctrl_chip = { -@@ -150,8 +178,9 @@ static int __init armctrl_of_init(struct device_node *node, - panic("%s: unable to map IC registers\n", - node->full_name); +@@ -149,8 +177,9 @@ static int __init armctrl_of_init(struct device_node *node, + if (!base) + panic("%pOF: unable to map IC registers\n", node); - intc.domain = irq_domain_add_linear(node, MAKE_HWIRQ(NR_BANKS, 0), - &armctrl_ops, NULL); @@ -391,9 +499,9 @@ index 44d7c38dde479d771f3552e914bf8c1c1f5019f7..42ff5e6a8e0d532f5b60a1e7af7cc4d9 + intc.domain = irq_domain_add_linear(node, NUMBER_IRQS * 2, + &armctrl_ops, NULL); if (!intc.domain) - panic("%s: unable to create IRQ domain\n", node->full_name); + panic("%pOF: unable to create IRQ domain\n", node); -@@ -181,6 +210,18 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -180,6 +209,18 @@ static int __init armctrl_of_init(struct device_node *node, set_handle_irq(bcm2835_handle_irq); } @@ -413,10 +521,10 @@ index 44d7c38dde479d771f3552e914bf8c1c1f5019f7..42ff5e6a8e0d532f5b60a1e7af7cc4d9 } -From be07b11df6009bfa349572edec26e6da596dfc1e Mon Sep 17 00:00:00 2001 +From edb3aa3fc2dde0a024b3c474e44604c8938b5098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 008/141] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 009/139] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -427,7 +535,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 42ff5e6a8e0d532f5b60a1e7af7cc4d941bd5008..eccf6ed025299cb480884f5bcbe77abf55a6bbb1 100644 +index c4903360eabc2bef04f8e745782cea268fb22897..13356d3b7bcd508f058c6a9e3c4b0b385d478ef4 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -50,8 +50,11 @@ @@ -498,7 +606,7 @@ index 42ff5e6a8e0d532f5b60a1e7af7cc4d941bd5008..eccf6ed025299cb480884f5bcbe77abf } static struct irq_chip armctrl_chip = { -@@ -210,6 +240,15 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -209,6 +239,15 @@ static int __init armctrl_of_init(struct device_node *node, set_handle_irq(bcm2835_handle_irq); } @@ -515,10 +623,10 @@ index 42ff5e6a8e0d532f5b60a1e7af7cc4d941bd5008..eccf6ed025299cb480884f5bcbe77abf for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From c199f9463e698ce33ba575abc5e9e3f28b161c76 Mon Sep 17 00:00:00 2001 +From aeacb7e940567c94b1f453d9db7ae56d0e626f5f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 -Subject: [PATCH 009/141] irq_bcm2836: Send event when onlining sleeping cores +Subject: [PATCH 010/139] irq_bcm2836: Send event when onlining sleeping cores In order to reduce power consumption and bus traffic, it is sensible for secondary cores to enter a low-power idle state when waiting to @@ -540,7 +648,7 @@ Signed-off-by: Phil Elwell 1 file changed, 3 insertions(+) diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index c4e151451cf8c8ebde5225515eac2786d6f61d46..bee4d2d2ebacc3233423bb9d825e076b9f52fccd 100644 +index 6e3fab9587b782e026c01fa6b6e40338ef0c8d0a..86b357ae027bf8ba1ac32cd150a8cf21e36597e2 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -227,6 +227,9 @@ static int __init bcm2836_smp_boot_secondary(unsigned int cpu, @@ -554,10 +662,10 @@ index c4e151451cf8c8ebde5225515eac2786d6f61d46..bee4d2d2ebacc3233423bb9d825e076b } -From f876e6c9734f4ca21614366dd879f29be4378aa6 Mon Sep 17 00:00:00 2001 +From 42b26334d34a98a3c654ff1e7c588ebc7258eeb7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 010/141] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 011/139] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -578,367 +686,10 @@ index cda10719d1d1b21b32866d2b79363faa461ab8e1..4f3779d3aa0960640506725bde918075 }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From 2ddcadf6a46363e20a969c2e9eea6bb6f381d2ff Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Tue, 3 Jan 2017 18:25:01 +0000 -Subject: [PATCH 011/141] Revert "pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP" - -This reverts commit 85ae9e512f437cd09bf61564bdba29ab88bab3e3. ---- - drivers/pinctrl/bcm/Kconfig | 1 - - drivers/pinctrl/bcm/pinctrl-bcm2835.c | 144 ++++++++++++++++++---------------- - 2 files changed, 76 insertions(+), 69 deletions(-) - -diff --git a/drivers/pinctrl/bcm/Kconfig b/drivers/pinctrl/bcm/Kconfig -index e8c4e4f934a6d388bef3e77b89dc19d1e3a6db66..5691311b93991043e9074c330646d0b4837d296e 100644 ---- a/drivers/pinctrl/bcm/Kconfig -+++ b/drivers/pinctrl/bcm/Kconfig -@@ -20,7 +20,6 @@ config PINCTRL_BCM2835 - bool - select PINMUX - select PINCONF -- select GPIOLIB_IRQCHIP - - config PINCTRL_IPROC_GPIO - bool "Broadcom iProc GPIO (with PINCONF) driver" -diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 230883168e99a1a3fecc7916ef0a7e0de7e8b3f1..ff3789a11b3c36b922b9d08035abb638187c2f5a 100644 ---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c -+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -24,10 +24,12 @@ - #include - #include - #include -+#include - #include - #include - #include - #include -+#include - #include - #include - #include -@@ -79,6 +81,11 @@ enum bcm2835_pinconf_param { - #define BCM2835_PINCONF_UNPACK_PARAM(_conf_) ((_conf_) >> 16) - #define BCM2835_PINCONF_UNPACK_ARG(_conf_) ((_conf_) & 0xffff) - -+struct bcm2835_gpio_irqdata { -+ struct bcm2835_pinctrl *pc; -+ int irqgroup; -+}; -+ - struct bcm2835_pinctrl { - struct device *dev; - void __iomem *base; -@@ -89,13 +96,16 @@ struct bcm2835_pinctrl { - unsigned int irq_type[BCM2835_NUM_GPIOS]; - - struct pinctrl_dev *pctl_dev; -+ struct irq_domain *irq_domain; - struct gpio_chip gpio_chip; - struct pinctrl_gpio_range gpio_range; - -- int irq_group[BCM2835_NUM_IRQS]; -+ struct bcm2835_gpio_irqdata irq_data[BCM2835_NUM_IRQS]; - spinlock_t irq_lock[BCM2835_NUM_BANKS]; - }; - -+static struct lock_class_key gpio_lock_class; -+ - /* pins are just named GPIO0..GPIO53 */ - #define BCM2835_GPIO_PIN(a) PINCTRL_PIN(a, "gpio" #a) - static struct pinctrl_pin_desc bcm2835_gpio_pins[] = { -@@ -353,6 +363,13 @@ static int bcm2835_gpio_direction_output(struct gpio_chip *chip, - return pinctrl_gpio_direction_output(chip->base + offset); - } - -+static int bcm2835_gpio_to_irq(struct gpio_chip *chip, unsigned offset) -+{ -+ struct bcm2835_pinctrl *pc = gpiochip_get_data(chip); -+ -+ return irq_linear_revmap(pc->irq_domain, offset); -+} -+ - static struct gpio_chip bcm2835_gpio_chip = { - .label = MODULE_NAME, - .owner = THIS_MODULE, -@@ -363,13 +380,14 @@ static struct gpio_chip bcm2835_gpio_chip = { - .get_direction = bcm2835_gpio_get_direction, - .get = bcm2835_gpio_get, - .set = bcm2835_gpio_set, -+ .to_irq = bcm2835_gpio_to_irq, - .base = -1, - .ngpio = BCM2835_NUM_GPIOS, - .can_sleep = false, - }; - --static void bcm2835_gpio_irq_handle_bank(struct bcm2835_pinctrl *pc, -- unsigned int bank, u32 mask) -+static int bcm2835_gpio_irq_handle_bank(struct bcm2835_pinctrl *pc, -+ unsigned int bank, u32 mask) - { - unsigned long events; - unsigned offset; -@@ -381,49 +399,34 @@ static void bcm2835_gpio_irq_handle_bank(struct bcm2835_pinctrl *pc, - events &= pc->enabled_irq_map[bank]; - for_each_set_bit(offset, &events, 32) { - gpio = (32 * bank) + offset; -- /* FIXME: no clue why the code looks up the type here */ - type = pc->irq_type[gpio]; - -- generic_handle_irq(irq_linear_revmap(pc->gpio_chip.irqdomain, -- gpio)); -+ generic_handle_irq(irq_linear_revmap(pc->irq_domain, gpio)); - } -+ -+ return (events != 0); - } - --static void bcm2835_gpio_irq_handler(struct irq_desc *desc) -+static irqreturn_t bcm2835_gpio_irq_handler(int irq, void *dev_id) - { -- struct gpio_chip *chip = irq_desc_get_handler_data(desc); -- struct bcm2835_pinctrl *pc = gpiochip_get_data(chip); -- struct irq_chip *host_chip = irq_desc_get_chip(desc); -- int irq = irq_desc_get_irq(desc); -- int group; -- int i; -- -- for (i = 0; i < ARRAY_SIZE(pc->irq); i++) { -- if (pc->irq[i] == irq) { -- group = pc->irq_group[i]; -- break; -- } -- } -- /* This should not happen, every IRQ has a bank */ -- if (i == ARRAY_SIZE(pc->irq)) -- BUG(); -- -- chained_irq_enter(host_chip, desc); -+ struct bcm2835_gpio_irqdata *irqdata = dev_id; -+ struct bcm2835_pinctrl *pc = irqdata->pc; -+ int handled = 0; - -- switch (group) { -+ switch (irqdata->irqgroup) { - case 0: /* IRQ0 covers GPIOs 0-27 */ -- bcm2835_gpio_irq_handle_bank(pc, 0, 0x0fffffff); -+ handled = bcm2835_gpio_irq_handle_bank(pc, 0, 0x0fffffff); - break; - case 1: /* IRQ1 covers GPIOs 28-45 */ -- bcm2835_gpio_irq_handle_bank(pc, 0, 0xf0000000); -- bcm2835_gpio_irq_handle_bank(pc, 1, 0x00003fff); -+ handled = bcm2835_gpio_irq_handle_bank(pc, 0, 0xf0000000) | -+ bcm2835_gpio_irq_handle_bank(pc, 1, 0x00003fff); - break; - case 2: /* IRQ2 covers GPIOs 46-53 */ -- bcm2835_gpio_irq_handle_bank(pc, 1, 0x003fc000); -+ handled = bcm2835_gpio_irq_handle_bank(pc, 1, 0x003fc000); - break; - } - -- chained_irq_exit(host_chip, desc); -+ return handled ? IRQ_HANDLED : IRQ_NONE; - } - - static inline void __bcm2835_gpio_irq_config(struct bcm2835_pinctrl *pc, -@@ -469,8 +472,7 @@ static void bcm2835_gpio_irq_config(struct bcm2835_pinctrl *pc, - - static void bcm2835_gpio_irq_enable(struct irq_data *data) - { -- struct gpio_chip *chip = irq_data_get_irq_chip_data(data); -- struct bcm2835_pinctrl *pc = gpiochip_get_data(chip); -+ struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data); - unsigned gpio = irqd_to_hwirq(data); - unsigned offset = GPIO_REG_SHIFT(gpio); - unsigned bank = GPIO_REG_OFFSET(gpio); -@@ -484,8 +486,7 @@ static void bcm2835_gpio_irq_enable(struct irq_data *data) - - static void bcm2835_gpio_irq_disable(struct irq_data *data) - { -- struct gpio_chip *chip = irq_data_get_irq_chip_data(data); -- struct bcm2835_pinctrl *pc = gpiochip_get_data(chip); -+ struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data); - unsigned gpio = irqd_to_hwirq(data); - unsigned offset = GPIO_REG_SHIFT(gpio); - unsigned bank = GPIO_REG_OFFSET(gpio); -@@ -591,8 +592,7 @@ static int __bcm2835_gpio_irq_set_type_enabled(struct bcm2835_pinctrl *pc, - - static int bcm2835_gpio_irq_set_type(struct irq_data *data, unsigned int type) - { -- struct gpio_chip *chip = irq_data_get_irq_chip_data(data); -- struct bcm2835_pinctrl *pc = gpiochip_get_data(chip); -+ struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data); - unsigned gpio = irqd_to_hwirq(data); - unsigned offset = GPIO_REG_SHIFT(gpio); - unsigned bank = GPIO_REG_OFFSET(gpio); -@@ -618,8 +618,7 @@ static int bcm2835_gpio_irq_set_type(struct irq_data *data, unsigned int type) - - static void bcm2835_gpio_irq_ack(struct irq_data *data) - { -- struct gpio_chip *chip = irq_data_get_irq_chip_data(data); -- struct bcm2835_pinctrl *pc = gpiochip_get_data(chip); -+ struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data); - unsigned gpio = irqd_to_hwirq(data); - - bcm2835_gpio_set_bit(pc, GPEDS0, gpio); -@@ -662,11 +661,10 @@ static void bcm2835_pctl_pin_dbg_show(struct pinctrl_dev *pctldev, - unsigned offset) - { - struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); -- struct gpio_chip *chip = &pc->gpio_chip; - enum bcm2835_fsel fsel = bcm2835_pinctrl_fsel_get(pc, offset); - const char *fname = bcm2835_functions[fsel]; - int value = bcm2835_gpio_get_bit(pc, GPLEV0, offset); -- int irq = irq_find_mapping(chip->irqdomain, offset); -+ int irq = irq_find_mapping(pc->irq_domain, offset); - - seq_printf(s, "function %s in %s; irq %d (%s)", - fname, value ? "hi" : "lo", -@@ -1012,6 +1010,21 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) - pc->gpio_chip.parent = dev; - pc->gpio_chip.of_node = np; - -+ pc->irq_domain = irq_domain_add_linear(np, BCM2835_NUM_GPIOS, -+ &irq_domain_simple_ops, NULL); -+ if (!pc->irq_domain) { -+ dev_err(dev, "could not create IRQ domain\n"); -+ return -ENOMEM; -+ } -+ -+ for (i = 0; i < BCM2835_NUM_GPIOS; i++) { -+ int irq = irq_create_mapping(pc->irq_domain, i); -+ irq_set_lockdep_class(irq, &gpio_lock_class); -+ irq_set_chip_and_handler(irq, &bcm2835_gpio_irq_chip, -+ handle_level_irq); -+ irq_set_chip_data(irq, pc); -+ } -+ - for (i = 0; i < BCM2835_NUM_BANKS; i++) { - unsigned long events; - unsigned offset; -@@ -1032,39 +1045,34 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) - spin_lock_init(&pc->irq_lock[i]); - } - -- err = gpiochip_add_data(&pc->gpio_chip, pc); -- if (err) { -- dev_err(dev, "could not add GPIO chip\n"); -- return err; -+ for (i = 0; i < BCM2835_NUM_IRQS; i++) { -+ int len; -+ char *name; -+ pc->irq[i] = irq_of_parse_and_map(np, i); -+ pc->irq_data[i].pc = pc; -+ pc->irq_data[i].irqgroup = i; -+ -+ len = strlen(dev_name(pc->dev)) + 16; -+ name = devm_kzalloc(pc->dev, len, GFP_KERNEL); -+ if (!name) -+ return -ENOMEM; -+ snprintf(name, len, "%s:bank%d", dev_name(pc->dev), i); -+ -+ err = devm_request_irq(dev, pc->irq[i], -+ bcm2835_gpio_irq_handler, IRQF_SHARED, -+ name, &pc->irq_data[i]); -+ if (err) { -+ dev_err(dev, "unable to request IRQ %d\n", pc->irq[i]); -+ return err; -+ } - } - -- err = gpiochip_irqchip_add(&pc->gpio_chip, &bcm2835_gpio_irq_chip, -- 0, handle_level_irq, IRQ_TYPE_NONE); -+ err = gpiochip_add_data(&pc->gpio_chip, pc); - if (err) { -- dev_info(dev, "could not add irqchip\n"); -+ dev_err(dev, "could not add GPIO chip\n"); - return err; - } - -- for (i = 0; i < BCM2835_NUM_IRQS; i++) { -- pc->irq[i] = irq_of_parse_and_map(np, i); -- pc->irq_group[i] = i; -- -- if (pc->irq[i] == 0) -- continue; -- -- /* -- * Use the same handler for all groups: this is necessary -- * since we use one gpiochip to cover all lines - the -- * irq handler then needs to figure out which group and -- * bank that was firing the IRQ and look up the per-group -- * and bank data. -- */ -- gpiochip_set_chained_irqchip(&pc->gpio_chip, -- &bcm2835_gpio_irq_chip, -- pc->irq[i], -- bcm2835_gpio_irq_handler); -- } -- - pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc); - if (IS_ERR(pc->pctl_dev)) { - gpiochip_remove(&pc->gpio_chip); - -From 1b0c13f7d7a1bf5ee2c73899b7acd23ca8455e2e Mon Sep 17 00:00:00 2001 -From: notro -Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 012/141] pinctrl-bcm2835: Set base to 0 give expected gpio - numbering - -Signed-off-by: Noralf Tronnes ---- - drivers/pinctrl/bcm/pinctrl-bcm2835.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index ff3789a11b3c36b922b9d08035abb638187c2f5a..d2b537572095c86576f78536f737c102487f99f4 100644 ---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c -+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -381,7 +381,7 @@ static struct gpio_chip bcm2835_gpio_chip = { - .get = bcm2835_gpio_get, - .set = bcm2835_gpio_set, - .to_irq = bcm2835_gpio_to_irq, -- .base = -1, -+ .base = 0, - .ngpio = BCM2835_NUM_GPIOS, - .can_sleep = false, - }; - -From 9135377adf88bf84777dba222e96c7af65bd21ef Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 013/141] pinctrl-bcm2835: Only request the interrupts listed - in the DTB - -Although the GPIO controller can generate three interrupts (four counting -the common one), the device tree files currently only specify two. In the -absence of the third, simply don't register that interrupt (as opposed to -registering 0), which has the effect of making it impossible to generate -interrupts for GPIOs 46-53 which, since they share pins with the SD card -interface, is unlikely to be a problem. ---- - drivers/pinctrl/bcm/pinctrl-bcm2835.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index d2b537572095c86576f78536f737c102487f99f4..a9d480df32562defbf8be0faf0a39bfe06ff71f9 100644 ---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c -+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -1049,6 +1049,8 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) - int len; - char *name; - pc->irq[i] = irq_of_parse_and_map(np, i); -+ if (pc->irq[i] == 0) -+ break; - pc->irq_data[i].pc = pc; - pc->irq_data[i].irqgroup = i; - - -From 4489235b313694be4bf4dfbe1440af47cc245d3c Mon Sep 17 00:00:00 2001 +From 49751f519fc2e642a96f30c0cd0a5429a10e1cfb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 014/141] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 012/139] spi-bcm2835: Support pin groups other than 7-11 The spi-bcm2835 driver automatically uses GPIO chip-selects due to some unreliability of the native ones. In doing so it chooses the @@ -1019,10 +770,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From 360455a32a51fd8e9cb633e5a27d2d1b0bae4a5b Mon Sep 17 00:00:00 2001 +From 25f128fc8eb74b24abf45dc45ffd5a111e5e03b9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 015/141] spi-bcm2835: Disable forced software CS +Subject: [PATCH 013/139] spi-bcm2835: Disable forced software CS Select software CS in bcm2708_common.dtsi, and disable the automatic conversion in the driver to allow hardware CS to be re-enabled with an @@ -1056,10 +807,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From 4ccd1b7de3eb897d4a1deb43cd57f58fc61e20e4 Mon Sep 17 00:00:00 2001 +From 8e9d73bae6e82562fe5a568b439b0e622c84b04e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 016/141] spi-bcm2835: Remove unused code +Subject: [PATCH 014/139] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -1147,10 +898,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From 954b463e6167afffd769d66f3bbbfd2cdfaeed2e Mon Sep 17 00:00:00 2001 +From a4f1dd5281118bb8ead36808d4098819483906d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 017/141] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 015/139] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1203,10 +954,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From e25a3c68d2dcf060325b4e3e04d23bb8ce8969ef Mon Sep 17 00:00:00 2001 +From a35fdb6acb8644a56c8b61d1d664f12515268329 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 018/141] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 016/139] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1224,10 +975,10 @@ Signed-off-by: Noralf Trønnes 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index fa8f9c07ce73f712c02de35c40c6a7ee2c42fd5f..f8883e93c4d89a3ae62a585329c8d5edb5c23058 100644 +index fadc4d8783bd8a48817867eeb0640e49b193d922..e5244c1f9318bd4dbd98111394113b3e9f8596c3 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig -@@ -125,7 +125,7 @@ config COH901318 +@@ -131,7 +131,7 @@ config COH901318 config DMA_BCM2835 tristate "BCM2835 DMA engine support" @@ -1309,10 +1060,10 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From bd4fbea8f3da63636c740f2b5fe880102430e51d Mon Sep 17 00:00:00 2001 +From 11af9b9720d1fc69009b49137832791886abed46 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 019/141] firmware: Updated mailbox header +Subject: [PATCH 017/139] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 9 +++++++++ @@ -1373,10 +1124,10 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..30fb37fe175df604a738258a2a632bca RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, -From 207e3bbaf9f20fcdc1066574c36d97eae8eae30f Mon Sep 17 00:00:00 2001 +From d0695bb98c4c15c10bedec0f85b6dd093760eb47 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 020/141] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 018/139] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1396,10 +1147,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From aef72557c930118b10171089a9817e966b7f1ce2 Mon Sep 17 00:00:00 2001 +From 51a256cabd5de176564f0de12f31e396c1c39663 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 021/141] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 019/139] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1501,10 +1252,10 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From f1b24e918ce1d73b22446651b3cfaebff5bb2620 Mon Sep 17 00:00:00 2001 +From cd8a202b50670965c1d32aedc36cf0f8c5f96326 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 022/141] reboot: Use power off rather than busy spinning when +Subject: [PATCH 020/139] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1527,10 +1278,10 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From 017df3c9c02cc0d5c55fd56950c45f246a95ae04 Mon Sep 17 00:00:00 2001 +From e44c3831a3963bd3fbea3828c6d3548af8d90aa3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 023/141] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 021/139] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1549,10 +1300,10 @@ index 49f1e2a75d614bc21db152327c7b425ae2504f8d..dccd2374ed00631abd441e3e9d78ee74 help This enables support for the RPi power domains which can be enabled -From 23defc0d2fac17743a6071482764c77dc2049d73 Mon Sep 17 00:00:00 2001 +From 145d3d2b90b0714a74b4a61f9cea26590e81d8e1 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 024/141] Register the clocks early during the boot process, so +Subject: [PATCH 022/139] Register the clocks early during the boot process, so that special/critical clocks can get enabled early on in the boot process avoiding the risk of disabling a clock, pll_divider or pll when a claiming driver fails to install propperly - maybe it needs to defer. @@ -1597,10 +1348,10 @@ index 58ce6af8452db9ca8b4d3c380a06e448919f6a8d..11d89d106026f15719ea25047d6f357b MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From ed813d5b13e1cc6ec024af70390cfeba5f688826 Mon Sep 17 00:00:00 2001 +From 16f903d2e857e9a7ab9eaf0b10a0ca7e2ccf0599 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 025/141] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 023/139] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1626,10 +1377,10 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From 2ab2e50b7cc3f6829fee25b2c3dc9418fa0bf8ad Mon Sep 17 00:00:00 2001 +From 58a18d3a7097df54c34a3286b66ad9dcd6fb60c7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 026/141] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 024/139] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -1649,10 +1400,10 @@ index 9ffd3dda3889c56a7a72229bed21ff5c49d62856..00da6c9bacbf33334233e22ca5209ade esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From f4df6f0110c72e23425985b6010358f6e355e266 Mon Sep 17 00:00:00 2001 +From c5573503ce6661533cd8521fba980080c8eface0 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 027/141] BCM2835_DT: Fix I2S register map +Subject: [PATCH 025/139] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1690,10 +1441,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 02ae10f1e05fba1ae9c67b0d7332a800f7ecaea8 Mon Sep 17 00:00:00 2001 +From 3665b63741d4e6e19a6a04f231ee8ceb16f56e95 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 028/141] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 026/139] clk-bcm2835: Mark used PLLs and dividers CRITICAL The VPU configures and relies on several PLLs and dividers. Mark all enabled dividers and their PLLs as CRITICAL to prevent the kernel from @@ -1721,10 +1472,10 @@ index 11d89d106026f15719ea25047d6f357b4bfcb2c5..fe8f5d65f2749cb3ddc878df61664826 divider->data = data; -From 14bb86fef6b6f78fd051deeea3c163b0bf9a916c Mon Sep 17 00:00:00 2001 +From b0edca19a6e012620cb8936d0cd3d2d5e79dcf50 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 029/141] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 027/139] clk-bcm2835: Add claim-clocks property The claim-clocks property can be used to prevent PLLs and dividers from being marked as critical. It contains a vector of clock IDs, @@ -1826,10 +1577,10 @@ index fe8f5d65f2749cb3ddc878df616648267441e0ee..92b5e0f5145b32d3bfc3592fe381e8be sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From 7e02583de0be15be365c6dfb6c90a5fad7cfa34b Mon Sep 17 00:00:00 2001 +From cdf411154053a81e8cdcad3c3f78fe98d10efb1c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 030/141] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 028/139] clk-bcm2835: Read max core clock from firmware The VPU is responsible for managing the core clock, usually under direction from the bcm2835-cpufreq driver but not via the clk-bcm2835 @@ -1944,10 +1695,10 @@ index 92b5e0f5145b32d3bfc3592fe381e8be3cd90c72..336f8c9c44325d0a94e591a8557f7af2 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From 2c7248994981d9fd9d6d7fb84d8ecf6f196fa3e2 Mon Sep 17 00:00:00 2001 +From 09e5a954456bed9e3c31a40d2f5dec4c34b08384 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 031/141] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 029/139] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1985,10 +1736,10 @@ index 336f8c9c44325d0a94e591a8557f7af246adc857..caa05e5ad0b7b5cd683e04fb3591a3df * Pass the CLK_SET_RATE_PARENT flag if we are allowed to propagate * rate changes on at least of the parents. -From 088d0eabf924eb6ce4001e165800765b227fa195 Mon Sep 17 00:00:00 2001 +From 36e3b4914e3d2657373d715c53c51f7bc4a788bd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 032/141] sound: Demote deferral errors to INFO level +Subject: [PATCH 030/139] sound: Demote deferral errors to INFO level At present there is no mechanism to specify driver load order, which can lead to deferrals and repeated retries until successful. @@ -2001,10 +1752,10 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c -index 13c875e2392a40ec5651d7c12a28b9ac9f3aab85..23d56057e49b5ff6b6c3c352c150fee8cf7d8752 100644 +index fee4b0ef5566cf9e8de0bf5c568706da9cab2ea2..c728a4148903e983d61b6ae65765ba11d54c8638 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c -@@ -1072,7 +1072,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, +@@ -1124,7 +1124,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, cpu_dai_component.dai_name = dai_link->cpu_dai_name; rtd->cpu_dai = snd_soc_find_dai(&cpu_dai_component); if (!rtd->cpu_dai) { @@ -2013,7 +1764,7 @@ index 13c875e2392a40ec5651d7c12a28b9ac9f3aab85..23d56057e49b5ff6b6c3c352c150fee8 dai_link->cpu_dai_name); goto _err_defer; } -@@ -1084,7 +1084,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, +@@ -1137,7 +1137,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, for (i = 0; i < rtd->num_codecs; i++) { codec_dais[i] = snd_soc_find_dai(&codecs[i]); if (!codec_dais[i]) { @@ -2023,10 +1774,10 @@ index 13c875e2392a40ec5651d7c12a28b9ac9f3aab85..23d56057e49b5ff6b6c3c352c150fee8 goto _err_defer; } -From dce88aeb39bbce0167eac223802c12e246bc9183 Mon Sep 17 00:00:00 2001 +From 72438d9062bf39515667c5118870918dc462c5cd Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 033/141] Update vfpmodule.c +Subject: [PATCH 031/139] Update vfpmodule.c Christopher Alexander Tobias Schulze - May 2, 2015, 11:57 a.m. This patch fixes a problem with VFP state save and restore related @@ -2163,10 +1914,10 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From 91de2e3cd0518e2cab800f3beaa85d61af19d7d2 Mon Sep 17 00:00:00 2001 +From bff55366201129cb031f195f9932f5bc0532e4b9 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 034/141] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 032/139] ASoC: bcm2835_i2s.c: relax the ch2 register setting for 8 channels This patch allows ch2 registers to be set for 8 channels of audio. @@ -2187,10 +1938,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From d3acd23b45f75dafee644962f5cead4f850a45d3 Mon Sep 17 00:00:00 2001 +From 7568e8242b976ed5edb7d5ca06867b7da6f2004d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 -Subject: [PATCH 035/141] i2c: bcm2835: Add debug support +Subject: [PATCH 033/139] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2379,10 +2130,10 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From 1eed7178de5f39dde64ae19998bb9b7b514563d6 Mon Sep 17 00:00:00 2001 +From 510dfefc1e34ae1c7fefe09889f4851fe3e8b416 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 036/141] mm: Remove the PFN busy warning +Subject: [PATCH 034/139] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -2394,10 +2145,10 @@ Signed-off-by: Eric Anholt 1 file changed, 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 1423da8dd16f5bdc83e20ddf6665b2022a9a6492..6ce930c02160d55dc4eee1e7197a5efa6ba7d44a 100644 +index 77e4d3c5c57b72dcd7e411a03707c26dc85c7c04..3f2f09b590dbfaf592749e8f901893c2d0cb4bb4 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7692,8 +7692,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, +@@ -7633,8 +7633,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, /* Make sure the range is really isolated. */ if (test_pages_isolated(outer_start, end, false)) { @@ -2407,10 +2158,10 @@ index 1423da8dd16f5bdc83e20ddf6665b2022a9a6492..6ce930c02160d55dc4eee1e7197a5efa goto done; } -From 8e5606822154ec2efe996d577a8a4b2403763771 Mon Sep 17 00:00:00 2001 +From ae4ce15cb0cd59821f07941b73b746cf5be7a89a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 037/141] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 035/139] ASoC: Add prompt for ICS43432 codec Without a prompt string, a config setting can't be included in a defconfig. Give CONFIG_SND_SOC_ICS43432 a prompt so that Pi soundcards @@ -2422,10 +2173,10 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 6c78b0b49b8145c24740d93c4174c059d91ddae9..d6450d5fc144737f967b8e00678baa9b8f92295f 100644 +index c367d11079bc90feec2ad0fa748d7ffc3035faba..91d5b531b69b49db97f7febbc60d33a20991cb0f 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig -@@ -571,7 +571,7 @@ config SND_SOC_HDAC_HDMI +@@ -579,7 +579,7 @@ config SND_SOC_HDAC_HDMI select HDMI config SND_SOC_ICS43432 @@ -2435,10 +2186,10 @@ index 6c78b0b49b8145c24740d93c4174c059d91ddae9..d6450d5fc144737f967b8e00678baa9b config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From 4ac0a57c84b437c249338104698ba7b19f9b1bcd Mon Sep 17 00:00:00 2001 +From b6fd9b6973aba3028e994fa09f8b61c4465e64ac Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 038/141] Main bcm2708/bcm2709 linux port +Subject: [PATCH 036/139] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2469,10 +2220,10 @@ Signed-off-by: Noralf Trønnes 5 files changed, 44 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index 3c7d01eaa341b03ced0ba9aadb705463f82ca149..17ec37811c32f09126ed42753037e055c5cec115 100644 +index b336f0359946e3d7247a6877c947d7e0e45717f8..971bc298f63eeeed418131b7b7200ac91b0d73f1 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -157,6 +157,7 @@ config ARCH_BCM2835 +@@ -158,6 +158,7 @@ config ARCH_BCM2835 select FIQ select PINCTRL select PINCTRL_BCM2835 @@ -2541,7 +2292,7 @@ index 06d890a2342b1600e2eae6e350994ad59f5c3a08..30d96e81c0e052c725bdb00bb3df5619 ENTRY(cpu_v6_dcache_clean_area) diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index eccf6ed025299cb480884f5bcbe77abf55a6bbb1..8ed457fd74bd23bee27b64a2c9e3828ce0e4fb87 100644 +index 13356d3b7bcd508f058c6a9e3c4b0b385d478ef4..fee691736c124c57ede4ab47a7c6bfa3b7c3b681 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -54,7 +54,9 @@ @@ -2562,7 +2313,7 @@ index eccf6ed025299cb480884f5bcbe77abf55a6bbb1..8ed457fd74bd23bee27b64a2c9e3828c #define FIQ_START (NR_IRQS_BANK0 + MAKE_HWIRQ(NR_BANKS - 1, 0)) static const int reg_pending[] __initconst = { 0x00, 0x04, 0x08 }; -@@ -256,10 +259,12 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -255,10 +258,12 @@ static int __init armctrl_of_init(struct device_node *node, MAKE_HWIRQ(b, i) + NUMBER_IRQS); BUG_ON(irq <= 0); irq_set_chip(irq, &armctrl_chip); @@ -2626,10 +2377,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From 328e67e310cac366278ac949d8493f98e03add84 Mon Sep 17 00:00:00 2001 +From aff611b081ee35b491926d0e3f03fdc7df62820e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 039/141] Add dwc_otg driver +Subject: [PATCH 037/139] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -3296,7 +3047,7 @@ Related: https://github.com/raspberrypi/linux/issues/2024 drivers/usb/host/dwc_otg/dwc_otg_dbg.h | 117 + drivers/usb/host/dwc_otg/dwc_otg_driver.c | 1761 +++++ drivers/usb/host/dwc_otg/dwc_otg_driver.h | 86 + - drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 1390 ++++ + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 1389 ++++ drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h | 372 + drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S | 80 + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 4284 ++++++++++++ @@ -3317,7 +3068,7 @@ Related: https://github.com/raspberrypi/linux/issues/2024 drivers/usb/host/dwc_otg/test/dwc_otg_test.pm | 337 + drivers/usb/host/dwc_otg/test/test_mod_param.pl | 133 + drivers/usb/host/dwc_otg/test/test_sysfs.pl | 193 + - 70 files changed, 60008 insertions(+), 16 deletions(-) + 70 files changed, 60007 insertions(+), 16 deletions(-) create mode 100644 drivers/usb/gadget/file_storage.c create mode 100644 drivers/usb/host/dwc_common_port/Makefile create mode 100644 drivers/usb/host/dwc_common_port/Makefile.fbsd @@ -3381,10 +3132,10 @@ Related: https://github.com/raspberrypi/linux/issues/2024 create mode 100644 drivers/usb/host/dwc_otg/test/test_sysfs.pl diff --git a/arch/arm/include/asm/irqflags.h b/arch/arm/include/asm/irqflags.h -index e6b70d9d084ea5d369c237f9a3f81c92e331a429..a48ccf7c73d873eb236b61e25a9e1cbde93b60e7 100644 +index aeec7f24eb75beb505c885973efe8c7d4f50c0b3..a3b186608c60928855aec338421539b8a7ecae18 100644 --- a/arch/arm/include/asm/irqflags.h +++ b/arch/arm/include/asm/irqflags.h -@@ -162,13 +162,23 @@ static inline unsigned long arch_local_save_flags(void) +@@ -163,13 +163,23 @@ static inline unsigned long arch_local_save_flags(void) } /* @@ -3424,10 +3175,10 @@ index 8dd26e1a9bd69051a1548d99c157cad2e65ba81b..eef484756af2179be8acd76b9ddbd3e9 + mov pc, r8 +ENDPROC(__FIQ_Branch) diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile -index 9650b351c26c7f2064facc118435cb1cea1b12ee..2acdb2b92f96d8a08c2472d903df5d88e7d0d476 100644 +index 060643a1b5c8aa4f446973bc1ca8b7bfadfcb54b..00809104ba9d48a7c20b94b2fb9a22faeddfabb5 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile -@@ -7,6 +7,7 @@ +@@ -8,6 +8,7 @@ obj-$(CONFIG_USB) += core/ obj-$(CONFIG_USB_SUPPORT) += phy/ @@ -3448,10 +3199,10 @@ index bd3e0c5a6db25e7a162d922c6508de1ad0b68025..15c80079c97bb9eeec478932af88a293 return i; } diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 3f44341259d85f161e56a63a06add218d7da4b91..4a5400076fd1c297a6f289754ed3286e4bf3f374 100644 +index e9ce6bb0b22d15587efaff059b3c5c2c29681430..927b15aca2bbed51c221b151902b402cf53fad59 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5042,7 +5042,7 @@ static void port_event(struct usb_hub *hub, int port1) +@@ -5055,7 +5055,7 @@ static void port_event(struct usb_hub *hub, int port1) if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; @@ -7414,10 +7165,10 @@ index fa5692dec8320695a59bf7f3c0fa0a9e5457a0de..64ed87af62b3d38db663cc77978b024d tristate "i.MX21 HCD support" depends on ARM && ARCH_MXC diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile -index cf2691fffcc0a5429858e39479a3c313be23d17b..e7291653b98ab382d151312431806592c6afb200 100644 +index 4ab2689c8952becf01294a887f74a331fa1cc539..1711c9525478d5c6c45994d8c1e4a8f5ab00fc91 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile -@@ -72,6 +72,8 @@ obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o +@@ -73,6 +73,8 @@ obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o obj-$(CONFIG_USB_HWA_HCD) += hwa-hc.o @@ -37296,10 +37047,10 @@ index 0000000000000000000000000000000000000000..6a8be63a0ab20f4e1c56251b85648aa2 +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c new file mode 100644 -index 0000000000000000000000000000000000000000..b7731e7edb4602f93f028d786194822161bbf0f8 +index 0000000000000000000000000000000000000000..96fd44eb6414a2b70d8be307e9dcd4c4804cef2d --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c -@@ -0,0 +1,1390 @@ +@@ -0,0 +1,1389 @@ +/* + * dwc_otg_fiq_fsm.c - The finite state machine FIQ + * @@ -37386,7 +37137,6 @@ index 0000000000000000000000000000000000000000..b7731e7edb4602f93f028d7861948221 + unsigned long tmp; + uint32_t newval; + fiq_lock_t lockval; -+ smp_mb__before_spinlock(); + /* Nested locking, yay. If we are on the same CPU as the fiq, then the disable + * will be sufficient. If we are on a different CPU, then the lock protects us. */ + prefetchw(&lock->slock); @@ -63903,10 +63653,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From aa71d8897033183c388b5f1fb2a4f2db651ebf7c Mon Sep 17 00:00:00 2001 +From 6e3637dd9f7c3453da675ff6d80067603afcc442 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 040/141] bcm2708 framebuffer driver +Subject: [PATCH 038/139] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -63988,7 +63738,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 drivers/video/fbdev/bcm2708_fb.c diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index 5c6696bb56da89d1ca86f00f16c3c408303ca5ad..7b44601d1c58007cdb3adafdf5f3c33a0801b8c6 100644 +index 5e58f5ec0a28e449afa8813a652b1aa3469e0721..127978982287bf04b6ea215433bd905ed432aa2f 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -236,6 +236,20 @@ config FB_TILEBLITTING @@ -64013,10 +63763,10 @@ index 5c6696bb56da89d1ca86f00f16c3c408303ca5ad..7b44601d1c58007cdb3adafdf5f3c33a tristate "Aeroflex Gaisler framebuffer support" depends on FB && SPARC diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile -index ee8c81405a7f9af1f190c98ddcfa53666ad97b0f..8cd1193b98690b9c4f49098ab14389504d65af3a 100644 +index 8895536a20d648723197affff38d1bbf8fc140a8..52c5ebb6680fcebb86b6e4f5e0254491d1cef33d 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile -@@ -10,6 +10,7 @@ obj-$(CONFIG_FB_MACMODES) += macmodes.o +@@ -11,6 +11,7 @@ obj-$(CONFIG_FB_MACMODES) += macmodes.o obj-$(CONFIG_FB_WMT_GE_ROPS) += wmt_ge_rops.o # Hardware specific drivers go first @@ -67365,10 +67115,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From bb5eb313ac5aba441a90f3ef9560bd7df042c08d Mon Sep 17 00:00:00 2001 +From ea66272cf0111f3f822fb05f73db83417cdc6ff1 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 041/141] dmaengine: Add support for BCM2708 +Subject: [PATCH 039/139] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67527,10 +67277,10 @@ bcm2708-dmaengine - Fix arm64 portability/build issues create mode 100644 include/linux/platform_data/dma-bcm2708.h diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index f8883e93c4d89a3ae62a585329c8d5edb5c23058..ec67ffad5415015512958f1b76ccc181ce0cfa33 100644 +index e5244c1f9318bd4dbd98111394113b3e9f8596c3..845fb2ff22a243e8ca9bef585dc20b8dd200b77f 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig -@@ -125,7 +125,7 @@ config COH901318 +@@ -131,7 +131,7 @@ config COH901318 config DMA_BCM2835 tristate "BCM2835 DMA engine support" @@ -67539,7 +67289,7 @@ index f8883e93c4d89a3ae62a585329c8d5edb5c23058..ec67ffad5415015512958f1b76ccc181 select DMA_ENGINE select DMA_VIRTUAL_CHANNELS -@@ -529,6 +529,10 @@ config TIMB_DMA +@@ -535,6 +535,10 @@ config TIMB_DMA help Enable support for the Timberdale FPGA DMA engine. @@ -67551,10 +67301,10 @@ index f8883e93c4d89a3ae62a585329c8d5edb5c23058..ec67ffad5415015512958f1b76ccc181 tristate "CPPI 4.1 DMA support" depends on (ARCH_OMAP || ARCH_DAVINCI_DA8XX) diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile -index d12ab2985ed121e20a6351ec4c23604c50111339..8013779881d1a9442bdc26b12af8c1740b342a99 100644 +index 9d0156b502946a63fe93e344dc50fe0680ff7608..3ebe6b90eb30da487d4408c38caed699acf8171f 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile -@@ -19,6 +19,7 @@ obj-$(CONFIG_AT_XDMAC) += at_xdmac.o +@@ -21,6 +21,7 @@ obj-$(CONFIG_AT_XDMAC) += at_xdmac.o obj-$(CONFIG_AXI_DMAC) += dma-axi-dmac.o obj-$(CONFIG_BCM_SBA_RAID) += bcm-sba-raid.o obj-$(CONFIG_COH901318) += coh901318.o coh901318_lli.o @@ -67999,10 +67749,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From e318469f64f5f4e5d91fb056be77ddf9d46d8a5c Mon Sep 17 00:00:00 2001 +From 6f981ed615b7b5b131b56163f7dced05532d6755 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 042/141] MMC: added alternative MMC driver +Subject: [PATCH 040/139] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -68097,10 +67847,10 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/mmc/host/bcm2835-mmc.c diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c -index 8bd7aba811e969a3b7cfdc6cf12e685f25e8c37e..cd1eb5cf73358a0104fbf4b6ed8e72dd491d658d 100644 +index 2ad7b5c691569e37cd366425c62c6ae0514f3857..b089ec42ce70d9af48136a142691a2e3596e13d9 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c -@@ -125,6 +125,13 @@ static DEFINE_MUTEX(open_lock); +@@ -126,6 +126,13 @@ static DEFINE_MUTEX(open_lock); module_param(perdev_minors, int, 0444); MODULE_PARM_DESC(perdev_minors, "Minors numbers to allocate per device"); @@ -68112,9 +67862,9 @@ index 8bd7aba811e969a3b7cfdc6cf12e685f25e8c37e..cd1eb5cf73358a0104fbf4b6ed8e72dd +MODULE_PARM_DESC(card_quirks, "Force the use of the indicated quirks (a bitfield)"); + static inline int mmc_blk_part_switch(struct mmc_card *card, - struct mmc_blk_data *md); + unsigned int part_type); -@@ -2287,6 +2294,7 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2434,6 +2441,7 @@ static int mmc_blk_probe(struct mmc_card *card) { struct mmc_blk_data *md, *part_md; char cap_str[10]; @@ -68122,7 +67872,7 @@ index 8bd7aba811e969a3b7cfdc6cf12e685f25e8c37e..cd1eb5cf73358a0104fbf4b6ed8e72dd /* * Check that the card supports the command class(es) we need. -@@ -2294,7 +2302,16 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2441,7 +2449,16 @@ static int mmc_blk_probe(struct mmc_card *card) if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -68140,7 +67890,7 @@ index 8bd7aba811e969a3b7cfdc6cf12e685f25e8c37e..cd1eb5cf73358a0104fbf4b6ed8e72dd md = mmc_blk_alloc(card); if (IS_ERR(md)) -@@ -2302,9 +2319,14 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2449,9 +2466,14 @@ static int mmc_blk_probe(struct mmc_card *card) string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, cap_str, sizeof(cap_str)); @@ -68158,10 +67908,10 @@ index 8bd7aba811e969a3b7cfdc6cf12e685f25e8c37e..cd1eb5cf73358a0104fbf4b6ed8e72dd if (mmc_blk_alloc_parts(card, md)) goto out; diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c -index 26431267a3e2d790d4eae99e65881ca60bd2047d..0ec589ace762a27f3c5ea39226fef3a67442675f 100644 +index 66c9cf49ad2f11fe59de05eae716b6b797766cc4..d970bdaadb96b31ee1727425523af4b3d2010e32 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c -@@ -2211,7 +2211,8 @@ EXPORT_SYMBOL(mmc_erase); +@@ -2210,7 +2210,8 @@ EXPORT_SYMBOL(mmc_erase); int mmc_can_erase(struct mmc_card *card) { if ((card->host->caps & MMC_CAP_ERASE) && @@ -68172,10 +67922,10 @@ index 26431267a3e2d790d4eae99e65881ca60bd2047d..0ec589ace762a27f3c5ea39226fef3a6 return 0; } diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c -index 1503412f826cd0e0e9ad37a0554b31596a49eb77..2f5b3cf86293b96b104eac7c6d48a5839d7e974b 100644 +index ad88deb2e8f3b046838a3539841717951c33a6c6..2b424604e17161400b9002eeb2e836e4b7c6737e 100644 --- a/drivers/mmc/core/host.c +++ b/drivers/mmc/core/host.c -@@ -344,15 +344,30 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) +@@ -350,15 +350,30 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) { int err; struct mmc_host *host; @@ -68208,10 +67958,10 @@ index 1503412f826cd0e0e9ad37a0554b31596a49eb77..2f5b3cf86293b96b104eac7c6d48a583 kfree(host); return NULL; diff --git a/drivers/mmc/core/quirks.h b/drivers/mmc/core/quirks.h -index fb725934fa21cee1b98fd7bc08227bf6d0317549..c9d5d644688c1509d7febcff0322fbaba0a842d6 100644 +index f664e9cbc9f8b66aa9f4f3c8fdd55882d99c8c79..baf123718acd934536a97cc9032b98b0e581a47b 100644 --- a/drivers/mmc/core/quirks.h +++ b/drivers/mmc/core/quirks.h -@@ -90,6 +90,14 @@ static const struct mmc_fixup mmc_blk_fixups[] = { +@@ -91,6 +91,14 @@ static const struct mmc_fixup mmc_blk_fixups[] = { MMC_FIXUP("V10016", CID_MANFID_KINGSTON, CID_OEMID_ANY, add_quirk_mmc, MMC_QUIRK_TRIM_BROKEN), @@ -68227,7 +67977,7 @@ index fb725934fa21cee1b98fd7bc08227bf6d0317549..c9d5d644688c1509d7febcff0322fbab }; diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index 5755b69f2f728ffb829f257c2016a8965ce19c93..267a5be5b029603fcb0a30d59c9c44784b6633d9 100644 +index 8c15637178ff3cec73b637633710f84e4dd93a00..5fcc7b0cbc7bcccaf418ffca7680a46e7f845545 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -4,6 +4,35 @@ @@ -68263,14 +68013,14 @@ index 5755b69f2f728ffb829f257c2016a8965ce19c93..267a5be5b029603fcb0a30d59c9c4478 + + If unsure, say 2 here. + - config MMC_ARMMMCI - tristate "ARM AMBA Multimedia Card Interface support" - depends on ARM_AMBA + config MMC_DEBUG + bool "MMC host drivers debugging" + depends on MMC != n diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 4d454711631158559c99a4df7953b17f3b1330d6..b27b702f59ba2b473a9d4da77eb5edb0f8763f03 100644 +index 7c7b29ff591a1cac0fbc1a5832569377c0dbc01c..000f75a2c26c4c16ee5075c1d86efa1d48bfdaf2 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile -@@ -18,6 +18,7 @@ obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o +@@ -20,6 +20,7 @@ obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o obj-$(CONFIG_MMC_SDHCI_F_SDH30) += sdhci_f_sdh30.o obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o @@ -69869,7 +69619,7 @@ index 0000000000000000000000000000000000000000..c4a5e992c6fb4a40b933239350ed4bfc +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Gellert Weisz"); diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h -index 46c73e97e61f08a41d9753079345f5965caebbc5..388c551ed11e9d06ea1c25b6553d47a8d668953a 100644 +index 279b39008a33bb68745d9ea55ea5dd7ed522fd1c..49bdea5791a289251019a89419804dde97dbd2d0 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -269,6 +269,8 @@ struct mmc_card { @@ -69882,10 +69632,10 @@ index 46c73e97e61f08a41d9753079345f5965caebbc5..388c551ed11e9d06ea1c25b6553d47a8 unsigned int erase_size; /* erase size in sectors */ -From e55e301b8ef832560bbce755d963b984c237e2ed Mon Sep 17 00:00:00 2001 +From 6b89a5b54960deb2e41ee88c527f7e8a0e53cc2c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 043/141] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 041/139] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -70059,7 +69809,7 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/mmc/host/bcm2835-sdhost.c diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index 267a5be5b029603fcb0a30d59c9c44784b6633d9..dc41121c101e2ac6fe000fe2ab556561a340b78f 100644 +index 5fcc7b0cbc7bcccaf418ffca7680a46e7f845545..91adb0d9936c9489377edd78ccc8c4f34e351da0 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -33,6 +33,16 @@ config MMC_BCM2835_PIO_DMA_BARRIER @@ -70076,14 +69826,14 @@ index 267a5be5b029603fcb0a30d59c9c44784b6633d9..dc41121c101e2ac6fe000fe2ab556561 + + If unsure, say N. + - config MMC_ARMMMCI - tristate "ARM AMBA Multimedia Card Interface support" - depends on ARM_AMBA + config MMC_DEBUG + bool "MMC host drivers debugging" + depends on MMC != n diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index b27b702f59ba2b473a9d4da77eb5edb0f8763f03..9ba643d3b2e12960f5ce4b0eb5d75c1c360980ce 100644 +index 000f75a2c26c4c16ee5075c1d86efa1d48bfdaf2..b44ecbd0afaf9923a767e722f17b7496e35c63c7 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile -@@ -19,6 +19,7 @@ obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o +@@ -21,6 +21,7 @@ obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o obj-$(CONFIG_MMC_SDHCI_F_SDH30) += sdhci_f_sdh30.o obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o obj-$(CONFIG_MMC_BCM2835_MMC) += bcm2835-mmc.o @@ -72291,10 +72041,10 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From c989a502868b6e9ee88a31dddd8c9ff20304a0fc Mon Sep 17 00:00:00 2001 +From 7fd150f632e4d2f3353eb9fd17fc35e9fe9df275 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 044/141] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 042/139] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -72819,10 +72569,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From 92506c289d5eb00ef43e614de2a4348133dbdfb8 Mon Sep 17 00:00:00 2001 +From 8098d04465c6171a90dfa173ad550b96562146c7 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 045/141] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 043/139] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -72884,6 +72634,16 @@ Takes a dmabuf, and then calls over to the VPU to wrap it into a suitable handle. Signed-off-by: Dave Stevenson + +vcsm: fix multi-platform build + +vcsm: add macros for cache functions + +vcsm: use dma APIs for cache functions + +* Will handle multi-platform builds + +vcsm: Fix up macros to avoid breaking numbers used by existing apps --- drivers/char/Kconfig | 2 + drivers/char/Makefile | 1 + @@ -72891,12 +72651,12 @@ Signed-off-by: Dave Stevenson drivers/char/broadcom/Makefile | 1 + drivers/char/broadcom/vc_sm/Makefile | 9 + drivers/char/broadcom/vc_sm/vc_sm_defs.h | 237 ++ - drivers/char/broadcom/vc_sm/vc_sm_knl.h | 53 + + drivers/char/broadcom/vc_sm/vc_sm_knl.h | 58 + drivers/char/broadcom/vc_sm/vc_vchi_sm.c | 516 +++++ drivers/char/broadcom/vc_sm/vc_vchi_sm.h | 102 + - drivers/char/broadcom/vc_sm/vmcs_sm.c | 3505 ++++++++++++++++++++++++++++++ + drivers/char/broadcom/vc_sm/vmcs_sm.c | 3493 ++++++++++++++++++++++++++++++ include/linux/broadcom/vmcs_sm_ioctl.h | 280 +++ - 11 files changed, 4715 insertions(+) + 11 files changed, 4708 insertions(+) create mode 100644 drivers/char/broadcom/vc_sm/Makefile create mode 100644 drivers/char/broadcom/vc_sm/vc_sm_defs.h create mode 100644 drivers/char/broadcom/vc_sm/vc_sm_knl.h @@ -72906,10 +72666,10 @@ Signed-off-by: Dave Stevenson create mode 100644 include/linux/broadcom/vmcs_sm_ioctl.h diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig -index ccd239ab879ff326a1c7a85c2fd66fb8021d0f29..7cab65d4e530a701844bc4c3d65df2b4137b150d 100644 +index c28dca0c613d1be5d99c924fe68da994c32b7847..3e4e9927dd42e585da9d6fef415d0381c6e046cd 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig -@@ -4,6 +4,8 @@ +@@ -5,6 +5,8 @@ menu "Character devices" @@ -72919,10 +72679,10 @@ index ccd239ab879ff326a1c7a85c2fd66fb8021d0f29..7cab65d4e530a701844bc4c3d65df2b4 config DEVMEM diff --git a/drivers/char/Makefile b/drivers/char/Makefile -index 53e33720818c0aba856ca2d8f7386618d73a8f40..8b75903fe3df617a7c3298603610e6599502f592 100644 +index 7dc3abe664648eeec97b303d4c75488fadd04bf9..5c896839d6b247079ea70be8a8939edf2eace530 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile -@@ -59,3 +59,4 @@ js-rtc-y = rtc.o +@@ -60,3 +60,4 @@ js-rtc-y = rtc.o obj-$(CONFIG_TILE_SROM) += tile-srom.o obj-$(CONFIG_XILLYBUS) += xillybus/ obj-$(CONFIG_POWERNV_OP_PANEL) += powernv-op-panel.o @@ -73211,10 +72971,10 @@ index 0000000000000000000000000000000000000000..de6afe9f65af45582c79a62abd41c688 +#endif /* __VC_SM_DEFS_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vc_sm_knl.h b/drivers/char/broadcom/vc_sm/vc_sm_knl.h new file mode 100644 -index 0000000000000000000000000000000000000000..f7f74750d8358779c61dfcd6fc841aa1789a2c5e +index 0000000000000000000000000000000000000000..4f120421c2d11f7ae46752c38b073a4dfdf712c6 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -@@ -0,0 +1,53 @@ +@@ -0,0 +1,58 @@ +/* + **************************************************************************** + * Copyright 2011 Broadcom Corporation. All rights reserved. @@ -73244,6 +73004,11 @@ index 0000000000000000000000000000000000000000..f7f74750d8358779c61dfcd6fc841aa1 + VC_SM_LOCK_NON_CACHED, +}; + ++/* Cache functions */ ++#define VCSM_CACHE_OP_INV 0x01 ++#define VCSM_CACHE_OP_CLEAN 0x02 ++#define VCSM_CACHE_OP_FLUSH 0x03 ++ +/* Allocate a shared memory handle and block. */ +int vc_sm_alloc(struct vc_sm_alloc_t *alloc, int *handle); + @@ -73900,10 +73665,10 @@ index 0000000000000000000000000000000000000000..abe4ed15836f2be756083d3fdb4edb54 +#endif /* __VC_VCHI_SM_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c new file mode 100644 -index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cde051f32a +index 0000000000000000000000000000000000000000..53843054d7617716761b74d8a3d91551b91ffb75 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -0,0 +1,3505 @@ +@@ -0,0 +1,3493 @@ +/* + **************************************************************************** + * Copyright 2011-2012 Broadcom Corporation. All rights reserved. @@ -74124,32 +73889,6 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd +}; +#endif + -+typedef void cache_flush_op_fn(const void *, const void *); -+ -+#if defined(CONFIG_CPU_CACHE_V7) -+extern cache_flush_op_fn v7_dma_inv_range; -+extern cache_flush_op_fn v7_dma_clean_range; -+static cache_flush_op_fn * const flushops[4] = -+{ -+ 0, -+ v7_dma_inv_range, -+ v7_dma_clean_range, -+ v7_dma_flush_range, -+}; -+#elif defined(CONFIG_CPU_CACHE_V6) -+extern cache_flush_op_fn v6_dma_inv_range; -+extern cache_flush_op_fn v6_dma_clean_range; -+static cache_flush_op_fn * const flushops[4] = -+{ -+ 0, -+ v6_dma_inv_range, -+ v6_dma_clean_range, -+ v6_dma_flush_range, -+}; -+#else -+#error Unknown cache config -+#endif -+ +/* ---- Private Function Prototypes -------------------------------------- */ + +/* ---- Private Functions ------------------------------------------------ */ @@ -74479,8 +74218,8 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd + resource->attach); + seq_printf(s, " SGT %p\n", + resource->sgt); -+ seq_printf(s, " DMA_ADDR 0x%08X\n", -+ resource->dma_addr); ++ seq_printf(s, " DMA_ADDR %pad\n", ++ &resource->dma_addr); + } + } + seq_printf(s, "\n\nTotal resource count: %d\n\n", resource_count); @@ -76868,12 +76607,9 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd + } + for (i = 0; i < sizeof(ioparam.s) / sizeof(*ioparam.s); i++) { + switch (ioparam.s[i].cmd) { -+ default: -+ case 0: -+ break; /* NOOP */ -+ case 1: /* L1/L2 invalidate virtual range */ -+ case 2: /* L1/L2 clean physical range */ -+ case 3: /* L1/L2 clean+invalidate all */ ++ case VCSM_CACHE_OP_INV: /* L1/L2 invalidate virtual range */ ++ case VCSM_CACHE_OP_FLUSH: /* L1/L2 clean physical range */ ++ case VCSM_CACHE_OP_CLEAN: /* L1/L2 clean+invalidate all */ + /* Locate resource from GUID. */ + resource = + vmcs_sm_acquire_resource(file_data, ioparam.s[i].handle); @@ -76897,6 +76633,8 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd + vmcs_sm_release_resource(resource, 0); + + break; ++ default: ++ break; /* NOOP */ + } + } + } @@ -76933,7 +76671,22 @@ index 0000000000000000000000000000000000000000..034ae2f27f870621af9f49453501f1cd + + for (i = 0; i < ioparam.op_count; i++) { + const struct vmcs_sm_ioctl_clean_invalid_block * const op = block + i; -+ cache_flush_op_fn * const op_fn = flushops[op->invalidate_mode & 3]; ++ void (*op_fn)(const void *, const void *); ++ ++ switch(op->invalidate_mode & 3) { ++ case VCSM_CACHE_OP_INV: ++ op_fn = dmac_inv_range; ++ break; ++ case VCSM_CACHE_OP_CLEAN: ++ op_fn = dmac_clean_range; ++ break; ++ case VCSM_CACHE_OP_FLUSH: ++ op_fn = dmac_flush_range; ++ break; ++ default: ++ op_fn = 0; ++ break; ++ } + + if ((op->invalidate_mode & ~3) != 0) { + ret = -EINVAL; @@ -77696,10 +77449,10 @@ index 0000000000000000000000000000000000000000..b75729d762f25aace133f7a008633b40 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 111c3d7fc014716ddc0110003d9645be273dbebe Mon Sep 17 00:00:00 2001 +From 26ba5248426b1f9dbf6ca36114e51af3fb2d9b5d Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 046/141] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 044/139] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -78007,10 +77760,10 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From 12413f7c0d6585191c90d250f1cc2ff4a5bf9157 Mon Sep 17 00:00:00 2001 +From 9f80a7da9daac12cb0ad19ec07b508faca68be11 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 047/141] Add SMI driver +Subject: [PATCH 045/139] Add SMI driver Signed-off-by: Luke Wren --- @@ -78561,10 +78314,10 @@ index 8136dc7e863d7166a64c5ac8bddfa7f606e8c1fa..3db74632766eaacfe7a98d6cf4cf39db tristate "Analog Devices Digital Potentiometers" depends on (I2C || SPI) && SYSFS diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index b0b766416306e2e9ab4ffed550cb2a89b9f94280..fa5cba718065e656a29d7c9be0497e871a67d13f 100644 +index ad0e64fdba3484445921b8140d4c994f880970d1..db70f5c0e50491fa4f5a58b767be74d172f29509 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile -@@ -9,6 +9,7 @@ obj-$(CONFIG_AD525X_DPOT_SPI) += ad525x_dpot-spi.o +@@ -10,6 +10,7 @@ obj-$(CONFIG_AD525X_DPOT_SPI) += ad525x_dpot-spi.o obj-$(CONFIG_INTEL_MID_PTI) += pti.o obj-$(CONFIG_ATMEL_SSC) += atmel-ssc.o obj-$(CONFIG_ATMEL_TCLIB) += atmel_tclib.o @@ -79961,10 +79714,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From a733e21bbf80060b7dc4cbedf67180ab48add72b Mon Sep 17 00:00:00 2001 +From e8cf054cad9464a69a77501e296b9e5482692bfc Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 048/141] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 046/139] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -80133,10 +79886,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From 1902668fe6bb2be2c72f9ec340cfe95682607cc6 Mon Sep 17 00:00:00 2001 +From 02a53be2da9e8ac406753830a8b07a81ed35cc57 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 049/141] Add SMI NAND driver +Subject: [PATCH 047/139] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -80198,7 +79951,7 @@ index 0000000000000000000000000000000000000000..159544d6579070d376d146bd24a86653 +}; \ No newline at end of file diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig -index dbfa72d61d5aa7b955e6d0728b127f69e79b3012..cb0e36dd772e8babb15f1a5f71797401f7153eb9 100644 +index 3f2036f31da47ae7209365c31aab0bb363b6940f..0534944728b7535b3b8324e9d91598c9b0c95dea 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -40,6 +40,13 @@ config MTD_SM_COMMON @@ -80216,10 +79969,10 @@ index dbfa72d61d5aa7b955e6d0728b127f69e79b3012..cb0e36dd772e8babb15f1a5f71797401 tristate diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile -index ade5fc4c3819a79ffd575119ed6bbf5607bd8b7f..4312f9ac34ed8f3ae5d73dd1973a07e94f557c03 100644 +index 6e2db700d923ddd14bdd6b0ae9cc5b554cf0ef1e..798981f3ec0512754d12aa55e130fc5a48ea05a5 100644 --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile -@@ -13,6 +13,7 @@ obj-$(CONFIG_MTD_NAND_DENALI) += denali.o +@@ -14,6 +14,7 @@ obj-$(CONFIG_MTD_NAND_DENALI) += denali.o obj-$(CONFIG_MTD_NAND_DENALI_PCI) += denali_pci.o obj-$(CONFIG_MTD_NAND_DENALI_DT) += denali_dt.o obj-$(CONFIG_MTD_NAND_AU1550) += au1550nd.o @@ -80229,7 +79982,7 @@ index ade5fc4c3819a79ffd575119ed6bbf5607bd8b7f..4312f9ac34ed8f3ae5d73dd1973a07e9 obj-$(CONFIG_MTD_NAND_TANGO) += tango_nand.o diff --git a/drivers/mtd/nand/bcm2835_smi_nand.c b/drivers/mtd/nand/bcm2835_smi_nand.c new file mode 100644 -index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79de58bfdce +index 0000000000000000000000000000000000000000..c4826ea1c2bae555ce780e61f1076dddc1fa80db --- /dev/null +++ b/drivers/mtd/nand/bcm2835_smi_nand.c @@ -0,0 +1,267 @@ @@ -80274,7 +80027,7 @@ index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79d +#include +#include +#include -+#include ++#include +#include + +#include @@ -80501,10 +80254,10 @@ index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79d + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From d1a1fdae06e40a2ce7c195bd30fae3fb6db1f361 Mon Sep 17 00:00:00 2001 +From 75412f99e572ad64a7d68d2843fd80aae3c5cd48 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 050/141] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 048/139] lirc: added support for RaspberryPi GPIO lirc_rpi: Use read_current_timer to determine transmitter delay. Thanks to jjmz and others See: https://github.com/raspberrypi/linux/issues/525 @@ -81364,10 +81117,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 28e6f0fb9665d3c90e2e03cf023fb19b6a62dd9a Mon Sep 17 00:00:00 2001 +From 5d32eaf96920a1bb3f839dcd12e34a3be808d73f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 051/141] Add cpufreq driver +Subject: [PATCH 049/139] Add cpufreq driver Signed-off-by: popcornmix @@ -81383,12 +81136,12 @@ Signed-off-by: Dom Cobley create mode 100644 drivers/cpufreq/bcm2835-cpufreq.c diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm -index 2011fec2d6ad9d5b4ad1b089c38a1be23baeb509..32caf32c8b247244930cbe27e8e5981728b8f3ac 100644 +index bdce4488ded1709b40282e8b14c614ee14e35ac8..e6e43bb9b51a9693932ce293195805a747f91f12 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm -@@ -242,6 +242,15 @@ config ARM_STI_CPUFREQ - this config option if you wish to add CPUFreq support for STi based - SoCs. +@@ -237,6 +237,15 @@ config ARM_TANGO_CPUFREQ + depends on CPUFREQ_DT && ARCH_TANGO + default y +config ARM_BCM2835_CPUFREQ + depends on RASPBERRYPI_FIRMWARE @@ -81403,13 +81156,13 @@ index 2011fec2d6ad9d5b4ad1b089c38a1be23baeb509..32caf32c8b247244930cbe27e8e59817 bool "Tegra20 CPUFreq support" depends on ARCH_TEGRA diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile -index ab3a42cd29ef210bcf0cad2ee48c74cb954b14f2..f81761612a9bef474090a868305bb86ee57cd930 100644 +index 812f9e0d01a343a1477ecc91fee0fbaa353fb26d..f8da42e2b4faf7c2eb50b0bda68ffc2ba7a7fbf3 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile -@@ -75,6 +75,7 @@ obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o - obj-$(CONFIG_ARM_SCPI_CPUFREQ) += scpi-cpufreq.o +@@ -76,6 +76,7 @@ obj-$(CONFIG_ARM_SCPI_CPUFREQ) += scpi-cpufreq.o obj-$(CONFIG_ARM_SPEAR_CPUFREQ) += spear-cpufreq.o obj-$(CONFIG_ARM_STI_CPUFREQ) += sti-cpufreq.o + obj-$(CONFIG_ARM_TANGO_CPUFREQ) += tango-cpufreq.o +obj-$(CONFIG_ARM_BCM2835_CPUFREQ) += bcm2835-cpufreq.o obj-$(CONFIG_ARM_TEGRA20_CPUFREQ) += tegra20-cpufreq.o obj-$(CONFIG_ARM_TEGRA124_CPUFREQ) += tegra124-cpufreq.o @@ -81631,10 +81384,10 @@ index 0000000000000000000000000000000000000000..99345969b0e4d651fd9033d67de2febb +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From 1cc147f1cf205f70c271099c7ea564887c6e5d12 Mon Sep 17 00:00:00 2001 +From eacd5a1f9e30d888699b70391b01b95d74afbba1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 052/141] Add Chris Boot's i2c driver +Subject: [PATCH 050/139] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81738,7 +81491,7 @@ both bcm2708_bsc_fifo_fill and ~drain are changed as well. create mode 100644 drivers/i2c/busses/i2c-bcm2708.c diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index 65fa29591d21641fd1bd4e4484d8daeef56f9bdb..82991e8031053ccca64798f079a8962ab1933873 100644 +index 45a3f3ca29b383ce7edfbb34e6d3fd506c5173b6..9dbd9e7619f44d73368fcd76e67487c340dfb55d 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -8,6 +8,25 @@ menu "I2C Hardware Bus support" @@ -81768,10 +81521,10 @@ index 65fa29591d21641fd1bd4e4484d8daeef56f9bdb..82991e8031053ccca64798f079a8962a tristate "ALI 1535" depends on PCI diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile -index 1b2fc815a4d838fffd96f8f40234092752477f31..68cfa5bbc26b1ea89ec0212559fadc10fa437346 100644 +index 2ce8576540a29a4abf80f4ca2767d9ca6448939d..5e4896e973bbfe9a53f6b5dc9033b23fe0cb1459 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile -@@ -2,6 +2,8 @@ +@@ -3,6 +3,8 @@ # Makefile for the i2c bus drivers. # @@ -82299,10 +82052,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From 4810d8b27fc3f42aa36085f07e43a3905e2ae79d Mon Sep 17 00:00:00 2001 +From 9aef997de325b1be7f3e5efe36f2eec6e1527a4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 053/141] char: broadcom: Add vcio module +Subject: [PATCH 051/139] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82527,10 +82280,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From 1f28609cab527b4554e295055d265c002399b257 Mon Sep 17 00:00:00 2001 +From b5f53770adf4418a39b0b87410b4661a5488a4f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 054/141] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 052/139] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82613,10 +82366,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From 9b50dc066b99a7f6682c2a455e164f5d4d94d226 Mon Sep 17 00:00:00 2001 +From 544c03b373c82975faa1f5ed16cc5ad87fe75f25 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 055/141] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 053/139] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -83143,10 +82896,10 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From 2faf220f8a809f5733550ecce459a151fcb37758 Mon Sep 17 00:00:00 2001 +From 7070ee4707d19d947a043b2febd98c337bfa70c4 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 056/141] BCM2708: Add core Device Tree support +Subject: [PATCH 054/139] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -83614,10 +83367,10 @@ Signed-off-by: Phil Elwell create mode 100644 arch/arm/boot/dts/overlays/wittypi-overlay.dts diff --git a/arch/arm/Makefile b/arch/arm/Makefile -index 47d3a1ab08d2491aff178040b309180226d131e8..895f8bfd519a77c46d31b2f6fb7c0ffdcef23638 100644 +index 36ae4454554ce1a11cc65848c60569bf8b3e0abe..be0fd4338da4502cff1e3224c71db685cb2fa3e0 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -339,6 +339,8 @@ $(INSTALL_TARGETS): +@@ -341,6 +341,8 @@ $(INSTALL_TARGETS): %.dtb: | scripts $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@ @@ -83637,10 +83390,11 @@ index 3c79f85975aaa26c7c2e353fefc54d71d89bc5bf..eaaeb17e5986e5f7178b2851169444ac -*.dtb +*.dtb* diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 4b17f35dc9a7167bcce9b5c9c9b35b7375add15c..7dd76e2bce867092846ce9bf5131d1a37ca965eb 100644 +index eff87a3445662c767bf6f4b24a94620148ab11e3..d85b3a4d051b45b6c60c137d725587bf964e4165 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -1,5 +1,14 @@ +@@ -1,6 +1,15 @@ + # SPDX-License-Identifier: GPL-2.0 ifeq ($(CONFIG_OF),y) +dtb-$(CONFIG_ARCH_BCM2835) += \ @@ -83655,7 +83409,7 @@ index 4b17f35dc9a7167bcce9b5c9c9b35b7375add15c..7dd76e2bce867092846ce9bf5131d1a3 dtb-$(CONFIG_ARCH_ALPINE) += \ alpine-db.dtb dtb-$(CONFIG_MACH_ARTPEC6) += \ -@@ -1056,10 +1065,21 @@ dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb +@@ -1069,10 +1078,21 @@ dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \ aspeed-bmc-opp-romulus.dtb \ aspeed-ast2500-evb.dtb @@ -85203,10 +84957,10 @@ index 0000000000000000000000000000000000000000..3e134a1208610b90e2d0fc22f03c6e9f +}; + diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 431dcfc900c024d85a88231d1df007916dafdfeb..6a119d30c5f8c2d13deacea646af8c3035e886d6 100644 +index 013431e3d7c3140d3a0645bdf4f130e9a860f984..8617ffdb2463ff307a3de32b74003e8a621119d5 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -408,6 +408,7 @@ +@@ -413,6 +413,7 @@ #address-cells = <1>; #size-cells = <0>; status = "disabled"; @@ -85214,7 +84968,7 @@ index 431dcfc900c024d85a88231d1df007916dafdfeb..6a119d30c5f8c2d13deacea646af8c30 }; i2c0: i2c@7e205000 { -@@ -464,12 +465,16 @@ +@@ -469,12 +470,16 @@ #clock-cells = <1>; reg = <0x7e215000 0x8>; clocks = <&clocks BCM2835_CLOCK_VPU>; @@ -85232,7 +84986,7 @@ index 431dcfc900c024d85a88231d1df007916dafdfeb..6a119d30c5f8c2d13deacea646af8c30 clocks = <&aux BCM2835_AUX_CLOCK_UART>; status = "disabled"; }; -@@ -477,7 +482,8 @@ +@@ -482,7 +487,8 @@ spi1: spi@7e215080 { compatible = "brcm,bcm2835-aux-spi"; reg = <0x7e215080 0x40>; @@ -85242,7 +84996,7 @@ index 431dcfc900c024d85a88231d1df007916dafdfeb..6a119d30c5f8c2d13deacea646af8c30 clocks = <&aux BCM2835_AUX_CLOCK_SPI1>; #address-cells = <1>; #size-cells = <0>; -@@ -487,7 +493,8 @@ +@@ -492,7 +498,8 @@ spi2: spi@7e2150c0 { compatible = "brcm,bcm2835-aux-spi"; reg = <0x7e2150c0 0x40>; @@ -95333,10 +95087,10 @@ index 0000000000000000000000000000000000000000..8498134fdbb3912e9ce18282b53084d8 + +}; diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst -index 993fb85982df2df2a7f8e20780d0cfbe3cb732e8..b44d8c993f1d347908b0a97525c8ff60490d6f60 100644 +index c8ba6e7f9868e8d048f3595f2ed7ed5a7674c8be..e1190ddfe462df546977c1389e2af001b8468c78 100644 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst -@@ -21,6 +21,7 @@ include scripts/Kbuild.include +@@ -22,6 +22,7 @@ include scripts/Kbuild.include include $(src)/Makefile dtbinst-files := $(dtb-y) @@ -95344,7 +95098,7 @@ index 993fb85982df2df2a7f8e20780d0cfbe3cb732e8..b44d8c993f1d347908b0a97525c8ff60 dtbinst-dirs := $(dts-dirs) # Helper targets for Installing DTBs into the boot directory -@@ -32,10 +33,13 @@ install-dir = $(patsubst $(dtbinst_root)%,$(INSTALL_DTBS_PATH)%,$(obj)) +@@ -33,10 +34,13 @@ install-dir = $(patsubst $(dtbinst_root)%,$(INSTALL_DTBS_PATH)%,$(obj)) $(dtbinst-files): %.dtb: $(obj)/%.dtb $(call cmd,dtb_install,$(install-dir)) @@ -95361,10 +95115,10 @@ index 993fb85982df2df2a7f8e20780d0cfbe3cb732e8..b44d8c993f1d347908b0a97525c8ff60 .PHONY: $(PHONY) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index 58c05e5d9870b6c18a72da7dc44ff3112994946d..9842523b225a88505d796cc689c04f40359eaf3d 100644 +index 04b5633df1cfafa316f9086c4bf98a9ecf9d0939..d523d1e14220a369c4c766ca3a01208ec1abefda 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib -@@ -324,6 +324,17 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ +@@ -316,6 +316,17 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ $(obj)/%.dtb: $(src)/%.dts FORCE $(call if_changed_dep,dtc) @@ -95383,10 +95137,10 @@ index 58c05e5d9870b6c18a72da7dc44ff3112994946d..9842523b225a88505d796cc689c04f40 # Bzip2 -From 86946be806589d04dae539c657f93137e14b9f5a Mon Sep 17 00:00:00 2001 +From dbaf82cd6d4640fba9bfcb969eecc621b2d6e24c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 057/141] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 055/139] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -95416,7 +95170,7 @@ See: https://github.com/raspberrypi/linux/issues/1064 create mode 100644 drivers/leds/trigger/ledtrig-input.c diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c -index e753ba93ba1e544986f1774d9c33c45aab23a996..809a63b02443b25113f5f134150972d280c49bc5 100644 +index 764c31301f903cef5d785a4adf49b4056df0dc2d..9544067cafa5553a4396b68c568838f271a3d105 100644 --- a/drivers/leds/leds-gpio.c +++ b/drivers/leds/leds-gpio.c @@ -50,8 +50,15 @@ static void gpio_led_set(struct led_classdev *led_cdev, @@ -95477,10 +95231,10 @@ index 3f9ddb9fafa77f1f1fe5535c5e947838761e4f35..c1b6c83f3b63f993452893f136c5da54 bool "LED Panic Trigger" depends on LEDS_TRIGGERS diff --git a/drivers/leds/trigger/Makefile b/drivers/leds/trigger/Makefile -index a72c43cffebf43bc7ebfd1eb1103b9ccff73d075..51b90c46890872fd1b148ec748edce0e0ce8fee1 100644 +index 9f2e868811e29d587cf82b25d42025990112d80f..48dbdc50d5796e348482d6bcb2cc1a891e271ac2 100644 --- a/drivers/leds/trigger/Makefile +++ b/drivers/leds/trigger/Makefile -@@ -9,4 +9,5 @@ obj-$(CONFIG_LEDS_TRIGGER_CPU) += ledtrig-cpu.o +@@ -10,4 +10,5 @@ obj-$(CONFIG_LEDS_TRIGGER_CPU) += ledtrig-cpu.o obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o obj-$(CONFIG_LEDS_TRIGGER_TRANSIENT) += ledtrig-transient.o obj-$(CONFIG_LEDS_TRIGGER_CAMERA) += ledtrig-camera.o @@ -95547,13 +95301,13 @@ index 0000000000000000000000000000000000000000..27f8ebea43d86fc51c98db5c953da05b +MODULE_DESCRIPTION("Set LED GPIO to Input \"trigger\""); +MODULE_LICENSE("GPL"); diff --git a/include/linux/leds.h b/include/linux/leds.h -index 64c56d454f7df9f864a5242ce4212df586f66886..3fd74c8737871cb56f0355c858fc135e1188c1f8 100644 +index bf6db4fe895bcd67e04ee65e8f76ea104af6299f..8741dca6dba65e2d72fbdbc1702139c2c09981f2 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h -@@ -49,6 +49,9 @@ struct led_classdev { - #define LED_HW_PLUGGABLE (1 << 19) +@@ -50,6 +50,9 @@ struct led_classdev { #define LED_PANIC_INDICATOR (1 << 20) #define LED_BRIGHT_HW_CHANGED (1 << 21) + #define LED_RETAIN_AT_SHUTDOWN (1 << 22) + /* Additions for Raspberry Pi PWR LED */ +#define SET_GPIO_INPUT (1 << 30) +#define SET_GPIO_OUTPUT (1 << 31) @@ -95561,10 +95315,10 @@ index 64c56d454f7df9f864a5242ce4212df586f66886..3fd74c8737871cb56f0355c858fc135e /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From d3303dfa22bbf70a5081c555c31a6446dabf5bd0 Mon Sep 17 00:00:00 2001 +From eb2ffa2fae8e3d9e3061d3fff0d58a42b5512585 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 058/141] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 056/139] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -95734,10 +95488,10 @@ index 37f60813fe1dd95d9f5f725c07ec2e75c09857bf..a048c964b11508042ffc582f452f2a4c if (ret == 0) { platform_set_drvdata(dev, fb); diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c -index 7a42238db446b0093323505b710963ac94a53e15..6e3be5680f33a564cebec408d1e15ffddbe0f890 100644 +index f741ba8df01b8e28f4331f988d2b04219bb103b6..be8c43d62698a426504642a2b51ffd71b2ac90e8 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c -@@ -1084,6 +1084,31 @@ fb_blank(struct fb_info *info, int blank) +@@ -1086,6 +1086,31 @@ fb_blank(struct fb_info *info, int blank) } EXPORT_SYMBOL(fb_blank); @@ -95769,7 +95523,7 @@ index 7a42238db446b0093323505b710963ac94a53e15..6e3be5680f33a564cebec408d1e15ffd static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { -@@ -1094,6 +1119,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, +@@ -1096,6 +1121,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, struct fb_cmap cmap_from; struct fb_cmap_user cmap; struct fb_event event; @@ -95777,7 +95531,7 @@ index 7a42238db446b0093323505b710963ac94a53e15..6e3be5680f33a564cebec408d1e15ffd void __user *argp = (void __user *)arg; long ret = 0; -@@ -1211,6 +1237,15 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, +@@ -1213,6 +1239,15 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, unlock_fb_info(info); console_unlock(); break; @@ -95793,7 +95547,7 @@ index 7a42238db446b0093323505b710963ac94a53e15..6e3be5680f33a564cebec408d1e15ffd default: if (!lock_fb_info(info)) return -ENODEV; -@@ -1356,6 +1391,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, +@@ -1358,6 +1393,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, case FBIOPAN_DISPLAY: case FBIOGET_CON2FBMAP: case FBIOPUT_CON2FBMAP: @@ -95802,10 +95556,10 @@ index 7a42238db446b0093323505b710963ac94a53e15..6e3be5680f33a564cebec408d1e15ffd case FBIOBLANK: ret = do_fb_ioctl(info, cmd, arg); diff --git a/include/uapi/linux/fb.h b/include/uapi/linux/fb.h -index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..703fa8a70574323abe2fb32599254582cd5d891f 100644 +index 6cd9b198b7c64eb94821f2e3f2c5201e6c6d25eb..f36c92c2da7487437c33f7a4e2c6e09e08601b76 100644 --- a/include/uapi/linux/fb.h +++ b/include/uapi/linux/fb.h -@@ -34,6 +34,12 @@ +@@ -35,6 +35,12 @@ #define FBIOPUT_MODEINFO 0x4617 #define FBIOGET_DISPINFO 0x4618 #define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32) @@ -95818,7 +95572,7 @@ index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..703fa8a70574323abe2fb32599254582 #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ #define FB_TYPE_PLANES 1 /* Non interleaved planes */ -@@ -346,6 +352,12 @@ struct fb_copyarea { +@@ -347,6 +353,12 @@ struct fb_copyarea { __u32 sy; }; @@ -95832,10 +95586,10 @@ index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..703fa8a70574323abe2fb32599254582 __u32 dx; /* screen-relative */ __u32 dy; -From 984f4d6b20744ee5131a5f2deed422ac13a5dd30 Mon Sep 17 00:00:00 2001 +From 57ec73d9bef98ae27411ffffe3d7ba3c34e02bbf Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 059/141] Speed up console framebuffer imageblit function +Subject: [PATCH 057/139] Speed up console framebuffer imageblit function Especially on platforms with a slower CPU but a relatively high framebuffer fill bandwidth, like current ARM devices, the existing @@ -96044,10 +95798,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From d0140191f8e11e66d9ff99d5fbb142d3565a047d Mon Sep 17 00:00:00 2001 +From f26199707fc9bf88f391323528c9e4ad62c5ddc5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 060/141] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 058/139] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) 1-wire: Add support for configuring pin for w1-gpio kernel module @@ -96280,10 +96034,10 @@ index d58594a3232492e33f1dd4babd3798b03e0f0203..feae94256256316fd9d850c3d83325af unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; diff --git a/include/linux/w1.h b/include/linux/w1.h -index 90cbe7e65059f6b604a87c6bf39cd9bbeae7684c..a52be51ee0a5511a75d4eaa8dacaec5e131ebdcf 100644 +index 5b2972946dda5f9ad415f1eaeaab67743a5cc0f0..b3558b7c9efb2484b40e31312aee197b824b9306 100644 --- a/include/linux/w1.h +++ b/include/linux/w1.h -@@ -155,6 +155,12 @@ struct w1_bus_master { +@@ -157,6 +157,12 @@ struct w1_bus_master { u8 (*set_pullup)(void *, int); @@ -96297,10 +96051,10 @@ index 90cbe7e65059f6b604a87c6bf39cd9bbeae7684c..a52be51ee0a5511a75d4eaa8dacaec5e u8, w1_slave_found_callback); }; -From ff6a8453190f2023de295e4639f1f5ede7908bd3 Mon Sep 17 00:00:00 2001 +From d78821aeda0e275611f66f93663fb5e1dcb7ba6f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 061/141] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 059/139] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -96308,7 +96062,7 @@ Reduces overhead when using X 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c -index 3f11b02f9857648ba27138f39823a4017fb93d2f..09a81a447dd64887f6dbd8ec8dc402644c43b1a8 100644 +index 045b5da9b992873ce74f5d401de34855b93a6f8e..45abcbab4efe561a3829e9a6b6014abeb7d7797d 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -48,7 +48,7 @@ @@ -96332,10 +96086,10 @@ index 3f11b02f9857648ba27138f39823a4017fb93d2f..09a81a447dd64887f6dbd8ec8dc40264 break; case HID_GD_JOYSTICK: -From c8c27d39caa433b1fa0b4a913f59489018948e41 Mon Sep 17 00:00:00 2001 +From 83a5a422577be4b19bfb1baca21e27d63e4895c4 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 062/141] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 060/139] rpi-ft5406: Add touchscreen driver for pi LCD display Fix driver detection failure Check that the buffer response is non-zero meaning the touchscreen was detected @@ -96371,10 +96125,10 @@ index 64b30fe273fd7ba17312402c0efc9e81b77e94bb..c5237087c6024ba5520bf624251473c9 tristate "Renesas MIGO-R touchscreen" depends on (SH_MIGOR || COMPILE_TEST) && I2C diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile -index 6badce87037b54bcea7c91f5ddbaebca4c93db58..9164b707800297555acce46fdd848ca9e4126526 100644 +index 850c1562555a966687f4c162eba0eb3d764c116a..cceb83c867a9da8d9885e8c5dc48831dc21f31c3 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile -@@ -29,6 +29,7 @@ obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o +@@ -30,6 +30,7 @@ obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o obj-$(CONFIG_TOUCHSCREEN_DA9052) += da9052_tsi.o obj-$(CONFIG_TOUCHSCREEN_DYNAPRO) += dynapro.o obj-$(CONFIG_TOUCHSCREEN_EDT_FT5X06) += edt-ft5x06.o @@ -96693,10 +96447,10 @@ index 30fb37fe175df604a738258a2a632bca3bfff33f..4a3d79d3b48eb483a4e4bf498f617515 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From c733fbac6dca6fa12e37db95d110865d9d825424 Mon Sep 17 00:00:00 2001 +From 3537f434772cdf0d843e834c0ceb0cd58e6fa888 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 063/141] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 061/139] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -96725,10 +96479,10 @@ Signed-off-by: Phil Elwell arch/arm/lib/memcpy_rpi.S | 61 +++++ arch/arm/lib/memcpymove.h | 506 +++++++++++++++++++++++++++++++++++++ arch/arm/lib/memmove_rpi.S | 61 +++++ - arch/arm/lib/memset_rpi.S | 123 +++++++++ + arch/arm/lib/memset_rpi.S | 128 ++++++++++ arch/arm/lib/uaccess_with_memcpy.c | 120 ++++++++- arch/arm/mach-bcm/Kconfig | 7 + - 13 files changed, 1380 insertions(+), 6 deletions(-) + 13 files changed, 1385 insertions(+), 6 deletions(-) create mode 100644 arch/arm/lib/arm-mem.h create mode 100644 arch/arm/lib/exports_rpi.c create mode 100644 arch/arm/lib/memcmp_rpi.S @@ -96738,12 +96492,12 @@ Signed-off-by: Phil Elwell create mode 100644 arch/arm/lib/memset_rpi.S diff --git a/arch/arm/include/asm/string.h b/arch/arm/include/asm/string.h -index cf4f3aad0fc1c2154c6cf3839ff21bb1c46d6499..d69b70a6007dfc647ad164d1ee90d253c0686dee 100644 +index f54a3136aac6e36efbc3a809c1937fa401b39a8f..a6c0004c4dcd78f9c4e8c3da927ba2047d48d562 100644 --- a/arch/arm/include/asm/string.h +++ b/arch/arm/include/asm/string.h -@@ -24,6 +24,11 @@ extern void * memchr(const void *, int, __kernel_size_t); - #define __HAVE_ARCH_MEMSET - extern void * memset(void *, int, __kernel_size_t); +@@ -39,6 +39,11 @@ static inline void *memset64(uint64_t *p, uint64_t v, __kernel_size_t n) + return __memset64(p, v, n * 8, v >> 32); + } +#ifdef CONFIG_BCM2835_FAST_MEMCPY +#define __HAVE_ARCH_MEMCMP @@ -96768,10 +96522,10 @@ index 0bf2347495f13e4db7fdc1c560b0976ec1fbd619..6c7927ab1a47a0bd24241772ed1dcb3e raw_copy_from_user(void *to, const void __user *from, unsigned long n) { diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile -index 27f4d96258a2e66193d6a3701bb4cf9a44399aad..96b390c9301f816d5c83c6ddb76ac74ba7a3b99d 100644 +index 4cb0b9624d8ff6bd017a25c28475e33c94cd7231..6759bed3275655b57db35a1d9f3c1e2f7d9cc553 100644 --- a/arch/arm/lib/Makefile +++ b/arch/arm/lib/Makefile -@@ -6,9 +6,8 @@ +@@ -7,9 +7,8 @@ lib-y := backtrace.o changebit.o csumipv6.o csumpartial.o \ csumpartialcopy.o csumpartialcopyuser.o clearbit.o \ @@ -96783,7 +96537,7 @@ index 27f4d96258a2e66193d6a3701bb4cf9a44399aad..96b390c9301f816d5c83c6ddb76ac74b testchangebit.o testclearbit.o testsetbit.o \ ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \ ucmpdi2.o lib1funcs.o div64.o \ -@@ -18,6 +17,16 @@ lib-y := backtrace.o changebit.o csumipv6.o csumpartial.o \ +@@ -19,6 +18,16 @@ lib-y := backtrace.o changebit.o csumipv6.o csumpartial.o \ mmu-y := clear_user.o copy_page.o getuser.o putuser.o \ copy_from_user.o copy_to_user.o @@ -97966,10 +97720,10 @@ index 0000000000000000000000000000000000000000..8b0760c0904c51ef205e56d238b5df8a +ENDPROC(memmove) diff --git a/arch/arm/lib/memset_rpi.S b/arch/arm/lib/memset_rpi.S new file mode 100644 -index 0000000000000000000000000000000000000000..70674158d76cd38d8d70c987aa54a6b477e4fa91 +index 0000000000000000000000000000000000000000..2ca0d3618515497c9a9b101176bf9fbacb829d13 --- /dev/null +++ b/arch/arm/lib/memset_rpi.S -@@ -0,0 +1,123 @@ +@@ -0,0 +1,128 @@ +/* +Copyright (c) 2013, Raspberry Pi Foundation +Copyright (c) 2013, RISC OS Open Ltd @@ -98024,6 +97778,9 @@ index 0000000000000000000000000000000000000000..70674158d76cd38d8d70c987aa54a6b4 + */ +ENTRY(mmioset) +ENTRY(memset) ++ENTRY(__memset32) ++ENTRY(__memset64) ++ + S .req a1 + DAT0 .req a2 + N .req a3 @@ -98091,6 +97848,8 @@ index 0000000000000000000000000000000000000000..70674158d76cd38d8d70c987aa54a6b4 + .unreq DAT1 + .unreq DAT2 + .unreq DAT3 ++ENDPROC(__memset64) ++ENDPROC(__memset32) +ENDPROC(memset) +ENDPROC(mmioset) diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c @@ -98253,10 +98012,10 @@ index 9b4ed172861615fa94f628fb3eea067176ef3bae..9dc1b8517dff3e6b8e5aa090ad957fd3 static unsigned long noinline __clear_user_memset(void __user *addr, unsigned long n) diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index 17ec37811c32f09126ed42753037e055c5cec115..c08f81812d0d56a0d90c1eb6777d0622dadbb827 100644 +index 971bc298f63eeeed418131b7b7200ac91b0d73f1..78e9f6e8c6fdebdb754cb703095d1726ed4226e8 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -176,6 +176,13 @@ config ARCH_BCM_53573 +@@ -177,6 +177,13 @@ config ARCH_BCM_53573 The base chip is BCM53573 and there are some packaging modifications like BCM47189 and BCM47452. @@ -98271,10 +98030,10 @@ index 17ec37811c32f09126ed42753037e055c5cec115..c08f81812d0d56a0d90c1eb6777d0622 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From f54933f6973fa352c66578db182eb7f64af873a6 Mon Sep 17 00:00:00 2001 +From 2006ab8cc5b743fc83ca3e24363803638d63561a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 064/141] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 062/139] gpio-poweroff: Allow it to work on Raspberry Pi The Raspberry Pi firmware manages the power-down and reboot process. To do this it installs a pm_power_off handler, causing @@ -98309,10 +98068,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 797061d81434e672ead9c54effcb79e6eec6dc1c Mon Sep 17 00:00:00 2001 +From 4bef86e88f84c826d95f91a6858e432b5395e006 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 065/141] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 063/139] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -98353,10 +98112,10 @@ index f3c2f6ea8b447395fd4fc241735a0b4d8f4a6bd1..c6a85b012bd87a8c28d888838babc58c + endif diff --git a/drivers/input/joystick/Makefile b/drivers/input/joystick/Makefile -index 496fd56b3f1bccee496b363fd214c5451a594ced..47ee4495a7df5a32b340ce9861cfb94679f9ef2d 100644 +index 67651efda2e1ab734b6d471af8552b2c3bc3fe74..600fbe2fa7d16e818984f400c438a36ee2375f60 100644 --- a/drivers/input/joystick/Makefile +++ b/drivers/input/joystick/Makefile -@@ -33,4 +33,5 @@ obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o +@@ -34,4 +34,5 @@ obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o obj-$(CONFIG_JOYSTICK_XPAD) += xpad.o obj-$(CONFIG_JOYSTICK_ZHENHUA) += zhenhua.o obj-$(CONFIG_JOYSTICK_WALKERA0701) += walkera0701.o @@ -98522,7 +98281,7 @@ index 0000000000000000000000000000000000000000..6a416769065d2198344792eb02d8e38d +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index 94ad2c1c3d9055df0b245e58db6dc4c9e9d9c2b2..19e45c8a6755d720b097c64bcb68c62747d54a22 100644 +index fc5e4fef89d222aa587473634bf056d9dee39578..ec1c7585650756c431538b78be7b6643831600e1 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -10,6 +10,14 @@ config MFD_CORE @@ -98541,11 +98300,11 @@ index 94ad2c1c3d9055df0b245e58db6dc4c9e9d9c2b2..19e45c8a6755d720b097c64bcb68c627 tristate "AMD CS5535 and CS5536 southbridge core functions" select MFD_CORE diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile -index 080793b3fd0ed7dc8a903ebef3c1b05dbf5822c4..0dc5c6d0d3cf54d7b26ccedb33cb4d8f21dcf37f 100644 +index 8703ff17998e9119d006978dd5ee8c1aeebf5541..b0a1f0049843f7eb2dc0708e83c0bea1a807ee04 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile -@@ -223,3 +223,4 @@ obj-$(CONFIG_MFD_SUN4I_GPADC) += sun4i-gpadc.o - +@@ -227,3 +227,4 @@ obj-$(CONFIG_MFD_SUN4I_GPADC) += sun4i-gpadc.o + obj-$(CONFIG_MFD_STM32_LPTIMER) += stm32-lptimer.o obj-$(CONFIG_MFD_STM32_TIMERS) += stm32-timers.o obj-$(CONFIG_MFD_MXS_LRADC) += mxs-lradc.o +obj-$(CONFIG_MFD_RPISENSE_CORE) += rpisense-core.o @@ -98713,7 +98472,7 @@ index 0000000000000000000000000000000000000000..eea9312dc96a496ce846b0c5a83e6e4f +MODULE_LICENSE("GPL"); + diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index 7b44601d1c58007cdb3adafdf5f3c33a0801b8c6..98f8998239199f01374f93260aeafa51c85bbb86 100644 +index 127978982287bf04b6ea215433bd905ed432aa2f..c20eade6598ba421633fabf03090691d32298393 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -2510,3 +2510,16 @@ config FB_SM712 @@ -98734,10 +98493,10 @@ index 7b44601d1c58007cdb3adafdf5f3c33a0801b8c6..98f8998239199f01374f93260aeafa51 + help + This is the framebuffer driver for the Raspberry Pi Sense HAT diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile -index 8cd1193b98690b9c4f49098ab14389504d65af3a..c9f1754bf2a6796bf5555fabb9e80f8991cb83bc 100644 +index 52c5ebb6680fcebb86b6e4f5e0254491d1cef33d..0367887317a791a539c2038201c2e3e60c9c4810 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile -@@ -147,6 +147,7 @@ obj-$(CONFIG_FB_DA8XX) += da8xx-fb.o +@@ -148,6 +148,7 @@ obj-$(CONFIG_FB_DA8XX) += da8xx-fb.o obj-$(CONFIG_FB_MXS) += mxsfb.o obj-$(CONFIG_FB_SSD1307) += ssd1307fb.o obj-$(CONFIG_FB_SIMPLE) += simplefb.o @@ -99177,10 +98936,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 3ce31fd5a14116f27a76ac503735a01e4e530b86 Mon Sep 17 00:00:00 2001 +From 418d79c4fb85f25393537c1682e1b9fd4ff1ba6e Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 066/141] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 064/139] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -99355,10 +99114,10 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From db1564ce98a26a395577e7f9f3b35ce1b4c97ffd Mon Sep 17 00:00:00 2001 +From f1c5786c8bc1659c5f7e965a4574978cc94e8f88 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 067/141] ASoC: Add support for Rpi-DAC +Subject: [PATCH 065/139] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -99524,10 +99283,10 @@ index 0000000000000000000000000000000000000000..38224467cbab7d5be3be731e73e2cf78 +MODULE_DESCRIPTION("ASoC Driver for RPi-DAC"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index d6450d5fc144737f967b8e00678baa9b8f92295f..bdd081016d9eca07a5c72bf238f22b85c3454013 100644 +index 91d5b531b69b49db97f7febbc60d33a20991cb0f..f81a4ee69d1c97d8ff8d04db567c057865a8805b 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig -@@ -108,6 +108,7 @@ config SND_SOC_ALL_CODECS +@@ -109,6 +109,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_PCM1681 if I2C select SND_SOC_PCM179X_I2C if I2C select SND_SOC_PCM179X_SPI if SPI_MASTER @@ -99535,7 +99294,7 @@ index d6450d5fc144737f967b8e00678baa9b8f92295f..bdd081016d9eca07a5c72bf238f22b85 select SND_SOC_PCM3008 select SND_SOC_PCM3168A_I2C if I2C select SND_SOC_PCM3168A_SPI if SPI_MASTER -@@ -739,6 +740,10 @@ config SND_SOC_RT5616 +@@ -753,6 +754,10 @@ config SND_SOC_RT5616 tristate "Realtek RT5616 CODEC" depends on I2C @@ -99547,10 +99306,10 @@ index d6450d5fc144737f967b8e00678baa9b8f92295f..bdd081016d9eca07a5c72bf238f22b85 tristate "Realtek ALC5631/RT5631 CODEC" depends on I2C diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index 1755a54e3dc9379668de08326ed14b724fe4e4da..f1af18c2847a6c1bd3e0d97bcd42cc13aed24268 100644 +index 05018b7ca72bdd7219cd64ba91525df7fc1c6e2f..e03ba08dd0c6cbc2b2418ed57d002024e37492be 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile -@@ -103,6 +103,7 @@ snd-soc-pcm1681-objs := pcm1681.o +@@ -105,6 +105,7 @@ snd-soc-pcm1681-objs := pcm1681.o snd-soc-pcm179x-codec-objs := pcm179x.o snd-soc-pcm179x-i2c-objs := pcm179x-i2c.o snd-soc-pcm179x-spi-objs := pcm179x-spi.o @@ -99558,14 +99317,14 @@ index 1755a54e3dc9379668de08326ed14b724fe4e4da..f1af18c2847a6c1bd3e0d97bcd42cc13 snd-soc-pcm3008-objs := pcm3008.o snd-soc-pcm3168a-objs := pcm3168a.o snd-soc-pcm3168a-i2c-objs := pcm3168a-i2c.o -@@ -347,6 +348,7 @@ obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o +@@ -353,6 +354,7 @@ obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o obj-$(CONFIG_SND_SOC_PCM512x) += snd-soc-pcm512x.o obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o +obj-$(CONFIG_SND_SOC_PCM1794A) += snd-soc-pcm1794a.o obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o obj-$(CONFIG_SND_SOC_RL6347A) += snd-soc-rl6347a.o - obj-$(CONFIG_SND_SOC_RT286) += snd-soc-rt286.o + obj-$(CONFIG_SND_SOC_RT274) += snd-soc-rt274.o diff --git a/sound/soc/codecs/pcm1794a.c b/sound/soc/codecs/pcm1794a.c new file mode 100644 index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd843e17f4 @@ -99642,10 +99401,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 8f1c611d40f2ad9b76852700f81a8cbe519a55d3 Mon Sep 17 00:00:00 2001 +From 1912661ef4642214ddf6be8843aec5ec1524f40c Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 068/141] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 066/139] ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an @@ -99664,7 +99423,7 @@ Signed-off-by: Daniel Matuschek 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c -index af95d648265b3e92e345101542b332aee35191d4..513f56ba132929662802d15cdc653af3d059a39c 100644 +index fc69b87443d80489382b97332de6d5ad12a58ec8..d8fdce81b297dcf02e144bdead0c6193c0f5c24b 100644 --- a/sound/soc/codecs/wm8804.c +++ b/sound/soc/codecs/wm8804.c @@ -304,6 +304,7 @@ static int wm8804_hw_params(struct snd_pcm_substream *substream, @@ -99694,10 +99453,10 @@ index af95d648265b3e92e345101542b332aee35191d4..513f56ba132929662802d15cdc653af3 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From a004700318a459f2d28b8c5694d68516a1752b45 Mon Sep 17 00:00:00 2001 +From 0fc607e938a063c915b0651bd0711a49bd19b53e Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 069/141] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 067/139] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -100041,10 +99800,10 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From 246cf713c6dcc2032b2649cb6bdcffb9ce38ae85 Mon Sep 17 00:00:00 2001 +From eb34569a063d8d430c63da84a68a84becca03dd8 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 070/141] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 068/139] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -100379,10 +100138,10 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 877380ee08a9d3f3932138d7607ca5f4221664d4 Mon Sep 17 00:00:00 2001 +From 21e9727536c6eb7a5d39cbb210d042858c20da2a Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 071/141] Added support for HiFiBerry DAC+ +Subject: [PATCH 069/139] Added support for HiFiBerry DAC+ The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses a different codec chip (PCM5122), therefore a new driver is necessary. @@ -100419,17 +100178,17 @@ Signed-off-by: DigitalDreamtime create mode 100644 sound/soc/bcm/hifiberry_dacplus.c diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index cd376b3fb47adc2bd87c64dddb7ec775e51f8e21..9f85909bcf0a17b9b575833ccf011cb0878b4147 100644 +index f7f761b02bedaed4cd54a2e6613fef90ba43aa5e..c4b99e1a6b8010587f25c7f2d50b1991d16bf0f9 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile -@@ -27,6 +27,7 @@ obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o - obj-$(CONFIG_ARCH_EFM32) += clk-efm32gg.o +@@ -29,6 +29,7 @@ obj-$(CONFIG_ARCH_EFM32) += clk-efm32gg.o obj-$(CONFIG_COMMON_CLK_GEMINI) += clk-gemini.o obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o + obj-$(CONFIG_CLK_HSDK) += clk-hsdk-pll.o +obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS) += clk-hifiberry-dacpro.o obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o - obj-$(CONFIG_ARCH_MB86S7X) += clk-mb86s7x.o obj-$(CONFIG_ARCH_MOXART) += clk-moxart.o + obj-$(CONFIG_ARCH_NOMADIK) += clk-nomadik.o diff --git a/drivers/clk/clk-hifiberry-dacpro.c b/drivers/clk/clk-hifiberry-dacpro.c new file mode 100644 index 0000000000000000000000000000000000000000..99cee2b1706c43170b4fc35c0023349b9019606c @@ -100998,10 +100757,10 @@ index 0000000000000000000000000000000000000000..b7b401cbe2b0d510d8b12d2dda6d5ff1 +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c -index 72b19e62f6267698aea45d2410d616d91c1825cb..c6839ef6e16754ed9de2698507b8986addd822fe 100644 +index 68feae262476492ae3a0b30855dbb09e96fa187e..f7b0977017ed5a6c02eafa0147d49d66876537bf 100644 --- a/sound/soc/codecs/pcm512x.c +++ b/sound/soc/codecs/pcm512x.c -@@ -854,7 +854,8 @@ static int pcm512x_set_dividers(struct snd_soc_dai *dai, +@@ -851,7 +851,8 @@ static int pcm512x_set_dividers(struct snd_soc_dai *dai, int fssp; int gpio; @@ -101012,10 +100771,10 @@ index 72b19e62f6267698aea45d2410d616d91c1825cb..c6839ef6e16754ed9de2698507b8986a dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 33fdb7bf7af5131b6ae20794f3a9cf07cb48e1d0 Mon Sep 17 00:00:00 2001 +From c09f8b72b7c8001d45839f0965fc86128fa46ead Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 072/141] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 070/139] Added driver for HiFiBerry Amp amplifier add-on board The driver contains a low-level hardware driver for the TAS5713 and the drivers for the Raspberry Pi I2S subsystem. @@ -101215,10 +100974,10 @@ index 0000000000000000000000000000000000000000..221c6c38e6465ffe5d5ad77fa80a0b14 +MODULE_DESCRIPTION("ASoC driver for HiFiBerry-AMP"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index bdd081016d9eca07a5c72bf238f22b85c3454013..a3be6e005a895b995897cc007bb85c780a42de8b 100644 +index f81a4ee69d1c97d8ff8d04db567c057865a8805b..b3c63d86e5ef67c9f98031fcbf423ca16b3700ca 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig -@@ -150,6 +150,7 @@ config SND_SOC_ALL_CODECS +@@ -152,6 +152,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_TFA9879 if I2C select SND_SOC_TLV320AIC23_I2C if I2C select SND_SOC_TLV320AIC23_SPI if SPI_MASTER @@ -101226,7 +100985,7 @@ index bdd081016d9eca07a5c72bf238f22b85c3454013..a3be6e005a895b995897cc007bb85c78 select SND_SOC_TLV320AIC26 if SPI_MASTER select SND_SOC_TLV320AIC31XX if I2C select SND_SOC_TLV320AIC32X4_I2C if I2C -@@ -874,6 +875,9 @@ config SND_SOC_TFA9879 +@@ -888,6 +889,9 @@ config SND_SOC_TFA9879 tristate "NXP Semiconductors TFA9879 amplifier" depends on I2C @@ -101237,10 +100996,10 @@ index bdd081016d9eca07a5c72bf238f22b85c3454013..a3be6e005a895b995897cc007bb85c78 tristate diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index f1af18c2847a6c1bd3e0d97bcd42cc13aed24268..fc50753457b791eec4f369fd1d021330cd1857ee 100644 +index e03ba08dd0c6cbc2b2418ed57d002024e37492be..f910415bdd31e75d67fb4cc70afa508e515e3c91 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile -@@ -155,6 +155,7 @@ snd-soc-tas5086-objs := tas5086.o +@@ -158,6 +158,7 @@ snd-soc-tas5086-objs := tas5086.o snd-soc-tas571x-objs := tas571x.o snd-soc-tas5720-objs := tas5720.o snd-soc-tfa9879-objs := tfa9879.o @@ -101248,7 +101007,7 @@ index f1af18c2847a6c1bd3e0d97bcd42cc13aed24268..fc50753457b791eec4f369fd1d021330 snd-soc-tlv320aic23-objs := tlv320aic23.o snd-soc-tlv320aic23-i2c-objs := tlv320aic23-i2c.o snd-soc-tlv320aic23-spi-objs := tlv320aic23-spi.o -@@ -389,6 +390,7 @@ obj-$(CONFIG_SND_SOC_TAS5086) += snd-soc-tas5086.o +@@ -397,6 +398,7 @@ obj-$(CONFIG_SND_SOC_TAS5086) += snd-soc-tas5086.o obj-$(CONFIG_SND_SOC_TAS571X) += snd-soc-tas571x.o obj-$(CONFIG_SND_SOC_TAS5720) += snd-soc-tas5720.o obj-$(CONFIG_SND_SOC_TFA9879) += snd-soc-tfa9879.o @@ -101850,10 +101609,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From 9557ebc44e73d6791c145e355b7eb97f862d1119 Mon Sep 17 00:00:00 2001 +From db5eeeb3d722207967a0d06934e2cd91693e5a2d Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 073/141] Add driver for rpi-proto +Subject: [PATCH 071/139] Add driver for rpi-proto Forward port of 3.10.x driver from https://github.com/koalo We are using a custom board and would like to use rpi 3.18.x @@ -102068,10 +101827,10 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From 8b3006e31ae33c4d39b93e075c65a7d4fbe95277 Mon Sep 17 00:00:00 2001 +From ea44e8cbfd0a45143da794cb02d5d1b6d86f5715 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 074/141] RaspiDAC3 support +Subject: [PATCH 072/139] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -102314,10 +102073,10 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 6d57a413806b3150cc9894dd4c8192319aa8eeaa Mon Sep 17 00:00:00 2001 +From 8c3910e280b205856ff4c64c59122881d59c2d77 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 075/141] Add Support for JustBoom Audio boards +Subject: [PATCH 073/139] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -102773,10 +102532,10 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From ebd70332a9ece5208278c7936a9b507bd1ebf3c5 Mon Sep 17 00:00:00 2001 +From c9042852d4073c897c5219c58037eaefb1de2d96 Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 076/141] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 074/139] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -102958,10 +102717,10 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 9f65384e00ea39e820ed948feaeca3a0e12206da Mon Sep 17 00:00:00 2001 +From 7f581b1c4c5b845755ef46aade72f55d59587922 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 077/141] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 075/139] New AudioInjector.net Pi soundcard with low jitter audio in and out. Contains the sound/soc/bcm ALSA machine driver and necessary alterations to the Kconfig and Makefile. @@ -103212,10 +102971,10 @@ index 0000000000000000000000000000000000000000..491906bbf446826e55dd843f28e4860f +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From e7e73c9651fb2125128ac2f34a7de5ac842a98a5 Mon Sep 17 00:00:00 2001 +From 3733e2210732053fc112e35b4b0985062455cc7d Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 078/141] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 076/139] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -103515,10 +103274,10 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From 35a84531b8d8a1ee71d3198c66ebd59498974790 Mon Sep 17 00:00:00 2001 +From cd021f1dc06ed6e993173bcba978052ee51c3033 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 079/141] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 077/139] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -103991,10 +103750,10 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From ca05c15cc5ddfc826aae37b48ba0401310e3d314 Mon Sep 17 00:00:00 2001 +From efec931eef6b6f442c3107caca96e8c985b6a669 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 080/141] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 078/139] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -104167,10 +103926,10 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From bc990d78e32a758bfff686728793e178171d1a8d Mon Sep 17 00:00:00 2001 +From b77b2060d6de30c489c69a5a05e81032d9bc4fd6 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 081/141] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 079/139] Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645) Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards, @@ -104377,10 +104136,10 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From 17862c6e995d2902d88995ed8b5ea99ff41e1d09 Mon Sep 17 00:00:00 2001 +From 1d53781b679cc8c1f55da0ebaf3ec21ac10eae17 Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 082/141] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 080/139] Add support for Allo Piano DAC 2.1 plus add-on board for Raspberry Pi. The Piano DAC 2.1 has support for 4 channels with subwoofer. @@ -105249,10 +105008,10 @@ index 0000000000000000000000000000000000000000..d4e99e3c6a383d92fb0cf9e8c1cd1e76 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From beb77f395943696f2d5febb75669d8cadd09bf4c Mon Sep 17 00:00:00 2001 +From 8a552200bc9ef0af355ccf3c08f6f7efbfa4f1ab Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 083/141] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 081/139] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -105275,10 +105034,10 @@ Reviewed-by: BabuSubashChandar create mode 100644 sound/soc/bcm/allo-boss-dac.c diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 9f85909bcf0a17b9b575833ccf011cb0878b4147..1df694cf247220c7af1a770aec10811a8fb51fed 100644 +index c4b99e1a6b8010587f25c7f2d50b1991d16bf0f9..3bb3ad099a0209efd8d257442788b2d5e2b95cf8 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile -@@ -17,6 +17,7 @@ endif +@@ -18,6 +18,7 @@ endif # hardware specific clock types # please keep this section sorted lexicographically by file path name @@ -105955,10 +105714,10 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From f989d40bceecb45c6072cb6142effd98028351a3 Mon Sep 17 00:00:00 2001 +From 4cebaa3a383e9ac5be3baadab14b7108809cca84 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 084/141] Support for Blokas Labs pisound board +Subject: [PATCH 082/139] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -105985,13 +105744,13 @@ Signed-off-by: Giedrius Trainavicius create mode 100644 sound/soc/bcm/pisound.c diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt -index daf465bef75898c1b1960d456c82b666c4f9dca6..538fce10a103a7c3abae1ffbb9b431730eb935d6 100644 +index 1afd298eddd73147ebf6a1dcbc56bf404559cff1..a87bbdb09177618d26385774f1c20f3f5bf21daa 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt -@@ -47,6 +47,7 @@ avic Shanghai AVIC Optoelectronics Co., Ltd. - axentia Axentia Technologies AB +@@ -49,6 +49,7 @@ axentia Axentia Technologies AB axis Axis Communications AB bananapi BIPAI KEJI LIMITED + bhf Beckhoff Automation GmbH & Co. KG +blokaslabs Vilniaus Blokas UAB boe BOE Technology Group Co., Ltd. bosch Bosch Sensortec GmbH @@ -107157,10 +106916,10 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 80b3c0ec0906e14d1e865081e3d42e6234e5e9da Mon Sep 17 00:00:00 2001 +From dcf4aa02b046e8ceb0226a34611cc3566222266d Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 085/141] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 083/139] ASoC: Add driver for Cirrus Logic Audio Card Note: due to problems with deferred probing of regulators the following softdep should be added to a modprobe.d file @@ -108225,10 +107984,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From 7cf7e4442c3ccdbe4a65eec113dcd2abd111a984 Mon Sep 17 00:00:00 2001 +From 993df028d013ab24e5874f2e09863036f7cc8e9f Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 086/141] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 084/139] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -108423,10 +108182,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From 70a3748c51fc84dce0dd435804425486fc7ebf5a Mon Sep 17 00:00:00 2001 +From 4953597842d981e3bdc544bbaab855a73aaa9993 Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 087/141] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 085/139] Add support for Fe-Pi audio sound card. (#1867) Fe-Pi Audio Sound Card is based on NXP SGTL5000 codec. Mechanical specification of the board is the same the Raspberry Pi Zero. @@ -108640,10 +108399,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From 19602b062b0a8769cb0a3af381bdbca3f3147dd9 Mon Sep 17 00:00:00 2001 +From 07d5714c1cf7a2757a92784dcbb5c68958b8b367 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 088/141] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 086/139] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset @@ -109052,10 +108811,10 @@ index 0000000000000000000000000000000000000000..5e79f4eff93a21ed3495c77a90f73525 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From 651e4bc97a4fea4554a8a69771c47cda702634c5 Mon Sep 17 00:00:00 2001 +From 30b4b0a6101e198680fc59e334e3257523ee678b Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 089/141] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 087/139] Driver support for Google voiceHAT soundcard. --- sound/soc/bcm/Kconfig | 7 ++ @@ -109446,10 +109205,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From f7a318c4721c96464a119c2d9c1c1894c46fe8c2 Mon Sep 17 00:00:00 2001 +From 46fcde8be7acb096fe547b8e6c19614f0edfad8b Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 -Subject: [PATCH 090/141] Allo Digione Driver (#2048) +Subject: [PATCH 088/139] Allo Digione Driver (#2048) Driver for the Allo Digione soundcard --- @@ -109771,10 +109530,10 @@ index 0000000000000000000000000000000000000000..e3664e44c699d0102120ecf99e8b780a +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From 1d438c59b6e685fc19d9f4a3eb08b38fbee1e367 Mon Sep 17 00:00:00 2001 +From b5934c4e6d113e68923aff4b4363fd96002af80e Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 091/141] rpi_display: add backlight driver and overlay +Subject: [PATCH 089/139] rpi_display: add backlight driver and overlay Add a mailbox-driven backlight controller for the Raspberry Pi DSI touchscreen display. Requires updated GPU firmware to recognise the @@ -109806,10 +109565,10 @@ index 4e1d2ad50ba142950e0048d986ab7e0df2eafece..e345a32945b7ec0712cebd0ac8e62c9e tristate "Backlight Driver for DA9030/DA9034 using WLED" depends on PMIC_DA903X diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile -index 8905129691e84a2fe42acd625f32b0a01772097c..6d6b2f132a61663bb26f99dd72ef8df014bf99a4 100644 +index 5e28f01c839107ef8e9cca3225181f46b953545e..2a4d0ed47377721545263b7406f2f4d874cca794 100644 --- a/drivers/video/backlight/Makefile +++ b/drivers/video/backlight/Makefile -@@ -50,6 +50,7 @@ obj-$(CONFIG_BACKLIGHT_PANDORA) += pandora_bl.o +@@ -51,6 +51,7 @@ obj-$(CONFIG_BACKLIGHT_PANDORA) += pandora_bl.o obj-$(CONFIG_BACKLIGHT_PCF50633) += pcf50633-backlight.o obj-$(CONFIG_BACKLIGHT_PM8941_WLED) += pm8941-wled.o obj-$(CONFIG_BACKLIGHT_PWM) += pwm_bl.o @@ -109943,10 +109702,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 7c3e2a35d3f9851c79bbc82fb6b719cf8449b300 Mon Sep 17 00:00:00 2001 +From 5e52a2f445b5f1098663e59049d7c4f02c6ee707 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 092/141] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 090/139] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -109959,7 +109718,7 @@ request that the VPU toggles LEDs. create mode 100644 drivers/gpio/gpio-bcm-virt.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index 461d6fc3688b61128f280a84c8ed3e1073488ab0..b1aa6966056b75c940d7fb12dd0ea278dd1449d2 100644 +index 3f80f167ed56d917405aaad1dd5e09598c7fc9e6..19881f46b3bb0d0668ca8e786ebea21ea8127b84 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -134,6 +134,12 @@ config GPIO_BCM_KONA @@ -109976,10 +109735,10 @@ index 461d6fc3688b61128f280a84c8ed3e1073488ab0..b1aa6966056b75c940d7fb12dd0ea278 tristate "BRCMSTB GPIO support" default y if (ARCH_BRCMSTB || BMIPS_GENERIC) diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile -index a9fda6c55113c7b472863de7f412f69d72de602d..78ad9e06466ed7ed57622444e19e729a2ca8d669 100644 +index 8a2dfba3b2310ef2e25c0a1086a12c60a53ecda2..92974996efe35e60bcf54346d54b25ea1fcbccfa 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -34,6 +34,7 @@ obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o +@@ -35,6 +35,7 @@ obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o obj-$(CONFIG_GPIO_AXP209) += gpio-axp209.o obj-$(CONFIG_GPIO_BCM_KONA) += gpio-bcm-kona.o obj-$(CONFIG_GPIO_BD9571MWV) += gpio-bd9571mwv.o @@ -110220,10 +109979,10 @@ index 4a3d79d3b48eb483a4e4bf498f617515e3ad158f..5f34e1257117fb48013c9926a8a223d6 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From f1dc253695cd922849a235148038e095f50f8074 Mon Sep 17 00:00:00 2001 +From 2c9ecc9e76d1d6b60db9dcded01a5b1e5f950b6a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 093/141] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 091/139] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -110243,7 +110002,7 @@ Signed-off-by: Dave Stevenson create mode 100644 drivers/gpio/gpio-bcm-exp.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index b1aa6966056b75c940d7fb12dd0ea278dd1449d2..cf6d5b503c96911eb3acac6c2cde1bd1556ed6a7 100644 +index 19881f46b3bb0d0668ca8e786ebea21ea8127b84..5f53e1f4e8e2ef2e0e97318cebf80f4498153a2f 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -128,6 +128,13 @@ config GPIO_AXP209 @@ -110261,10 +110020,10 @@ index b1aa6966056b75c940d7fb12dd0ea278dd1449d2..cf6d5b503c96911eb3acac6c2cde1bd1 bool "Broadcom Kona GPIO" depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile -index 78ad9e06466ed7ed57622444e19e729a2ca8d669..dd55b7879c844305ef39375ae551c30c272cf96e 100644 +index 92974996efe35e60bcf54346d54b25ea1fcbccfa..726a1550f445e1af456c6f71f8399328b7c021df 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -32,6 +32,7 @@ obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o +@@ -33,6 +33,7 @@ obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o obj-$(CONFIG_GPIO_ATH79) += gpio-ath79.o obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o obj-$(CONFIG_GPIO_AXP209) += gpio-axp209.o @@ -110549,10 +110308,10 @@ index 5f34e1257117fb48013c9926a8a223d64a598ab7..c819c21b0158a59c1308882e5a40e3f3 /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, -From 55d9a63fab52cc747d5b5e3b955e8a988377df59 Mon Sep 17 00:00:00 2001 +From 6ee595ea1c14f890f2d7dcc203e87cca269b1b05 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 094/141] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 092/139] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -110564,7 +110323,7 @@ use the same logic. 1 file changed, 5 insertions(+) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 1888d168a41c87c605962da2605df8ab1c02bd20..e22b9e79836a6aeef4c8f9fb618b9595c551500f 100644 +index 111e6a95077978c2c30bfe2a2de4a0d095e8d76e..584471add0962c0e26eb814fc0ef43eea99b2d29 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -2582,7 +2582,12 @@ static int pl011_setup_port(struct device *dev, struct uart_amba_port *uap, @@ -110581,10 +110340,10 @@ index 1888d168a41c87c605962da2605df8ab1c02bd20..e22b9e79836a6aeef4c8f9fb618b9595 uap->old_cr = 0; uap->port.dev = dev; -From 29d550986979cd49a6d570c95a42742c1d3315c8 Mon Sep 17 00:00:00 2001 +From 21bd3b645a2a38fe4150e489f0c266a3d4f308e1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 095/141] amba_pl011: Round input clock up +Subject: [PATCH 093/139] amba_pl011: Round input clock up The UART clock is initialised to be as close to the requested frequency as possible without exceeding it. Now that there is a @@ -110608,7 +110367,7 @@ Signed-off-by: Phil Elwell 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index e22b9e79836a6aeef4c8f9fb618b9595c551500f..4b815abbf9913075885ee60f4d9ad49d89ec96b2 100644 +index 584471add0962c0e26eb814fc0ef43eea99b2d29..bfbc845d7be9ef804468d0a82da18d9b67857216 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -1672,6 +1672,23 @@ static void pl011_put_poll_char(struct uart_port *port, @@ -110670,10 +110429,10 @@ index e22b9e79836a6aeef4c8f9fb618b9595c551500f..4b815abbf9913075885ee60f4d9ad49d /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From 57b717e8f418d8e47178863d3ff2ef868d848d71 Mon Sep 17 00:00:00 2001 +From 21a243b198486d23d2192adf6d916f853499183b Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 096/141] OF: DT-Overlay configfs interface +Subject: [PATCH 094/139] OF: DT-Overlay configfs interface This is a port of Pantelis Antoniou's v3 port that makes use of the new upstreamed configfs support for binary attributes. @@ -110778,10 +110537,11 @@ index ba7b034b2b91c94afb1b7135cdee7fc3d6955828..de0da10d66e6cdc6eedc4d36cf247370 + endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile -index 97dc01c814383d632766d49594391c0b1200b61c..112e7ab3cae2f3bddf485b0d9b7cd5a7e26d0e39 100644 +index 8f19d342eed8e0646d0019f872eb3d24d066d08c..7afce596322d2e8f4c609d370854d62eb5b5f4e1 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile -@@ -1,4 +1,5 @@ +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 obj-y = base.o device.o platform.o property.o +obj-$(CONFIG_OF_CONFIGFS) += configfs.o obj-$(CONFIG_OF_DYNAMIC) += dynamic.o @@ -111105,10 +110865,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From c441550077d07993b0618e7644f1089156075388 Mon Sep 17 00:00:00 2001 +From fd9f2860f0f32120e014e6314a29536dfe7b9727 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 097/141] brcm: adds support for BCM43341 wifi +Subject: [PATCH 095/139] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -111154,7 +110914,7 @@ Signed-off-by: Phil Elwell 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index f27d6fe4d5c0ef9af4e5f14e45c8abb4cf94d901..2145343c18c91f6a43543eb42ca7bbc7a37f14b5 100644 +index 4157c90ad9736b9b20ab086585eca22ff80a60c9..2d3b5e2a3ef7cd6186487b48665b401249380d18 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -2810,6 +2810,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, @@ -111166,7 +110926,7 @@ index f27d6fe4d5c0ef9af4e5f14e45c8abb4cf94d901..2145343c18c91f6a43543eb42ca7bbc7 cfg->pwr_save = enabled; if (!check_vif_up(ifp->vif)) { -@@ -6852,12 +6854,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -6862,12 +6864,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], struct brcmfmac_pd_cc *country_codes; struct brcmfmac_pd_cc_entry *cc; s32 found_index; @@ -111187,7 +110947,7 @@ index f27d6fe4d5c0ef9af4e5f14e45c8abb4cf94d901..2145343c18c91f6a43543eb42ca7bbc7 } if ((alpha2[0] == ccreq->country_abbrev[0]) && -@@ -6881,10 +6889,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -6891,10 +6899,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], brcmf_dbg(TRACE, "No country code match found\n"); return -EINVAL; } @@ -111219,7 +110979,7 @@ index 7a2b49587b4d32dde1af56a2979d4e1818500f84..df138305217384de2359313bc7d00528 MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index f3556122c6ace17c419e13023057861957a507fa..f8d4647016a1cde3d51dd43da07a46ce9771fa18 100644 +index 613caca7dc020a78985b22521422700022c37473..971c68a261f2d041806655dd66636aee2c28a6bc 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -609,6 +609,7 @@ BRCMF_FW_NVRAM_DEF(4329, "brcmfmac4329-sdio.bin", "brcmfmac4329-sdio.txt"); @@ -111230,7 +110990,7 @@ index f3556122c6ace17c419e13023057861957a507fa..f8d4647016a1cde3d51dd43da07a46ce BRCMF_FW_NVRAM_DEF(4335, "brcmfmac4335-sdio.bin", "brcmfmac4335-sdio.txt"); BRCMF_FW_NVRAM_DEF(43362, "brcmfmac43362-sdio.bin", "brcmfmac43362-sdio.txt"); BRCMF_FW_NVRAM_DEF(4339, "brcmfmac4339-sdio.bin", "brcmfmac4339-sdio.txt"); -@@ -628,7 +629,7 @@ static struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { +@@ -629,7 +630,7 @@ static struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340), @@ -111240,10 +111000,10 @@ index f3556122c6ace17c419e13023057861957a507fa..f8d4647016a1cde3d51dd43da07a46ce BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From f9c932ae59cf634d03c685e01173786e6920254c Mon Sep 17 00:00:00 2001 +From 962b6d8ee6370e778e45f4fe00ba7a05bbf908c2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 098/141] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 096/139] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code. Modify the driver to ignore '00' silently. @@ -111254,10 +111014,10 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 2145343c18c91f6a43543eb42ca7bbc7a37f14b5..0f7b4e6b5ee3485806cd93873f00af347613cdc8 100644 +index 2d3b5e2a3ef7cd6186487b48665b401249380d18..e417454f5d6ec136cda29e65af5449f2f89cba92 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -6920,6 +6920,8 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, +@@ -6930,6 +6930,8 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, /* ignore non-ISO3166 country codes */ for (i = 0; i < sizeof(req->alpha2); i++) if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') { @@ -111267,10 +111027,10 @@ index 2145343c18c91f6a43543eb42ca7bbc7a37f14b5..0f7b4e6b5ee3485806cd93873f00af34 req->alpha2[0], req->alpha2[1]); return; -From 85ac30b12971d40fe19c3862835153adf6954a29 Mon Sep 17 00:00:00 2001 +From e33b81237d0020f61b4f3dcac53d3500aade2093 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 099/141] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 097/139] hci_h5: Don't send conf_req when ACTIVE Without this patch, a modem and kernel can continuously bombard each other with conf_req and conf_rsp messages, in a demented game of tag. @@ -111293,10 +111053,10 @@ index c0e4e26dc30d7c3c6a771b7b86df88c8cf763646..7308287259eedcaf229f8a496a0e3826 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 1ca8064ea543110a35d1b07e6fc915be7d77997f Mon Sep 17 00:00:00 2001 +From 619ff1e23f24a45187d076ae0b6ac8e0e3e405d6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 100/141] config: Add default configs +Subject: [PATCH 098/139] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1326 +++++++++++++++++++++++++++++++++++ @@ -113975,10 +113735,10 @@ index 0000000000000000000000000000000000000000..e0dd8723047ff488e81a03ef42fdbc68 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From 08c925b2cfa77030d4f2d50be0e42ec209946035 Mon Sep 17 00:00:00 2001 +From c189cce32c82b717fc774cb6fe14b3592f45978a Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 101/141] Add arm64 configuration and device tree differences. +Subject: [PATCH 099/139] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -114000,7 +113760,7 @@ Tested with raspbian-jessie 2016-09-23. create mode 100644 arch/arm64/configs/bcmrpi3_defconfig diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms -index f5f0c813dfecc56cf21e0ae18b8b0c34197aad86..d8550598e3403e7d35050e48e71bac17ed8dc493 100644 +index 6b54ee8c1262dd1587b9081ef8894166b0c14211..e262127db967d63c751acb3bd09f1631963a1a6f 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -1,5 +1,27 @@ @@ -114032,16 +113792,16 @@ index f5f0c813dfecc56cf21e0ae18b8b0c34197aad86..d8550598e3403e7d35050e48e71bac17 bool "Actions Semi Platforms" select OWL_TIMER diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile -index f11bdd6689ea96b2fce04404ae2166349c7d2c26..1046bed8bf1509eaf3127733b9263fa39a166895 100644 +index 3df2db7f88786eda0740067dbfe2aa5b22823b6d..d54218055506965a558ecc55916917391385bee1 100644 --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile @@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb - dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb ns2-xmc.dtb +dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-3-b.dtb - dts-dirs := stingray - always := $(dtb-y) + dts-dirs += northstar2 + dts-dirs += stingray diff --git a/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b.dts new file mode 100644 index 0000000000000000000000000000000000000000..deb33441da95220db0ed672e41639626fba682a5 @@ -115392,10 +115152,10 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From c62cf79d89d5f49c655363319e327963fdcdcf8c Mon Sep 17 00:00:00 2001 +From 8be8288237bb4a963a776a3896d86b3836e2f93d Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 102/141] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 100/139] ARM64: Make it work again on 4.9 (#1790) * Invoke the dtc compiler with the same options used in arm mode. * ARM64 now uses the bcm2835 platform just like ARM32. @@ -115404,14 +115164,14 @@ Subject: [PATCH 102/141] ARM64: Make it work again on 4.9 (#1790) Signed-off-by: Michael Zoran --- arch/arm64/Kconfig.platforms | 28 -------- - arch/arm64/boot/dts/broadcom/Makefile | 11 ++- + arch/arm64/boot/dts/broadcom/Makefile | 10 ++- arch/arm64/boot/dts/overlays | 1 + arch/arm64/configs/bcmrpi3_defconfig | 125 +++++++++++----------------------- - 4 files changed, 49 insertions(+), 116 deletions(-) + 4 files changed, 48 insertions(+), 116 deletions(-) create mode 120000 arch/arm64/boot/dts/overlays diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms -index d8550598e3403e7d35050e48e71bac17ed8dc493..1b7f6ea1171f5cc7a1df649d146520c1c77eada9 100644 +index e262127db967d63c751acb3bd09f1631963a1a6f..e57169584af075eca0e0a2c1900fd64fe886bbb3 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -1,33 +1,5 @@ @@ -115449,10 +115209,11 @@ index d8550598e3403e7d35050e48e71bac17ed8dc493..1b7f6ea1171f5cc7a1df649d146520c1 bool "Allwinner sunxi 64-bit SoC Family" select ARCH_HAS_RESET_CONTROLLER diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile -index 1046bed8bf1509eaf3127733b9263fa39a166895..3b76320112196a1fce7a0941c696fd1ec43b817f 100644 +index d54218055506965a558ecc55916917391385bee1..3adfeab86f3f3b19f4ad7c5a65e1ccb4be149200 100644 --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile -@@ -1,8 +1,17 @@ +@@ -1,8 +1,16 @@ + # SPDX-License-Identifier: GPL-2.0 +# Enable fixups to support overlays on BCM2835 platforms + +ifeq ($(CONFIG_ARCH_BCM2835),y) @@ -115460,17 +115221,15 @@ index 1046bed8bf1509eaf3127733b9263fa39a166895..3b76320112196a1fce7a0941c696fd1e +endif + dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb - dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb ns2-xmc.dtb dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-3-b.dtb +dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-3-b.dtb + +dts-dirs += ../overlays --dts-dirs := stingray -+dts-dirs += stingray +-dts-dirs += northstar2 + dts-dirs += stingray always := $(dtb-y) subdir-y := $(dts-dirs) - clean-files := *.dtb diff --git a/arch/arm64/boot/dts/overlays b/arch/arm64/boot/dts/overlays new file mode 120000 index 0000000000000000000000000000000000000000..ded08646b6f66cdf734f8bf9c1be3a2e3a7103d7 @@ -115807,10 +115566,10 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From ba38501645198c41aea01109c4862fa8ed8a0dfa Mon Sep 17 00:00:00 2001 +From 9e7c45cb35f1bcc9c1b65695fb0e4afc7abd9262 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 -Subject: [PATCH 103/141] ARM64: Enable HDMI audio and vc04_services in +Subject: [PATCH 101/139] ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig Signed-off-by: Michael Zoran @@ -115839,10 +115598,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From f01da3f1f0424f6a94e3d418d56de1d4c86ff41d Mon Sep 17 00:00:00 2001 +From 85a92c1f3201d6e5ec5dc87655d3f0b0b0e86cf5 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 -Subject: [PATCH 104/141] ARM64: Run bcmrpi3_defconfig through savedefconfig. +Subject: [PATCH 102/139] ARM64: Run bcmrpi3_defconfig through savedefconfig. Signed-off-by: Michael Zoran --- @@ -115887,10 +115646,10 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From 086f50d3b9ec61e72e0092c4b02d8f357a82a046 Mon Sep 17 00:00:00 2001 +From 13a8e13e0f715bc23c11c8e8cb610fffb21cba18 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 105/141] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 103/139] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -115922,10 +115681,10 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From 0c800d3880547518a9a0cc7e3277352a6e1be211 Mon Sep 17 00:00:00 2001 +From 400805b8d90d9c85bcb5f3278b8e9751b8ae8532 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 106/141] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 104/139] ARM64: Enable RTL8187/RTL8192CU wifi in build config These drivers build now, so they can be enabled back in the build configuration just like they are for @@ -115950,10 +115709,10 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From 366517d4fd021773bd181ea36e6c0d1214c19d4c Mon Sep 17 00:00:00 2001 +From fdadb39f56139510a97c8117592b8dd2720ed49c Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 107/141] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 105/139] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 In ARM64, the FIQ mechanism used by this driver is not current implemented. As a workaround, reqular IRQ is used instead @@ -116010,7 +115769,7 @@ index e7bdd12015fee1727a7956ae3e3b2786e88892c1..4872b8113b68bc9087cf5e128657c580 dwc_otg-objs += dwc_otg_cfi.o endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c -index b7731e7edb4602f93f028d786194822161bbf0f8..0163e9cf620ba58df36a872b82cea92734baada6 100644 +index 96fd44eb6414a2b70d8be307e9dcd4c4804cef2d..e47d5b6de3ada73896ff9a81abd223d345e0de4f 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c @@ -74,6 +74,21 @@ void notrace _fiq_print(enum fiq_debug_level dbg_lvl, volatile struct fiq_state @@ -116035,7 +115794,7 @@ index b7731e7edb4602f93f028d786194822161bbf0f8..0163e9cf620ba58df36a872b82cea927 /** * fiq_fsm_spin_lock() - ARMv6+ bare bones spinlock * Must be called with local interrupts and FIQ disabled. -@@ -122,6 +137,8 @@ inline void fiq_fsm_spin_unlock(fiq_lock_t *lock) +@@ -121,6 +136,8 @@ inline void fiq_fsm_spin_unlock(fiq_lock_t *lock) inline void fiq_fsm_spin_unlock(fiq_lock_t *lock) { } #endif @@ -116296,10 +116055,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From 3f05b3ba450f7bfdbbfa2c515f38a5311761286f Mon Sep 17 00:00:00 2001 +From 17391ea759a6ef89933dccf35d2bc8e619dc932f Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 108/141] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 106/139] ARM64: Round-Robin dispatch IRQs between CPUs. IRQ-CPU mapping is round robined on ARM64 to increase concurrency and allow multiple interrupts to be serviced @@ -116312,7 +116071,7 @@ Signed-off-by: Michael Zoran 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 8ed457fd74bd23bee27b64a2c9e3828ce0e4fb87..a035e1ceacc0494fa293e6811ff8f7e3ea05e362 100644 +index fee691736c124c57ede4ab47a7c6bfa3b7c3b681..2a11c648cb2fdd5b2ddf4afd1b7e4fc20eee4f4a 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -168,10 +168,23 @@ static void armctrl_unmask_irq(struct irq_data *d) @@ -116341,7 +116100,7 @@ index 8ed457fd74bd23bee27b64a2c9e3828ce0e4fb87..a035e1ceacc0494fa293e6811ff8f7e3 static int armctrl_xlate(struct irq_domain *d, struct device_node *ctrlr, diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index bee4d2d2ebacc3233423bb9d825e076b9f52fccd..014f13f89eb896f5cfc75ed9891787d0490baa4b 100644 +index 86b357ae027bf8ba1ac32cd150a8cf21e36597e2..05b17ca993f405c4c8e61a782ec58149038069c2 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -145,6 +145,27 @@ static void bcm2836_arm_irqchip_unmask_gpu_irq(struct irq_data *d) @@ -116373,10 +116132,10 @@ index bee4d2d2ebacc3233423bb9d825e076b9f52fccd..014f13f89eb896f5cfc75ed9891787d0 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From f0968164c996caed39b9e544d972a0eeb2731d1b Mon Sep 17 00:00:00 2001 +From 615be16b02245d67e23e5f874fe8933511445f14 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 109/141] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 107/139] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -116397,10 +116156,10 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From 737a139cb9490755119ed4ccd358f300fc0899ec Mon Sep 17 00:00:00 2001 +From 3d16bb3949322a4512ea216df5ac10c80cb34c5c Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 110/141] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 108/139] ARM64: Force hardware emulation of deprecated instructions. --- @@ -116428,10 +116187,10 @@ index d06fbe4cd38d7423c900aff64b0e728f995478d3..877b7c90f9555203d5d55d739359a256 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From 32228ccbf850bb539c248dab1d14fa27d2e122b4 Mon Sep 17 00:00:00 2001 +From c3537844a84464e8190dce3d9be083f43ac33964 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 111/141] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 109/139] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -116442,10 +116201,10 @@ Signed-off-by: Khem Raj 1 file changed, 3 insertions(+) diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index 9b41f1e3b1a039cd45fe842e10abff0181186fdf..dc2859b8eed168ed52e95c503e7a5ce328b38c0a 100644 +index 939b310913cf38cd7ca3136128fb5440340d7d12..8d90800c10f96efa428f5ed348fe70471a5e89d7 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile -@@ -126,6 +126,9 @@ zinstall install: +@@ -131,6 +131,9 @@ zinstall install: %.dtb: scripts $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@ @@ -116456,10 +116215,10 @@ index 9b41f1e3b1a039cd45fe842e10abff0181186fdf..dc2859b8eed168ed52e95c503e7a5ce3 dtbs: prepare scripts -From 84e252f93b0cd1333f3f6c9f89814b3d17e5979c Mon Sep 17 00:00:00 2001 +From f153c4882197440e31ed8772321dab1da0ca6282 Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Wed, 24 May 2017 10:52:50 +0200 -Subject: [PATCH 112/141] enable drivers for GPIO expander and vcio +Subject: [PATCH 110/139] enable drivers for GPIO expander and vcio --- arch/arm64/configs/bcmrpi3_defconfig | 3 +++ @@ -116487,46 +116246,10 @@ index 4d85c231c5ea0244e1b05fb4a5e3c8fd3e651ddf..9dcb58a519d041fadae99c81a7bda621 CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_STMPE=y -From 0b96f2468a908e64ff44fb3d2468b38af2575413 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 113/141] pinctrl-bcm2835: Fix interrupt handling for GPIOs - 28-31 and 46-53 - -Contrary to the documentation, the BCM2835 GPIO controller actually has -four interrupt lines - one each for the three IRQ groups and one common. Rather -confusingly, the GPIO interrupt groups don't correspond directly with the GPIO -control banks. Instead, GPIOs 0-27 generate IRQ GPIO0, 28-45 GPIO1 and -46-53 GPIO2. - -Awkwardly, the GPIOS for IRQ GPIO1 straddle two 32-entry GPIO banks, so it is -cleaner to split out a function to process the interrupts for a single GPIO -bank. - -This bug has only just been observed because GPIOs above 27 can only be -accessed on an old Raspberry Pi with the optional P5 header fitted, where -the pins are often used for I2S instead. ---- - drivers/pinctrl/bcm/pinctrl-bcm2835.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index a9d480df32562defbf8be0faf0a39bfe06ff71f9..18c92bae3b2e7e9f8208ca0d4487b08b8ba61575 100644 ---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c -+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -1098,6 +1098,7 @@ static struct platform_driver bcm2835_pinctrl_driver = { - .probe = bcm2835_pinctrl_probe, - .driver = { - .name = MODULE_NAME, -+ .owner = THIS_MODULE, - .of_match_table = bcm2835_pinctrl_match, - .suppress_bind_attrs = true, - }, - -From ba7fe0a7a99aa0924ff2ac8f489850ab332145e6 Mon Sep 17 00:00:00 2001 +From d60170a6873c953953c35e448f35dbe108f8d122 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 114/141] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 111/139] bcm2835-aux: Add aux interrupt controller The AUX block has a shared interrupt line with a register indicating which devices have active IRQs. Expose this as a nested interrupt @@ -116690,10 +116413,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 0e4c49c2495458a575208494bfb8c3a8b54c6849 Mon Sep 17 00:00:00 2001 +From cc8f478164b89d953363f56ae83ed971b16d502d Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 115/141] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 112/139] This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the CXD2880 driver and the CXD2880 SPI adapter. The current CXD2880 driver version is 1.4.1 - 1.0.1 released on April 13, 2017. @@ -116791,10 +116514,10 @@ Signed-off-by: Satoshi Watanabe create mode 100644 drivers/media/spi/cxd2880-spi.c diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig -index 3a260b82b3e8b15e8d26425ca1e9e6665e1ca1d9..6831f4a49c18e58aff7fc70cb1cd46f1701c52c0 100644 +index 2631d0e0a024d4989d8ff14e3fc91f714753f756..f2910083263931e4d6035f170ae27f82a41df163 100644 --- a/drivers/media/dvb-frontends/Kconfig +++ b/drivers/media/dvb-frontends/Kconfig -@@ -519,6 +519,8 @@ config DVB_GP8PSK_FE +@@ -546,6 +546,8 @@ config DVB_GP8PSK_FE depends on DVB_CORE default DVB_USB_GP8PSK @@ -116804,10 +116527,10 @@ index 3a260b82b3e8b15e8d26425ca1e9e6665e1ca1d9..6831f4a49c18e58aff7fc70cb1cd46f1 depends on DVB_CORE diff --git a/drivers/media/dvb-frontends/Makefile b/drivers/media/dvb-frontends/Makefile -index 3fccaf34ef520acf4207710dbf15fd7c08cc62fa..d298c79546999f80a788309824fd6545b2d25ff7 100644 +index d025eb37384250108ef18c1006cdf9db6ceb8fb2..7c7aca05678ad47721c5202ca7651ffe119e5a62 100644 --- a/drivers/media/dvb-frontends/Makefile +++ b/drivers/media/dvb-frontends/Makefile -@@ -126,3 +126,4 @@ obj-$(CONFIG_DVB_HORUS3A) += horus3a.o +@@ -130,3 +130,4 @@ obj-$(CONFIG_DVB_HORUS3A) += horus3a.o obj-$(CONFIG_DVB_ASCOT2E) += ascot2e.o obj-$(CONFIG_DVB_HELENE) += helene.o obj-$(CONFIG_DVB_ZD1301_DEMOD) += zd1301_demod.o @@ -132825,10 +132548,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From 68a3e778be324567b50b3b4bc9abd7adaeb35e66 Mon Sep 17 00:00:00 2001 +From 7012d01d94d0dbd56f47210efb8cbd73b00adf13 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:18:09 +0100 -Subject: [PATCH 116/141] raspberrypi-firmware: Define the MBOX channel in the +Subject: [PATCH 113/139] raspberrypi-firmware: Define the MBOX channel in the header. Signed-off-by: Eric Anholt @@ -132850,10 +132573,10 @@ index c819c21b0158a59c1308882e5a40e3f3fe73cbdf..de2a3dcd562beb752266eaf0070e5586 enum rpi_firmware_property_status { -From c6b8eaaf21a8e7f66b7fd9a966c07a4d3cf39d6f Mon Sep 17 00:00:00 2001 +From f54ab1aa9e8a5d0e918495c027d0e991e062eb09 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 117/141] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 114/139] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -132897,10 +132620,10 @@ index de2a3dcd562beb752266eaf0070e55861d553f5f..dc7fd58afd5dddebf9b17065bb069a1d #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From 30062d17f93e241c846248229b4ab2f6e4f5d414 Mon Sep 17 00:00:00 2001 +From a5463732a75a008828b4f963c2a108af3e22800f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 118/141] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 115/139] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -132909,15 +132632,15 @@ Signed-off-by: Eric Anholt drivers/gpu/drm/vc4/vc4_crtc.c | 17 + drivers/gpu/drm/vc4/vc4_drv.c | 1 + drivers/gpu/drm/vc4/vc4_drv.h | 7 + - drivers/gpu/drm/vc4/vc4_firmware_kms.c | 657 +++++++++++++++++++++++++++++++++ - 5 files changed, 683 insertions(+) + drivers/gpu/drm/vc4/vc4_firmware_kms.c | 656 +++++++++++++++++++++++++++++++++ + 5 files changed, 682 insertions(+) create mode 100644 drivers/gpu/drm/vc4/vc4_firmware_kms.c diff --git a/drivers/gpu/drm/vc4/Makefile b/drivers/gpu/drm/vc4/Makefile -index 25bd5d30415df55e4715334a597ca1e7b3012bd7..e365d1f4d816762b2251f489e3b8fcc3121702e3 100644 +index 837c82757339259bd168a01e22c2cbec7543ce83..69f3bcd22857db92b5570f11634272492ecbd2d1 100644 --- a/drivers/gpu/drm/vc4/Makefile +++ b/drivers/gpu/drm/vc4/Makefile -@@ -8,6 +8,7 @@ vc4-y := \ +@@ -9,6 +9,7 @@ vc4-y := \ vc4_dpi.o \ vc4_dsi.o \ vc4_fence.o \ @@ -132926,7 +132649,7 @@ index 25bd5d30415df55e4715334a597ca1e7b3012bd7..e365d1f4d816762b2251f489e3b8fcc3 vc4_gem.o \ vc4_hdmi.o \ diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index a12cc7ea99b608f2f36ffb24475c4561060d08c3..58ee7945cfcb6b62ea7550814aae4741b8812080 100644 +index ce1e3b9e14c9ac2e676ad760f653fd6d7091f964..2e9f75ed8b67727aef6ca94bb0c8a6fab0f5370c 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -164,6 +164,9 @@ bool vc4_crtc_get_scanoutpos(struct drm_device *dev, unsigned int crtc_id, @@ -132939,7 +132662,7 @@ index a12cc7ea99b608f2f36ffb24475c4561060d08c3..58ee7945cfcb6b62ea7550814aae4741 /* preempt_disable_rt() should go right here in PREEMPT_RT patchset. */ /* Get optional system timestamp before query. */ -@@ -668,8 +671,15 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, +@@ -682,8 +685,15 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, static int vc4_enable_vblank(struct drm_crtc *crtc) { @@ -132955,7 +132678,7 @@ index a12cc7ea99b608f2f36ffb24475c4561060d08c3..58ee7945cfcb6b62ea7550814aae4741 CRTC_WRITE(PV_INTEN, PV_INT_VFP_START); return 0; -@@ -677,8 +687,15 @@ static int vc4_enable_vblank(struct drm_crtc *crtc) +@@ -691,8 +701,15 @@ static int vc4_enable_vblank(struct drm_crtc *crtc) static void vc4_disable_vblank(struct drm_crtc *crtc) { @@ -132972,10 +132695,10 @@ index a12cc7ea99b608f2f36ffb24475c4561060d08c3..58ee7945cfcb6b62ea7550814aae4741 } diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c -index c6b487c3d2b7645b0ae249f0ce40f4795c80bf1f..51eeca16fcfe8df6ade44376dcb9ef66eeeddee5 100644 +index 1c96edcb302be825cb3aeb438ab9a59c63fb6052..8555069607e1f3b735be3132320dacef2e66e8f8 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c -@@ -314,6 +314,7 @@ static struct platform_driver *const component_drivers[] = { +@@ -317,6 +317,7 @@ static struct platform_driver *const component_drivers[] = { &vc4_dsi_driver, &vc4_hvs_driver, &vc4_crtc_driver, @@ -132984,10 +132707,10 @@ index c6b487c3d2b7645b0ae249f0ce40f4795c80bf1f..51eeca16fcfe8df6ade44376dcb9ef66 }; diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h -index df22698d62ee5ca89f00bcd42b10a6862506a4cf..e2d16a9316e255bce00b38b6734b73efc354db77 100644 +index 87f2d8e5c1346c1ccab7292c4c80dc553c48438d..9d5e35ea5a7c9f134ec6e661b0056b47df9719ef 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.h +++ b/drivers/gpu/drm/vc4/vc4_drv.h -@@ -14,6 +14,9 @@ +@@ -32,6 +32,9 @@ enum vc4_kernel_bo_type { struct vc4_dev { struct drm_device *dev; @@ -132997,7 +132720,7 @@ index df22698d62ee5ca89f00bcd42b10a6862506a4cf..e2d16a9316e255bce00b38b6734b73ef struct vc4_hdmi *hdmi; struct vc4_hvs *hvs; struct vc4_v3d *v3d; -@@ -515,6 +518,10 @@ int vc4_dsi_debugfs_regs(struct seq_file *m, void *unused); +@@ -539,6 +542,10 @@ int vc4_dsi_debugfs_regs(struct seq_file *m, void *unused); /* vc4_fence.c */ extern const struct dma_fence_ops vc4_fence_ops; @@ -133010,10 +132733,10 @@ index df22698d62ee5ca89f00bcd42b10a6862506a4cf..e2d16a9316e255bce00b38b6734b73ef void vc4_gem_destroy(struct drm_device *dev); diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c new file mode 100644 -index 0000000000000000000000000000000000000000..7dd233eed677c1689492ab95bc86475330d2d63b +index 0000000000000000000000000000000000000000..78c34305935501248b1ca548a1ee01753b8fa099 --- /dev/null +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -0,0 +1,657 @@ +@@ -0,0 +1,656 @@ +/* + * Copyright (C) 2016 Broadcom + * @@ -133280,7 +133003,7 @@ index 0000000000000000000000000000000000000000..7dd233eed677c1689492ab95bc864753 + plane = &vc4_plane->base; + ret = drm_universal_plane_init(dev, plane, 0xff, + &vc4_plane_funcs, -+ primary ? &xrgb8888 : &argb8888, 1, ++ primary ? &xrgb8888 : &argb8888, 1, NULL, + type, NULL); + + if (type == DRM_PLANE_TYPE_PRIMARY) { @@ -133309,11 +133032,11 @@ index 0000000000000000000000000000000000000000..7dd233eed677c1689492ab95bc864753 + /* Everyting is handled in the planes. */ +} + -+static void vc4_crtc_disable(struct drm_crtc *crtc) ++static void vc4_crtc_disable(struct drm_crtc *crtc, struct drm_crtc_state *old_state) +{ +} + -+static void vc4_crtc_enable(struct drm_crtc *crtc) ++static void vc4_crtc_enable(struct drm_crtc *crtc, struct drm_crtc_state *old_state) +{ +} + @@ -133386,8 +133109,8 @@ index 0000000000000000000000000000000000000000..7dd233eed677c1689492ab95bc864753 + +static const struct drm_crtc_helper_funcs vc4_crtc_helper_funcs = { + .mode_set_nofb = vc4_crtc_mode_set_nofb, -+ .disable = vc4_crtc_disable, -+ .enable = vc4_crtc_enable, ++ .atomic_disable = vc4_crtc_disable, ++ .atomic_enable = vc4_crtc_enable, + .atomic_check = vc4_crtc_atomic_check, + .atomic_flush = vc4_crtc_atomic_flush, +}; @@ -133462,7 +133185,6 @@ index 0000000000000000000000000000000000000000..7dd233eed677c1689492ab95bc864753 +} + +static const struct drm_connector_funcs vc4_fkms_connector_funcs = { -+ .dpms = drm_atomic_helper_connector_dpms, + .detect = vc4_fkms_connector_detect, + .fill_modes = drm_helper_probe_single_connector_modes, + .destroy = vc4_fkms_connector_destroy, @@ -133672,10 +133394,10 @@ index 0000000000000000000000000000000000000000..7dd233eed677c1689492ab95bc864753 + }, +}; -From 5260aad4aa125f4db1355f69dc596b46911801ca Mon Sep 17 00:00:00 2001 +From 35d3a53a9185bb528407d0df813979a3b04e9731 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 119/141] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 116/139] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -133686,23 +133408,23 @@ Signed-off-by: Eric Anholt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -index 7dd233eed677c1689492ab95bc86475330d2d63b..e6097046fb25361bc61d657083d95b634232aabc 100644 +index 78c34305935501248b1ca548a1ee01753b8fa099..d9a5551d01a2155e3df1bbbd78a1ee2b961be946 100644 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c @@ -265,7 +265,7 @@ static struct drm_plane *vc4_fkms_plane_init(struct drm_device *dev, ret = drm_universal_plane_init(dev, plane, 0xff, &vc4_plane_funcs, - primary ? &xrgb8888 : &argb8888, 1, + primary ? &xrgb8888 : &argb8888, 1, NULL, - type, NULL); + type, primary ? "primary" : "cursor"); if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From f31486910dbff2f32895588952e8c495c0ebf107 Mon Sep 17 00:00:00 2001 +From 1f931d536b161e23d2544b79f488a7e69051b670 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 120/141] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 117/139] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -133714,7 +133436,7 @@ Signed-off-by: Eric Anholt 1 file changed, 26 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -index e6097046fb25361bc61d657083d95b634232aabc..72d0b9cffe3d2997d69040c46f4aee11e22aa213 100644 +index d9a5551d01a2155e3df1bbbd78a1ee2b961be946..e372666af0119b1876bad5167e6d0ff8945d1b80 100644 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c @@ -101,6 +101,11 @@ static int vc4_plane_set_primary_blank(struct drm_plane *plane, bool blank) @@ -133772,10 +133494,10 @@ index e6097046fb25361bc61d657083d95b634232aabc..72d0b9cffe3d2997d69040c46f4aee11 RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From a790c5ae91644fad644e16b716474fbedeab9b84 Mon Sep 17 00:00:00 2001 +From 9e8b8ba2c9632a747973c0cefe91db5af37ecfb9 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 121/141] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 118/139] drm/vc4: Fix sending of page flip completion events in FKMS mode. In the rewrite of vc4_crtc.c for fkms, I dropped the part of the @@ -133791,7 +133513,7 @@ Signed-off-by: Eric Anholt 1 file changed, 15 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -index 72d0b9cffe3d2997d69040c46f4aee11e22aa213..185f9bd3c1b2d47d0c1fc5293db4199bd8963023 100644 +index e372666af0119b1876bad5167e6d0ff8945d1b80..4d7b7f218cbbc9e7abcaa37743978060b73fbdd1 100644 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c @@ -336,6 +336,21 @@ static int vc4_crtc_atomic_check(struct drm_crtc *crtc, @@ -133817,10 +133539,10 @@ index 72d0b9cffe3d2997d69040c46f4aee11e22aa213..185f9bd3c1b2d47d0c1fc5293db4199b static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From dc2a35a31551f5a26d5c3d2ee97edcc704abebf0 Mon Sep 17 00:00:00 2001 +From e555518439ecdd47ccb9505eab880a84b8d3834f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 122/141] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 119/139] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -133828,7 +133550,7 @@ Subject: [PATCH 122/141] vc4_fkms: Apply firmware overscan offset to hardware 1 file changed, 17 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -index 185f9bd3c1b2d47d0c1fc5293db4199bd8963023..072f377b7423ee603d73ace2bf6d620f00204862 100644 +index 4d7b7f218cbbc9e7abcaa37743978060b73fbdd1..d170775ccc985637ff018804f510a5003933c9ec 100644 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c @@ -39,6 +39,7 @@ struct vc4_crtc { @@ -133860,7 +133582,7 @@ index 185f9bd3c1b2d47d0c1fc5293db4199bd8963023..072f377b7423ee603d73ace2bf6d620f ret = rpi_firmware_property(vc4->firmware, RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -@@ -642,6 +650,15 @@ static int vc4_fkms_bind(struct device *dev, struct device *master, void *data) +@@ -641,6 +649,15 @@ static int vc4_fkms_bind(struct device *dev, struct device *master, void *data) if (ret) goto err_destroy_connector; @@ -133877,10 +133599,10 @@ index 185f9bd3c1b2d47d0c1fc5293db4199bd8963023..072f377b7423ee603d73ace2bf6d620f return 0; -From 2bb81282b687227a03ef1c8b2a6653bfa0a378cb Mon Sep 17 00:00:00 2001 +From 06cb69d8d747600325f40d4e846f0e8c6520a64a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 11:34:26 +0200 -Subject: [PATCH 123/141] ASoC: bcm2835: Add support for TDM modes +Subject: [PATCH 120/139] ASoC: bcm2835: Add support for TDM modes bcm2835 supports arbitrary positioning of channel data within a frame and thus is capable of supporting TDM modes. Since @@ -134282,10 +134004,10 @@ index 56df7d8a43d0aac055a91b0d24aca8e1b4e308e4..dcacf7f83c9371df539a788ea33fedcf dev->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, dev); -From d0094dbf0b7521f529c609595224543e80c72266 Mon Sep 17 00:00:00 2001 +From fd5dad2c72082d7f6e56b7d77ddc8e9bf5078f39 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 15:30:50 +0200 -Subject: [PATCH 124/141] ASoC: bcm2835: Support left/right justified and DSP +Subject: [PATCH 121/139] ASoC: bcm2835: Support left/right justified and DSP modes DSP modes and left/right justified modes can be supported @@ -134531,10 +134253,10 @@ index dcacf7f83c9371df539a788ea33fedcf97d64690..3a706fda4f39e42efbe12f19d87af9b1 } -From c4b2defda9becf52d1a3582bdcfee0df8a5090b9 Mon Sep 17 00:00:00 2001 +From 0e2b47ef61372ef5156d06c0104d3f0631c2b956 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:19:54 +0200 -Subject: [PATCH 125/141] ASoC: bcm2835: Support additional samplerates up to +Subject: [PATCH 122/139] ASoC: bcm2835: Support additional samplerates up to 384kHz Sample rates are only restricted by the capabilities of the @@ -134577,10 +134299,10 @@ index 3a706fda4f39e42efbe12f19d87af9b100a348a5..43f5715a0d5dda851731ecf7ff27e76c | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE -From 5dddc572352ecc458b7214ac62f12d992c87c794 Mon Sep 17 00:00:00 2001 +From f5d4d5767f0ac074db1208ab187212e777e5604f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:24:57 +0200 -Subject: [PATCH 126/141] ASoC: bcm2835: Enforce full symmetry +Subject: [PATCH 123/139] ASoC: bcm2835: Enforce full symmetry bcm2835's configuration registers can't be changed when a stream is running, which means asymmetric configurations aren't supported. @@ -134616,10 +134338,10 @@ index 43f5715a0d5dda851731ecf7ff27e76c48fb6e57..2e449d7173fcecbcd647f90a26bd58b6 static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg) -From 0740274e27e88bb287b8223b5b889435d0ceb76e Mon Sep 17 00:00:00 2001 +From 3341c9f5323e164c742d3a6cb68618d3abe2c8cc Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 -Subject: [PATCH 127/141] dma-bcm2708: Fix module compilation of +Subject: [PATCH 124/139] dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are @@ -134662,10 +134384,10 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From 55dc0b1788ece54b929932c457912ff540075b92 Mon Sep 17 00:00:00 2001 +From 99f05ae9388329e244308733a4de7f1753979b68 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 128/141] cache: export clean and invalidate +Subject: [PATCH 125/139] cache: export clean and invalidate --- arch/arm/mm/cache-v6.S | 4 ++-- @@ -134717,304 +134439,292 @@ index de78109d002db1a5e7c94a6c1bc8bb94161d07b8..4c850aa3af2b2439fced4e130441329a sub r3, r2, #1 bic r0, r0, r3 -From e3caf67429b7c11fba451738c563ca801b3e8175 Mon Sep 17 00:00:00 2001 -From: Dan Pasanen -Date: Wed, 20 Sep 2017 10:17:41 -0500 -Subject: [PATCH 129/141] vcsm: fix multi-platform build +From c3d122f3596add1b481b8b0e80f43787eed8fd0b Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Wed, 20 Sep 2017 11:52:41 +0200 +Subject: [PATCH 126/139] config: enable upstream IR TX drivers +Signed-off-by: Matthias Reichl --- - drivers/char/broadcom/vc_sm/vmcs_sm.c | 2 ++ - 1 file changed, 2 insertions(+) + arch/arm/configs/bcm2709_defconfig | 2 ++ + arch/arm/configs/bcmrpi_defconfig | 2 ++ + 2 files changed, 4 insertions(+) -diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c -index 034ae2f27f870621af9f49453501f1cde051f32a..b7814d67500b98fcd6f376d526a3d4a4b84fd152 100644 ---- a/drivers/char/broadcom/vc_sm/vmcs_sm.c -+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -223,6 +223,7 @@ typedef void cache_flush_op_fn(const void *, const void *); - #if defined(CONFIG_CPU_CACHE_V7) - extern cache_flush_op_fn v7_dma_inv_range; - extern cache_flush_op_fn v7_dma_clean_range; -+extern cache_flush_op_fn v7_dma_flush_range; - static cache_flush_op_fn * const flushops[4] = - { - 0, -@@ -233,6 +234,7 @@ static cache_flush_op_fn * const flushops[4] = - #elif defined(CONFIG_CPU_CACHE_V6) - extern cache_flush_op_fn v6_dma_inv_range; - extern cache_flush_op_fn v6_dma_clean_range; -+extern cache_flush_op_fn v6_dma_flush_range; - static cache_flush_op_fn * const flushops[4] = - { - 0, +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index 62909413e1d625a1d33559d965ee8707ca57ba91..3ecc0612f71fad659dad7507cfbe083de96d780a 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -692,6 +692,8 @@ CONFIG_IR_IGUANA=m + CONFIG_IR_TTUSBIR=m + CONFIG_RC_LOOPBACK=m + CONFIG_IR_GPIO_CIR=m ++CONFIG_IR_GPIO_TX=m ++CONFIG_IR_PWM_TX=m + CONFIG_MEDIA_USB_SUPPORT=y + CONFIG_USB_VIDEO_CLASS=m + CONFIG_USB_M5602=m +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index e0dd8723047ff488e81a03ef42fdbc68c43dc721..b397818f4a69d04c708101ea3f65e885e24181eb 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -685,6 +685,8 @@ CONFIG_IR_IGUANA=m + CONFIG_IR_TTUSBIR=m + CONFIG_RC_LOOPBACK=m + CONFIG_IR_GPIO_CIR=m ++CONFIG_IR_GPIO_TX=m ++CONFIG_IR_PWM_TX=m + CONFIG_MEDIA_USB_SUPPORT=y + CONFIG_USB_VIDEO_CLASS=m + CONFIG_USB_M5602=m -From 29dca8ea50ebdd8e635e816459bd69c95fb67a48 Mon Sep 17 00:00:00 2001 -From: Dan Pasanen -Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 130/141] arm: partially revert - 702b94bff3c50542a6e4ab9a4f4cef093262fe65 +From a23bdd737312dd674ec493a85485a308153f1c27 Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Wed, 20 Sep 2017 11:52:42 +0200 +Subject: [PATCH 127/139] overlays: add gpio-ir-tx and pwm-ir-tx -* Re-expose some dmi APIs for use in VCSM +Signed-off-by: Matthias Reichl --- - arch/arm/include/asm/cacheflush.h | 21 +++++++++++++++++++++ - arch/arm/include/asm/glue-cache.h | 2 ++ - arch/arm/mm/proc-macros.S | 2 ++ - arch/arm/mm/proc-syms.c | 3 +++ - 4 files changed, 28 insertions(+) + arch/arm/boot/dts/overlays/Makefile | 2 ++ + arch/arm/boot/dts/overlays/README | 24 ++++++++++++++ + arch/arm/boot/dts/overlays/gpio-ir-tx-overlay.dts | 34 +++++++++++++++++++ + arch/arm/boot/dts/overlays/pwm-ir-tx-overlay.dts | 40 +++++++++++++++++++++++ + 4 files changed, 100 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/gpio-ir-tx-overlay.dts + create mode 100644 arch/arm/boot/dts/overlays/pwm-ir-tx-overlay.dts -diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h -index 74504b154256e36ff4897ed1c7df43eb4d91bdef..8ccb358b7043cabeb3d2b6769ef4eb11827d78ed 100644 ---- a/arch/arm/include/asm/cacheflush.h -+++ b/arch/arm/include/asm/cacheflush.h -@@ -94,6 +94,21 @@ - * DMA Cache Coherency - * =================== - * -+ * dma_inv_range(start, end) -+ * -+ * Invalidate (discard) the specified virtual address range. -+ * May not write back any entries. If 'start' or 'end' -+ * are not cache line aligned, those lines must be written -+ * back. -+ * - start - virtual start address -+ * - end - virtual end address -+ * -+ * dma_clean_range(start, end) -+ * -+ * Clean (write back) the specified virtual address range. -+ * - start - virtual start address -+ * - end - virtual end address -+ * - * dma_flush_range(start, end) - * - * Clean and invalidate the specified virtual address range. -@@ -115,6 +130,8 @@ struct cpu_cache_fns { - void (*dma_map_area)(const void *, size_t, int); - void (*dma_unmap_area)(const void *, size_t, int); +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index c50b1dfa9d7334df47ce087f9d2a7a816afa05ba..df9ec4c40d2438837e0c34ad305bd46fe8f559e2 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -29,6 +29,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + goodix.dtbo \ + googlevoicehat-soundcard.dtbo \ + gpio-ir.dtbo \ ++ gpio-ir-tx.dtbo \ + gpio-poweroff.dtbo \ + gpio-shutdown.dtbo \ + hifiberry-amp.dtbo \ +@@ -78,6 +79,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + pps-gpio.dtbo \ + pwm.dtbo \ + pwm-2chan.dtbo \ ++ pwm-ir-tx.dtbo \ + qca7000.dtbo \ + raspidac3.dtbo \ + rotary-encoder.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index e6d777a601c91d192bc5713f9a73e1a2d4d708ef..eafbf530acdab53c74656e409319c6dcaefbfd4e 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -495,6 +495,17 @@ Params: gpio_pin Input pin number. Default is 18. + ir-keytable), defaults to "rc-rc6-mce" -+ void (*dma_inv_range)(const void *, const void *); -+ void (*dma_clean_range)(const void *, const void *); - void (*dma_flush_range)(const void *, const void *); - } __no_randomize_layout; -@@ -140,6 +157,8 @@ extern struct cpu_cache_fns cpu_cache; - * is visible to DMA, or data written by DMA to system memory is - * visible to the CPU. - */ -+#define dmac_inv_range cpu_cache.dma_inv_range -+#define dmac_clean_range cpu_cache.dma_clean_range - #define dmac_flush_range cpu_cache.dma_flush_range - - #else -@@ -159,6 +178,8 @@ extern void __cpuc_flush_dcache_area(void *, size_t); - * is visible to DMA, or data written by DMA to system memory is - * visible to the CPU. - */ -+extern void dmac_inv_range(const void *, const void *); -+extern void dmac_clean_range(const void *, const void *); - extern void dmac_flush_range(const void *, const void *); - - #endif -diff --git a/arch/arm/include/asm/glue-cache.h b/arch/arm/include/asm/glue-cache.h -index 01c3d92624e5ed3e0035c4305ca5b6797ba1888b..99f29f1963aec25c0016c5eadeb4a042e75bd4c9 100644 ---- a/arch/arm/include/asm/glue-cache.h -+++ b/arch/arm/include/asm/glue-cache.h -@@ -154,6 +154,8 @@ static inline void nop_dma_unmap_area(const void *s, size_t l, int f) { } - #define __cpuc_coherent_user_range __glue(_CACHE,_coherent_user_range) - #define __cpuc_flush_dcache_area __glue(_CACHE,_flush_kern_dcache_area) - -+#define dmac_inv_range __glue(_CACHE,_dma_inv_range) -+#define dmac_clean_range __glue(_CACHE,_dma_clean_range) - #define dmac_flush_range __glue(_CACHE,_dma_flush_range) - #endif - -diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S -index f944836da8a222cd97c4e29070afa3aa370e0cbb..e6abed8db42b247ac731e49415bdc4fe92826095 100644 ---- a/arch/arm/mm/proc-macros.S -+++ b/arch/arm/mm/proc-macros.S -@@ -323,6 +323,8 @@ ENTRY(\name\()_cache_fns) - .long \name\()_flush_kern_dcache_area - .long \name\()_dma_map_area - .long \name\()_dma_unmap_area -+ .long \name\()_dma_inv_range -+ .long \name\()_dma_clean_range - .long \name\()_dma_flush_range - .size \name\()_cache_fns, . - \name\()_cache_fns - .endm -diff --git a/arch/arm/mm/proc-syms.c b/arch/arm/mm/proc-syms.c -index 054b491ff7649ca067ff821770aec80a4da42102..70e8b7d3443467ae9595924f1a9d043b984e2c93 100644 ---- a/arch/arm/mm/proc-syms.c -+++ b/arch/arm/mm/proc-syms.c -@@ -30,6 +30,9 @@ EXPORT_SYMBOL(__cpuc_flush_user_all); - EXPORT_SYMBOL(__cpuc_flush_user_range); - EXPORT_SYMBOL(__cpuc_coherent_kern_range); - EXPORT_SYMBOL(__cpuc_flush_dcache_area); -+EXPORT_SYMBOL(dmac_inv_range); -+EXPORT_SYMBOL(dmac_clean_range); -+EXPORT_SYMBOL(dmac_flush_range); - #else - EXPORT_SYMBOL(cpu_cache); - #endif - -From fe042ab04d5a1297d25266c3b3a711b582d95355 Mon Sep 17 00:00:00 2001 -From: Dan Pasanen -Date: Thu, 21 Sep 2017 09:57:44 -0500 -Subject: [PATCH 131/141] vcsm: add macros for cache functions - ---- - drivers/char/broadcom/vc_sm/vc_sm_knl.h | 5 +++++ - drivers/char/broadcom/vc_sm/vmcs_sm.c | 11 +++++------ - 2 files changed, 10 insertions(+), 6 deletions(-) - -diff --git a/drivers/char/broadcom/vc_sm/vc_sm_knl.h b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -index f7f74750d8358779c61dfcd6fc841aa1789a2c5e..e50fd8eaecef7a3c8451c040ffc3888cc37e28fc 100644 ---- a/drivers/char/broadcom/vc_sm/vc_sm_knl.h -+++ b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -@@ -27,6 +27,11 @@ enum vc_sm_lock_cache_mode { - VC_SM_LOCK_NON_CACHED, - }; - -+/* Cache functions */ -+#define VCSM_CACHE_OP_INV 0x01 -+#define VCSM_CACHE_OP_FLUSH 0x02 -+#define VCSM_CACHE_OP_CLEAN 0x03 ++Name: gpio-ir-tx ++Info: Use GPIO pin as bit-banged infrared transmitter output. ++ This is an alternative to "pwm-ir-tx". gpio-ir-tx doesn't require ++ a PWM so it can be used together with onboard analog audio. ++Load: dtoverlay=gpio-ir-tx,= ++Params: gpio_pin Output GPIO (default 18) + - /* Allocate a shared memory handle and block. */ - int vc_sm_alloc(struct vc_sm_alloc_t *alloc, int *handle); - -diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c -index b7814d67500b98fcd6f376d526a3d4a4b84fd152..32763bd01e2e3831778fbcd1066df3cbf582235d 100644 ---- a/drivers/char/broadcom/vc_sm/vmcs_sm.c -+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -2964,12 +2964,9 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - } - for (i = 0; i < sizeof(ioparam.s) / sizeof(*ioparam.s); i++) { - switch (ioparam.s[i].cmd) { -- default: -- case 0: -- break; /* NOOP */ -- case 1: /* L1/L2 invalidate virtual range */ -- case 2: /* L1/L2 clean physical range */ -- case 3: /* L1/L2 clean+invalidate all */ -+ case VCSM_CACHE_OP_INV: /* L1/L2 invalidate virtual range */ -+ case VCSM_CACHE_OP_FLUSH: /* L1/L2 clean physical range */ -+ case VCSM_CACHE_OP_CLEAN: /* L1/L2 clean+invalidate all */ - /* Locate resource from GUID. */ - resource = - vmcs_sm_acquire_resource(file_data, ioparam.s[i].handle); -@@ -2993,6 +2990,8 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - vmcs_sm_release_resource(resource, 0); - - break; -+ default: -+ break; /* NOOP */ - } - } - } - -From 18ff5210574ca27d767414e0e7b8dc8eb9d22f5b Mon Sep 17 00:00:00 2001 -From: Dan Pasanen -Date: Thu, 21 Sep 2017 07:41:02 -0500 -Subject: [PATCH 132/141] vcsm: use dma APIs for cache functions - -* Will handle multi-platform builds ---- - drivers/char/broadcom/vc_sm/vmcs_sm.c | 45 +++++++++++++---------------------- - 1 file changed, 16 insertions(+), 29 deletions(-) - -diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c -index 32763bd01e2e3831778fbcd1066df3cbf582235d..cfa4ff747de2a96e03dab995aa54fc80eb880157 100644 ---- a/drivers/char/broadcom/vc_sm/vmcs_sm.c -+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -218,34 +218,6 @@ static const char *const sm_cache_map_vector[] = { - }; - #endif - --typedef void cache_flush_op_fn(const void *, const void *); -- --#if defined(CONFIG_CPU_CACHE_V7) --extern cache_flush_op_fn v7_dma_inv_range; --extern cache_flush_op_fn v7_dma_clean_range; --extern cache_flush_op_fn v7_dma_flush_range; --static cache_flush_op_fn * const flushops[4] = --{ -- 0, -- v7_dma_inv_range, -- v7_dma_clean_range, -- v7_dma_flush_range, --}; --#elif defined(CONFIG_CPU_CACHE_V6) --extern cache_flush_op_fn v6_dma_inv_range; --extern cache_flush_op_fn v6_dma_clean_range; --extern cache_flush_op_fn v6_dma_flush_range; --static cache_flush_op_fn * const flushops[4] = --{ -- 0, -- v6_dma_inv_range, -- v6_dma_clean_range, -- v6_dma_flush_range, --}; --#else --#error Unknown cache config --#endif -- - /* ---- Private Function Prototypes -------------------------------------- */ - - /* ---- Private Functions ------------------------------------------------ */ -@@ -3028,7 +3000,22 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - - for (i = 0; i < ioparam.op_count; i++) { - const struct vmcs_sm_ioctl_clean_invalid_block * const op = block + i; -- cache_flush_op_fn * const op_fn = flushops[op->invalidate_mode & 3]; -+ void (*op_fn)(const void *, const void *); ++ invert "1" = invert the output (make it active-low). ++ Default is "0" (active-high). + -+ switch(op->invalidate_mode & 3) { -+ case VCSM_CACHE_OP_INV: -+ op_fn = dmac_inv_range; -+ break; -+ case VCSM_CACHE_OP_CLEAN: -+ op_fn = dmac_clean_range; -+ break; -+ case VCSM_CACHE_OP_FLUSH: -+ op_fn = dmac_flush_range; -+ break; -+ default: -+ op_fn = 0; -+ break; -+ } ++ + Name: gpio-poweroff + Info: Drives a GPIO high or low on poweroff (including halt) + Load: dtoverlay=gpio-poweroff,= +@@ -1195,6 +1206,19 @@ Params: pin Output pin (default 18) - see table + clock PWM clock frequency (informational) - if ((op->invalidate_mode & ~3) != 0) { - ret = -EINVAL; + ++Name: pwm-ir-tx ++Info: Use GPIO pin as pwm-assisted infrared transmitter output. ++ This is an alternative to "gpio-ir-tx". pwm-ir-tx makes use ++ of PWM0 to reduce the CPU load during transmission compared to ++ gpio-ir-tx which uses bit-banging. ++ Legal pin,function combinations are: ++ 12,4(Alt0) 18,2(Alt5) 40,4(Alt0) 52,5(Alt1) ++Load: dtoverlay=pwm-ir-tx,= ++Params: gpio_pin Output GPIO (default 18) ++ ++ func Pin function (default 2 = Alt5) ++ ++ + Name: qca7000 + Info: I2SE's Evaluation Board for PLC Stamp micro + Load: dtoverlay=qca7000,= +diff --git a/arch/arm/boot/dts/overlays/gpio-ir-tx-overlay.dts b/arch/arm/boot/dts/overlays/gpio-ir-tx-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..a2e271f0f2029acec85637c0ffa9dc5b2f0463a8 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/gpio-ir-tx-overlay.dts +@@ -0,0 +1,34 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&gpio>; ++ __overlay__ { ++ gpio_ir_tx_pins: gpio_ir_tx_pins { ++ brcm,pins = <18>; ++ brcm,function = <1>; // out ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target-path = "/"; ++ __overlay__ { ++ gpio_ir_tx: gpio-ir-transmitter { ++ compatible = "gpio-ir-tx"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&gpio_ir_tx_pins>; ++ gpios = <&gpio 18 0>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ gpio_pin = <&gpio_ir_tx>, "gpios:4", ++ <&gpio_ir_tx_pins>, "brcm,pins:0"; // pin number ++ invert = <&gpio_ir_tx>, "gpios:8"; // 1 = active low ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlays/pwm-ir-tx-overlay.dts b/arch/arm/boot/dts/overlays/pwm-ir-tx-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..141c126fe33b90a16fea396b8e27692dc5274170 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/pwm-ir-tx-overlay.dts +@@ -0,0 +1,40 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&gpio>; ++ __overlay__ { ++ pwm0_pins: pwm0_pins { ++ brcm,pins = <18>; ++ brcm,function = <2>; /* Alt5 */ ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&pwm>; ++ __overlay__ { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm0_pins>; ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@2 { ++ target-path = "/"; ++ __overlay__ { ++ pwm-ir-transmitter { ++ compatible = "pwm-ir-tx"; ++ pwms = <&pwm 0 100>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ gpio_pin = <&pwm0_pins>, "brcm,pins:0"; ++ func = <&pwm0_pins>,"brcm,function:0"; ++ }; ++}; -From e206c6b41927a6822dfd128d49096b40f55ea976 Mon Sep 17 00:00:00 2001 +From ae1125e6d40b82f57af86d6bede24fba2378ed6f Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 29 Sep 2017 10:32:19 +0100 +Subject: [PATCH 128/139] amba_pl011: Insert mb() for correct FIFO handling + +The pl011 register accessor functions use the _relaxed versions of the +standard readl() and writel() functions, meaning that there are no +automatic memory barriers. When polling a FIFO status register to check +for fullness, it is necessary to ensure that any outstanding writes have +completed; otherwise the flags are effectively stale, making it possible +that the next write is to a full FIFO. + +Signed-off-by: Phil Elwell +--- + drivers/tty/serial/amba-pl011.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c +index bfbc845d7be9ef804468d0a82da18d9b67857216..424bdc500864a86e5d431763ba416b5298c777dc 100644 +--- a/drivers/tty/serial/amba-pl011.c ++++ b/drivers/tty/serial/amba-pl011.c +@@ -1403,6 +1403,7 @@ static bool pl011_tx_char(struct uart_amba_port *uap, unsigned char c, + return false; /* unable to transmit character */ + + pl011_write(c, uap, REG_DR); ++ mb(); + uap->port.icount.tx++; + + return true; + +From 2a6f454dfb8304ab4338a2d021737798ea9deffa Mon Sep 17 00:00:00 2001 From: popcornmix -Date: Fri, 29 Sep 2017 16:15:01 +0100 -Subject: [PATCH 133/141] vcsm: Fix up macros to avoid breaking numbers used by - existing apps +Date: Fri, 13 Oct 2017 00:21:48 +0100 +Subject: [PATCH 129/139] dwc_otg: Fixup change to DRIVER_ATTR interface --- - drivers/char/broadcom/vc_sm/vc_sm_knl.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + drivers/usb/host/dwc_otg/dwc_otg_driver.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) -diff --git a/drivers/char/broadcom/vc_sm/vc_sm_knl.h b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -index e50fd8eaecef7a3c8451c040ffc3888cc37e28fc..4f120421c2d11f7ae46752c38b073a4dfdf712c6 100644 ---- a/drivers/char/broadcom/vc_sm/vc_sm_knl.h -+++ b/drivers/char/broadcom/vc_sm/vc_sm_knl.h -@@ -29,8 +29,8 @@ enum vc_sm_lock_cache_mode { +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c +index 95943e07528276b26b51ea2d57a1f433f280aaef..af123d01f3ef9f99450c78efdf766ca35e15cbc9 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c +@@ -259,7 +259,7 @@ static ssize_t version_show(struct device_driver *dev, char *buf) + DWC_DRIVER_VERSION); + } - /* Cache functions */ - #define VCSM_CACHE_OP_INV 0x01 --#define VCSM_CACHE_OP_FLUSH 0x02 --#define VCSM_CACHE_OP_CLEAN 0x03 -+#define VCSM_CACHE_OP_CLEAN 0x02 -+#define VCSM_CACHE_OP_FLUSH 0x03 +-static DRIVER_ATTR(version, S_IRUGO, version_show, NULL); ++static DRIVER_ATTR_RO(version); - /* Allocate a shared memory handle and block. */ - int vc_sm_alloc(struct vc_sm_alloc_t *alloc, int *handle); + /** + * Global Debug Level Mask. +@@ -269,7 +269,7 @@ uint32_t g_dbg_lvl = 0; /* OFF */ + /** + * This function shows the driver Debug Level. + */ +-static ssize_t dbg_level_show(struct device_driver *drv, char *buf) ++static ssize_t debuglevel_show(struct device_driver *drv, char *buf) + { + return sprintf(buf, "0x%0x\n", g_dbg_lvl); + } +@@ -277,15 +277,14 @@ static ssize_t dbg_level_show(struct device_driver *drv, char *buf) + /** + * This function stores the driver Debug Level. + */ +-static ssize_t dbg_level_store(struct device_driver *drv, const char *buf, ++static ssize_t debuglevel_store(struct device_driver *drv, const char *buf, + size_t count) + { + g_dbg_lvl = simple_strtoul(buf, NULL, 16); + return count; + } + +-static DRIVER_ATTR(debuglevel, S_IRUGO | S_IWUSR, dbg_level_show, +- dbg_level_store); ++static DRIVER_ATTR_RW(debuglevel); + + /** + * This function is called during module intialization -From 9dc6e559a6ddff5f26a9904c72d6ceaeddc63e02 Mon Sep 17 00:00:00 2001 +From 035d1f2405099e40d103969732a573d204e9127a Mon Sep 17 00:00:00 2001 From: Chung-Hsien Hsu Date: Sun, 14 May 2017 20:11:05 -0500 -Subject: [PATCH 134/141] brcmfmac: add CLM download support +Subject: [PATCH 130/139] brcmfmac: add CLM download support Future firmwares will be provided with minimal built-in CLM - the NULL region (#n/0) becomes the initial country. It cannot be changed @@ -135333,7 +135043,7 @@ index e0d22fedb2b45932f04a35458f44408804b23d90..b99dc2b760463fb13747473f1126bea6 + #endif /* FWIL_TYPES_H_ */ diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c -index f878706613e679515410e573eb770f1b1a28ef26..b370ee7f52788d779cf6d14e15a5ee4de3fa6c35 100644 +index e6e9b00b79d71fddec6249be0109c088846bd35f..3c87157f5b8513d7bb00a4602c22859d4b0b1e0f 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c @@ -1350,6 +1350,24 @@ static int brcmf_pcie_get_memdump(struct device *dev, void *data, size_t len) @@ -135370,10 +135080,10 @@ index f878706613e679515410e573eb770f1b1a28ef26..b370ee7f52788d779cf6d14e15a5ee4d diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index f8d4647016a1cde3d51dd43da07a46ce9771fa18..63f7624ed7f4e0783e9835670a14914585d99f0b 100644 +index 971c68a261f2d041806655dd66636aee2c28a6bc..2d211bf4cafbafca5dd0b7a4aa8d80ee24b98adb 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -3978,6 +3978,24 @@ brcmf_sdio_watchdog(unsigned long data) +@@ -3980,6 +3980,24 @@ brcmf_sdio_watchdog(unsigned long data) } } @@ -135398,7 +135108,7 @@ index f8d4647016a1cde3d51dd43da07a46ce9771fa18..63f7624ed7f4e0783e9835670a149145 static const struct brcmf_bus_ops brcmf_sdio_bus_ops = { .stop = brcmf_sdio_bus_stop, .preinit = brcmf_sdio_bus_preinit, -@@ -3988,6 +4006,7 @@ static const struct brcmf_bus_ops brcmf_sdio_bus_ops = { +@@ -3990,6 +4008,7 @@ static const struct brcmf_bus_ops brcmf_sdio_bus_ops = { .wowl_config = brcmf_sdio_wowl_config, .get_ramsize = brcmf_sdio_bus_get_ramsize, .get_memdump = brcmf_sdio_bus_get_memdump, @@ -135407,10 +135117,10 @@ index f8d4647016a1cde3d51dd43da07a46ce9771fa18..63f7624ed7f4e0783e9835670a149145 static void brcmf_sdio_firmware_callback(struct device *dev, int err, diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c -index 0eea48e73331d57297099266b1725df2be35a565..f00016f804ac98995369c1e68586a86d5bd310d9 100644 +index 11ffaa01599eb4b343b7f675dc275fc8572d127e..b27170c12482de0ca4115b4bc9484c214d1c4b86 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c -@@ -1126,12 +1126,30 @@ static void brcmf_usb_wowl_config(struct device *dev, bool enabled) +@@ -1128,12 +1128,30 @@ static void brcmf_usb_wowl_config(struct device *dev, bool enabled) device_set_wakeup_enable(devinfo->dev, false); } @@ -135442,10 +135152,10 @@ index 0eea48e73331d57297099266b1725df2be35a565..f00016f804ac98995369c1e68586a86d static int brcmf_usb_bus_setup(struct brcmf_usbdev_info *devinfo) -From bf11d4af021941640f2ec81c8f969e54a77a1ae6 Mon Sep 17 00:00:00 2001 +From 89fe12177446ca8c0a1e9ddbbe9dd57b62a7efeb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Oct 2017 13:23:32 +0100 -Subject: [PATCH 135/141] brcmfmac: request_firmware_direct is quieter +Subject: [PATCH 131/139] brcmfmac: request_firmware_direct is quieter Since we don't have any CLM-capable firmware yet, silence the warning of its absence by using request_firmware_direct, which should also @@ -135470,10 +135180,10 @@ index f0309e039592ba6e388084a13f052c03f99cf1ef..b5889360da96096775db6425337a7215 if (err == -ENOENT) return 0; -From cbca1f278fde1e93587d31f4fedd1c6d8d8c56d4 Mon Sep 17 00:00:00 2001 +From 365815729ef33f15bb2dc1b7c0942bc3a3b603e0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 136/141] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH 132/139] amba_pl011: Add cts-event-workaround DT property The BCM2835 PL011 implementation seems to have a bug that can lead to a transmission lockup if CTS changes frequently. A workaround was added to @@ -135523,10 +135233,10 @@ index 81914a615c8b011fe7d70a2e14f16491947c49b7..d312c2739624eca57b218b26e272e187 #sound-dai-cells = <0>; reg = <0x7e203000 0x24>; diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 4b815abbf9913075885ee60f4d9ad49d89ec96b2..8c6e495b74ca61b8ff8ee79bc6e9d84d572b990a 100644 +index 424bdc500864a86e5d431763ba416b5298c777dc..b224306633f62c398ef904734a903d4e75df65c3 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2664,6 +2664,11 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id) +@@ -2665,6 +2665,11 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id) if (IS_ERR(uap->clk)) return PTR_ERR(uap->clk); @@ -135539,40 +135249,10 @@ index 4b815abbf9913075885ee60f4d9ad49d89ec96b2..8c6e495b74ca61b8ff8ee79bc6e9d84d uap->vendor = vendor; uap->fifosize = vendor->get_fifosize(dev); -From 9a5d096b453b500c43bcc620d65f6291d3ab8289 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 137/141] amba_pl011: Insert mb() for correct FIFO handling - -The pl011 register accessor functions use the _relaxed versions of the -standard readl() and writel() functions, meaning that there are no -automatic memory barriers. When polling a FIFO status register to check -for fullness, it is necessary to ensure that any outstanding writes have -completed; otherwise the flags are effectively stale, making it possible -that the next write is to a full FIFO. - -Signed-off-by: Phil Elwell ---- - drivers/tty/serial/amba-pl011.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 8c6e495b74ca61b8ff8ee79bc6e9d84d572b990a..f6428446dfc0eb060d18c119d065d85ee6fea18c 100644 ---- a/drivers/tty/serial/amba-pl011.c -+++ b/drivers/tty/serial/amba-pl011.c -@@ -1403,6 +1403,7 @@ static bool pl011_tx_char(struct uart_amba_port *uap, unsigned char c, - return false; /* unable to transmit character */ - - pl011_write(c, uap, REG_DR); -+ mb(); - uap->port.icount.tx++; - - return true; - -From 38056f59f1a1715e9a81a07701a0d048eadf31bd Mon Sep 17 00:00:00 2001 +From 384cb12b3bbdfea3863ed2d0ac983f30354d7c0e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Oct 2017 13:48:04 +0100 -Subject: [PATCH 138/141] amba-pl011: Report AUTOCTS capability to framework +Subject: [PATCH 133/139] amba-pl011: Report AUTOCTS capability to framework The PL011 has full hardware RTS/CTS support which is enabled by the driver when flow control is requested. However, it doesn't @@ -135599,7 +135279,7 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index f6428446dfc0eb060d18c119d065d85ee6fea18c..aa661160a87330f013879e56a2da2ed6db7ec104 100644 +index b224306633f62c398ef904734a903d4e75df65c3..3b743cf8a94c279ff8d0b747f98062d0415511b9 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -2047,9 +2047,11 @@ pl011_set_termios(struct uart_port *port, struct ktermios *termios, @@ -135615,10 +135295,10 @@ index f6428446dfc0eb060d18c119d065d85ee6fea18c..aa661160a87330f013879e56a2da2ed6 if (uap->vendor->oversampling) { -From f2e17c0bae33523d6bf1e67f85eae5c7eb4f5749 Mon Sep 17 00:00:00 2001 +From 83fa77cc49e984b3b8d68d215408f0f0814adf14 Mon Sep 17 00:00:00 2001 From: neilneil2000 <31366098+neilneil2000@users.noreply.github.com> Date: Thu, 12 Oct 2017 17:29:43 +0100 -Subject: [PATCH 139/141] GPIO and gpio-poweroff clarifications +Subject: [PATCH 134/139] GPIO and gpio-poweroff clarifications Notes added: 1) All GPIO references use the hardware numbering scheme @@ -135628,7 +135308,7 @@ Notes added: 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README -index e6d777a601c91d192bc5713f9a73e1a2d4d708ef..b34c9a9f115b4d7ac81ef4d9417beaadd62259b2 100644 +index eafbf530acdab53c74656e409319c6dcaefbfd4e..705c4ae77e5c5c36a9c05666e1d39476986e2277 100644 --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -33,6 +33,9 @@ needed. @@ -135641,7 +135321,7 @@ index e6d777a601c91d192bc5713f9a73e1a2d4d708ef..b34c9a9f115b4d7ac81ef4d9417beaad raspi-config ============ -@@ -496,7 +499,8 @@ Params: gpio_pin Input pin number. Default is 18. +@@ -507,7 +510,8 @@ Params: gpio_pin Output GPIO (default 18) Name: gpio-poweroff @@ -135652,10 +135332,10 @@ index e6d777a601c91d192bc5713f9a73e1a2d4d708ef..b34c9a9f115b4d7ac81ef4d9417beaad Params: gpiopin GPIO for signalling (default 26) -From 9bce93d61ea0f3f3c29fc7ed05881695bdac63c1 Mon Sep 17 00:00:00 2001 +From c4fb18de4672320d0e09b72313f66678abf2eccd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 17:17:20 +0100 -Subject: [PATCH 140/141] config: Add CONFIG_USB_LAN78XX=m +Subject: [PATCH 135/139] config: Add CONFIG_USB_LAN78XX=m Signed-off-by: Phil Elwell --- @@ -135664,7 +135344,7 @@ Signed-off-by: Phil Elwell 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 62909413e1d625a1d33559d965ee8707ca57ba91..b520a6ccb971657093d30f66db35c1872609bd9c 100644 +index 3ecc0612f71fad659dad7507cfbe083de96d780a..6e75c2856190a7b072bb0a3780ca856a40b09a16 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -477,6 +477,7 @@ CONFIG_USB_KAWETH=m @@ -135676,7 +135356,7 @@ index 62909413e1d625a1d33559d965ee8707ca57ba91..b520a6ccb971657093d30f66db35c187 CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_AX88179_178A=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index e0dd8723047ff488e81a03ef42fdbc68c43dc721..e85544974de7de68309ba8ca7ae9f8d36ed035df 100644 +index b397818f4a69d04c708101ea3f65e885e24181eb..d4f9c4f270e52c574149813b853de06240e32045 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -472,6 +472,7 @@ CONFIG_USB_KAWETH=m @@ -135688,10 +135368,10 @@ index e0dd8723047ff488e81a03ef42fdbc68c43dc721..e85544974de7de68309ba8ca7ae9f8d3 CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_AX88179_178A=m -From 82cd6d277d1c95163a2e1b832fe395677b9cdd6d Mon Sep 17 00:00:00 2001 +From ce1b1238dd740fa3d22ce7d97884dfdd086f7362 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Oct 2017 09:20:56 +0100 -Subject: [PATCH 141/141] scripts: Update mkknlimg, just in case +Subject: [PATCH 136/139] scripts: Update mkknlimg, just in case With the removal of the vc_cma driver, mkknlimg lost an indication that the user had built a downstream kernel. Update the script, adding a few @@ -135733,3 +135413,309 @@ index 84be2593ec1de8f97b0167ff06b3e05d231c4ba0..d72e15224232d5164374e93be48949bf }; my $res = try_extract($kernel_file, $tmpfile1); + +From 8fde87098234197c0f22d38055e84b828f069dd7 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 30 Oct 2017 15:06:42 +0000 +Subject: [PATCH 137/139] ARM: dts: Swap serial aliases for BT-enabled Pis + +The upstream base dts files now define serial0 and serial1 [1]. This +appears to the firmware like a user-specified preference via an overlay, +so it is necessary for Pi models with Bluetooth to swap the aliases in +the DTBs in order to get the correct UART role assignments. + +This commit includes a minor cosmetic change that moves the chosen +node into the same block as the model property, to match upstream +files. + +Signed-off-by: Phil Elwell + +[1] Upstream commit f08f58a2bf68900a84e782b8c7ad701c0654173c +--- + arch/arm/boot/dts/bcm2708-rpi-0-w.dts | 15 +++++++++------ + arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 15 +++++++++------ + 2 files changed, 18 insertions(+), 12 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2708-rpi-0-w.dts b/arch/arm/boot/dts/bcm2708-rpi-0-w.dts +index fba0041d5546871be643dc8b671db3a153d5c801..a6ef9ee67ef8ca7eb88808bc9afcd89ce3af1f0d 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi-0-w.dts ++++ b/arch/arm/boot/dts/bcm2708-rpi-0-w.dts +@@ -4,6 +4,15 @@ + + / { + model = "Raspberry Pi Zero W"; ++ ++ chosen { ++ bootargs = "8250.nr_uarts=1"; ++ }; ++ ++ aliases { ++ serial0 = &uart1; ++ serial1 = &uart0; ++ }; + }; + + &gpio { +@@ -147,12 +156,6 @@ + pinctrl-0 = <&audio_pins>; + }; + +-/ { +- chosen { +- bootargs = "8250.nr_uarts=1"; +- }; +-}; +- + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; +diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +index 634add7ab8bc0aa5501508c97050b101aa0e94f4..e032516ffd351a4099d150767a112f195d678b5a 100644 +--- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +@@ -9,6 +9,15 @@ + + / { + model = "Raspberry Pi 3 Model B"; ++ ++ chosen { ++ bootargs = "8250.nr_uarts=1"; ++ }; ++ ++ aliases { ++ serial0 = &uart1; ++ serial1 = &uart0; ++ }; + }; + + &gpio { +@@ -172,12 +181,6 @@ + pinctrl-0 = <&audio_pins>; + }; + +-/ { +- chosen { +- bootargs = "8250.nr_uarts=1"; +- }; +-}; +- + / { + __overrides__ { + act_led_gpio = <&act_led>,"gpios:4"; + +From 11187924b3cbada3a22e3dfb735284e2107305df Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Thu, 2 Nov 2017 09:16:17 +0000 +Subject: [PATCH 138/139] bcm2710: Refactor bcm2710.dtsi using bcm2837.dtsi + (#2236) + +The 4.14 tree includes bcm2837.dtsi - use it as a basis for +the downstream bcm2710.dtsi, which only contains a few tweaks. + +See: https://github.com/raspberrypi/linux/issues/2235 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2708-rpi.dtsi | 2 - + arch/arm/boot/dts/bcm2710.dtsi | 128 ++----------------------------------- + 2 files changed, 5 insertions(+), 125 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2708-rpi.dtsi b/arch/arm/boot/dts/bcm2708-rpi.dtsi +index f88b844f0aff82742966fd820f6f69cf25c2dfab..54fadb5543d09c848a9959302765b404c34910cc 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi +@@ -156,7 +156,5 @@ sdhost_pins: &sdhost_gpio48 { + }; + + &cpu_thermal { +- coefficients = <(-538) 407000>; +- + /delete-node/ trips; + }; +diff --git a/arch/arm/boot/dts/bcm2710.dtsi b/arch/arm/boot/dts/bcm2710.dtsi +index 3e134a1208610b90e2d0fc22f03c6e9f372bfcd7..df4a91e266422eec15fd7e27d509309afcdbe809 100644 +--- a/arch/arm/boot/dts/bcm2710.dtsi ++++ b/arch/arm/boot/dts/bcm2710.dtsi +@@ -1,23 +1,9 @@ +-#include "bcm283x.dtsi" ++#include "bcm2837.dtsi" + #include "bcm270x.dtsi" + #include "bcm2708-rpi.dtsi" + + / { +- compatible = "brcm,bcm2837", "brcm,bcm2836"; +- model = "BCM2837"; +- + soc { +- ranges = <0x7e000000 0x3f000000 0x01000000>, +- <0x40000000 0x40000000 0x00040000>; +- dma-ranges = <0xc0000000 0x00000000 0x3f000000>; +- +- local_intc: local_intc { +- compatible = "brcm,bcm2836-l1-intc"; +- reg = <0x40000000 0x100>; +- interrupt-controller; +- #interrupt-cells = <1>; +- interrupt-parent = <&local_intc>; +- }; + + arm-pmu { + #ifdef RPI364 +@@ -29,120 +15,16 @@ + interrupts = <9>; + }; + +- timer { +-#ifdef RPI364 +- compatible = "arm,armv8-timer", "arm,armv7-timer"; +-#else +- compatible = "arm,armv7-timer"; +-#endif +- interrupt-parent = <&local_intc>; +- interrupts = <0>, // PHYS_SECURE_PPI +- <1>, // PHYS_NONSECURE_PPI +- <3>, // VIRT_PPI +- <2>; // HYP_PPI +- always-on; +- }; +- + syscon@40000000 { + compatible = "brcm,bcm2836-arm-local", "syscon"; + reg = <0x40000000 0x100>; + }; + }; + +-#ifdef RPI364 +- cpus: cpus { +- #address-cells = <1>; +- #size-cells = <0>; +- +- v8_cpu0: cpu@0 { +- device_type = "cpu"; +- compatible = "arm,cortex-a53", "arm,armv8"; +- reg = <0x0>; +- clock-frequency = <1200000000>; +- }; +- +- v8_cpu1: cpu@1 { +- device_type = "cpu"; +- compatible = "arm,cortex-a53", "arm,armv8"; +- reg = <0x1>; +- clock-frequency = <1200000000>; +- enable-method = "spin-table"; +- cpu-release-addr = <0x0 0x000000e0>; +- }; +- +- v8_cpu2: cpu@2 { +- device_type = "cpu"; +- compatible = "arm,cortex-a53", "arm,armv8"; +- reg = <0x2>; +- clock-frequency = <1200000000>; +- enable-method = "spin-table"; +- cpu-release-addr = <0x0 0x000000e8>; +- }; +- +- v8_cpu3: cpu@3 { +- device_type = "cpu"; +- compatible = "arm,cortex-a53", "arm,armv8"; +- reg = <0x3>; +- clock-frequency = <1200000000>; +- enable-method = "spin-table"; +- cpu-release-addr = <0x0 0x000000f0>; +- }; +- }; +- +- __overrides__ { +- arm_freq = <&v8_cpu0>, "clock-frequency:0", +- <&v8_cpu1>, "clock-frequency:0", +- <&v8_cpu2>, "clock-frequency:0", +- <&v8_cpu3>, "clock-frequency:0"; +- }; +- +-#else +- cpus: cpus { +- #address-cells = <1>; +- #size-cells = <0>; +- +- v7_cpu0: cpu@0 { +- device_type = "cpu"; +- compatible = "arm,cortex-a7"; +- reg = <0x000>; +- clock-frequency = <800000000>; +- }; +- +- v7_cpu1: cpu@1 { +- device_type = "cpu"; +- compatible = "arm,cortex-a7"; +- reg = <0x001>; +- clock-frequency = <800000000>; +- }; +- +- v7_cpu2: cpu@2 { +- device_type = "cpu"; +- compatible = "arm,cortex-a7"; +- reg = <0x002>; +- clock-frequency = <800000000>; +- }; +- +- v7_cpu3: cpu@3 { +- device_type = "cpu"; +- compatible = "arm,cortex-a7"; +- reg = <0x003>; +- clock-frequency = <800000000>; +- }; +- }; +- + __overrides__ { +- arm_freq = <&v7_cpu0>, "clock-frequency:0", +- <&v7_cpu1>, "clock-frequency:0", +- <&v7_cpu2>, "clock-frequency:0", +- <&v7_cpu3>, "clock-frequency:0"; ++ arm_freq = <&cpu0>, "clock-frequency:0", ++ <&cpu1>, "clock-frequency:0", ++ <&cpu2>, "clock-frequency:0", ++ <&cpu3>, "clock-frequency:0"; + }; +-#endif + }; +- +-&intc { +- compatible = "brcm,bcm2836-armctrl-ic"; +- reg = <0x7e00b200 0x200>; +- interrupt-parent = <&local_intc>; +- interrupts = <8>; +-}; +- + +From b914eb26b80cad8d0f35292ab4bf8418efad0f16 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 3 Nov 2017 09:45:12 +0000 +Subject: [PATCH 139/139] bcm2710: Fix compatible string in bcm2710.dtsi + +The minimal "bcm2835" board support, used for some clock setup +and serial/revision numbers, needs a compatible string of +"brcm,bcm2835" or "brcm,bcm2836" - "brcm,bcm2837" isn't +recognised. + +Fixes: bcm2710: Refactor bcm2710.dtsi using bcm2837.dtsi (#2236) + +See: https://github.com/raspberrypi/linux/issues/2255 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/bcm2710.dtsi | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2710.dtsi b/arch/arm/boot/dts/bcm2710.dtsi +index df4a91e266422eec15fd7e27d509309afcdbe809..d5ce5b60fb3b63a76831504c53145f828b089993 100644 +--- a/arch/arm/boot/dts/bcm2710.dtsi ++++ b/arch/arm/boot/dts/bcm2710.dtsi +@@ -3,6 +3,8 @@ + #include "bcm2708-rpi.dtsi" + + / { ++ compatible = "brcm,bcm2837", "brcm,bcm2836"; ++ + soc { + + arm-pmu {