diff options
Diffstat (limited to 'include')
26 files changed, 206 insertions, 68 deletions
| diff --git a/include/acpi/processor.h b/include/acpi/processor.h index 3ca9b751f122..b95dc32a6e6b 100644 --- a/include/acpi/processor.h +++ b/include/acpi/processor.h @@ -196,8 +196,8 @@ struct acpi_processor_flags {  struct acpi_processor {  	acpi_handle handle;  	u32 acpi_id; -	u32 apic_id; -	u32 id; +	u32 phys_id;	/* CPU hardware ID such as APIC ID for x86 */ +	u32 id;		/* CPU logical ID allocated by OS */  	u32 pblk;  	int performance_platform_limit;  	int throttling_platform_limit; @@ -310,8 +310,8 @@ static inline int acpi_processor_get_bios_limit(int cpu, unsigned int *limit)  #endif				/* CONFIG_CPU_FREQ */  /* in processor_core.c */ -int acpi_get_apicid(acpi_handle, int type, u32 acpi_id); -int acpi_map_cpuid(int apic_id, u32 acpi_id); +int acpi_get_phys_id(acpi_handle, int type, u32 acpi_id); +int acpi_map_cpuid(int phys_id, u32 acpi_id);  int acpi_get_cpuid(acpi_handle, int type, u32 acpi_id);  /* in processor_pdc.c */ diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index 08848050922e..db284bff29dc 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h @@ -136,8 +136,12 @@ static inline void __tlb_adjust_range(struct mmu_gather *tlb,  static inline void __tlb_reset_range(struct mmu_gather *tlb)  { -	tlb->start = TASK_SIZE; -	tlb->end = 0; +	if (tlb->fullmm) { +		tlb->start = tlb->end = ~0; +	} else { +		tlb->start = TASK_SIZE; +		tlb->end = 0; +	}  }  /* diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 856d381b1d5b..d459cd17b477 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -147,8 +147,8 @@ void acpi_numa_arch_fixup(void);  #ifdef CONFIG_ACPI_HOTPLUG_CPU  /* Arch dependent functions for cpu hotplug support */ -int acpi_map_lsapic(acpi_handle handle, int physid, int *pcpu); -int acpi_unmap_lsapic(int cpu); +int acpi_map_cpu(acpi_handle handle, int physid, int *pcpu); +int acpi_unmap_cpu(int cpu);  #endif /* CONFIG_ACPI_HOTPLUG_CPU */  int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base); diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 8aded9ab2e4e..5735e7130d63 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -34,7 +34,6 @@ struct blk_mq_hw_ctx {  	unsigned long		flags;		/* BLK_MQ_F_* flags */  	struct request_queue	*queue; -	unsigned int		queue_num;  	struct blk_flush_queue	*fq;  	void			*driver_data; @@ -54,7 +53,7 @@ struct blk_mq_hw_ctx {  	unsigned long		dispatched[BLK_MQ_MAX_DISPATCH_ORDER];  	unsigned int		numa_node; -	unsigned int		cmd_size;	/* per-request extra data */ +	unsigned int		queue_num;  	atomic_t		nr_active; @@ -195,13 +194,16 @@ static inline u16 blk_mq_unique_tag_to_tag(u32 unique_tag)  struct blk_mq_hw_ctx *blk_mq_map_queue(struct request_queue *, const int ctx_index);  struct blk_mq_hw_ctx *blk_mq_alloc_single_hw_queue(struct blk_mq_tag_set *, unsigned int, int); +int blk_mq_request_started(struct request *rq);  void blk_mq_start_request(struct request *rq);  void blk_mq_end_request(struct request *rq, int error);  void __blk_mq_end_request(struct request *rq, int error);  void blk_mq_requeue_request(struct request *rq);  void blk_mq_add_to_requeue_list(struct request *rq, bool at_head); +void blk_mq_cancel_requeue_work(struct request_queue *q);  void blk_mq_kick_requeue_list(struct request_queue *q); +void blk_mq_abort_requeue_list(struct request_queue *q);  void blk_mq_complete_request(struct request *rq);  void blk_mq_stop_hw_queue(struct blk_mq_hw_ctx *hctx); @@ -212,6 +214,8 @@ void blk_mq_start_stopped_hw_queues(struct request_queue *q, bool async);  void blk_mq_delay_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs);  void blk_mq_tag_busy_iter(struct blk_mq_hw_ctx *hctx, busy_iter_fn *fn,  		void *priv); +void blk_mq_unfreeze_queue(struct request_queue *q); +void blk_mq_freeze_queue_start(struct request_queue *q);  /*   * Driver command data is immediately after the request. So subtract request diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index 445d59231bc4..c294e3e25e37 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h @@ -190,6 +190,7 @@ enum rq_flag_bits {  	__REQ_PM,		/* runtime pm request */  	__REQ_HASHED,		/* on IO scheduler merge hash */  	__REQ_MQ_INFLIGHT,	/* track inflight for MQ */ +	__REQ_NO_TIMEOUT,	/* requests may never expire */  	__REQ_NR_BITS,		/* stops here */  }; @@ -243,5 +244,6 @@ enum rq_flag_bits {  #define REQ_PM			(1ULL << __REQ_PM)  #define REQ_HASHED		(1ULL << __REQ_HASHED)  #define REQ_MQ_INFLIGHT		(1ULL << __REQ_MQ_INFLIGHT) +#define REQ_NO_TIMEOUT		(1ULL << __REQ_NO_TIMEOUT)  #endif /* __LINUX_BLK_TYPES_H */ diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index 5d86416d35f2..61b19c46bdb3 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h @@ -87,8 +87,8 @@ struct ceph_osd_req_op {  			struct ceph_osd_data osd_data;  		} extent;  		struct { -			__le32 name_len; -			__le32 value_len; +			u32 name_len; +			u32 value_len;  			__u8 cmp_op;       /* CEPH_OSD_CMPXATTR_OP_* */  			__u8 cmp_mode;     /* CEPH_OSD_CMPXATTR_MODE_* */  			struct ceph_osd_data osd_data; diff --git a/include/linux/compiler.h b/include/linux/compiler.h index a1c81f80978e..33063f872ee3 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -215,7 +215,7 @@ static __always_inline void __read_once_size(volatile void *p, void *res, int si  	}  } -static __always_inline void __assign_once_size(volatile void *p, void *res, int size) +static __always_inline void __write_once_size(volatile void *p, void *res, int size)  {  	switch (size) {  	case 1: *(volatile __u8 *)p = *(__u8 *)res; break; @@ -235,15 +235,15 @@ static __always_inline void __assign_once_size(volatile void *p, void *res, int  /*   * Prevent the compiler from merging or refetching reads or writes. The   * compiler is also forbidden from reordering successive instances of - * READ_ONCE, ASSIGN_ONCE and ACCESS_ONCE (see below), but only when the + * READ_ONCE, WRITE_ONCE and ACCESS_ONCE (see below), but only when the   * compiler is aware of some particular ordering.  One way to make the   * compiler aware of ordering is to put the two invocations of READ_ONCE, - * ASSIGN_ONCE or ACCESS_ONCE() in different C statements. + * WRITE_ONCE or ACCESS_ONCE() in different C statements.   *   * In contrast to ACCESS_ONCE these two macros will also work on aggregate   * data types like structs or unions. If the size of the accessed data   * type exceeds the word size of the machine (e.g., 32 bits or 64 bits) - * READ_ONCE() and ASSIGN_ONCE()  will fall back to memcpy and print a + * READ_ONCE() and WRITE_ONCE()  will fall back to memcpy and print a   * compile-time warning.   *   * Their two major use cases are: (1) Mediating communication between @@ -257,8 +257,8 @@ static __always_inline void __assign_once_size(volatile void *p, void *res, int  #define READ_ONCE(x) \  	({ typeof(x) __val; __read_once_size(&x, &__val, sizeof(__val)); __val; }) -#define ASSIGN_ONCE(val, x) \ -	({ typeof(x) __val; __val = val; __assign_once_size(&x, &__val, sizeof(__val)); __val; }) +#define WRITE_ONCE(x, val) \ +	({ typeof(x) __val; __val = val; __write_once_size(&x, &__val, sizeof(__val)); __val; })  #endif /* __KERNEL__ */ diff --git a/include/linux/fs.h b/include/linux/fs.h index f90c0282c114..42efe13077b6 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -135,7 +135,7 @@ typedef void (dio_iodone_t)(struct kiocb *iocb, loff_t offset,  #define FMODE_CAN_WRITE         ((__force fmode_t)0x40000)  /* File was opened by fanotify and shouldn't generate fanotify events */ -#define FMODE_NONOTIFY		((__force fmode_t)0x1000000) +#define FMODE_NONOTIFY		((__force fmode_t)0x4000000)  /*   * Flag for rw_copy_check_uvector and compat_rw_copy_check_uvector diff --git a/include/linux/kdb.h b/include/linux/kdb.h index 290db1269c4c..75ae2e2631fc 100644 --- a/include/linux/kdb.h +++ b/include/linux/kdb.h @@ -13,11 +13,54 @@   * Copyright (C) 2009 Jason Wessel <jason.wessel@windriver.com>   */ +/* Shifted versions of the command enable bits are be used if the command + * has no arguments (see kdb_check_flags). This allows commands, such as + * go, to have different permissions depending upon whether it is called + * with an argument. + */ +#define KDB_ENABLE_NO_ARGS_SHIFT 10 +  typedef enum { -	KDB_REPEAT_NONE = 0,	/* Do not repeat this command */ -	KDB_REPEAT_NO_ARGS,	/* Repeat the command without arguments */ -	KDB_REPEAT_WITH_ARGS,	/* Repeat the command including its arguments */ -} kdb_repeat_t; +	KDB_ENABLE_ALL = (1 << 0), /* Enable everything */ +	KDB_ENABLE_MEM_READ = (1 << 1), +	KDB_ENABLE_MEM_WRITE = (1 << 2), +	KDB_ENABLE_REG_READ = (1 << 3), +	KDB_ENABLE_REG_WRITE = (1 << 4), +	KDB_ENABLE_INSPECT = (1 << 5), +	KDB_ENABLE_FLOW_CTRL = (1 << 6), +	KDB_ENABLE_SIGNAL = (1 << 7), +	KDB_ENABLE_REBOOT = (1 << 8), +	/* User exposed values stop here, all remaining flags are +	 * exclusively used to describe a commands behaviour. +	 */ + +	KDB_ENABLE_ALWAYS_SAFE = (1 << 9), +	KDB_ENABLE_MASK = (1 << KDB_ENABLE_NO_ARGS_SHIFT) - 1, + +	KDB_ENABLE_ALL_NO_ARGS = KDB_ENABLE_ALL << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_MEM_READ_NO_ARGS = KDB_ENABLE_MEM_READ +				      << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_MEM_WRITE_NO_ARGS = KDB_ENABLE_MEM_WRITE +				       << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_REG_READ_NO_ARGS = KDB_ENABLE_REG_READ +				      << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_REG_WRITE_NO_ARGS = KDB_ENABLE_REG_WRITE +				       << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_INSPECT_NO_ARGS = KDB_ENABLE_INSPECT +				     << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_FLOW_CTRL_NO_ARGS = KDB_ENABLE_FLOW_CTRL +				       << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_SIGNAL_NO_ARGS = KDB_ENABLE_SIGNAL +				    << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_REBOOT_NO_ARGS = KDB_ENABLE_REBOOT +				    << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_ALWAYS_SAFE_NO_ARGS = KDB_ENABLE_ALWAYS_SAFE +					 << KDB_ENABLE_NO_ARGS_SHIFT, +	KDB_ENABLE_MASK_NO_ARGS = KDB_ENABLE_MASK << KDB_ENABLE_NO_ARGS_SHIFT, + +	KDB_REPEAT_NO_ARGS = 0x40000000, /* Repeat the command w/o arguments */ +	KDB_REPEAT_WITH_ARGS = 0x80000000, /* Repeat the command with args */ +} kdb_cmdflags_t;  typedef int (*kdb_func_t)(int, const char **); @@ -62,6 +105,7 @@ extern atomic_t kdb_event;  #define KDB_BADLENGTH	(-19)  #define KDB_NOBP	(-20)  #define KDB_BADADDR	(-21) +#define KDB_NOPERM	(-22)  /*   * kdb_diemsg @@ -146,17 +190,17 @@ static inline const char *kdb_walk_kallsyms(loff_t *pos)  /* Dynamic kdb shell command registration */  extern int kdb_register(char *, kdb_func_t, char *, char *, short); -extern int kdb_register_repeat(char *, kdb_func_t, char *, char *, -			       short, kdb_repeat_t); +extern int kdb_register_flags(char *, kdb_func_t, char *, char *, +			      short, kdb_cmdflags_t);  extern int kdb_unregister(char *);  #else /* ! CONFIG_KGDB_KDB */  static inline __printf(1, 2) int kdb_printf(const char *fmt, ...) { return 0; }  static inline void kdb_init(int level) {}  static inline int kdb_register(char *cmd, kdb_func_t func, char *usage,  			       char *help, short minlen) { return 0; } -static inline int kdb_register_repeat(char *cmd, kdb_func_t func, char *usage, -				      char *help, short minlen, -				      kdb_repeat_t repeat) { return 0; } +static inline int kdb_register_flags(char *cmd, kdb_func_t func, char *usage, +				     char *help, short minlen, +				     kdb_cmdflags_t flags) { return 0; }  static inline int kdb_unregister(char *cmd) { return 0; }  #endif	/* CONFIG_KGDB_KDB */  enum { diff --git a/include/linux/mm.h b/include/linux/mm.h index f80d0194c9bc..80fc92a49649 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1952,7 +1952,7 @@ extern int expand_downwards(struct vm_area_struct *vma,  #if VM_GROWSUP  extern int expand_upwards(struct vm_area_struct *vma, unsigned long address);  #else -  #define expand_upwards(vma, address) do { } while (0) +  #define expand_upwards(vma, address) (0)  #endif  /* Look up the first VMA which satisfies  addr < vm_end,  NULL if none. */ diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h index 375af80bde7d..f767a0de611f 100644 --- a/include/linux/mmc/sdhci.h +++ b/include/linux/mmc/sdhci.h @@ -137,6 +137,7 @@ struct sdhci_host {  #define SDHCI_SDR104_NEEDS_TUNING (1<<10)	/* SDR104/HS200 needs tuning */  #define SDHCI_USING_RETUNING_TIMER (1<<11)	/* Host is using a retuning timer for the card */  #define SDHCI_USE_64_BIT_DMA	(1<<12)	/* Use 64-bit DMA */ +#define SDHCI_HS400_TUNING	(1<<13)	/* Tuning for HS400 */  	unsigned int version;	/* SDHCI spec. version */ diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 679e6e90aa4c..52fd8e8694cf 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -852,11 +852,11 @@ typedef u16 (*select_queue_fallback_t)(struct net_device *dev,   *	3. Update dev->stats asynchronously and atomically, and define   *	   neither operation.   * - * int (*ndo_vlan_rx_add_vid)(struct net_device *dev, __be16 proto, u16t vid); + * int (*ndo_vlan_rx_add_vid)(struct net_device *dev, __be16 proto, u16 vid);   *	If device support VLAN filtering this function is called when a   *	VLAN id is registered.   * - * int (*ndo_vlan_rx_kill_vid)(struct net_device *dev, unsigned short vid); + * int (*ndo_vlan_rx_kill_vid)(struct net_device *dev, __be16 proto, u16 vid);   *	If device support VLAN filtering this function is called when a   *	VLAN id is unregistered.   * @@ -2085,7 +2085,7 @@ extern rwlock_t				dev_base_lock;		/* Device list lock */  	list_for_each_entry_continue_rcu(d, &(net)->dev_base_head, dev_list)  #define for_each_netdev_in_bond_rcu(bond, slave)	\  		for_each_netdev_rcu(&init_net, slave)	\ -			if (netdev_master_upper_dev_get_rcu(slave) == bond) +			if (netdev_master_upper_dev_get_rcu(slave) == (bond))  #define net_device_entry(lh)	list_entry(lh, struct net_device, dev_list)  static inline struct net_device *next_net_device(struct net_device *dev) diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h index 1e37fbb78f7a..ddea982355f3 100644 --- a/include/linux/nfs_fs_sb.h +++ b/include/linux/nfs_fs_sb.h @@ -74,6 +74,9 @@ struct nfs_client {  	/* idmapper */  	struct idmap *		cl_idmap; +	/* Client owner identifier */ +	const char *		cl_owner_id; +  	/* Our own IP address, as a null-terminated string.  	 * This is used to generate the mv0 callback address.  	 */ diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 486e84ccb1f9..4f7a61ca4b39 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -79,11 +79,6 @@ struct perf_branch_stack {  	struct perf_branch_entry	entries[0];  }; -struct perf_regs { -	__u64		abi; -	struct pt_regs	*regs; -}; -  struct task_struct;  /* @@ -610,7 +605,14 @@ struct perf_sample_data {  		u32	reserved;  	}				cpu_entry;  	struct perf_callchain_entry	*callchain; + +	/* +	 * regs_user may point to task_pt_regs or to regs_user_copy, depending +	 * on arch details. +	 */  	struct perf_regs		regs_user; +	struct pt_regs			regs_user_copy; +  	struct perf_regs		regs_intr;  	u64				stack_user_size;  } ____cacheline_aligned; diff --git a/include/linux/perf_regs.h b/include/linux/perf_regs.h index 3c73d5fe18be..a5f98d53d732 100644 --- a/include/linux/perf_regs.h +++ b/include/linux/perf_regs.h @@ -1,11 +1,19 @@  #ifndef _LINUX_PERF_REGS_H  #define _LINUX_PERF_REGS_H +struct perf_regs { +	__u64		abi; +	struct pt_regs	*regs; +}; +  #ifdef CONFIG_HAVE_PERF_REGS  #include <asm/perf_regs.h>  u64 perf_reg_value(struct pt_regs *regs, int idx);  int perf_reg_validate(u64 mask);  u64 perf_reg_abi(struct task_struct *task); +void perf_get_regs_user(struct perf_regs *regs_user, +			struct pt_regs *regs, +			struct pt_regs *regs_user_copy);  #else  static inline u64 perf_reg_value(struct pt_regs *regs, int idx)  { @@ -21,5 +29,13 @@ static inline u64 perf_reg_abi(struct task_struct *task)  {  	return PERF_SAMPLE_REGS_ABI_NONE;  } + +static inline void perf_get_regs_user(struct perf_regs *regs_user, +				      struct pt_regs *regs, +				      struct pt_regs *regs_user_copy) +{ +	regs_user->regs = task_pt_regs(current); +	regs_user->abi = perf_reg_abi(current); +}  #endif /* CONFIG_HAVE_PERF_REGS */  #endif /* _LINUX_PERF_REGS_H */ diff --git a/include/linux/phy/omap_control_phy.h b/include/linux/phy/omap_control_phy.h index e9e6cfbfbb58..eb7d4a135a9e 100644 --- a/include/linux/phy/omap_control_phy.h +++ b/include/linux/phy/omap_control_phy.h @@ -66,7 +66,7 @@ enum omap_control_usb_mode {  #define	OMAP_CTRL_PIPE3_PHY_TX_RX_POWEROFF	0x0  #define	OMAP_CTRL_PCIE_PCS_MASK			0xff -#define	OMAP_CTRL_PCIE_PCS_DELAY_COUNT_SHIFT	0x8 +#define	OMAP_CTRL_PCIE_PCS_DELAY_COUNT_SHIFT	16  #define OMAP_CTRL_USB2_PHY_PD		BIT(28) @@ -79,7 +79,7 @@ enum omap_control_usb_mode {  void omap_control_phy_power(struct device *dev, int on);  void omap_control_usb_set_mode(struct device *dev,  			       enum omap_control_usb_mode mode); -void omap_control_pcie_pcs(struct device *dev, u8 id, u8 delay); +void omap_control_pcie_pcs(struct device *dev, u8 delay);  #else  static inline void omap_control_phy_power(struct device *dev, int on) @@ -91,7 +91,7 @@ static inline void omap_control_usb_set_mode(struct device *dev,  {  } -static inline void omap_control_pcie_pcs(struct device *dev, u8 id, u8 delay) +static inline void omap_control_pcie_pcs(struct device *dev, u8 delay)  {  }  #endif diff --git a/include/linux/rmap.h b/include/linux/rmap.h index c0c2bce6b0b7..d9d7e7e56352 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h @@ -37,6 +37,16 @@ struct anon_vma {  	atomic_t refcount;  	/* +	 * Count of child anon_vmas and VMAs which points to this anon_vma. +	 * +	 * This counter is used for making decision about reusing anon_vma +	 * instead of forking new one. See comments in function anon_vma_clone. +	 */ +	unsigned degree; + +	struct anon_vma *parent;	/* Parent of this anon_vma */ + +	/*  	 * NOTE: the LSB of the rb_root.rb_node is set by  	 * mm_take_all_locks() _after_ taking the above lock. So the  	 * rb_root must only be read/written after taking the above lock diff --git a/include/linux/writeback.h b/include/linux/writeback.h index a219be961c0a..00048339c23e 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -177,7 +177,6 @@ int write_cache_pages(struct address_space *mapping,  		      struct writeback_control *wbc, writepage_t writepage,  		      void *data);  int do_writepages(struct address_space *mapping, struct writeback_control *wbc); -void set_page_dirty_balance(struct page *page);  void writeback_set_ratelimit(void);  void tag_pages_for_writeback(struct address_space *mapping,  			     pgoff_t start, pgoff_t end); diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 58d719ddaa60..29c7be8808d5 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -1270,8 +1270,7 @@ struct ieee80211_vif *wdev_to_ieee80211_vif(struct wireless_dev *wdev);   *   * @IEEE80211_KEY_FLAG_GENERATE_IV: This flag should be set by the   *	driver to indicate that it requires IV generation for this - *	particular key. Setting this flag does not necessarily mean that SKBs - *	will have sufficient tailroom for ICV or MIC. + *	particular key.   * @IEEE80211_KEY_FLAG_GENERATE_MMIC: This flag should be set by   *	the driver for a TKIP key if it requires Michael MIC   *	generation in software. @@ -1283,9 +1282,7 @@ struct ieee80211_vif *wdev_to_ieee80211_vif(struct wireless_dev *wdev);   * @IEEE80211_KEY_FLAG_PUT_IV_SPACE: This flag should be set by the driver   *	if space should be prepared for the IV, but the IV   *	itself should not be generated. Do not set together with - *	@IEEE80211_KEY_FLAG_GENERATE_IV on the same key. Setting this flag does - *	not necessarily mean that SKBs will have sufficient tailroom for ICV or - *	MIC. + *	@IEEE80211_KEY_FLAG_GENERATE_IV on the same key.   * @IEEE80211_KEY_FLAG_RX_MGMT: This key will be used to decrypt received   *	management frames. The flag can help drivers that have a hardware   *	crypto implementation that doesn't deal with management frames diff --git a/include/target/target_core_backend.h b/include/target/target_core_backend.h index 430cfaf92285..db81c65b8f48 100644 --- a/include/target/target_core_backend.h +++ b/include/target/target_core_backend.h @@ -135,7 +135,6 @@ int	se_dev_set_is_nonrot(struct se_device *, int);  int	se_dev_set_emulate_rest_reord(struct se_device *dev, int);  int	se_dev_set_queue_depth(struct se_device *, u32);  int	se_dev_set_max_sectors(struct se_device *, u32); -int	se_dev_set_fabric_max_sectors(struct se_device *, u32);  int	se_dev_set_optimal_sectors(struct se_device *, u32);  int	se_dev_set_block_size(struct se_device *, u32); diff --git a/include/target/target_core_backend_configfs.h b/include/target/target_core_backend_configfs.h index 3247d7530107..186f7a923570 100644 --- a/include/target/target_core_backend_configfs.h +++ b/include/target/target_core_backend_configfs.h @@ -98,8 +98,6 @@ static struct target_backend_dev_attrib_attribute _backend##_dev_attrib_##_name  	TB_DEV_ATTR(_backend, block_size, S_IRUGO | S_IWUSR);		\  	DEF_TB_DEV_ATTRIB_RO(_backend, hw_max_sectors);			\  	TB_DEV_ATTR_RO(_backend, hw_max_sectors);			\ -	DEF_TB_DEV_ATTRIB(_backend, fabric_max_sectors);		\ -	TB_DEV_ATTR(_backend, fabric_max_sectors, S_IRUGO | S_IWUSR);	\  	DEF_TB_DEV_ATTRIB(_backend, optimal_sectors);			\  	TB_DEV_ATTR(_backend, optimal_sectors, S_IRUGO | S_IWUSR);	\  	DEF_TB_DEV_ATTRIB_RO(_backend, hw_queue_depth);			\ diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index 397fb635766a..4a8795a87b9e 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h @@ -77,8 +77,6 @@  #define DA_UNMAP_GRANULARITY_ALIGNMENT_DEFAULT	0  /* Default max_write_same_len, disabled by default */  #define DA_MAX_WRITE_SAME_LEN			0 -/* Default max transfer length */ -#define DA_FABRIC_MAX_SECTORS			8192  /* Use a model alias based on the configfs backend device name */  #define DA_EMULATE_MODEL_ALIAS			0  /* Emulation for Direct Page Out */ @@ -694,7 +692,6 @@ struct se_dev_attrib {  	u32		hw_block_size;  	u32		block_size;  	u32		hw_max_sectors; -	u32		fabric_max_sectors;  	u32		optimal_sectors;  	u32		hw_queue_depth;  	u32		queue_depth; diff --git a/include/uapi/asm-generic/fcntl.h b/include/uapi/asm-generic/fcntl.h index 7543b3e51331..e063effe0cc1 100644 --- a/include/uapi/asm-generic/fcntl.h +++ b/include/uapi/asm-generic/fcntl.h @@ -5,7 +5,7 @@  /*   * FMODE_EXEC is 0x20 - * FMODE_NONOTIFY is 0x1000000 + * FMODE_NONOTIFY is 0x4000000   * These cannot be used by userspace O_* until internal and external open   * flags are split.   * -Eric Paris diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h index 7acef41fc209..af94f31e33ac 100644 --- a/include/uapi/linux/kfd_ioctl.h +++ b/include/uapi/linux/kfd_ioctl.h @@ -128,27 +128,34 @@ struct kfd_ioctl_get_process_apertures_args {  	uint32_t pad;  }; -#define KFD_IOC_MAGIC 'K' +#define AMDKFD_IOCTL_BASE 'K' +#define AMDKFD_IO(nr)			_IO(AMDKFD_IOCTL_BASE, nr) +#define AMDKFD_IOR(nr, type)		_IOR(AMDKFD_IOCTL_BASE, nr, type) +#define AMDKFD_IOW(nr, type)		_IOW(AMDKFD_IOCTL_BASE, nr, type) +#define AMDKFD_IOWR(nr, type)		_IOWR(AMDKFD_IOCTL_BASE, nr, type) -#define KFD_IOC_GET_VERSION \ -		_IOR(KFD_IOC_MAGIC, 1, struct kfd_ioctl_get_version_args) +#define AMDKFD_IOC_GET_VERSION			\ +		AMDKFD_IOR(0x01, struct kfd_ioctl_get_version_args) -#define KFD_IOC_CREATE_QUEUE \ -		_IOWR(KFD_IOC_MAGIC, 2, struct kfd_ioctl_create_queue_args) +#define AMDKFD_IOC_CREATE_QUEUE			\ +		AMDKFD_IOWR(0x02, struct kfd_ioctl_create_queue_args) -#define KFD_IOC_DESTROY_QUEUE \ -	_IOWR(KFD_IOC_MAGIC, 3, struct kfd_ioctl_destroy_queue_args) +#define AMDKFD_IOC_DESTROY_QUEUE		\ +		AMDKFD_IOWR(0x03, struct kfd_ioctl_destroy_queue_args) -#define KFD_IOC_SET_MEMORY_POLICY \ -	_IOW(KFD_IOC_MAGIC, 4, struct kfd_ioctl_set_memory_policy_args) +#define AMDKFD_IOC_SET_MEMORY_POLICY		\ +		AMDKFD_IOW(0x04, struct kfd_ioctl_set_memory_policy_args) -#define KFD_IOC_GET_CLOCK_COUNTERS \ -	_IOWR(KFD_IOC_MAGIC, 5, struct kfd_ioctl_get_clock_counters_args) +#define AMDKFD_IOC_GET_CLOCK_COUNTERS		\ +		AMDKFD_IOWR(0x05, struct kfd_ioctl_get_clock_counters_args) -#define KFD_IOC_GET_PROCESS_APERTURES \ -	_IOR(KFD_IOC_MAGIC, 6, struct kfd_ioctl_get_process_apertures_args) +#define AMDKFD_IOC_GET_PROCESS_APERTURES	\ +		AMDKFD_IOR(0x06, struct kfd_ioctl_get_process_apertures_args) -#define KFD_IOC_UPDATE_QUEUE \ -	_IOW(KFD_IOC_MAGIC, 7, struct kfd_ioctl_update_queue_args) +#define AMDKFD_IOC_UPDATE_QUEUE			\ +		AMDKFD_IOW(0x07, struct kfd_ioctl_update_queue_args) + +#define AMDKFD_COMMAND_START		0x01 +#define AMDKFD_COMMAND_END		0x08  #endif diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index 3a6dcaa359b7..f714e8633352 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h @@ -174,6 +174,10 @@ enum ovs_packet_attr {  	OVS_PACKET_ATTR_USERDATA,    /* OVS_ACTION_ATTR_USERSPACE arg. */  	OVS_PACKET_ATTR_EGRESS_TUN_KEY,  /* Nested OVS_TUNNEL_KEY_ATTR_*  					    attributes. */ +	OVS_PACKET_ATTR_UNUSED1, +	OVS_PACKET_ATTR_UNUSED2, +	OVS_PACKET_ATTR_PROBE,      /* Packet operation is a feature probe, +				       error logging should be suppressed. */  	__OVS_PACKET_ATTR_MAX  }; diff --git a/include/xen/interface/nmi.h b/include/xen/interface/nmi.h new file mode 100644 index 000000000000..b47d9d06fade --- /dev/null +++ b/include/xen/interface/nmi.h @@ -0,0 +1,51 @@ +/****************************************************************************** + * nmi.h + * + * NMI callback registration and reason codes. + * + * Copyright (c) 2005, Keir Fraser <keir@xensource.com> + */ + +#ifndef __XEN_PUBLIC_NMI_H__ +#define __XEN_PUBLIC_NMI_H__ + +#include <xen/interface/xen.h> + +/* + * NMI reason codes: + * Currently these are x86-specific, stored in arch_shared_info.nmi_reason. + */ + /* I/O-check error reported via ISA port 0x61, bit 6. */ +#define _XEN_NMIREASON_io_error     0 +#define XEN_NMIREASON_io_error      (1UL << _XEN_NMIREASON_io_error) + /* PCI SERR reported via ISA port 0x61, bit 7. */ +#define _XEN_NMIREASON_pci_serr     1 +#define XEN_NMIREASON_pci_serr      (1UL << _XEN_NMIREASON_pci_serr) + /* Unknown hardware-generated NMI. */ +#define _XEN_NMIREASON_unknown      2 +#define XEN_NMIREASON_unknown       (1UL << _XEN_NMIREASON_unknown) + +/* + * long nmi_op(unsigned int cmd, void *arg) + * NB. All ops return zero on success, else a negative error code. + */ + +/* + * Register NMI callback for this (calling) VCPU. Currently this only makes + * sense for domain 0, vcpu 0. All other callers will be returned EINVAL. + * arg == pointer to xennmi_callback structure. + */ +#define XENNMI_register_callback   0 +struct xennmi_callback { +    unsigned long handler_address; +    unsigned long pad; +}; +DEFINE_GUEST_HANDLE_STRUCT(xennmi_callback); + +/* + * Deregister NMI callback for this (calling) VCPU. + * arg == NULL. + */ +#define XENNMI_unregister_callback 1 + +#endif /* __XEN_PUBLIC_NMI_H__ */ | 
