diff options
| author | Dave Airlie <airlied@redhat.com> | 2018-05-18 00:08:53 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2018-05-18 00:08:53 -0400 |
| commit | 1fafef9dfe127bdd4600eeaca302f0c1cb4ee5d0 (patch) | |
| tree | f829e8a26fc768666eb5f827bf5817892ea7e46c /include/linux | |
| parent | 315852b422972e6ebb1dfddaadada09e46a2681a (diff) | |
| parent | 76ef6b28ea4f81c3d511866a9b31392caa833126 (diff) | |
Merge drm-fixes-for-v4.17-rc6-urgent into drm-next
Need to backmerge some nouveau fixes to reduce
the nouveau -next conflicts a lot.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/bpf.h | 4 | ||||
| -rw-r--r-- | include/linux/brcmphy.h | 1 | ||||
| -rw-r--r-- | include/linux/ceph/osd_client.h | 12 | ||||
| -rw-r--r-- | include/linux/clk-provider.h | 3 | ||||
| -rw-r--r-- | include/linux/genhd.h | 4 | ||||
| -rw-r--r-- | include/linux/kthread.h | 1 | ||||
| -rw-r--r-- | include/linux/mlx5/driver.h | 12 | ||||
| -rw-r--r-- | include/linux/oom.h | 2 | ||||
| -rw-r--r-- | include/linux/rbtree_augmented.h | 1 | ||||
| -rw-r--r-- | include/linux/rbtree_latch.h | 1 | ||||
| -rw-r--r-- | include/linux/remoteproc.h | 2 | ||||
| -rw-r--r-- | include/linux/sched.h | 50 | ||||
| -rw-r--r-- | include/linux/sched/signal.h | 2 | ||||
| -rw-r--r-- | include/linux/usb/composite.h | 2 | ||||
| -rw-r--r-- | include/linux/wait_bit.h | 17 |
15 files changed, 93 insertions, 21 deletions
diff --git a/include/linux/bpf.h b/include/linux/bpf.h index 486e65e3db26..469b20e1dd7e 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h | |||
| @@ -31,6 +31,7 @@ struct bpf_map_ops { | |||
| 31 | void (*map_release)(struct bpf_map *map, struct file *map_file); | 31 | void (*map_release)(struct bpf_map *map, struct file *map_file); |
| 32 | void (*map_free)(struct bpf_map *map); | 32 | void (*map_free)(struct bpf_map *map); |
| 33 | int (*map_get_next_key)(struct bpf_map *map, void *key, void *next_key); | 33 | int (*map_get_next_key)(struct bpf_map *map, void *key, void *next_key); |
| 34 | void (*map_release_uref)(struct bpf_map *map); | ||
| 34 | 35 | ||
| 35 | /* funcs callable from userspace and from eBPF programs */ | 36 | /* funcs callable from userspace and from eBPF programs */ |
| 36 | void *(*map_lookup_elem)(struct bpf_map *map, void *key); | 37 | void *(*map_lookup_elem)(struct bpf_map *map, void *key); |
| @@ -351,6 +352,7 @@ int bpf_prog_array_copy(struct bpf_prog_array __rcu *old_array, | |||
| 351 | struct bpf_prog **_prog, *__prog; \ | 352 | struct bpf_prog **_prog, *__prog; \ |
| 352 | struct bpf_prog_array *_array; \ | 353 | struct bpf_prog_array *_array; \ |
| 353 | u32 _ret = 1; \ | 354 | u32 _ret = 1; \ |
| 355 | preempt_disable(); \ | ||
| 354 | rcu_read_lock(); \ | 356 | rcu_read_lock(); \ |
| 355 | _array = rcu_dereference(array); \ | 357 | _array = rcu_dereference(array); \ |
| 356 | if (unlikely(check_non_null && !_array))\ | 358 | if (unlikely(check_non_null && !_array))\ |
| @@ -362,6 +364,7 @@ int bpf_prog_array_copy(struct bpf_prog_array __rcu *old_array, | |||
| 362 | } \ | 364 | } \ |
| 363 | _out: \ | 365 | _out: \ |
| 364 | rcu_read_unlock(); \ | 366 | rcu_read_unlock(); \ |
| 367 | preempt_enable_no_resched(); \ | ||
| 365 | _ret; \ | 368 | _ret; \ |
| 366 | }) | 369 | }) |
| 367 | 370 | ||
| @@ -434,7 +437,6 @@ int bpf_stackmap_copy(struct bpf_map *map, void *key, void *value); | |||
| 434 | int bpf_fd_array_map_update_elem(struct bpf_map *map, struct file *map_file, | 437 | int bpf_fd_array_map_update_elem(struct bpf_map *map, struct file *map_file, |
| 435 | void *key, void *value, u64 map_flags); | 438 | void *key, void *value, u64 map_flags); |
| 436 | int bpf_fd_array_map_lookup_elem(struct bpf_map *map, void *key, u32 *value); | 439 | int bpf_fd_array_map_lookup_elem(struct bpf_map *map, void *key, u32 *value); |
| 437 | void bpf_fd_array_map_clear(struct bpf_map *map); | ||
| 438 | int bpf_fd_htab_map_update_elem(struct bpf_map *map, struct file *map_file, | 440 | int bpf_fd_htab_map_update_elem(struct bpf_map *map, struct file *map_file, |
| 439 | void *key, void *value, u64 map_flags); | 441 | void *key, void *value, u64 map_flags); |
| 440 | int bpf_fd_htab_map_lookup_elem(struct bpf_map *map, void *key, u32 *value); | 442 | int bpf_fd_htab_map_lookup_elem(struct bpf_map *map, void *key, u32 *value); |
diff --git a/include/linux/brcmphy.h b/include/linux/brcmphy.h index d3339dd48b1a..b324e01ccf2d 100644 --- a/include/linux/brcmphy.h +++ b/include/linux/brcmphy.h | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #define PHY_ID_BCM54612E 0x03625e60 | 25 | #define PHY_ID_BCM54612E 0x03625e60 |
| 26 | #define PHY_ID_BCM54616S 0x03625d10 | 26 | #define PHY_ID_BCM54616S 0x03625d10 |
| 27 | #define PHY_ID_BCM57780 0x03625d90 | 27 | #define PHY_ID_BCM57780 0x03625d90 |
| 28 | #define PHY_ID_BCM89610 0x03625cd0 | ||
| 28 | 29 | ||
| 29 | #define PHY_ID_BCM7250 0xae025280 | 30 | #define PHY_ID_BCM7250 0xae025280 |
| 30 | #define PHY_ID_BCM7260 0xae025190 | 31 | #define PHY_ID_BCM7260 0xae025190 |
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index 528ccc943cee..96bb32285989 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h | |||
| @@ -77,7 +77,10 @@ struct ceph_osd_data { | |||
| 77 | u32 bio_length; | 77 | u32 bio_length; |
| 78 | }; | 78 | }; |
| 79 | #endif /* CONFIG_BLOCK */ | 79 | #endif /* CONFIG_BLOCK */ |
| 80 | struct ceph_bvec_iter bvec_pos; | 80 | struct { |
| 81 | struct ceph_bvec_iter bvec_pos; | ||
| 82 | u32 num_bvecs; | ||
| 83 | }; | ||
| 81 | }; | 84 | }; |
| 82 | }; | 85 | }; |
| 83 | 86 | ||
| @@ -412,6 +415,10 @@ void osd_req_op_extent_osd_data_bio(struct ceph_osd_request *osd_req, | |||
| 412 | struct ceph_bio_iter *bio_pos, | 415 | struct ceph_bio_iter *bio_pos, |
| 413 | u32 bio_length); | 416 | u32 bio_length); |
| 414 | #endif /* CONFIG_BLOCK */ | 417 | #endif /* CONFIG_BLOCK */ |
| 418 | void osd_req_op_extent_osd_data_bvecs(struct ceph_osd_request *osd_req, | ||
| 419 | unsigned int which, | ||
| 420 | struct bio_vec *bvecs, u32 num_bvecs, | ||
| 421 | u32 bytes); | ||
| 415 | void osd_req_op_extent_osd_data_bvec_pos(struct ceph_osd_request *osd_req, | 422 | void osd_req_op_extent_osd_data_bvec_pos(struct ceph_osd_request *osd_req, |
| 416 | unsigned int which, | 423 | unsigned int which, |
| 417 | struct ceph_bvec_iter *bvec_pos); | 424 | struct ceph_bvec_iter *bvec_pos); |
| @@ -426,7 +433,8 @@ extern void osd_req_op_cls_request_data_pages(struct ceph_osd_request *, | |||
| 426 | bool own_pages); | 433 | bool own_pages); |
| 427 | void osd_req_op_cls_request_data_bvecs(struct ceph_osd_request *osd_req, | 434 | void osd_req_op_cls_request_data_bvecs(struct ceph_osd_request *osd_req, |
| 428 | unsigned int which, | 435 | unsigned int which, |
| 429 | struct bio_vec *bvecs, u32 bytes); | 436 | struct bio_vec *bvecs, u32 num_bvecs, |
| 437 | u32 bytes); | ||
| 430 | extern void osd_req_op_cls_response_data_pages(struct ceph_osd_request *, | 438 | extern void osd_req_op_cls_response_data_pages(struct ceph_osd_request *, |
| 431 | unsigned int which, | 439 | unsigned int which, |
| 432 | struct page **pages, u64 length, | 440 | struct page **pages, u64 length, |
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 210a890008f9..1d25e149c1c5 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h | |||
| @@ -765,6 +765,9 @@ int __clk_mux_determine_rate(struct clk_hw *hw, | |||
| 765 | int __clk_determine_rate(struct clk_hw *core, struct clk_rate_request *req); | 765 | int __clk_determine_rate(struct clk_hw *core, struct clk_rate_request *req); |
| 766 | int __clk_mux_determine_rate_closest(struct clk_hw *hw, | 766 | int __clk_mux_determine_rate_closest(struct clk_hw *hw, |
| 767 | struct clk_rate_request *req); | 767 | struct clk_rate_request *req); |
| 768 | int clk_mux_determine_rate_flags(struct clk_hw *hw, | ||
| 769 | struct clk_rate_request *req, | ||
| 770 | unsigned long flags); | ||
| 768 | void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent); | 771 | void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent); |
| 769 | void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate, | 772 | void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate, |
| 770 | unsigned long max_rate); | 773 | unsigned long max_rate); |
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index c826b0b5232a..6cb8a5789668 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
| @@ -368,7 +368,9 @@ static inline void free_part_stats(struct hd_struct *part) | |||
| 368 | part_stat_add(cpu, gendiskp, field, -subnd) | 368 | part_stat_add(cpu, gendiskp, field, -subnd) |
| 369 | 369 | ||
| 370 | void part_in_flight(struct request_queue *q, struct hd_struct *part, | 370 | void part_in_flight(struct request_queue *q, struct hd_struct *part, |
| 371 | unsigned int inflight[2]); | 371 | unsigned int inflight[2]); |
| 372 | void part_in_flight_rw(struct request_queue *q, struct hd_struct *part, | ||
| 373 | unsigned int inflight[2]); | ||
| 372 | void part_dec_in_flight(struct request_queue *q, struct hd_struct *part, | 374 | void part_dec_in_flight(struct request_queue *q, struct hd_struct *part, |
| 373 | int rw); | 375 | int rw); |
| 374 | void part_inc_in_flight(struct request_queue *q, struct hd_struct *part, | 376 | void part_inc_in_flight(struct request_queue *q, struct hd_struct *part, |
diff --git a/include/linux/kthread.h b/include/linux/kthread.h index c1961761311d..2803264c512f 100644 --- a/include/linux/kthread.h +++ b/include/linux/kthread.h | |||
| @@ -62,6 +62,7 @@ void *kthread_probe_data(struct task_struct *k); | |||
| 62 | int kthread_park(struct task_struct *k); | 62 | int kthread_park(struct task_struct *k); |
| 63 | void kthread_unpark(struct task_struct *k); | 63 | void kthread_unpark(struct task_struct *k); |
| 64 | void kthread_parkme(void); | 64 | void kthread_parkme(void); |
| 65 | void kthread_park_complete(struct task_struct *k); | ||
| 65 | 66 | ||
| 66 | int kthreadd(void *unused); | 67 | int kthreadd(void *unused); |
| 67 | extern struct task_struct *kthreadd_task; | 68 | extern struct task_struct *kthreadd_task; |
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index 767d193c269a..2a156c5dfadd 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h | |||
| @@ -1284,25 +1284,19 @@ enum { | |||
| 1284 | }; | 1284 | }; |
| 1285 | 1285 | ||
| 1286 | static inline const struct cpumask * | 1286 | static inline const struct cpumask * |
| 1287 | mlx5_get_vector_affinity(struct mlx5_core_dev *dev, int vector) | 1287 | mlx5_get_vector_affinity_hint(struct mlx5_core_dev *dev, int vector) |
| 1288 | { | 1288 | { |
| 1289 | const struct cpumask *mask; | ||
| 1290 | struct irq_desc *desc; | 1289 | struct irq_desc *desc; |
| 1291 | unsigned int irq; | 1290 | unsigned int irq; |
| 1292 | int eqn; | 1291 | int eqn; |
| 1293 | int err; | 1292 | int err; |
| 1294 | 1293 | ||
| 1295 | err = mlx5_vector2eqn(dev, MLX5_EQ_VEC_COMP_BASE + vector, &eqn, &irq); | 1294 | err = mlx5_vector2eqn(dev, vector, &eqn, &irq); |
| 1296 | if (err) | 1295 | if (err) |
| 1297 | return NULL; | 1296 | return NULL; |
| 1298 | 1297 | ||
| 1299 | desc = irq_to_desc(irq); | 1298 | desc = irq_to_desc(irq); |
| 1300 | #ifdef CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK | 1299 | return desc->affinity_hint; |
| 1301 | mask = irq_data_get_effective_affinity_mask(&desc->irq_data); | ||
| 1302 | #else | ||
| 1303 | mask = desc->irq_common_data.affinity; | ||
