diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-04-18 12:57:33 -0700 |
|---|---|---|
| committer | Linux Build Service Account <lnxbuild@localhost> | 2016-04-18 12:57:34 -0700 |
| commit | ff586a964c7d34d12eaeabc7ece026b4b67a05fc (patch) | |
| tree | 4c0e70babc54b30fa3e95836730c88d7384b31b6 /include | |
| parent | 45155991fba12d4873758efad79d3333322eda69 (diff) | |
| parent | 217cb4db86edfff435195d5f536f76888b59249a (diff) | |
Promotion of kernel.lnx.4.4-160412.
CRs Change ID Subject
--------------------------------------------------------------------------------------------------------------
1001463 Idc71b0abb24cf8c103dfde893ba8c40d342a7fb8 ARM: dts: msm: Fix USB3_PHY_SW_RESET register's offset o
974792 I9d835cddc85c007bcc6b918b9dc4335b82b97306 ARM: dts: msm: Add RPM handshake with System sleep for M
1001866 450383 I76394b203b4ab2312437c839976f0ecb7b6dde4e android/lowmemorykiller: Ignore tasks with freed mm
1001866 I88515703d64730e42598ab16136dcce4c18b099c lowmemorykiller: Do proper NULL checks
1004911 I991dfdc22936dba667110de338d0109c58e68bd5 defconfig: Enable Event timers for msmcortex defconfig
990856 Iae170042b70c6eaf5bc05ea2b4a1ccdb7dd6f946 msm: ipa3: add support for MHI burst mode
1002397 I0f68975dfcad9483182e5af5477153f39a98ac1f uapi: Add MHI device
1001866 437016 I7f06d53e2d8cfe7439e5561fe6e5209ce73b1c90 android/lowmemorykiller: Selectively count free CMA page
998858 Id6d18a67329abe5a89b4284fc5a3d1cf6a042dc4 defconfig: arm64: set SELINUX as default security for ms
973565 I73b40d264c4054a43c2776337b80af88adff077e msm: kgsl: Enable GPMU and SPTP/RAC power collapse on A5
1004911 I09313d7809ec939a9d0440d0ab30a5992f512b96 defconfig: Enable MPM for msmcortex defconfig
1001463 Ia826e361d8259126a8168c07539ba4b4f6053f65 ARM: dts: msm: Update QMP PHY supply name on msm8996 and
999530 Idd56140e11f4fdc48fd999a1e808f3263024f34d soc: qcom: Service notification driver for remote servic
997749 Ie80846978a84a114b38d69b0bca86639bfab7e91 soc: qcom: remoteqdss: Implement the remaining message t
1001866 I3b6876c5ecdf192ecc271aed3f37579f66d47a08 lowmemorykiller: enhance debug information
1001866 I6f1f8660d5da920a0e3af45a160499965032081d android: lowmemorykiller: add lmk parameters tunning cod
986169 I6dfcab462a933ef31e3bba6bef07f17016ae50b9 msm: kgsl: Return EOPNOTSUPP for A3XX command batch prof
995378 I1a9aeb3f1dd67f014847322e5b14cba8775a82a4 msm: kgsl: Pass correct buffer size for mapping gpuobj u
1002397 I64990a972cbf7c2022d638c35f7517071de67f19 msm: mhi_dev: Add MHI device driver
995821 I39539cf661d9e0e0bb59236c92b169d3054485a9 msm: ipa: add common internal header
1001866 648978 I53f5f064ac16a50ee10c84ff2bb50fdb7e085bd0 mm: Increase number of GFP masks
1001866 I938644584f374763d10d429d835e74daa4854a38 lowmemorykiller: Account for highmem during kswapd recla
988993 I0e097d7e4e4c414c0849e33bcc61a26fb94291ad msm: kgsl: verify user memory permissions before mapping
1001866 I5eb6e4b463f81142a2a7824db389201357432ec7 lowmemorykiller: use for_each_thread instead of buggy wh
993518 I75033cdf4637881ecd6fa4dd31aea083b134e6d2 msm: kgsl: Zero the adreno ioctl command buffer
1001866 893699 I2d77103d7c8f4d8a66e4652cba78e619a7bcef9a lowmemorykiller: avoid false adaptive LMK triggers
1001469 Ic62b4dae798726055beb778509e6b65e69f4db34 usb: gadget: f_gsi: Add missing includes to compile f_gs
1001469 Ib7dce6b2ae1670554a29847e4381e71ba7b75edf USB: QTI: Add missing usb_ctrl_qti.h
1001463 I4cc68a447d0cf3571a50b18d7eec5415430f9423 ARM: dts: msm: Select CML clock with USB QMP PHY on msmc
1001222 I74a00cc76ab86ee96905d270b1f6e09fb3fb9db7 ARM: dts:msm: Disable USB QMP PHY on msmcobalt
993267 I17d8b4ba2c74a787a065dbdb0ac88d065605fcb1 msm: kgsl: Fix gpudev NULL dereference in adreno_remove
1001866 I1a08160c35d3e33bdfd1d2c789c288fc07d0f0d3 lowmemorykiller: adapt to vmpressure
997749 I7738b6369e095868fa6087aac94116f4767dc168 soc: qcom: remoteqdss: Implement the new communication p
1000079 I8563fafc56515fde764046f882814c1c6e4c4299 coresight: replace bitmap_scnprintf with scnprintf
1001866 I38239283e572f814b277c718eaf6be7f92abacbb android/lowmemorykiller: Account for total_swapcache_pag
990078 I04a1a44f12dd3a09c50b4fe39e14a2bd636b24de msm: kgsl: Correct the order of preemption packets
1001463 If100d36bade241dedf28e3cea9e07be192bdfdc2 usb: phy: qmp: Add support to use different voltage with
1001866 452508 I6165dda01b705309eebabc6dfa67146b7a95c174 cma: redirect page allocation to CMA
1001469 I91b2531a2ce739613181f2e13c692263d9e2454a defconfig: Enable USB GSI Function driver for msmcobalt
1004911 I88c579189287d655b10b48496be39ed9f20d9bfc ARM: dts: msm: Add device node for MPM for MSMCobalt
978318 I7b9faf485dda6f450f6df4410e3ae25efa40aad1 ARM: dts: msm: update the pmcobalt GPIO nodes
1001866 I650bbfbf0fbbabd01d82bdb3502b57ff59c3e14f lowmemorykiller: Don't count swap cache pages twice
1004911 I59c99348a44d364d74af6b67ccabdd2d8c5008b0 soc: qcom: event_timer: Fix irq_desc structure usage
973565 Ie6480fc3ba0e1b95aab40e31b09ff2bd798ff30f msm: kgsl: Invoke DCVS callbacks on A540
1004911 I67244ff55690c164634e9233e2d0cec3388c5be8 defconfig: enable MSM_PM for msmcortex
999351 I49ae94cea34dda039d03dbeeab2add2bdd1760bd msm: ipa: fix to handle deaggr error
1001866 I809589a25c6abca51f1c963f118adfc78e955cf9 mm: add cma pcp list
983144 I4a933c9b3355b0aa1b653719ec1ec7ded1f368dd msm: ADSPRPC: FastRPC migration to GLINK from SMD
995821 I4a7d8c328af7cd5506b3fbbdc76b1bc5bb0de698 msm: ipa: unify IPA RM
988881 Idc8ac5fc273d91035254c675c7cedefa9a92a5a5 ARM: dts: msm: add IPA smp2p entries for msmcobalt
Change-Id: I855482e011c76b10ad187940905ea508725dc8d8
CRs-Fixed: 999530, 973565, 1001469, 983144, 1001463, 1002397, 1001222, 1001866, 993267, 995378, 998858, 999351, 974792, 1004911, 978318, 997749, 990078, 452508, 990856, 993518, 995821, 986169, 450383, 1000079, 648978, 988881, 893699, 988993, 437016
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/gfp.h | 13 | ||||
| -rw-r--r-- | include/linux/highmem.h | 15 | ||||
| -rw-r--r-- | include/linux/mmzone.h | 18 | ||||
| -rw-r--r-- | include/linux/sched.h | 2 | ||||
| -rw-r--r-- | include/trace/events/almk.h | 84 | ||||
| -rw-r--r-- | include/uapi/linux/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/mhi.h | 37 | ||||
| -rw-r--r-- | include/uapi/linux/usb/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/usb/usb_ctrl_qti.h | 41 |
9 files changed, 206 insertions, 6 deletions
diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 8942af0813e3..9796b4426710 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -36,6 +36,7 @@ struct vm_area_struct; #define ___GFP_OTHER_NODE 0x800000u #define ___GFP_WRITE 0x1000000u #define ___GFP_KSWAPD_RECLAIM 0x2000000u +#define ___GFP_CMA 0x4000000u /* If the above are modified, __GFP_BITS_SHIFT may need updating */ /* @@ -50,8 +51,9 @@ struct vm_area_struct; #define __GFP_DMA32 ((__force gfp_t)___GFP_DMA32) #define __GFP_MOVABLE ((__force gfp_t)___GFP_MOVABLE) /* Page is movable */ #define __GFP_MOVABLE ((__force gfp_t)___GFP_MOVABLE) /* ZONE_MOVABLE allowed */ -#define GFP_ZONEMASK (__GFP_DMA|__GFP_HIGHMEM|__GFP_DMA32|__GFP_MOVABLE) - +#define __GFP_CMA ((__force gfp_t)___GFP_CMA) +#define GFP_ZONEMASK (__GFP_DMA|__GFP_HIGHMEM|__GFP_DMA32|__GFP_MOVABLE| \ + __GFP_CMA) /* * Page mobility and placement hints * @@ -183,7 +185,7 @@ struct vm_area_struct; #define __GFP_OTHER_NODE ((__force gfp_t)___GFP_OTHER_NODE) /* Room for N __GFP_FOO bits */ -#define __GFP_BITS_SHIFT 26 +#define __GFP_BITS_SHIFT 27 #define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1)) /* @@ -264,7 +266,12 @@ static inline int gfpflags_to_migratetype(const gfp_t gfp_flags) return MIGRATE_UNMOVABLE; /* Group based on mobility */ +#ifndef CONFIG_CMA return (gfp_flags & GFP_MOVABLE_MASK) >> GFP_MOVABLE_SHIFT; +#else + return ((gfp_flags & GFP_MOVABLE_MASK) >> GFP_MOVABLE_SHIFT) | + ((gfp_flags & __GFP_CMA) != 0); +#endif } #undef GFP_MOVABLE_MASK #undef GFP_MOVABLE_SHIFT diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 4c70716759a6..61aff324bd5e 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -187,9 +187,24 @@ static inline struct page * alloc_zeroed_user_highpage_movable(struct vm_area_struct *vma, unsigned long vaddr) { +#ifndef CONFIG_CMA return __alloc_zeroed_user_highpage(__GFP_MOVABLE, vma, vaddr); +#else + return __alloc_zeroed_user_highpage(__GFP_MOVABLE|__GFP_CMA, vma, + vaddr); +#endif } +#ifdef CONFIG_CMA +static inline struct page * +alloc_zeroed_user_highpage_movable_cma(struct vm_area_struct *vma, + unsigned long vaddr) +{ + return __alloc_zeroed_user_highpage(__GFP_MOVABLE|__GFP_CMA, vma, + vaddr); +} +#endif + static inline void clear_highpage(struct page *page) { void *kaddr = kmap_atomic(page); diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 423d214f708b..ad4c3f186f61 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -39,8 +39,6 @@ enum { MIGRATE_UNMOVABLE, MIGRATE_MOVABLE, MIGRATE_RECLAIMABLE, - MIGRATE_PCPTYPES, /* the number of types on the pcp lists */ - MIGRATE_HIGHATOMIC = MIGRATE_PCPTYPES, #ifdef CONFIG_CMA /* * MIGRATE_CMA migration type is designed to mimic the way @@ -57,18 +55,30 @@ enum { */ MIGRATE_CMA, #endif + MIGRATE_PCPTYPES, /* the number of types on the pcp lists */ + MIGRATE_HIGHATOMIC = MIGRATE_PCPTYPES, #ifdef CONFIG_MEMORY_ISOLATION MIGRATE_ISOLATE, /* can't allocate from here */ #endif MIGRATE_TYPES }; +/* + * Returns a list which contains the migrate types on to which + * an allocation falls back when the free list for the migrate + * type mtype is depleted. + * The end of the list is delimited by the type MIGRATE_TYPES. + */ +extern int *get_migratetype_fallbacks(int mtype); + #ifdef CONFIG_CMA bool is_cma_pageblock(struct page *page); # define is_migrate_cma(migratetype) unlikely((migratetype) == MIGRATE_CMA) +# define get_cma_migrate_type() MIGRATE_CMA #else # define is_cma_pageblock(page) false # define is_migrate_cma(migratetype) false +# define get_cma_migrate_type() MIGRATE_MOVABLE #endif #define for_each_migratetype_order(order, type) \ @@ -159,6 +169,7 @@ enum zone_stat_item { WORKINGSET_NODERECLAIM, NR_ANON_TRANSPARENT_HUGEPAGES, NR_FREE_CMA_PAGES, + NR_SWAPCACHE, NR_VM_ZONE_STAT_ITEMS }; /* @@ -367,6 +378,9 @@ struct zone { * considered dirtyable memory. */ unsigned long dirty_balance_reserve; +#ifdef CONFIG_CMA + bool cma_alloc; +#endif #ifndef CONFIG_SPARSEMEM /* diff --git a/include/linux/sched.h b/include/linux/sched.h index e963ff30a7f6..7ece18efd02b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2740,7 +2740,7 @@ static inline void mmdrop(struct mm_struct * mm) } /* mmput gets rid of the mappings and all user-space */ -extern void mmput(struct mm_struct *); +extern int mmput(struct mm_struct *); /* Grab a reference to a task's mm, if it is not already going away */ extern struct mm_struct *get_task_mm(struct task_struct *task); /* diff --git a/include/trace/events/almk.h b/include/trace/events/almk.h new file mode 100644 index 000000000000..85d712d48f50 --- /dev/null +++ b/include/trace/events/almk.h @@ -0,0 +1,84 @@ +/* Copyright (c) 2015, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#undef TRACE_SYSTEM +#define TRACE_SYSTEM almk + +#if !defined(_TRACE_EVENT_ALMK_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_EVENT_ALMK_H + +#include <linux/tracepoint.h> +#include <linux/types.h> + +TRACE_EVENT(almk_vmpressure, + + TP_PROTO(unsigned long pressure, + int other_free, + int other_file), + + TP_ARGS(pressure, other_free, other_file), + + TP_STRUCT__entry( + __field(unsigned long, pressure) + __field(int, other_free) + __field(int, other_file) + ), + + TP_fast_assign( + __entry->pressure = pressure; + __entry->other_free = other_free; + __entry->other_file = other_file; + ), + + TP_printk("%lu, %d, %d", + __entry->pressure, __entry->other_free, + __entry->other_file) +); + +TRACE_EVENT(almk_shrink, + + TP_PROTO(int tsize, + int vmp, + int other_free, + int other_file, + short adj), + + TP_ARGS(tsize, vmp, other_free, other_file, adj), + + TP_STRUCT__entry( + __field(int, tsize) + __field(int, vmp) + __field(int, other_free) + __field(int, other_file) + __field(short, adj) + ), + + TP_fast_assign( + __entry->tsize = tsize; + __entry->vmp = vmp; + __entry->other_free = other_free; + __entry->other_file = other_file; + __entry->adj = adj; + ), + + TP_printk("%d, %d, %d, %d, %d", + __entry->tsize, + __entry->vmp, + __entry->other_free, + __entry->other_file, + __entry->adj) +); + +#endif + +#include <trace/define_trace.h> + diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 96a79417671a..29e3be2ce18c 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild @@ -271,6 +271,7 @@ header-y += membarrier.h header-y += memfd.h header-y += mempolicy.h header-y += meye.h +header-y += mhi.h header-y += mic_common.h header-y += mic_ioctl.h header-y += mii.h diff --git a/include/uapi/linux/mhi.h b/include/uapi/linux/mhi.h new file mode 100644 index 000000000000..834c1dc77173 --- /dev/null +++ b/include/uapi/linux/mhi.h @@ -0,0 +1,37 @@ +#ifndef _UAPI_MHI_H +#define _UAPI_MHI_H + +#include <linux/types.h> +#include <linux/ioctl.h> + +enum peripheral_ep_type { + DATA_EP_TYPE_RESERVED, + DATA_EP_TYPE_HSIC, + DATA_EP_TYPE_HSUSB, + DATA_EP_TYPE_PCIE, + DATA_EP_TYPE_EMBEDDED, + DATA_EP_TYPE_BAM_DMUX, +}; + +struct peripheral_ep_info { + enum peripheral_ep_type ep_type; + __u32 peripheral_iface_id; +}; + +struct ipa_ep_pair { + __u32 cons_pipe_num; + __u32 prod_pipe_num; +}; + +struct ep_info { + struct peripheral_ep_info ph_ep_info; + struct ipa_ep_pair ipa_ep_pair; + +}; + +#define MHI_UCI_IOCTL_MAGIC 'm' + +#define MHI_UCI_EP_LOOKUP _IOR(MHI_UCI_IOCTL_MAGIC, 2, struct ep_info) + +#endif /* _UAPI_MHI_H */ + diff --git a/include/uapi/linux/usb/Kbuild b/include/uapi/linux/usb/Kbuild index 4cc4d6e7e523..ba153d582422 100644 --- a/include/uapi/linux/usb/Kbuild +++ b/include/uapi/linux/usb/Kbuild @@ -9,4 +9,5 @@ header-y += g_printer.h header-y += gadgetfs.h header-y += midi.h header-y += tmc.h +header-y += usb_ctrl_qti.h header-y += video.h diff --git a/include/uapi/linux/usb/usb_ctrl_qti.h b/include/uapi/linux/usb/usb_ctrl_qti.h new file mode 100644 index 000000000000..b02272a03e40 --- /dev/null +++ b/include/uapi/linux/usb/usb_ctrl_qti.h @@ -0,0 +1,41 @@ +#ifndef __UAPI_LINUX_USB_CTRL_QTI_H +#define __UAPI_LINUX_USB_CTRL_QTI_H + +#include <linux/types.h> +#include <linux/ioctl.h> + +#define MAX_QTI_PKT_SIZE 2048 + +#define QTI_CTRL_IOCTL_MAGIC 'r' +#define QTI_CTRL_GET_LINE_STATE _IOR(QTI_CTRL_IOCTL_MAGIC, 2, int) +#define QTI_CTRL_EP_LOOKUP _IOR(QTI_CTRL_IOCTL_MAGIC, 3, struct ep_info) +#define QTI_CTRL_MODEM_OFFLINE _IO(QTI_CTRL_IOCTL_MAGIC, 4) +#define QTI_CTRL_MODEM_ONLINE _IO(QTI_CTRL_IOCTL_MAGIC, 5) + +enum peripheral_ep_type { + DATA_EP_TYPE_RESERVED = 0x0, + DATA_EP_TYPE_HSIC = 0x1, + DATA_EP_TYPE_HSUSB = 0x2, + DATA_EP_TYPE_PCIE = 0x3, + DATA_EP_TYPE_EMBEDDED = 0x4, + DATA_EP_TYPE_BAM_DMUX = 0x5, +}; + +struct peripheral_ep_info { + enum peripheral_ep_type ep_type; + __u32 peripheral_iface_id; +}; + +struct ipa_ep_pair { + __u32 cons_pipe_num; + __u32 prod_pipe_num; +}; + +struct ep_info { + struct peripheral_ep_info ph_ep_info; + struct ipa_ep_pair ipa_ep_pair; + +}; + +#endif + |
