diff options
| author | Ingo Molnar <mingo@kernel.org> | 2015-08-31 04:25:26 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2015-08-31 04:25:26 -0400 |
| commit | 02b643b643254ec79b5f9aaa143e10be68eabdab (patch) | |
| tree | 57ec83eebab74324465199a3f52f4f7862177ee6 /include | |
| parent | d1ee8bc195ffedbf91af0245a2406d6ebd2578f8 (diff) | |
| parent | 4c09e0d6ba65507a0ee0ca9abc5335e4f7bd7404 (diff) | |
Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/drm/drm_edid.h | 19 | ||||
| -rw-r--r-- | include/linux/irq.h | 1 | ||||
| -rw-r--r-- | include/linux/mm.h | 28 | ||||
| -rw-r--r-- | include/linux/mm_types.h | 9 | ||||
| -rw-r--r-- | include/linux/pci.h | 1 | ||||
| -rw-r--r-- | include/linux/skbuff.h | 14 | ||||
| -rw-r--r-- | include/media/rc-core.h | 7 | ||||
| -rw-r--r-- | include/media/videobuf2-core.h | 2 | ||||
| -rw-r--r-- | include/sound/soc-topology.h | 12 | ||||
| -rw-r--r-- | include/uapi/sound/asoc.h | 6 |
10 files changed, 74 insertions, 25 deletions
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h index 799050198323..53c53c459b15 100644 --- a/include/drm/drm_edid.h +++ b/include/drm/drm_edid.h | |||
| @@ -348,6 +348,25 @@ static inline int drm_eld_mnl(const uint8_t *eld) | |||
| 348 | } | 348 | } |
| 349 | 349 | ||
| 350 | /** | 350 | /** |
| 351 | * drm_eld_sad - Get ELD SAD structures. | ||
| 352 | * @eld: pointer to an eld memory structure with sad_count set | ||
| 353 | */ | ||
| 354 | static inline const uint8_t *drm_eld_sad(const uint8_t *eld) | ||
| 355 | { | ||
| 356 | unsigned int ver, mnl; | ||
| 357 | |||
| 358 | ver = (eld[DRM_ELD_VER] & DRM_ELD_VER_MASK) >> DRM_ELD_VER_SHIFT; | ||
| 359 | if (ver != 2 && ver != 31) | ||
| 360 | return NULL; | ||
| 361 | |||
| 362 | mnl = drm_eld_mnl(eld); | ||
| 363 | if (mnl > 16) | ||
| 364 | return NULL; | ||
| 365 | |||
| 366 | return eld + DRM_ELD_CEA_SAD(mnl, 0); | ||
| 367 | } | ||
| 368 | |||
| 369 | /** | ||
| 351 | * drm_eld_sad_count - Get ELD SAD count. | 370 | * drm_eld_sad_count - Get ELD SAD count. |
| 352 | * @eld: pointer to an eld memory structure with sad_count set | 371 | * @eld: pointer to an eld memory structure with sad_count set |
| 353 | */ | 372 | */ |
diff --git a/include/linux/irq.h b/include/linux/irq.h index 92188b0225bb..51744bcf74ee 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
| @@ -484,6 +484,7 @@ extern int irq_chip_set_affinity_parent(struct irq_data *data, | |||
| 484 | extern int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on); | 484 | extern int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on); |
| 485 | extern int irq_chip_set_vcpu_affinity_parent(struct irq_data *data, | 485 | extern int irq_chip_set_vcpu_affinity_parent(struct irq_data *data, |
| 486 | void *vcpu_info); | 486 | void *vcpu_info); |
| 487 | extern int irq_chip_set_type_parent(struct irq_data *data, unsigned int type); | ||
| 487 | #endif | 488 | #endif |
| 488 | 489 | ||
| 489 | /* Handling of unhandled and spurious interrupts: */ | 490 | /* Handling of unhandled and spurious interrupts: */ |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 2e872f92dbac..bf6f117fcf4d 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
| @@ -1003,6 +1003,34 @@ static inline int page_mapped(struct page *page) | |||
| 1003 | } | 1003 | } |
| 1004 | 1004 | ||
| 1005 | /* | 1005 | /* |
| 1006 | * Return true only if the page has been allocated with | ||
| 1007 | * ALLOC_NO_WATERMARKS and the low watermark was not | ||
| 1008 | * met implying that the system is under some pressure. | ||
| 1009 | */ | ||
| 1010 | static inline bool page_is_pfmemalloc(struct page *page) | ||
| 1011 | { | ||
| 1012 | /* | ||
| 1013 | * Page index cannot be this large so this must be | ||
| 1014 | * a pfmemalloc page. | ||
| 1015 | */ | ||
| 1016 | return page->index == -1UL; | ||
| 1017 | } | ||
| 1018 | |||
| 1019 | /* | ||
| 1020 | * Only to be called by the page allocator on a freshly allocated | ||
| 1021 | * page. | ||
| 1022 | */ | ||
| 1023 | static inline void set_page_pfmemalloc(struct page *page) | ||
| 1024 | { | ||
| 1025 | page->index = -1UL; | ||
| 1026 | } | ||
| 1027 | |||
| 1028 | static inline void clear_page_pfmemalloc(struct page *page) | ||
| 1029 | { | ||
| 1030 | page->index = 0; | ||
| 1031 | } | ||
| 1032 | |||
| 1033 | /* | ||
| 1006 | * Different kinds of faults, as returned by handle_mm_fault(). | 1034 | * Different kinds of faults, as returned by handle_mm_fault(). |
| 1007 | * Used to decide whether a process gets delivered SIGBUS or | 1035 | * Used to decide whether a process gets delivered SIGBUS or |
| 1008 | * just gets major/minor fault counters bumped up. | 1036 | * just gets major/minor fault counters bumped up. |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 0038ac7466fd..15549578d559 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
| @@ -63,15 +63,6 @@ struct page { | |||
| 63 | union { | 63 | union { |
| 64 | pgoff_t index; /* Our offset within mapping. */ | 64 | pgoff_t index; /* Our offset within mapping. */ |
| 65 | void *freelist; /* sl[aou]b first free object */ | 65 | void *freelist; /* sl[aou]b first free object */ |
| 66 | bool pfmemalloc; /* If set by the page allocator, | ||
| 67 | * ALLOC_NO_WATERMARKS was set | ||
| 68 | * and the low watermark was not | ||
| 69 | * met implying that the system | ||
| 70 | * is under some pressure. The | ||
| 71 | * caller should try ensure | ||
| 72 | * this page is only used to | ||
| 73 | * free other pages. | ||
| 74 | */ | ||
| 75 | }; | 66 | }; |
| 76 | 67 | ||
| 77 | union { | 68 | union { |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 8a0321a8fb59..860c751810fc 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -1202,6 +1202,7 @@ struct msix_entry { | |||
| 1202 | u16 entry; /* driver uses to specify entry, OS writes */ | 1202 | u16 entry; /* driver uses to specify entry, OS writes */ |
| 1203 | }; | 1203 | }; |
| 1204 | 1204 | ||
| 1205 | void pci_msi_setup_pci_dev(struct pci_dev *dev); | ||
| 1205 | 1206 | ||
| 1206 | #ifdef CONFIG_PCI_MSI | 1207 | #ifdef CONFIG_PCI_MSI |
| 1207 | int pci_msi_vec_count(struct pci_dev *dev); | 1208 | int pci_msi_vec_count(struct pci_dev *dev); |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 22b6d9ca1654..9b88536487e6 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -1602,20 +1602,16 @@ static inline void __skb_fill_page_desc(struct sk_buff *skb, int i, | |||
| 1602 | skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; | 1602 | skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; |
| 1603 | 1603 | ||
| 1604 | /* | 1604 | /* |
| 1605 | * Propagate page->pfmemalloc to the skb if we can. The problem is | 1605 | * Propagate page pfmemalloc to the skb if we can. The problem is |
| 1606 | * that not all callers have unique ownership of the page. If | 1606 | * that not all callers have unique ownership of the page but rely |
| 1607 | * pfmemalloc is set, we check the mapping as a mapping implies | 1607 | * on page_is_pfmemalloc doing the right thing(tm). |
| 1608 | * page->index is set (index and pfmemalloc share space). | ||
| 1609 | * If it's a valid mapping, we cannot use page->pfmemalloc but we | ||
| 1610 | * do not lose pfmemalloc information as the pages would not be | ||
| 1611 | * allocated using __GFP_MEMALLOC. | ||
| 1612 | */ | 1608 | */ |
| 1613 | frag->page.p = page; | 1609 | frag->page.p = page; |
| 1614 | frag->page_offset = off; | 1610 | frag->page_offset = off; |
| 1615 | skb_frag_size_set(frag, size); | 1611 | skb_frag_size_set(frag, size); |
| 1616 | 1612 | ||
| 1617 | page = compound_head(page); | 1613 | page = compound_head(page); |
| 1618 | if (page->pfmemalloc && !page->mapping) | 1614 | if (page_is_pfmemalloc(page)) |
| 1619 | skb->pfmemalloc = true; | 1615 | skb->pfmemalloc = true; |
| 1620 | } | 1616 | } |
| 1621 | 1617 | ||
| @@ -2263,7 +2259,7 @@ static inline struct page *dev_alloc_page(void) | |||
| 2263 | static inline void skb_propagate_pfmemalloc(struct page *page, | 2259 | static inline void skb_propagate_pfmemalloc(struct page *page, |
| 2264 | struct sk_buff *skb) | 2260 | struct sk_buff *skb) |
| 2265 | { | 2261 | { |
| 2266 | if (page && page->pfmemalloc) | 2262 | if (page_is_pfmemalloc(page)) |
| 2267 | skb->pfmemalloc = true; | 2263 | skb->pfmemalloc = true; |
| 2268 | } | 2264 | } |
| 2269 | 2265 | ||
diff --git a/include/media/rc-core.h b/include/media/rc-core.h index 45534da57759..644bdc61c387 100644 --- a/include/media/rc-core.h +++ b/include/media/rc-core.h | |||
| @@ -74,8 +74,6 @@ enum rc_filter_type { | |||
| 74 | * @input_dev: the input child device used to communicate events to userspace | 74 | * @input_dev: the input child device used to communicate events to userspace |
| 75 | * @driver_type: specifies if protocol decoding is done in hardware or software | 75 | * @driver_type: specifies if protocol decoding is done in hardware or software |
| 76 | * @idle: used to keep track of RX state | 76 | * @idle: used to keep track of RX state |
| 77 | * @encode_wakeup: wakeup filtering uses IR encode API, therefore the allowed | ||
| 78 | * wakeup protocols is the set of all raw encoders | ||
| 79 | * @allowed_protocols: bitmask with the supported RC_BIT_* protocols | 77 | * @allowed_protocols: bitmask with the supported RC_BIT_* protocols |
| 80 | * @enabled_protocols: bitmask with the enabled RC_BIT_* protocols | 78 | * @enabled_protocols: bitmask with the enabled RC_BIT_* protocols |
| 81 | * @allowed_wakeup_protocols: bitmask with the supported RC_BIT_* wakeup protocols | 79 | * @allowed_wakeup_protocols: bitmask with the supported RC_BIT_* wakeup protocols |
| @@ -136,7 +134,6 @@ struct rc_dev { | |||
| 136 | struct input_dev *input_dev; | 134 | struct input_dev *input_dev; |
| 137 | enum rc_driver_type driver_type; | 135 | enum rc_driver_type driver_type; |
| 138 | bool idle; | 136 | bool idle; |
| 139 | bool encode_wakeup; | ||
| 140 | u64 allowed_protocols; | 137 | u64 allowed_protocols; |
| 141 | u64 enabled_protocols; | 138 | u64 enabled_protocols; |
| 142 | u64 allowed_wakeup_protocols; | 139 | u64 allowed_wakeup_protocols; |
| @@ -246,7 +243,6 @@ static inline void init_ir_raw_event(struct ir_raw_event *ev) | |||
| 246 | #define US_TO_NS(usec) ((usec) * 1000) | 243 | #define US_TO_NS(usec) ((usec) * 1000) |
| 247 | #define MS_TO_US(msec) ((msec) * 1000) | 244 | #define MS_TO_US(msec) ((msec) * 1000) |
| 248 | #define MS_TO_NS(msec) ((msec) * 1000 * 1000) | 245 | #define MS_TO_NS(msec) ((msec) * 1000 * 1000) |
| 249 | #define NS_TO_US(nsec) DIV_ROUND_UP(nsec, 1000L) | ||
| 250 | 246 | ||
| 251 | void ir_raw_event_handle(struct rc_dev *dev); | 247 | void ir_raw_event_handle(struct rc_dev *dev); |
| 252 | int ir_raw_event_store(struct rc_dev *dev, struct ir_raw_event *ev); | 248 | int ir_raw_event_store(struct rc_dev *dev, struct ir_raw_event *ev); |
| @@ -254,9 +250,6 @@ int ir_raw_event_store_edge(struct rc_dev *dev, enum raw_event_type | |||
