We need the usb fixes in here as well for other patches to build on.
Showing the changes to include/linux (9 of 173 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) |
| @@ -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); |
| @@ -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); |
| @@ -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 |
| @@ -1463,7 +1463,7 @@ typedef void (*usb_complete_t)(struct urb *); · 1462 unmodified lines | ||
| 1463 | 1463 | * field rather than determining a dma address themselves. |
| 1464 | 1464 | * |
| 1465 | 1465 | * Note that transfer_buffer must still be set if the controller |
| 1466 | − * does not support DMA (as indicated by bus.uses_dma) and when talking | |
| 1466 | + * does not support DMA (as indicated by hcd_uses_dma()) and when talking | |
| 1467 | 1467 | * to root hub. If you have to trasfer between highmem zone and the device |
| 1468 | 1468 | * on such controller, create a bounce buffer or bail out with an error. |
| 1469 | 1469 | * 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); |