diff options
Diffstat (limited to 'include')
36 files changed, 106 insertions, 86 deletions
diff --git a/include/Kbuild b/include/Kbuild index 83256b64166..1dfd33e8d43 100644 --- a/include/Kbuild +++ b/include/Kbuild @@ -1,8 +1,5 @@  # Top-level Makefile calls into asm-$(ARCH)  # List only non-arch directories below -header-y += linux/ -header-y += sound/ -header-y += rdma/  header-y += video/  header-y += scsi/ diff --git a/include/asm-generic/parport.h b/include/asm-generic/parport.h index 40528cb977e..2c9f9d4336c 100644 --- a/include/asm-generic/parport.h +++ b/include/asm-generic/parport.h @@ -10,8 +10,8 @@   * to devices on the PCI bus.   */ -static int __devinit parport_pc_find_isa_ports(int autoirq, int autodma); -static int __devinit parport_pc_find_nonpci_ports(int autoirq, int autodma) +static int parport_pc_find_isa_ports(int autoirq, int autodma); +static int parport_pc_find_nonpci_ports(int autoirq, int autodma)  {  #ifdef CONFIG_ISA  	return parport_pc_find_isa_ports(autoirq, autodma); diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index ed6642ad03e..25f01d0bc14 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h @@ -78,6 +78,14 @@ struct mmu_gather_batch {  #define MAX_GATHER_BATCH	\  	((PAGE_SIZE - sizeof(struct mmu_gather_batch)) / sizeof(void *)) +/* + * Limit the maximum number of mmu_gather batches to reduce a risk of soft + * lockups for non-preemptible kernels on huge machines when a lot of memory + * is zapped during unmapping. + * 10K pages freed at once should be safe even without a preemption point. + */ +#define MAX_GATHER_BATCH_COUNT	(10000UL/MAX_GATHER_BATCH) +  /* struct mmu_gather is an opaque type used by the mm code for passing around   * any data needed by arch specific code for tlb_remove_page.   */ @@ -96,6 +104,7 @@ struct mmu_gather {  	struct mmu_gather_batch *active;  	struct mmu_gather_batch	local;  	struct page		*__pages[MMU_GATHER_BUNDLE]; +	unsigned int		batch_count;  };  #define HAVE_GENERIC_MMU_GATHER diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h index 06d7f798a08..0f4a366f6fa 100644 --- a/include/drm/drm_mm.h +++ b/include/drm/drm_mm.h @@ -158,12 +158,29 @@ static inline struct drm_mm_node *drm_mm_get_block_atomic_range(  	return drm_mm_get_block_range_generic(parent, size, alignment, 0,  						start, end, 1);  } -extern int drm_mm_insert_node(struct drm_mm *mm, struct drm_mm_node *node, -			      unsigned long size, unsigned alignment); + +extern int drm_mm_insert_node(struct drm_mm *mm, +			      struct drm_mm_node *node, +			      unsigned long size, +			      unsigned alignment);  extern int drm_mm_insert_node_in_range(struct drm_mm *mm,  				       struct drm_mm_node *node, -				       unsigned long size, unsigned alignment, -				       unsigned long start, unsigned long end); +				       unsigned long size, +				       unsigned alignment, +				       unsigned long start, +				       unsigned long end); +extern int drm_mm_insert_node_generic(struct drm_mm *mm, +				      struct drm_mm_node *node, +				      unsigned long size, +				      unsigned alignment, +				      unsigned long color); +extern int drm_mm_insert_node_in_range_generic(struct drm_mm *mm, +				       struct drm_mm_node *node, +				       unsigned long size, +				       unsigned alignment, +				       unsigned long color, +				       unsigned long start, +				       unsigned long end);  extern void drm_mm_put_block(struct drm_mm_node *cur);  extern void drm_mm_remove_node(struct drm_mm_node *node);  extern void drm_mm_replace_node(struct drm_mm_node *old, struct drm_mm_node *new); diff --git a/include/drm/exynos_drm.h b/include/drm/exynos_drm.h index 808dad29607..d6aeaf3c6d6 100644 --- a/include/drm/exynos_drm.h +++ b/include/drm/exynos_drm.h @@ -6,24 +6,10 @@   *	Joonyoung Shim <jy0922.shim@samsung.com>   *	Seung-Woo Kim <sw0312.kim@samsung.com>   * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL - * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. + * This program is free software; you can redistribute  it and/or modify it + * under  the terms of  the GNU General  Public License as published by the + * Free Software Foundation;  either version 2 of the  License, or (at your + * option) any later version.   */  #ifndef _EXYNOS_DRM_H_  #define _EXYNOS_DRM_H_ diff --git a/include/linux/Kbuild b/include/linux/Kbuild deleted file mode 100644 index 7fe2dae251e..00000000000 --- a/include/linux/Kbuild +++ /dev/null @@ -1,5 +0,0 @@ -header-y += dvb/ -header-y += hdlc/ -header-y += hsi/ -header-y += raid/ -header-y += usb/ diff --git a/include/linux/ata_platform.h b/include/linux/ata_platform.h index fe9989636b6..b9fde17f767 100644 --- a/include/linux/ata_platform.h +++ b/include/linux/ata_platform.h @@ -15,12 +15,12 @@ struct pata_platform_info {  	unsigned int irq_flags;  }; -extern int __devinit __pata_platform_probe(struct device *dev, -					   struct resource *io_res, -					   struct resource *ctl_res, -					   struct resource *irq_res, -					   unsigned int ioport_shift, -					   int __pio_mask); +extern int __pata_platform_probe(struct device *dev, +				 struct resource *io_res, +				 struct resource *ctl_res, +				 struct resource *irq_res, +				 unsigned int ioport_shift, +				 int __pio_mask);  /*   * Marvell SATA private data diff --git a/include/linux/bcma/bcma_driver_gmac_cmn.h b/include/linux/bcma/bcma_driver_gmac_cmn.h index def894b83b0..4dd1f33e36a 100644 --- a/include/linux/bcma/bcma_driver_gmac_cmn.h +++ b/include/linux/bcma/bcma_driver_gmac_cmn.h @@ -92,7 +92,7 @@ struct bcma_drv_gmac_cmn {  #define gmac_cmn_write32(gc, offset, val)	bcma_write32((gc)->core, offset, val)  #ifdef CONFIG_BCMA_DRIVER_GMAC_CMN -extern void __devinit bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc); +extern void bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc);  #else  static inline void bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc) { }  #endif diff --git a/include/linux/bcma/bcma_driver_pci.h b/include/linux/bcma/bcma_driver_pci.h index 41da581e161..c48d98d27b7 100644 --- a/include/linux/bcma/bcma_driver_pci.h +++ b/include/linux/bcma/bcma_driver_pci.h @@ -214,7 +214,7 @@ struct bcma_drv_pci {  #define pcicore_write16(pc, offset, val)	bcma_write16((pc)->core, offset, val)  #define pcicore_write32(pc, offset, val)	bcma_write32((pc)->core, offset, val) -extern void __devinit bcma_core_pci_init(struct bcma_drv_pci *pc); +extern void bcma_core_pci_init(struct bcma_drv_pci *pc);  extern int bcma_core_pci_irq_ctl(struct bcma_drv_pci *pc,  				 struct bcma_device *core, bool enable);  extern void bcma_core_pci_extend_L1timer(struct bcma_drv_pci *pc, bool extend); diff --git a/include/linux/cred.h b/include/linux/cred.h index abb2cd50f6b..04421e82536 100644 --- a/include/linux/cred.h +++ b/include/linux/cred.h @@ -128,7 +128,6 @@ struct cred {  	struct key	*process_keyring; /* keyring private to this process */  	struct key	*thread_keyring; /* keyring private to this thread */  	struct key	*request_key_auth; /* assumed request_key authority */ -	struct thread_group_cred *tgcred; /* thread-group shared credentials */  #endif  #ifdef CONFIG_SECURITY  	void		*security;	/* subjective LSM security */ diff --git a/include/linux/hdlc/Kbuild b/include/linux/hdlc/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/linux/hdlc/Kbuild +++ /dev/null diff --git a/include/linux/hsi/Kbuild b/include/linux/hsi/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/linux/hsi/Kbuild +++ /dev/null diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h index fe771978e87..ae221a7b509 100644 --- a/include/linux/ipc_namespace.h +++ b/include/linux/ipc_namespace.h @@ -24,6 +24,7 @@ struct ipc_ids {  	unsigned short seq_max;  	struct rw_semaphore rw_mutex;  	struct idr ipcs_idr; +	int next_id;  };  struct ipc_namespace { diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 1be23d9fdac..e30b6634694 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -1098,7 +1098,7 @@ void		 jbd2_journal_set_triggers(struct buffer_head *,  extern int	 jbd2_journal_dirty_metadata (handle_t *, struct buffer_head *);  extern int	 jbd2_journal_forget (handle_t *, struct buffer_head *);  extern void	 journal_sync_buffer (struct buffer_head *); -extern void	 jbd2_journal_invalidatepage(journal_t *, +extern int	 jbd2_journal_invalidatepage(journal_t *,  				struct page *, unsigned long);  extern int	 jbd2_journal_try_to_free_buffers(journal_t *, struct page *, gfp_t);  extern int	 jbd2_journal_stop(handle_t *); diff --git a/include/linux/mempolicy.h b/include/linux/mempolicy.h index 9adc270de7e..0d7df39a588 100644 --- a/include/linux/mempolicy.h +++ b/include/linux/mempolicy.h @@ -123,7 +123,7 @@ struct sp_node {  struct shared_policy {  	struct rb_root root; -	struct mutex mutex; +	spinlock_t lock;  };  void mpol_shared_policy_init(struct shared_policy *sp, struct mempolicy *mpol); @@ -165,11 +165,10 @@ int do_migrate_pages(struct mm_struct *mm, const nodemask_t *from,  #ifdef CONFIG_TMPFS -extern int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context); +extern int mpol_parse_str(char *str, struct mempolicy **mpol);  #endif -extern int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol, -			int no_context); +extern int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol);  /* Check if a vma is migratable */  static inline int vma_migratable(struct vm_area_struct *vma) @@ -296,15 +295,13 @@ static inline void check_highest_zone(int k)  }  #ifdef CONFIG_TMPFS -static inline int mpol_parse_str(char *str, struct mempolicy **mpol, -				int no_context) +static inline int mpol_parse_str(char *str, struct mempolicy **mpol)  {  	return 1;	/* error */  }  #endif -static inline int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol, -				int no_context) +static inline int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol)  {  	return 0;  } diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 4bec5be82ca..73b64a38b98 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -503,14 +503,6 @@ struct zone {  	 * rarely used fields:  	 */  	const char		*name; -#ifdef CONFIG_MEMORY_ISOLATION -	/* -	 * the number of MIGRATE_ISOLATE *pageblock*. -	 * We need this for free page counting. Look at zone_watermark_ok_safe. -	 * It's protected by zone->lock -	 */ -	int		nr_pageblock_isolate; -#endif  } ____cacheline_internodealigned_in_smp;  typedef enum { diff --git a/include/linux/msg.h b/include/linux/msg.h index 7a4b9e97d29..391af8d11cc 100644 --- a/include/linux/msg.h +++ b/include/linux/msg.h @@ -34,7 +34,9 @@ struct msg_queue {  /* Helper routines for sys_msgsnd and sys_msgrcv */  extern long do_msgsnd(int msqid, long mtype, void __user *mtext,  			size_t msgsz, int msgflg); -extern long do_msgrcv(int msqid, long *pmtype, void __user *mtext, -			size_t msgsz, long msgtyp, int msgflg); +extern long do_msgrcv(int msqid, void __user *buf, size_t bufsz, long msgtyp, +		      int msgflg, +		      long (*msg_fill)(void __user *, struct msg_msg *, +				       size_t));  #endif /* _LINUX_MSG_H */ diff --git a/include/linux/namei.h b/include/linux/namei.h index e998c030061..5a5ff57ceed 100644 --- a/include/linux/namei.h +++ b/include/linux/namei.h @@ -2,6 +2,7 @@  #define _LINUX_NAMEI_H  #include <linux/dcache.h> +#include <linux/errno.h>  #include <linux/linkage.h>  #include <linux/path.h> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 02e0f6b156c..c599e4782d4 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1576,7 +1576,7 @@ extern int call_netdevice_notifiers(unsigned long val, struct net_device *dev);  extern rwlock_t				dev_base_lock;		/* Device list lock */ -extern seqlock_t	devnet_rename_seq;	/* Device rename lock */ +extern seqcount_t	devnet_rename_seq;	/* Device rename seq */  #define for_each_netdev(net, d)		\ diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index b5d13841604..70473da47b3 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -362,7 +362,7 @@ static inline void ClearPageCompound(struct page *page)   * pages on the LRU and/or pagecache.   */  TESTPAGEFLAG(Compound, compound) -__PAGEFLAG(Head, compound) +__SETPAGEFLAG(Head, compound)  __CLEARPAGEFLAG(Head, compound)  /*   * PG_reclaim is used in combination with PG_compound to mark the @@ -374,8 +374,14 @@ __PAGEFLAG(Head, compound)   * PG_compound & PG_reclaim	=> Tail page   * PG_compound & ~PG_reclaim	=> Head page   */ +#define PG_head_mask ((1L << PG_compound))  #define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim)) +static inline int PageHead(struct page *page) +{ +	return ((page->flags & PG_head_tail_mask) == PG_head_mask); +} +  static inline int PageTail(struct page *page)  {  	return ((page->flags & PG_head_tail_mask) == PG_head_tail_mask); diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 0f8447376dd..0eb65796bcb 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1568,6 +1568,7 @@  #define PCI_DEVICE_ID_RICOH_RL5C476	0x0476  #define PCI_DEVICE_ID_RICOH_RL5C478	0x0478  #define PCI_DEVICE_ID_RICOH_R5C822	0x0822 +#define PCI_DEVICE_ID_RICOH_R5CE822	0xe822  #define PCI_DEVICE_ID_RICOH_R5CE823	0xe823  #define PCI_DEVICE_ID_RICOH_R5C832	0x0832  #define PCI_DEVICE_ID_RICOH_R5C843	0x0843 diff --git a/include/linux/pid.h b/include/linux/pid.h index b152d44fb18..2381c973d89 100644 --- a/include/linux/pid.h +++ b/include/linux/pid.h @@ -121,6 +121,7 @@ int next_pidmap(struct pid_namespace *pid_ns, unsigned int last);  extern struct pid *alloc_pid(struct pid_namespace *ns);  extern void free_pid(struct pid *pid); +extern void disable_pid_allocation(struct pid_namespace *ns);  /*   * ns_of_pid() returns the pid namespace in which the specified pid was diff --git a/include/linux/pid_namespace.h b/include/linux/pid_namespace.h index bf285999273..215e5e3dda1 100644 --- a/include/linux/pid_namespace.h +++ b/include/linux/pid_namespace.h @@ -21,7 +21,7 @@ struct pid_namespace {  	struct kref kref;  	struct pidmap pidmap[PIDMAP_ENTRIES];  	int last_pid; -	int nr_hashed; +	unsigned int nr_hashed;  	struct task_struct *child_reaper;  	struct kmem_cache *pid_cachep;  	unsigned int level; @@ -42,6 +42,8 @@ struct pid_namespace {  extern struct pid_namespace init_pid_ns; +#define PIDNS_HASH_ADDING (1U << 31) +  #ifdef CONFIG_PID_NS  static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns)  { diff --git a/include/linux/pstore_ram.h b/include/linux/pstore_ram.h index 098d2a83829..cb6ab5feab6 100644 --- a/include/linux/pstore_ram.h +++ b/include/linux/pstore_ram.h @@ -46,9 +46,8 @@ struct persistent_ram_zone {  	size_t old_log_size;  }; -struct persistent_ram_zone * __devinit persistent_ram_new(phys_addr_t start, -							  size_t size, u32 sig, -							  int ecc_size); +struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size, +					       u32 sig, int ecc_size);  void persistent_ram_free(struct persistent_ram_zone *prz);  void persistent_ram_zap(struct persistent_ram_zone *prz); diff --git a/include/linux/raid/Kbuild b/include/linux/raid/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/linux/raid/Kbuild +++ /dev/null diff --git a/include/linux/usb/Kbuild b/include/linux/usb/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/linux/usb/Kbuild +++ /dev/null diff --git a/include/net/netns/conntrack.h b/include/net/netns/conntrack.h index a1d83cc8bf8..923cb20051e 100644 --- a/include/net/netns/conntrack.h +++ b/include/net/netns/conntrack.h @@ -71,6 +71,7 @@ struct netns_ct {  	struct hlist_head	*expect_hash;  	struct hlist_nulls_head	unconfirmed;  	struct hlist_nulls_head	dying; +	struct hlist_nulls_head tmpl;  	struct ip_conntrack_stat __percpu *stat;  	struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb;  	struct nf_exp_event_notifier __rcu *nf_expect_event_cb; diff --git a/include/net/netns/x_tables.h b/include/net/netns/x_tables.h index 591db7d657a..c24060ee411 100644 --- a/include/net/netns/x_tables.h +++ b/include/net/netns/x_tables.h @@ -8,6 +8,7 @@ struct ebt_table;  struct netns_xt {  	struct list_head tables[NFPROTO_NUMPROTO]; +	bool notrack_deprecated_warning;  #if defined(CONFIG_BRIDGE_NF_EBTABLES) || \      defined(CONFIG_BRIDGE_NF_EBTABLES_MODULE)  	struct ebt_table *broute_table; diff --git a/include/net/sock.h b/include/net/sock.h index 93a6745bfdb..182ca99405a 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -367,7 +367,7 @@ struct sock {  	unsigned short		sk_ack_backlog;  	unsigned short		sk_max_ack_backlog;  	__u32			sk_priority; -#ifdef CONFIG_CGROUPS +#if IS_ENABLED(CONFIG_NETPRIO_CGROUP)  	__u32			sk_cgrp_prioidx;  #endif  	struct pid		*sk_peer_pid; diff --git a/include/rdma/Kbuild b/include/rdma/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/rdma/Kbuild +++ /dev/null diff --git a/include/sound/Kbuild b/include/sound/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/sound/Kbuild +++ /dev/null diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index f6372b01136..7e8c36bc708 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h @@ -451,7 +451,7 @@ DEFINE_EVENT(ext4__page_op, ext4_releasepage,  	TP_ARGS(page)  ); -TRACE_EVENT(ext4_invalidatepage, +DECLARE_EVENT_CLASS(ext4_invalidatepage_op,  	TP_PROTO(struct page *page, unsigned long offset),  	TP_ARGS(page, offset), @@ -477,6 +477,18 @@ TRACE_EVENT(ext4_invalidatepage,  		  (unsigned long) __entry->index, __entry->offset)  ); +DEFINE_EVENT(ext4_invalidatepage_op, ext4_invalidatepage, +	TP_PROTO(struct page *page, unsigned long offset), + +	TP_ARGS(page, offset) +); + +DEFINE_EVENT(ext4_invalidatepage_op, ext4_journalled_invalidatepage, +	TP_PROTO(struct page *page, unsigned long offset), + +	TP_ARGS(page, offset) +); +  TRACE_EVENT(ext4_discard_blocks,  	TP_PROTO(struct super_block *sb, unsigned long long blk,  			unsigned long long count), diff --git a/include/uapi/drm/exynos_drm.h b/include/uapi/drm/exynos_drm.h index e7f52c33400..d5844122ff3 100644 --- a/include/uapi/drm/exynos_drm.h +++ b/include/uapi/drm/exynos_drm.h @@ -6,24 +6,10 @@   *	Joonyoung Shim <jy0922.shim@samsung.com>   *	Seung-Woo Kim <sw0312.kim@samsung.com>   * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL - * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. + * This program is free software; you can redistribute  it and/or modify it + * under  the terms of  the GNU General  Public License as published by the + * Free Software Foundation;  either version 2 of the  License, or (at your + * option) any later version.   */  #ifndef _UAPI_EXYNOS_DRM_H_ @@ -185,6 +171,8 @@ enum drm_exynos_flip {  	EXYNOS_DRM_FLIP_NONE = (0 << 0),  	EXYNOS_DRM_FLIP_VERTICAL = (1 << 0),  	EXYNOS_DRM_FLIP_HORIZONTAL = (1 << 1), +	EXYNOS_DRM_FLIP_BOTH = EXYNOS_DRM_FLIP_VERTICAL | +			EXYNOS_DRM_FLIP_HORIZONTAL,  };  enum drm_exynos_degree { diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index b746a3cf5fa..c4d2e9c7400 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -307,6 +307,7 @@ typedef struct drm_i915_irq_wait {  #define I915_PARAM_HAS_PRIME_VMAP_FLUSH	 21  #define I915_PARAM_RSVD_FOR_FUTURE_USE	 22  #define I915_PARAM_HAS_SECURE_BATCHES	 23 +#define I915_PARAM_HAS_PINNED_BATCHES	 24  typedef struct drm_i915_getparam {  	int param; @@ -677,6 +678,15 @@ struct drm_i915_gem_execbuffer2 {   */  #define I915_EXEC_SECURE		(1<<9) +/** Inform the kernel that the batch is and will always be pinned. This + * negates the requirement for a workaround to be performed to avoid + * an incoherent CS (such as can be found on 830/845). If this flag is + * not passed, the kernel will endeavour to make sure the batch is + * coherent with the CS before execution. If this flag is passed, + * userspace assumes the responsibility for ensuring the same. + */ +#define I915_EXEC_IS_PINNED		(1<<10) +  #define I915_EXEC_CONTEXT_ID_MASK	(0xffffffff)  #define i915_execbuffer2_set_context_id(eb2, context) \  	(eb2).rsvd1 = context & I915_EXEC_CONTEXT_ID_MASK diff --git a/include/uapi/linux/msg.h b/include/uapi/linux/msg.h index 78dbd2f996a..22d95c6854e 100644 --- a/include/uapi/linux/msg.h +++ b/include/uapi/linux/msg.h @@ -10,6 +10,7 @@  /* msgrcv options */  #define MSG_NOERROR     010000  /* no error if message is too big */  #define MSG_EXCEPT      020000  /* recv any msg except of specified type.*/ +#define MSG_COPY        040000  /* copy (not remove) all queue messages */  /* Obsolete, used only for backwards compatibility and libc5 compiles */  struct msqid_ds { diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index 6b7b6f1e2fd..ebfadc56d1b 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h @@ -458,6 +458,8 @@  #define  PCI_EXP_DEVSTA_TRPND	0x20	/* Transactions Pending */  #define PCI_EXP_LNKCAP		12	/* Link Capabilities */  #define  PCI_EXP_LNKCAP_SLS	0x0000000f /* Supported Link Speeds */ +#define  PCI_EXP_LNKCAP_SLS_2_5GB 0x1	/* LNKCAP2 SLS Vector bit 0 (2.5GT/s) */ +#define  PCI_EXP_LNKCAP_SLS_5_0GB 0x2	/* LNKCAP2 SLS Vector bit 1 (5.0GT/s) */  #define  PCI_EXP_LNKCAP_MLW	0x000003f0 /* Maximum Link Width */  #define  PCI_EXP_LNKCAP_ASPMS	0x00000c00 /* ASPM Support */  #define  PCI_EXP_LNKCAP_L0SEL	0x00007000 /* L0s Exit Latency */  |