diff options
author | Dave Airlie <airlied@redhat.com> | 2013-06-05 00:34:22 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-06-05 00:34:22 -0400 |
commit | 943079e111bde93ed972d21618d1d73e75ba0d09 (patch) | |
tree | 32626f38001c6fd69340fe44a296ae34760872fa /include/linux | |
parent | ec7fdeee19474afb2169bb0939cbc972f9aa20eb (diff) | |
parent | 53d3b4d7778daf15900867336c85d3f8dd70600c (diff) |
Merge tag 'drm-intel-fixes-2013-06-04' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes
Daniel writes:
Three regression fixes and one no-lvds quirk update. The regression Egbert
Eich tracked down goes back to 2.6.37 ... ugh. The other two are pretty
minor: One bogus modeset state checker WARN and a patch to prevent X
dying in a SIGBUS after a gpu hang with failed (or not implement as on
gen2/3) gpu reset.
* tag 'drm-intel-fixes-2013-06-04' of git://people.freedesktop.org/~danvet/drm-intel: (368 commits)
drm/i915/sdvo: Use &intel_sdvo->ddc instead of intel_sdvo->i2c for DDC.
drm/i915: no lvds quirk for hp t5740
drm/i915: Quirk the pipe A quirk in the modeset state checker
drm/i915: Fix spurious -EIO/SIGBUS on wedged gpus
Linux 3.10-rc4
parisc: parport0: fix this legacy no-device port driver!
parport_pc: disable PARPORT_PC_SUPERIO on parisc architecture
parisc/PCI: lba: fix: convert to pci_create_root_bus() for correct root bus resources (v2)
parisc/PCI: Set type for LBA bus_num resource
MAINTAINERS: update parisc architecture file list
parisc: kernel: using strlcpy() instead of strcpy()
parisc: rename "CONFIG_PA7100" to "CONFIG_PA7000"
parisc: fix kernel BUG at arch/parisc/include/asm/mmzone.h:50
parisc: memory overflow, 'name' length is too short for using
powerpc/cputable: Fix typo on P7+ cputable entry
powerpc/perf: Add missing SIER support
powerpc/perf: Revert to original NO_SIPR logic
powerpc/pci: Remove the unused variables in pci_process_bridge_OF_ranges
powerpc/pci: Remove the stale comments of pci_process_bridge_OF_ranges
powerpc/pseries: Always enable CONFIG_HOTPLUG_CPU on PSERIES SMP
...
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/acpi_dma.h | 4 | ||||
-rw-r--r-- | include/linux/aer.h | 5 | ||||
-rw-r--r-- | include/linux/bcma/bcma.h | 5 | ||||
-rw-r--r-- | include/linux/brcmphy.h | 5 | ||||
-rw-r--r-- | include/linux/kernel.h | 5 | ||||
-rw-r--r-- | include/linux/netdevice.h | 11 | ||||
-rw-r--r-- | include/linux/platform_data/clk-lpss.h | 5 | ||||
-rw-r--r-- | include/linux/platform_data/serial-omap.h | 2 | ||||
-rw-r--r-- | include/linux/rio.h | 18 | ||||
-rw-r--r-- | include/linux/rio_drv.h | 1 | ||||
-rw-r--r-- | include/linux/wait.h | 16 |
11 files changed, 64 insertions, 13 deletions
diff --git a/include/linux/acpi_dma.h b/include/linux/acpi_dma.h index d09deabc7bf6..fb0298082916 100644 --- a/include/linux/acpi_dma.h +++ b/include/linux/acpi_dma.h | |||
@@ -37,6 +37,8 @@ struct acpi_dma_spec { | |||
37 | * @dev: struct device of this controller | 37 | * @dev: struct device of this controller |
38 | * @acpi_dma_xlate: callback function to find a suitable channel | 38 | * @acpi_dma_xlate: callback function to find a suitable channel |
39 | * @data: private data used by a callback function | 39 | * @data: private data used by a callback function |
40 | * @base_request_line: first supported request line (CSRT) | ||
41 | * @end_request_line: last supported request line (CSRT) | ||
40 | */ | 42 | */ |
41 | struct acpi_dma { | 43 | struct acpi_dma { |
42 | struct list_head dma_controllers; | 44 | struct list_head dma_controllers; |
@@ -44,6 +46,8 @@ struct acpi_dma { | |||
44 | struct dma_chan *(*acpi_dma_xlate) | 46 | struct dma_chan *(*acpi_dma_xlate) |
45 | (struct acpi_dma_spec *, struct acpi_dma *); | 47 | (struct acpi_dma_spec *, struct acpi_dma *); |
46 | void *data; | 48 | void *data; |
49 | unsigned short base_request_line; | ||
50 | unsigned short end_request_line; | ||
47 | }; | 51 | }; |
48 | 52 | ||
49 | /* Used with acpi_dma_simple_xlate() */ | 53 | /* Used with acpi_dma_simple_xlate() */ |
diff --git a/include/linux/aer.h b/include/linux/aer.h index ec10e1b24c1c..737f90ab4b62 100644 --- a/include/linux/aer.h +++ b/include/linux/aer.h | |||
@@ -49,10 +49,11 @@ static inline int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev) | |||
49 | } | 49 | } |
50 | #endif | 50 | #endif |
51 | 51 | ||
52 | extern void cper_print_aer(const char *prefix, struct pci_dev *dev, | 52 | extern void cper_print_aer(struct pci_dev *dev, |
53 | int cper_severity, struct aer_capability_regs *aer); | 53 | int cper_severity, struct aer_capability_regs *aer); |
54 | extern int cper_severity_to_aer(int cper_severity); | 54 | extern int cper_severity_to_aer(int cper_severity); |
55 | extern void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn, | 55 | extern void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn, |
56 | int severity); | 56 | int severity, |
57 | struct aer_capability_regs *aer_regs); | ||
57 | #endif //_AER_H_ | 58 | #endif //_AER_H_ |
58 | 59 | ||
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h index f14a98a79c9d..2e34db82a643 100644 --- a/include/linux/bcma/bcma.h +++ b/include/linux/bcma/bcma.h | |||
@@ -134,7 +134,10 @@ struct bcma_host_ops { | |||
134 | #define BCMA_CORE_I2S 0x834 | 134 | #define BCMA_CORE_I2S 0x834 |
135 | #define BCMA_CORE_SDR_DDR1_MEM_CTL 0x835 /* SDR/DDR1 memory controller core */ | 135 | #define BCMA_CORE_SDR_DDR1_MEM_CTL 0x835 /* SDR/DDR1 memory controller core */ |
136 | #define BCMA_CORE_SHIM 0x837 /* SHIM component in ubus/6362 */ | 136 | #define BCMA_CORE_SHIM 0x837 /* SHIM component in ubus/6362 */ |
137 | #define BCMA_CORE_ARM_CR4 0x83e | 137 | #define BCMA_CORE_PHY_AC 0x83B |
138 | #define BCMA_CORE_PCIE2 0x83C /* PCI Express Gen2 */ | ||
139 | #define BCMA_CORE_USB30_DEV 0x83D | ||
140 | #define BCMA_CORE_ARM_CR4 0x83E | ||
138 | #define BCMA_CORE_DEFAULT 0xFFF | 141 | #define BCMA_CORE_DEFAULT 0xFFF |
139 | 142 | ||
140 | #define BCMA_MAX_NR_CORES 16 | 143 | #define BCMA_MAX_NR_CORES 16 |
diff --git a/include/linux/brcmphy.h b/include/linux/brcmphy.h index b840a4960282..677b4f01b2d0 100644 --- a/include/linux/brcmphy.h +++ b/include/linux/brcmphy.h | |||
@@ -1,3 +1,6 @@ | |||
1 | #ifndef _LINUX_BRCMPHY_H | ||
2 | #define _LINUX_BRCMPHY_H | ||
3 | |||
1 | #define PHY_ID_BCM50610 0x0143bd60 | 4 | #define PHY_ID_BCM50610 0x0143bd60 |
2 | #define PHY_ID_BCM50610M 0x0143bd70 | 5 | #define PHY_ID_BCM50610M 0x0143bd70 |
3 | #define PHY_ID_BCM5241 0x0143bc30 | 6 | #define PHY_ID_BCM5241 0x0143bc30 |
@@ -29,3 +32,5 @@ | |||
29 | #define PHY_BRCM_CLEAR_RGMII_MODE 0x00004000 | 32 | #define PHY_BRCM_CLEAR_RGMII_MODE 0x00004000 |
30 | #define PHY_BRCM_DIS_TXCRXC_NOENRGY 0x00008000 | 33 | #define PHY_BRCM_DIS_TXCRXC_NOENRGY 0x00008000 |
31 | #define PHY_BCM_FLAGS_VALID 0x80000000 | 34 | #define PHY_BCM_FLAGS_VALID 0x80000000 |
35 | |||
36 | #endif /* _LINUX_BRCMPHY_H */ | ||
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index e96329ceb28c..e9ef6d6b51d5 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -562,6 +562,9 @@ int __trace_bprintk(unsigned long ip, const char *fmt, ...); | |||
562 | extern __printf(2, 3) | 562 | extern __printf(2, 3) |
563 | int __trace_printk(unsigned long ip, const char *fmt, ...); | 563 | int __trace_printk(unsigned long ip, const char *fmt, ...); |
564 | 564 | ||
565 | extern int __trace_bputs(unsigned long ip, const char *str); | ||
566 | extern int __trace_puts(unsigned long ip, const char *str, int size); | ||
567 | |||
565 | /** | 568 | /** |
566 | * trace_puts - write a string into the ftrace buffer | 569 | * trace_puts - write a string into the ftrace buffer |
567 | * @str: the string to record | 570 | * @str: the string to record |
@@ -587,8 +590,6 @@ int __trace_printk(unsigned long ip, const char *fmt, ...); | |||
587 | * (1 when __trace_bputs is used, strlen(str) when __trace_puts is used) | 590 | * (1 when __trace_bputs is used, strlen(str) when __trace_puts is used) |
588 | */ | 591 | */ |
589 | 592 | ||
590 | extern int __trace_bputs(unsigned long ip, const char *str); | ||
591 | extern int __trace_puts(unsigned long ip, const char *str, int size); | ||
592 | #define trace_puts(str) ({ \ | 593 | #define trace_puts(str) ({ \ |
593 | static const char *trace_printk_fmt \ | 594 | static const char *trace_printk_fmt \ |
594 | __attribute__((section("__trace_printk_fmt"))) = \ | 595 | __attribute__((section("__trace_printk_fmt"))) = \ |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index a94a5a0ab122..60584b185a0c 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -2733,6 +2733,17 @@ static inline netdev_features_t netdev_get_wanted_features( | |||
2733 | } | 2733 | } |
2734 | netdev_features_t netdev_increment_features(netdev_features_t all, | 2734 | netdev_features_t netdev_increment_features(netdev_features_t all, |
2735 | netdev_features_t one, netdev_features_t mask); | 2735 | netdev_features_t one, netdev_features_t mask); |
2736 | |||
2737 | /* Allow TSO being used on stacked device : | ||
2738 | * Performing the GSO segmentation before last device | ||
2739 | * is a performance improvement. | ||
2740 | */ | ||
2741 | static inline netdev_features_t netdev_add_tso_features(netdev_features_t features, | ||
2742 | netdev_features_t mask) | ||
2743 | { | ||
2744 | return netdev_increment_features(features, NETIF_F_ALL_TSO, mask); | ||
2745 | } | ||
2746 | |||
2736 | int __netdev_update_features(struct net_device *dev); | 2747 | int __netdev_update_features(struct net_device *dev); |
2737 | void netdev_update_features(struct net_device *dev); | 2748 | void netdev_update_features(struct net_device *dev); |
2738 | void netdev_change_features(struct net_device *dev); | 2749 | void netdev_change_features(struct net_device *dev); |
diff --git a/include/linux/platform_data/clk-lpss.h b/include/linux/platform_data/clk-lpss.h index 528e73ce46d2..23901992b9dd 100644 --- a/include/linux/platform_data/clk-lpss.h +++ b/include/linux/platform_data/clk-lpss.h | |||
@@ -13,6 +13,11 @@ | |||
13 | #ifndef __CLK_LPSS_H | 13 | #ifndef __CLK_LPSS_H |
14 | #define __CLK_LPSS_H | 14 | #define __CLK_LPSS_H |
15 | 15 | ||
16 | struct lpss_clk_data { | ||
17 | const char *name; | ||
18 | struct clk *clk; | ||
19 | }; | ||
20 | |||
16 | extern int lpt_clk_init(void); | 21 | extern int lpt_clk_init(void); |
17 | 22 | ||
18 | #endif /* __CLK_LPSS_H */ | 23 | #endif /* __CLK_LPSS_H */ |
diff --git a/include/linux/platform_data/serial-omap.h b/include/linux/platform_data/serial-omap.h index ff9b0aab5281..c860c1b314c0 100644 --- a/include/linux/platform_data/serial-omap.h +++ b/include/linux/platform_data/serial-omap.h | |||
@@ -43,8 +43,6 @@ struct omap_uart_port_info { | |||
43 | int DTR_present; | 43 | int DTR_present; |
44 | 44 | ||
45 | int (*get_context_loss_count)(struct device *); | 45 | int (*get_context_loss_count)(struct device *); |
46 | void (*set_forceidle)(struct device *); | ||
47 | void (*set_noidle)(struct device *); | ||
48 | void (*enable_wakeup)(struct device *, bool); | 46 | void (*enable_wakeup)(struct device *, bool); |
49 | }; | 47 | }; |
50 | 48 | ||
diff --git a/include/linux/rio.h b/include/linux/rio.h index a3e784278667..18e099342e6f 100644 --- a/include/linux/rio.h +++ b/include/linux/rio.h | |||
@@ -83,7 +83,6 @@ | |||
83 | 83 | ||
84 | extern struct bus_type rio_bus_type; | 84 | extern struct bus_type rio_bus_type; |
85 | extern struct device rio_bus; | 85 | extern struct device rio_bus; |
86 | extern struct list_head rio_devices; /* list of all devices */ | ||
87 | 86 | ||
88 | struct rio_mport; | 87 | struct rio_mport; |
89 | struct rio_dev; | 88 | struct rio_dev; |
@@ -237,6 +236,7 @@ enum rio_phy_type { | |||
237 | * @name: Port name string | 236 | * @name: Port name string |
238 | * @priv: Master port private data | 237 | * @priv: Master port private data |
239 | * @dma: DMA device associated with mport | 238 | * @dma: DMA device associated with mport |
239 | * @nscan: RapidIO network enumeration/discovery operations | ||
240 | */ | 240 | */ |
241 | struct rio_mport { | 241 | struct rio_mport { |
242 | struct list_head dbells; /* list of doorbell events */ | 242 | struct list_head dbells; /* list of doorbell events */ |
@@ -262,8 +262,14 @@ struct rio_mport { | |||
262 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE | 262 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE |
263 | struct dma_device dma; | 263 | struct dma_device dma; |
264 | #endif | 264 | #endif |
265 | struct rio_scan *nscan; | ||
265 | }; | 266 | }; |
266 | 267 | ||
268 | /* | ||
269 | * Enumeration/discovery control flags | ||
270 | */ | ||
271 | #define RIO_SCAN_ENUM_NO_WAIT 0x00000001 /* Do not wait for enum completed */ | ||
272 | |||
267 | struct rio_id_table { | 273 | struct rio_id_table { |
268 | u16 start; /* logical minimal id */ | 274 | u16 start; /* logical minimal id */ |
269 | u32 max; /* max number of IDs in table */ | 275 | u32 max; /* max number of IDs in table */ |
@@ -460,6 +466,16 @@ static inline struct rio_mport *dma_to_mport(struct dma_device *ddev) | |||
460 | } | 466 | } |
461 | #endif /* CONFIG_RAPIDIO_DMA_ENGINE */ | 467 | #endif /* CONFIG_RAPIDIO_DMA_ENGINE */ |
462 | 468 | ||
469 | /** | ||
470 | * struct rio_scan - RIO enumeration and discovery operations | ||
471 | * @enumerate: Callback to perform RapidIO fabric enumeration. | ||
472 | * @discover: Callback to perform RapidIO fabric discovery. | ||
473 | */ | ||
474 | struct rio_scan { | ||
475 | int (*enumerate)(struct rio_mport *mport, u32 flags); | ||
476 | int (*discover)(struct rio_mport *mport, u32 flags); | ||
477 | }; | ||
478 | |||
463 | /* Architecture and hardware-specific functions */ | 479 | /* Architecture and hardware-specific functions */ |
464 | extern int rio_register_mport(struct rio_mport *); | 480 | extern int rio_register_mport(struct rio_mport *); |
465 | extern int rio_open_inb_mbox(struct rio_mport *, void *, int, int); | 481 | extern int rio_open_inb_mbox(struct rio_mport *, void *, int, int); |
diff --git a/include/linux/rio_drv.h b/include/linux/rio_drv.h index b75c05920ab5..5059994fe297 100644 --- a/include/linux/rio_drv.h +++ b/include/linux/rio_drv.h | |||
@@ -433,5 +433,6 @@ extern u16 rio_local_get_device_id(struct rio_mport *port); | |||
433 | extern struct rio_dev *rio_get_device(u16 vid, u16 did, struct rio_dev *from); | 433 | extern struct rio_dev *rio_get_device(u16 vid, u16 did, struct rio_dev *from); |
434 | extern struct rio_dev *rio_get_asm(u16 vid, u16 did, u16 asm_vid, u16 asm_did, | 434 | extern struct rio_dev *rio_get_asm(u16 vid, u16 did, u16 asm_vid, u16 asm_did, |
435 | struct rio_dev *from); | 435 | struct rio_dev *from); |
436 | extern int rio_init_mports(void); | ||
436 | 437 | ||
437 | #endif /* LINUX_RIO_DRV_H */ | 438 | #endif /* LINUX_RIO_DRV_H */ |
diff --git a/include/linux/wait.h b/include/linux/wait.h index ac38be2692d8..1133695eb067 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h | |||
@@ -217,6 +217,8 @@ do { \ | |||
217 | if (!ret) \ | 217 | if (!ret) \ |
218 | break; \ | 218 | break; \ |
219 | } \ | 219 | } \ |
220 | if (!ret && (condition)) \ | ||
221 | ret = 1; \ | ||
220 | finish_wait(&wq, &__wait); \ | 222 | finish_wait(&wq, &__wait); \ |
221 | } while (0) | 223 | } while (0) |
222 | 224 | ||
@@ -233,8 +235,9 @@ do { \ | |||
233 | * wake_up() has to be called after changing any variable that could | 235 | * wake_up() has to be called after changing any variable that could |
234 | * change the result of the wait condition. | 236 | * change the result of the wait condition. |
235 | * | 237 | * |
236 | * The function returns 0 if the @timeout elapsed, and the remaining | 238 | * The function returns 0 if the @timeout elapsed, or the remaining |
237 | * jiffies if the condition evaluated to true before the timeout elapsed. | 239 | * jiffies (at least 1) if the @condition evaluated to %true before |
240 | * the @timeout elapsed. | ||
238 | */ | 241 | */ |
239 | #define wait_event_timeout(wq, condition, timeout) \ | 242 | #define wait_event_timeout(wq, condition, timeout) \ |
240 | ({ \ | 243 | ({ \ |
@@ -302,6 +305,8 @@ do { \ | |||
302 | ret = -ERESTARTSYS; \ | 305 | ret = -ERESTARTSYS; \ |
303 | break; \ | 306 | break; \ |
304 | } \ | 307 | } \ |
308 | if (!ret && (condition)) \ | ||
309 | ret = 1; \ | ||
305 | finish_wait(&wq, &__wait); \ | 310 | finish_wait(&wq, &__wait); \ |
306 | } while (0) | 311 | } while (0) |
307 | 312 | ||
@@ -318,9 +323,10 @@ do { \ | |||
318 | * wake_up() has to be called after changing any variable that could | 323 | * wake_up() has to be called after changing any variable that could |
319 | * change the result of the wait condition. | 324 | * change the result of the wait condition. |
320 | * | 325 | * |
321 | * The function returns 0 if the @timeout elapsed, -ERESTARTSYS if it | 326 | * Returns: |
322 | * was interrupted by a signal, and the remaining jiffies otherwise | 327 | * 0 if the @timeout elapsed, -%ERESTARTSYS if it was interrupted by |
323 | * if the condition evaluated to true before the timeout elapsed. | 328 | * a signal, or the remaining jiffies (at least 1) if the @condition |
329 | * evaluated to %true before the @timeout elapsed. | ||
324 | */ | 330 | */ |
325 | #define wait_event_interruptible_timeout(wq, condition, timeout) \ | 331 | #define wait_event_interruptible_timeout(wq, condition, timeout) \ |
326 | ({ \ | 332 | ({ \ |