Merge conflict of mlx5 resolved using instructions in merge commit 9566e650bf7fdf58384bb06df634f7531ca3a97e.
Showing the changes to include/linux (16 of 549 files). Show all
Unified · Split
| @@ -311,7 +311,6 @@ enum req_flag_bits { · 310 unmodified lines | ||
| 311 | 311 | __REQ_RAHEAD, /* read ahead, can fail anytime */ |
| 312 | 312 | __REQ_BACKGROUND, /* background IO */ |
| 313 | 313 | __REQ_NOWAIT, /* Don't wait if request will block */ |
| 314 | − __REQ_NOWAIT_INLINE, /* Return would-block error inline */ | |
| 315 | 314 | /* |
| 316 | 315 | * When a shared kthread needs to issue a bio for a cgroup, doing |
| 317 | 316 | * so synchronously can lead to priority inversions as the kthread |
| @@ -346,7 +345,6 @@ enum req_flag_bits { · 28 unmodified lines | ||
| 346 | 345 | #define REQ_RAHEAD (1ULL << __REQ_RAHEAD) |
| 347 | 346 | #define REQ_BACKGROUND (1ULL << __REQ_BACKGROUND) |
| 348 | 347 | #define REQ_NOWAIT (1ULL << __REQ_NOWAIT) |
| 349 | −#define REQ_NOWAIT_INLINE (1ULL << __REQ_NOWAIT_INLINE) | |
| 350 | 348 | #define REQ_CGROUP_PUNT (1ULL << __REQ_CGROUP_PUNT) |
| 351 | 349 | |
| 352 | 350 | #define REQ_NOUNMAP (1ULL << __REQ_NOUNMAP) |
| @@ -420,13 +418,12 @@ static inline int op_stat_group(unsigned int op) · 67 unmodified lines | ||
| 420 | 418 | |
| 421 | 419 | typedef unsigned int blk_qc_t; |
| 422 | 420 | #define BLK_QC_T_NONE -1U |
| 423 | −#define BLK_QC_T_EAGAIN -2U | |
| 424 | 421 | #define BLK_QC_T_SHIFT 16 |
| 425 | 422 | #define BLK_QC_T_INTERNAL (1U << 31) |
| 426 | 423 | |
| 427 | 424 | static inline bool blk_qc_t_valid(blk_qc_t cookie) |
| 428 | 425 | { |
| 429 | − return cookie != BLK_QC_T_NONE && cookie != BLK_QC_T_EAGAIN; | |
| 426 | + return cookie != BLK_QC_T_NONE; | |
| 430 | 427 | } |
| 431 | 428 | |
| 432 | 429 | static inline unsigned int blk_qc_t_to_queue_num(blk_qc_t cookie) |
| @@ -170,6 +170,8 @@ struct ccp_aes_engine { · 169 unmodified lines | ||
| 170 | 170 | enum ccp_aes_mode mode; |
| 171 | 171 | enum ccp_aes_action action; |
| 172 | 172 | |
| 173 | + u32 authsize; | |
| 174 | + | |
| 173 | 175 | struct scatterlist *key; |
| 174 | 176 | u32 key_len; /* In bytes */ |
| 175 | 177 | |
| @@ -42,13 +42,18 @@ void arch_dma_free(struct device *dev, size_t size, void *cpu_addr, · 41 unmodified lines | ||
| 42 | 42 | dma_addr_t dma_addr, unsigned long attrs); |
| 43 | 43 | long arch_dma_coherent_to_pfn(struct device *dev, void *cpu_addr, |
| 44 | 44 | dma_addr_t dma_addr); |
| 45 | − | |
| 46 | −#ifdef CONFIG_ARCH_HAS_DMA_MMAP_PGPROT | |
| 47 | 45 | pgprot_t arch_dma_mmap_pgprot(struct device *dev, pgprot_t prot, |
| 48 | 46 | unsigned long attrs); |
| 47 | + | |
| 48 | +#ifdef CONFIG_MMU | |
| 49 | +pgprot_t dma_pgprot(struct device *dev, pgprot_t prot, unsigned long attrs); | |
| 49 | 50 | #else |
| 50 | −# define arch_dma_mmap_pgprot(dev, prot, attrs) pgprot_noncached(prot) | |
| 51 | −#endif | |
| 51 | +static inline pgprot_t dma_pgprot(struct device *dev, pgprot_t prot, | |
| 52 | + unsigned long attrs) | |
| 53 | +{ | |
| 54 | + return prot; /* no protection bits supported without page tables */ | |
| 55 | +} | |
| 56 | +#endif /* CONFIG_MMU */ | |
| 52 | 57 | |
| 53 | 58 | #ifdef CONFIG_DMA_NONCOHERENT_CACHE_SYNC |
| 54 | 59 | void arch_dma_cache_sync(struct device *dev, void *vaddr, size_t size, |
| @@ -510,22 +510,18 @@ alloc_pages(gfp_t gfp_mask, unsigned int order) · 509 unmodified lines | ||
| 510 | 510 | } |
| 511 | 511 | extern struct page *alloc_pages_vma(gfp_t gfp_mask, int order, |
| 512 | 512 | struct vm_area_struct *vma, unsigned long addr, |
| 513 | − int node, bool hugepage); | |
| 514 | −#define alloc_hugepage_vma(gfp_mask, vma, addr, order) \ | |
| 515 | − alloc_pages_vma(gfp_mask, order, vma, addr, numa_node_id(), true) | |
| 513 | + int node); | |
| 516 | 514 | #else |
| 517 | 515 | #define alloc_pages(gfp_mask, order) \ |
| 518 | 516 | alloc_pages_node(numa_node_id(), gfp_mask, order) |
| 519 | −#define alloc_pages_vma(gfp_mask, order, vma, addr, node, false)\ | |
| 520 | − alloc_pages(gfp_mask, order) | |
| 521 | −#define alloc_hugepage_vma(gfp_mask, vma, addr, order) \ | |
| 517 | +#define alloc_pages_vma(gfp_mask, order, vma, addr, node)\ | |
| 522 | 518 | alloc_pages(gfp_mask, order) |
| 523 | 519 | #endif |
| 524 | 520 | #define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) |
| 525 | 521 | #define alloc_page_vma(gfp_mask, vma, addr) \ |
| 526 | − alloc_pages_vma(gfp_mask, 0, vma, addr, numa_node_id(), false) | |
| 522 | + alloc_pages_vma(gfp_mask, 0, vma, addr, numa_node_id()) | |
| 527 | 523 | #define alloc_page_vma_node(gfp_mask, vma, addr, node) \ |
| 528 | − alloc_pages_vma(gfp_mask, 0, vma, addr, node, false) | |
| 524 | + alloc_pages_vma(gfp_mask, 0, vma, addr, node) | |
| 529 | 525 | |
| 530 | 526 | extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order); |
| 531 | 527 | extern unsigned long get_zeroed_page(gfp_t gfp_mask); |
| @@ -94,11 +94,11 @@ struct keyring_index_key { · 93 unmodified lines | ||
| 94 | 94 | union { |
| 95 | 95 | struct { |
| 96 | 96 | #ifdef __LITTLE_ENDIAN /* Put desc_len at the LSB of x */ |
| 97 | − u8 desc_len; | |
| 98 | − char desc[sizeof(long) - 1]; /* First few chars of description */ | |
| 97 | + u16 desc_len; | |
| 98 | + char desc[sizeof(long) - 2]; /* First few chars of description */ | |
| 99 | 99 | #else |
| 100 | − char desc[sizeof(long) - 1]; /* First few chars of description */ | |
| 101 | − u8 desc_len; | |
| 100 | + char desc[sizeof(long) - 2]; /* First few chars of description */ | |
| 101 | + u16 desc_len; | |
| 102 | 102 | #endif |
| 103 | 103 | }; |
| 104 | 104 | unsigned long x; |
| @@ -861,8 +861,9 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu); · 860 unmodified lines | ||
| 861 | 861 | void kvm_arch_vcpu_postcreate(struct kvm_vcpu *vcpu); |
| 862 | 862 | void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu); |
| 863 | 863 | |
| 864 | −bool kvm_arch_has_vcpu_debugfs(void); | |
| 865 | −int kvm_arch_create_vcpu_debugfs(struct kvm_vcpu *vcpu); | |
| 864 | +#ifdef __KVM_HAVE_ARCH_VCPU_DEBUGFS | |
| 865 | +void kvm_arch_create_vcpu_debugfs(struct kvm_vcpu *vcpu); | |
| 866 | +#endif | |
| 866 | 867 | |
| 867 | 868 | int kvm_arch_hardware_enable(void); |
| 868 | 869 | void kvm_arch_hardware_disable(void); |
| @@ -872,6 +873,7 @@ int kvm_arch_check_processor_compat(void); · 3 unmodified lines | ||
| 872 | 873 | int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu); |
| 873 | 874 | bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu); |
| 874 | 875 | int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu); |
| 876 | +bool kvm_arch_dy_runnable(struct kvm_vcpu *vcpu); | |
| 875 | 877 | |
| 876 | 878 | #ifndef __KVM_HAVE_ARCH_VM_ALLOC |
| 877 | 879 | /* |
| @@ -668,6 +668,7 @@ static inline unsigned long lruvec_page_state_local(struct lruvec *lruvec, · 667 unmodified lines | ||
| 668 | 668 | |
| 669 | 669 | void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, |
| 670 | 670 | int val); |
| 671 | +void __mod_lruvec_slab_state(void *p, enum node_stat_item idx, int val); | |
| 671 | 672 | |
| 672 | 673 | static inline void mod_lruvec_state(struct lruvec *lruvec, |
| 673 | 674 | enum node_stat_item idx, int val) |
| @@ -1072,6 +1073,14 @@ static inline void mod_lruvec_page_state(struct page *page, · 398 unmodified lines | ||
| 1072 | 1073 | mod_node_page_state(page_pgdat(page), idx, val); |
| 1073 | 1074 | } |
| 1074 | 1075 | |
| 1076 | +static inline void __mod_lruvec_slab_state(void *p, enum node_stat_item idx, | |
| 1077 | + int val) | |
| 1078 | +{ | |
| 1079 | + struct page *page = virt_to_head_page(p); | |
| 1080 | + | |
| 1081 | + __mod_node_page_state(page_pgdat(page), idx, val); | |
| 1082 | +} | |
| 1083 | + | |
| 1075 | 1084 | static inline |
| 1076 | 1085 | unsigned long mem_cgroup_soft_limit_reclaim(pg_data_t *pgdat, int order, |
| 1077 | 1086 | gfp_t gfp_mask, |
| @@ -1159,6 +1168,16 @@ static inline void __dec_lruvec_page_state(struct page *page, · 81 unmodified lines | ||
| 1159 | 1168 | __mod_lruvec_page_state(page, idx, -1); |
| 1160 | 1169 | } |
| 1161 | 1170 | |
| 1171 | +static inline void __inc_lruvec_slab_state(void *p, enum node_stat_item idx) | |
| 1172 | +{ | |
| 1173 | + __mod_lruvec_slab_state(p, idx, 1); | |
| 1174 | +} | |
| 1175 | + | |
| 1176 | +static inline void __dec_lruvec_slab_state(void *p, enum node_stat_item idx) | |
| 1177 | +{ | |
| 1178 | + __mod_lruvec_slab_state(p, idx, -1); | |
| 1179 | +} | |
| 1180 | + | |
| 1162 | 1181 | /* idx can be of type enum memcg_stat_item or node_stat_item */ |
| 1163 | 1182 | static inline void inc_memcg_state(struct mem_cgroup *memcg, |
| 1164 | 1183 | int idx) |
| @@ -139,6 +139,8 @@ struct mempolicy *mpol_shared_policy_lookup(struct shared_policy *sp, · 138 unmodified lines | ||
| 139 | 139 | struct mempolicy *get_task_policy(struct task_struct *p); |
| 140 | 140 | struct mempolicy *__get_vma_policy(struct vm_area_struct *vma, |
| 141 | 141 | unsigned long addr); |
| 142 | +struct mempolicy *get_vma_policy(struct vm_area_struct *vma, | |
| 143 | + unsigned long addr); | |
| 142 | 144 | bool vma_policy_mof(struct vm_area_struct *vma); |
| 143 | 145 | |
| 144 | 146 | extern void numa_default_policy(void); |
| @@ -446,11 +446,11 @@ enum { · 445 unmodified lines | ||
| 446 | 446 | }; |
| 447 | 447 | |
| 448 | 448 | enum { |
| 449 | − MLX5_OPC_MOD_TLS_TIS_STATIC_PARAMS = 0x20, | |
| 449 | + MLX5_OPC_MOD_TLS_TIS_STATIC_PARAMS = 0x1, | |
| 450 | 450 | }; |
| 451 | 451 | |
| 452 | 452 | enum { |
| 453 | − MLX5_OPC_MOD_TLS_TIS_PROGRESS_PARAMS = 0x20, | |
| 453 | + MLX5_OPC_MOD_TLS_TIS_PROGRESS_PARAMS = 0x1, | |
| 454 | 454 | }; |
| 455 | 455 | |
| 456 | 456 | enum { |
| @@ -10078,9 +10078,8 @@ struct mlx5_ifc_tls_static_params_bits { · 10077 unmodified lines | ||
| 10078 | 10078 | }; |
| 10079 | 10079 | |
| 10080 | 10080 | struct mlx5_ifc_tls_progress_params_bits { |
| 10081 | − u8 valid[0x1]; | |
| 10082 | − u8 reserved_at_1[0x7]; | |
| 10083 | − u8 pd[0x18]; | |
| 10081 | + u8 reserved_at_0[0x8]; | |
| 10082 | + u8 tisn[0x18]; | |
| 10084 | 10083 | |
| 10085 | 10084 | u8 next_record_tcp_sn[0x20]; |
| 10086 | 10085 | |
| @@ -159,7 +159,16 @@ struct page { · 158 unmodified lines | ||
| 159 | 159 | /** @pgmap: Points to the hosting device page map. */ |
| 160 | 160 | struct dev_pagemap *pgmap; |
| 161 | 161 | void *zone_device_data; |
| 162 | − unsigned long _zd_pad_1; /* uses mapping */ | |
| 162 | + /* | |
| 163 | + * ZONE_DEVICE private pages are counted as being | |
| 164 | + * mapped so the next 3 words hold the mapping, index, | |
| 165 | + * and private fields from the source anonymous or | |
| 166 | + * page cache page while the page is migrated to device | |
| 167 | + * private memory. | |
| 168 | + * ZONE_DEVICE MEMORY_DEVICE_FS_DAX pages also | |
| 169 | + * use the mapping, index, and private fields when | |
| 170 | + * pmem backed DAX files are mapped. | |
| 171 | + */ | |
| 163 | 172 | }; |
| 164 | 173 | |
| 165 | 174 | /** @rcu_head: You can use this to free a page by RCU. */ |
| @@ -1567,8 +1567,10 @@ extern bool pcie_ports_native; · 1566 unmodified lines | ||
| 1567 | 1567 | |
| 1568 | 1568 | #ifdef CONFIG_PCIEASPM |
| 1569 | 1569 | bool pcie_aspm_support_enabled(void); |
| 1570 | +bool pcie_aspm_enabled(struct pci_dev *pdev); | |
| 1570 | 1571 | #else |
| 1571 | 1572 | static inline bool pcie_aspm_support_enabled(void) { return false; } |
| 1573 | +static inline bool pcie_aspm_enabled(struct pci_dev *pdev) { return false; } | |
| 1572 | 1574 | #endif |
| 1573 | 1575 | |
| 1574 | 1576 | #ifdef CONFIG_PCIEAER |
| @@ -1362,6 +1362,14 @@ static inline void skb_copy_hash(struct sk_buff *to, const struct sk_buff *from) · 1361 unmodified lines | ||
| 1362 | 1362 | to->l4_hash = from->l4_hash; |
| 1363 | 1363 | }; |
| 1364 | 1364 | |
| 1365 | +static inline void skb_copy_decrypted(struct sk_buff *to, | |
| 1366 | + const struct sk_buff *from) | |
| 1367 | +{ | |
| 1368 | +#ifdef CONFIG_TLS_DEVICE | |
| 1369 | + to->decrypted = from->decrypted; | |
| 1370 | +#endif | |
| 1371 | +} | |
| 1372 | + | |
| 1365 | 1373 | #ifdef NET_SKBUFF_DATA_USES_OFFSET |
| 1366 | 1374 | static inline unsigned char *skb_end_pointer(const struct sk_buff *skb) |
| 1367 | 1375 | { |
| @@ -292,6 +292,9 @@ struct ucred { · 291 unmodified lines | ||
| 292 | 292 | #define MSG_BATCH 0x40000 /* sendmmsg(): more messages coming */ |
| 293 | 293 | #define MSG_EOF MSG_FIN |
| 294 | 294 | #define MSG_NO_SHARED_FRAGS 0x80000 /* sendpage() internal : page frags are not shared */ |
| 295 | +#define MSG_SENDPAGE_DECRYPTED 0x100000 /* sendpage() internal : page may carry | |
| 296 | + * plain text and require encryption | |
| 297 | + */ | |
| 295 | 298 | |
| 296 | 299 | #define MSG_ZEROCOPY 0x4000000 /* Use user data in kernel path */ |
| 297 | 300 | #define MSG_FASTOPEN 0x20000000 /* Send data in TCP SYN */ |
| @@ -1457,7 +1457,7 @@ typedef void (*usb_complete_t)(struct urb *); · 1456 unmodified lines | ||
| 1457 | 1457 | * field rather than determining a dma address themselves. |
| 1458 | 1458 | * |
| 1459 | 1459 | * Note that transfer_buffer must still be set if the controller |
| 1460 | − * does not support DMA (as indicated by bus.uses_dma) and when talking | |
| 1460 | + * does not support DMA (as indicated by hcd_uses_dma()) and when talking | |
| 1461 | 1461 | * to root hub. If you have to trasfer between highmem zone and the device |
| 1462 | 1462 | * on such controller, create a bounce buffer or bail out with an error. |
| 1463 | 1463 | * If transfer_buffer cannot be set (is in highmem) and the controller is DMA |
| @@ -422,6 +422,9 @@ static inline bool hcd_periodic_completion_in_progress(struct usb_hcd *hcd, · 421 unmodified lines | ||
| 422 | 422 | return hcd->high_prio_bh.completing_ep == ep; |
| 423 | 423 | } |
| 424 | 424 | |
| 425 | +#define hcd_uses_dma(hcd) \ | |
| 426 | + (IS_ENABLED(CONFIG_HAS_DMA) && (hcd)->self.uses_dma) | |
| 427 | + | |
| 425 | 428 | extern int usb_hcd_link_urb_to_ep(struct usb_hcd *hcd, struct urb *urb); |
| 426 | 429 | extern int usb_hcd_check_unlink_urb(struct usb_hcd *hcd, struct urb *urb, |
| 427 | 430 | int status); |