diff options
| author | David S. Miller <davem@davemloft.net> | 2014-09-23 12:09:27 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-09-23 12:09:27 -0400 |
| commit | 1f6d80358dc9bbbeb56cb43384fa11fd645d9289 (patch) | |
| tree | 152bfa5165292a8e4f06d536b6d222a68480e573 /include/linux | |
| parent | a2aeb02a8e6a9fef397c344245a54eeae67341f6 (diff) | |
| parent | 98f75b8291a89ba6bf73e322ee467ce0bfeb91c1 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
arch/mips/net/bpf_jit.c
drivers/net/can/flexcan.c
Both the flexcan and MIPS bpf_jit conflicts were cases of simple
overlapping changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/dcache.h | 1 | ||||
| -rw-r--r-- | include/linux/hash.h | 4 | ||||
| -rw-r--r-- | include/linux/iio/trigger.h | 4 | ||||
| -rw-r--r-- | include/linux/jiffies.h | 12 | ||||
| -rw-r--r-- | include/linux/mlx4/device.h | 1 | ||||
| -rw-r--r-- | include/linux/mlx4/qp.h | 12 | ||||
| -rw-r--r-- | include/linux/pci.h | 6 | ||||
| -rw-r--r-- | include/linux/vga_switcheroo.h | 2 | ||||
| -rw-r--r-- | include/linux/vgaarb.h | 2 | ||||
| -rw-r--r-- | include/linux/workqueue.h | 2 |
10 files changed, 28 insertions, 18 deletions
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index e4ae2ad48d07..75a227cc7ce2 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
| @@ -55,6 +55,7 @@ struct qstr { | |||
| 55 | #define QSTR_INIT(n,l) { { { .len = l } }, .name = n } | 55 | #define QSTR_INIT(n,l) { { { .len = l } }, .name = n } |
| 56 | #define hashlen_hash(hashlen) ((u32) (hashlen)) | 56 | #define hashlen_hash(hashlen) ((u32) (hashlen)) |
| 57 | #define hashlen_len(hashlen) ((u32)((hashlen) >> 32)) | 57 | #define hashlen_len(hashlen) ((u32)((hashlen) >> 32)) |
| 58 | #define hashlen_create(hash,len) (((u64)(len)<<32)|(u32)(hash)) | ||
| 58 | 59 | ||
| 59 | struct dentry_stat_t { | 60 | struct dentry_stat_t { |
| 60 | long nr_dentry; | 61 | long nr_dentry; |
diff --git a/include/linux/hash.h b/include/linux/hash.h index bd1754c7ecef..d0494c399392 100644 --- a/include/linux/hash.h +++ b/include/linux/hash.h | |||
| @@ -37,6 +37,9 @@ static __always_inline u64 hash_64(u64 val, unsigned int bits) | |||
| 37 | { | 37 | { |
| 38 | u64 hash = val; | 38 | u64 hash = val; |
| 39 | 39 | ||
| 40 | #if defined(CONFIG_ARCH_HAS_FAST_MULTIPLIER) && BITS_PER_LONG == 64 | ||
| 41 | hash = hash * GOLDEN_RATIO_PRIME_64; | ||
| 42 | #else | ||
| 40 | /* Sigh, gcc can't optimise this alone like it does for 32 bits. */ | 43 | /* Sigh, gcc can't optimise this alone like it does for 32 bits. */ |
| 41 | u64 n = hash; | 44 | u64 n = hash; |
| 42 | n <<= 18; | 45 | n <<= 18; |
| @@ -51,6 +54,7 @@ static __always_inline u64 hash_64(u64 val, unsigned int bits) | |||
| 51 | hash += n; | 54 | hash += n; |
| 52 | n <<= 2; | 55 | n <<= 2; |
| 53 | hash += n; | 56 | hash += n; |
| 57 | #endif | ||
| 54 | 58 | ||
| 55 | /* High bits are more random, so use them. */ | 59 | /* High bits are more random, so use them. */ |
| 56 | return hash >> (64 - bits); | 60 | return hash >> (64 - bits); |
diff --git a/include/linux/iio/trigger.h b/include/linux/iio/trigger.h index 4b79ffe7b188..fa76c79a52a1 100644 --- a/include/linux/iio/trigger.h +++ b/include/linux/iio/trigger.h | |||
| @@ -84,10 +84,12 @@ static inline void iio_trigger_put(struct iio_trigger *trig) | |||
| 84 | put_device(&trig->dev); | 84 | put_device(&trig->dev); |
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | static inline void iio_trigger_get(struct iio_trigger *trig) | 87 | static inline struct iio_trigger *iio_trigger_get(struct iio_trigger *trig) |
| 88 | { | 88 | { |
| 89 | get_device(&trig->dev); | 89 | get_device(&trig->dev); |
| 90 | __module_get(trig->ops->owner); | 90 | __module_get(trig->ops->owner); |
| 91 | |||
| 92 | return trig; | ||
| 91 | } | 93 | } |
| 92 | 94 | ||
| 93 | /** | 95 | /** |
diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h index 1f44466c1e9d..c367cbdf73ab 100644 --- a/include/linux/jiffies.h +++ b/include/linux/jiffies.h | |||
| @@ -258,23 +258,11 @@ extern unsigned long preset_lpj; | |||
| 258 | #define SEC_JIFFIE_SC (32 - SHIFT_HZ) | 258 | #define SEC_JIFFIE_SC (32 - SHIFT_HZ) |
| 259 | #endif | 259 | #endif |
| 260 | #define NSEC_JIFFIE_SC (SEC_JIFFIE_SC + 29) | 260 | #define NSEC_JIFFIE_SC (SEC_JIFFIE_SC + 29) |
| 261 | #define USEC_JIFFIE_SC (SEC_JIFFIE_SC + 19) | ||
| 262 | #define SEC_CONVERSION ((unsigned long)((((u64)NSEC_PER_SEC << SEC_JIFFIE_SC) +\ | 261 | #define SEC_CONVERSION ((unsigned long)((((u64)NSEC_PER_SEC << SEC_JIFFIE_SC) +\ |
| 263 | TICK_NSEC -1) / (u64)TICK_NSEC)) | 262 | TICK_NSEC -1) / (u64)TICK_NSEC)) |
| 264 | 263 | ||
| 265 | #define NSEC_CONVERSION ((unsigned long)((((u64)1 << NSEC_JIFFIE_SC) +\ | 264 | #define NSEC_CONVERSION ((unsigned long)((((u64)1 << NSEC_JIFFIE_SC) +\ |
| 266 | TICK_NSEC -1) / (u64)TICK_NSEC)) | 265 | TICK_NSEC -1) / (u64)TICK_NSEC)) |
| 267 | #define USEC_CONVERSION \ | ||
| 268 | ((unsigned long)((((u64)NSEC_PER_USEC << USEC_JIFFIE_SC) +\ | ||
| 269 | TICK_NSEC -1) / (u64)TICK_NSEC)) | ||
| 270 | /* | ||
| 271 | * USEC_ROUND is used in the timeval to jiffie conversion. See there | ||
| 272 | * for more details. It is the scaled resolution rounding value. Note | ||
| 273 | * that it is a 64-bit value. Since, when it is applied, we are already | ||
| 274 | * in jiffies (albit scaled), it is nothing but the bits we will shift | ||
| 275 | * off. | ||
| 276 | */ | ||
| 277 | #define USEC_ROUND (u64)(((u64)1 << USEC_JIFFIE_SC) - 1) | ||
| 278 | /* | 266 | /* |
| 279 | * The maximum jiffie value is (MAX_INT >> 1). Here we translate that | 267 | * The maximum jiffie value is (MAX_INT >> 1). Here we translate that |
| 280 | * into seconds. The 64-bit case will overflow if we are not careful, | 268 | * into seconds. The 64-bit case will overflow if we are not careful, |
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index 7bcefe749a39..03b5608a4329 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
| @@ -215,6 +215,7 @@ enum { | |||
| 215 | MLX4_BMME_FLAG_TYPE_2_WIN = 1 << 9, | 215 | MLX4_BMME_FLAG_TYPE_2_WIN = 1 << 9, |
| 216 | MLX4_BMME_FLAG_RESERVED_LKEY = 1 << 10, | 216 | MLX4_BMME_FLAG_RESERVED_LKEY = 1 << 10, |
| 217 | MLX4_BMME_FLAG_FAST_REG_WR = 1 << 11, | 217 | MLX4_BMME_FLAG_FAST_REG_WR = 1 << 11, |
| 218 | MLX4_BMME_FLAG_VSD_INIT2RTR = 1 << 28, | ||
| 218 | }; | 219 | }; |
| 219 | 220 | ||
| 220 | enum mlx4_event { | 221 | enum mlx4_event { |
diff --git a/include/linux/mlx4/qp.h b/include/linux/mlx4/qp.h index 7040dc98ff8b..5f4e36cf0091 100644 --- a/include/linux/mlx4/qp.h +++ b/include/linux/mlx4/qp.h | |||
| @@ -56,7 +56,8 @@ enum mlx4_qp_optpar { | |||
| 56 | MLX4_QP_OPTPAR_RNR_RETRY = 1 << 13, | 56 | MLX4_QP_OPTPAR_RNR_RETRY = 1 << 13, |
| 57 | MLX4_QP_OPTPAR_ACK_TIMEOUT = 1 << 14, | 57 | MLX4_QP_OPTPAR_ACK_TIMEOUT = 1 << 14, |
| 58 | MLX4_QP_OPTPAR_SCHED_QUEUE = 1 << 16, | 58 | MLX4_QP_OPTPAR_SCHED_QUEUE = 1 << 16, |
| 59 | MLX4_QP_OPTPAR_COUNTER_INDEX = 1 << 20 | 59 | MLX4_QP_OPTPAR_COUNTER_INDEX = 1 << 20, |
| 60 | MLX4_QP_OPTPAR_VLAN_STRIPPING = 1 << 21, | ||
| 60 | }; | 61 | }; |
| 61 | 62 | ||
| 62 | enum mlx4_qp_state { | 63 | enum mlx4_qp_state { |
| @@ -423,13 +424,20 @@ struct mlx4_wqe_inline_seg { | |||
| 423 | 424 | ||
| 424 | enum mlx4_update_qp_attr { | 425 | enum mlx4_update_qp_attr { |
| 425 | MLX4_UPDATE_QP_SMAC = 1 << 0, | 426 | MLX4_UPDATE_QP_SMAC = 1 << 0, |
| 427 | MLX4_UPDATE_QP_VSD = 1 << 2, | ||
| 428 | MLX4_UPDATE_QP_SUPPORTED_ATTRS = (1 << 2) - 1 | ||
| 429 | }; | ||
| 430 | |||
| 431 | enum mlx4_update_qp_params_flags { | ||
| 432 | MLX4_UPDATE_QP_PARAMS_FLAGS_VSD_ENABLE = 1 << 0, | ||
| 426 | }; | 433 | }; |
| 427 | 434 | ||
| 428 | struct mlx4_update_qp_params { | 435 | struct mlx4_update_qp_params { |
| 429 | u8 smac_index; | 436 | u8 smac_index; |
| 437 | u32 flags; | ||
| 430 | }; | 438 | }; |
| 431 | 439 | ||
| 432 | int mlx4_update_qp(struct mlx4_dev *dev, struct mlx4_qp *qp, | 440 | int mlx4_update_qp(struct mlx4_dev *dev, u32 qpn, |
| 433 | enum mlx4_update_qp_attr attr, | 441 | enum mlx4_update_qp_attr attr, |
| 434 | struct mlx4_update_qp_params *params); | 442 | struct mlx4_update_qp_params *params); |
| 435 | int mlx4_qp_modify(struct mlx4_dev *dev, struct mlx4_mtt *mtt, | 443 | int mlx4_qp_modify(struct mlx4_dev *dev, struct mlx4_mtt *mtt, |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 61978a460841..96453f9bc8ba 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -303,6 +303,7 @@ struct pci_dev { | |||
| 303 | D3cold, not set for devices | 303 | D3cold, not set for devices |
| 304 | powered on/off by the | 304 | powered on/off by the |
| 305 | corresponding bridge */ | 305 | corresponding bridge */ |
| 306 | unsigned int ignore_hotplug:1; /* Ignore hotplug events */ | ||
| 306 | unsigned int d3_delay; /* D3->D0 transition time in ms */ | 307 | unsigned int d3_delay; /* D3->D0 transition time in ms */ |
| 307 | unsigned int d3cold_delay; /* D3cold->D0 transition time in ms */ | 308 | unsigned int d3cold_delay; /* D3cold->D0 transition time in ms */ |
| 308 | 309 | ||
| @@ -1021,6 +1022,11 @@ bool pci_dev_run_wake(struct pci_dev *dev); | |||
| 1021 | bool pci_check_pme_status(struct pci_dev *dev); | 1022 | bool pci_check_pme_status(struct pci_dev *dev); |
| 1022 | void pci_pme_wakeup_bus(struct pci_bus *bus); | 1023 | void pci_pme_wakeup_bus(struct pci_bus *bus); |
| 1023 | 1024 | ||
| 1025 | static inline void pci_ignore_hotplug(struct pci_dev *dev) | ||
| 1026 | { | ||
| 1027 | dev->ignore_hotplug = 1; | ||
| 1028 | } | ||
| 1029 | |||
| 1024 | static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state, | 1030 | static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state, |
| 1025 | bool enable) | 1031 | bool enable) |
| 1026 | { | 1032 | { |
diff --git a/include/linux/vga_switcheroo.h b/include/linux/vga_switcheroo.h index 502073a53dd3..b483abd34493 100644 --- a/include/linux/vga_switcheroo.h +++ b/include/linux/vga_switcheroo.h | |||
| @@ -64,6 +64,7 @@ int vga_switcheroo_get_client_state(struct pci_dev *dev); | |||
| 64 | void vga_switcheroo_set_dynamic_switch(struct pci_dev *pdev, enum vga_switcheroo_state dynamic); | 64 | void vga_switcheroo_set_dynamic_switch(struct pci_dev *pdev, enum vga_switcheroo_state dynamic); |
| 65 | 65 | ||
| 66 | int vga_switcheroo_init_domain_pm_ops(struct device *dev, struct dev_pm_domain *domain); | 66 | int vga_switcheroo_init_domain_pm_ops(struct device *dev, struct dev_pm_domain *domain); |
| 67 | void vga_switcheroo_fini_domain_pm_ops(struct device *dev); | ||
| 67 | int vga_switcheroo_init_domain_pm_optimus_hdmi_audio(struct device *dev, struct dev_pm_domain *domain); | 68 | int vga_switcheroo_init_domain_pm_optimus_hdmi_audio(struct device *dev, struct dev_pm_domain *domain); |
| 68 | #else | 69 | #else |
| 69 | 70 | ||
| @@ -82,6 +83,7 @@ static inline int vga_switcheroo_get_client_state(struct pci_dev *dev) { return | |||
| 82 | static inline void vga_switcheroo_set_dynamic_switch(struct pci_dev *pdev, enum vga_switcheroo_state dynamic) {} | 83 | static inline void vga_switcheroo_set_dynamic_switch(struct pci_dev *pdev, enum vga_switcheroo_state dynamic) {} |
| 83 | 84 | ||
| 84 | static inline int vga_switcheroo_init_domain_pm_ops(struct device *dev, struct dev_pm_domain *domain) { return -EINVAL; } | 85 | static inline int vga_switcheroo_init_domain_pm_ops(struct device *dev, struct dev_pm_domain *domain) { return -EINVAL; } |
| 86 | static inline void vga_switcheroo_fini_domain_pm_ops(struct device *dev) {} | ||
| 85 | static inline int vga_switcheroo_init_domain_pm_optimus_hdmi_audio(struct device *dev, struct dev_pm_domain *domain) { return -EINVAL; } | 87 | static inline int vga_switcheroo_init_domain_pm_optimus_hdmi_audio(struct device *dev, struct dev_pm_domain *domain) { return -EINVAL; } |
| 86 | 88 | ||
| 87 | #endif | 89 | #endif |
diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h index 2c02f3a8d2ba..c37bd4d06739 100644 --- a/include/linux/vgaarb.h +++ b/include/linux/vgaarb.h | |||
| @@ -182,7 +182,6 @@ extern void vga_put(struct pci_dev *pdev, unsigned int rsrc); | |||
| 182 | * vga_get()... | 182 | * vga_get()... |
| 183 | */ | 183 | */ |
| 184 | 184 | ||
| 185 | #ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE | ||
| 186 | #ifdef CONFIG_VGA_ARB | 185 | #ifdef CONFIG_VGA_ARB |
| 187 | extern struct pci_dev *vga_default_device(void); | 186 | extern struct pci_dev *vga_default_device(void); |
| 188 | extern void vga_set_default_device(struct pci_dev *pdev); | 187 | extern void vga_set_default_device(struct pci_dev *pdev); |
| @@ -190,7 +189,6 @@ extern void vga_set_default_device(struct pci_dev *pdev); | |||
| 190 | static inline struct pci_dev *vga_default_device(void) { return NULL; }; | 189 | static inline struct pci_dev *vga_default_device(void) { return NULL; }; |
| 191 | static inline void vga_set_default_device(struct pci_dev *pdev) { }; | 190 | static inline void vga_set_default_device(struct pci_dev *pdev) { }; |
| 192 | #endif | 191 | #endif |
| 193 | #endif | ||
| 194 | 192 | ||
| 195 | /** | 193 | /** |
| 196 | * vga_conflicts | 194 | * vga_conflicts |
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index a0cc2e95ed1b..b996e6cde6bb 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
| @@ -419,7 +419,7 @@ __alloc_workqueue_key(const char *fmt, unsigned int flags, int max_active, | |||
| 419 | alloc_workqueue("%s", WQ_FREEZABLE | WQ_UNBOUND | WQ_MEM_RECLAIM, \ | 419 | alloc_workqueue("%s", WQ_FREEZABLE | WQ_UNBOUND | WQ_MEM_RECLAIM, \ |
| 420 | 1, (name)) | 420 | 1, (name)) |
| 421 | #define create_singlethread_workqueue(name) \ | 421 | #define create_singlethread_workqueue(name) \ |
| 422 | alloc_workqueue("%s", WQ_UNBOUND | WQ_MEM_RECLAIM, 1, (name)) | 422 | alloc_ordered_workqueue("%s", WQ_MEM_RECLAIM, name) |
| 423 | 423 | ||
| 424 | extern void destroy_workqueue(struct workqueue_struct *wq); | 424 | extern void destroy_workqueue(struct workqueue_struct *wq); |
| 425 | 425 | ||
