aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2018-05-18 00:08:53 -0400
committerDave Airlie <airlied@redhat.com>2018-05-18 00:08:53 -0400
commit1fafef9dfe127bdd4600eeaca302f0c1cb4ee5d0 (patch)
treef829e8a26fc768666eb5f827bf5817892ea7e46c /include/linux
parent315852b422972e6ebb1dfddaadada09e46a2681a (diff)
parent76ef6b28ea4f81c3d511866a9b31392caa833126 (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.h4
-rw-r--r--include/linux/brcmphy.h1
-rw-r--r--include/linux/ceph/osd_client.h12
-rw-r--r--include/linux/clk-provider.h3
-rw-r--r--include/linux/genhd.h4
-rw-r--r--include/linux/kthread.h1
-rw-r--r--include/linux/mlx5/driver.h12
-rw-r--r--include/linux/oom.h2
-rw-r--r--include/linux/rbtree_augmented.h1
-rw-r--r--include/linux/rbtree_latch.h1
-rw-r--r--include/linux/remoteproc.h2
-rw-r--r--include/linux/sched.h50
-rw-r--r--include/linux/sched/signal.h2
-rw-r--r--include/linux/usb/composite.h2
-rw-r--r--include/linux/wait_bit.h17
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);
434int bpf_fd_array_map_update_elem(struct bpf_map *map, struct file *map_file, 437int 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);
436int bpf_fd_array_map_lookup_elem(struct bpf_map *map, void *key, u32 *value); 439int bpf_fd_array_map_lookup_elem(struct bpf_map *map, void *key, u32 *value);
437void bpf_fd_array_map_clear(struct bpf_map *map);
438int bpf_fd_htab_map_update_elem(struct bpf_map *map, struct file *map_file, 440int 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);
440int bpf_fd_htab_map_lookup_elem(struct bpf_map *map, void *key, u32 *value); 442int 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 */
418void 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);
415void osd_req_op_extent_osd_data_bvec_pos(struct ceph_osd_request *osd_req, 422void 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);
427void osd_req_op_cls_request_data_bvecs(struct ceph_osd_request *osd_req, 434void 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);
430extern void osd_req_op_cls_response_data_pages(struct ceph_osd_request *, 438extern 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,
765int __clk_determine_rate(struct clk_hw *core, struct clk_rate_request *req); 765int __clk_determine_rate(struct clk_hw *core, struct clk_rate_request *req);
766int __clk_mux_determine_rate_closest(struct clk_hw *hw, 766int __clk_mux_determine_rate_closest(struct clk_hw *hw,
767 struct clk_rate_request *req); 767 struct clk_rate_request *req);
768int clk_mux_determine_rate_flags(struct clk_hw *hw,
769 struct clk_rate_request *req,
770 unsigned long flags);
768void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent); 771void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent);
769void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate, 772void 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
370void part_in_flight(struct request_queue *q, struct hd_struct *part, 370void part_in_flight(struct request_queue *q, struct hd_struct *part,
371 unsigned int inflight[2]); 371 unsigned int inflight[2]);
372void part_in_flight_rw(struct request_queue *q, struct hd_struct *part,
373 unsigned int inflight[2]);
372void part_dec_in_flight(struct request_queue *q, struct hd_struct *part, 374void part_dec_in_flight(struct request_queue *q, struct hd_struct *part,
373 int rw); 375 int rw);
374void part_inc_in_flight(struct request_queue *q, struct hd_struct *part, 376void 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);
62int kthread_park(struct task_struct *k); 62int kthread_park(struct task_struct *k);
63void kthread_unpark(struct task_struct *k); 63void kthread_unpark(struct task_struct *k);
64void kthread_parkme(void); 64void kthread_parkme(void);
65void kthread_park_complete(struct task_struct *k);
65 66
66int kthreadd(void *unused); 67int kthreadd(void *unused);
67extern struct task_struct *kthreadd_task; 68extern 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
1286static inline const struct cpumask * 1286static inline const struct cpumask *
1287mlx5_get_vector_affinity(struct mlx5_core_dev *dev, int vector) 1287mlx5_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;