diff options
Diffstat (limited to 'include/asm-ia64')
| -rw-r--r-- | include/asm-ia64/cpu.h | 2 | ||||
| -rw-r--r-- | include/asm-ia64/dma-mapping.h | 28 | ||||
| -rw-r--r-- | include/asm-ia64/dmi.h | 5 | ||||
| -rw-r--r-- | include/asm-ia64/futex.h | 2 | ||||
| -rw-r--r-- | include/asm-ia64/io.h | 5 | ||||
| -rw-r--r-- | include/asm-ia64/machvec.h | 50 | ||||
| -rw-r--r-- | include/asm-ia64/machvec_hpzx1.h | 16 | ||||
| -rw-r--r-- | include/asm-ia64/machvec_hpzx1_swiotlb.h | 16 | ||||
| -rw-r--r-- | include/asm-ia64/machvec_sn2.h | 16 | ||||
| -rw-r--r-- | include/asm-ia64/thread_info.h | 16 | ||||
| -rw-r--r-- | include/asm-ia64/topology.h | 2 | ||||
| -rw-r--r-- | include/asm-ia64/types.h | 31 | ||||
| -rw-r--r-- | include/asm-ia64/unaligned.h | 7 | ||||
| -rw-r--r-- | include/asm-ia64/uncached.h | 6 |
14 files changed, 110 insertions, 92 deletions
diff --git a/include/asm-ia64/cpu.h b/include/asm-ia64/cpu.h index e87fa3210a2b..fcca30b9f110 100644 --- a/include/asm-ia64/cpu.h +++ b/include/asm-ia64/cpu.h | |||
| @@ -14,8 +14,8 @@ DECLARE_PER_CPU(struct ia64_cpu, cpu_devices); | |||
| 14 | 14 | ||
| 15 | DECLARE_PER_CPU(int, cpu_state); | 15 | DECLARE_PER_CPU(int, cpu_state); |
| 16 | 16 | ||
| 17 | extern int arch_register_cpu(int num); | ||
| 18 | #ifdef CONFIG_HOTPLUG_CPU | 17 | #ifdef CONFIG_HOTPLUG_CPU |
| 18 | extern int arch_register_cpu(int num); | ||
| 19 | extern void arch_unregister_cpu(int); | 19 | extern void arch_unregister_cpu(int); |
| 20 | #endif | 20 | #endif |
| 21 | 21 | ||
diff --git a/include/asm-ia64/dma-mapping.h b/include/asm-ia64/dma-mapping.h index f1735a22d0ea..9f0df9bd46b7 100644 --- a/include/asm-ia64/dma-mapping.h +++ b/include/asm-ia64/dma-mapping.h | |||
| @@ -23,10 +23,30 @@ dma_free_noncoherent(struct device *dev, size_t size, void *cpu_addr, | |||
| 23 | { | 23 | { |
| 24 | dma_free_coherent(dev, size, cpu_addr, dma_handle); | 24 | dma_free_coherent(dev, size, cpu_addr, dma_handle); |
| 25 | } | 25 | } |
| 26 | #define dma_map_single platform_dma_map_single | 26 | #define dma_map_single_attrs platform_dma_map_single_attrs |
| 27 | #define dma_map_sg platform_dma_map_sg | 27 | static inline dma_addr_t dma_map_single(struct device *dev, void *cpu_addr, |
| 28 | #define dma_unmap_single platform_dma_unmap_single | 28 | size_t size, int dir) |
| 29 | #define dma_unmap_sg platform_dma_unmap_sg | 29 | { |
| 30 | return dma_map_single_attrs(dev, cpu_addr, size, dir, NULL); | ||
| 31 | } | ||
| 32 | #define dma_map_sg_attrs platform_dma_map_sg_attrs | ||
| 33 | static inline int dma_map_sg(struct device *dev, struct scatterlist *sgl, | ||
| 34 | int nents, int dir) | ||
| 35 | { | ||
| 36 | return dma_map_sg_attrs(dev, sgl, nents, dir, NULL); | ||
| 37 | } | ||
| 38 | #define dma_unmap_single_attrs platform_dma_unmap_single_attrs | ||
| 39 | static inline void dma_unmap_single(struct device *dev, dma_addr_t cpu_addr, | ||
| 40 | size_t size, int dir) | ||
| 41 | { | ||
| 42 | return dma_unmap_single_attrs(dev, cpu_addr, size, dir, NULL); | ||
| 43 | } | ||
| 44 | #define dma_unmap_sg_attrs platform_dma_unmap_sg_attrs | ||
| 45 | static inline void dma_unmap_sg(struct device *dev, struct scatterlist *sgl, | ||
| 46 | int nents, int dir) | ||
| 47 | { | ||
| 48 | return dma_unmap_sg_attrs(dev, sgl, nents, dir, NULL); | ||
| 49 | } | ||
| 30 | #define dma_sync_single_for_cpu platform_dma_sync_single_for_cpu | 50 | #define dma_sync_single_for_cpu platform_dma_sync_single_for_cpu |
| 31 | #define dma_sync_sg_for_cpu platform_dma_sync_sg_for_cpu | 51 | #define dma_sync_sg_for_cpu platform_dma_sync_sg_for_cpu |
| 32 | #define dma_sync_single_for_device platform_dma_sync_single_for_device | 52 | #define dma_sync_single_for_device platform_dma_sync_single_for_device |
diff --git a/include/asm-ia64/dmi.h b/include/asm-ia64/dmi.h index f3efaa229525..00eb1b130b63 100644 --- a/include/asm-ia64/dmi.h +++ b/include/asm-ia64/dmi.h | |||
| @@ -3,4 +3,9 @@ | |||
| 3 | 3 | ||
| 4 | #include <asm/io.h> | 4 | #include <asm/io.h> |
| 5 | 5 | ||
| 6 | /* Use normal IO mappings for DMI */ | ||
| 7 | #define dmi_ioremap ioremap | ||
| 8 | #define dmi_iounmap(x,l) iounmap(x) | ||
| 9 | #define dmi_alloc(l) kmalloc(l, GFP_ATOMIC) | ||
| 10 | |||
| 6 | #endif | 11 | #endif |
diff --git a/include/asm-ia64/futex.h b/include/asm-ia64/futex.h index 8a98a2654139..c7f0f062239c 100644 --- a/include/asm-ia64/futex.h +++ b/include/asm-ia64/futex.h | |||
| @@ -2,9 +2,9 @@ | |||
| 2 | #define _ASM_FUTEX_H | 2 | #define _ASM_FUTEX_H |
| 3 | 3 | ||
| 4 | #include <linux/futex.h> | 4 | #include <linux/futex.h> |
| 5 | #include <linux/uaccess.h> | ||
| 5 | #include <asm/errno.h> | 6 | #include <asm/errno.h> |
| 6 | #include <asm/system.h> | 7 | #include <asm/system.h> |
| 7 | #include <asm/uaccess.h> | ||
| 8 | 8 | ||
| 9 | #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \ | 9 | #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \ |
| 10 | do { \ | 10 | do { \ |
diff --git a/include/asm-ia64/io.h b/include/asm-ia64/io.h index 4ebed77aa472..260a85ac9d6a 100644 --- a/include/asm-ia64/io.h +++ b/include/asm-ia64/io.h | |||
| @@ -423,11 +423,6 @@ extern void __iomem * ioremap(unsigned long offset, unsigned long size); | |||
| 423 | extern void __iomem * ioremap_nocache (unsigned long offset, unsigned long size); | 423 | extern void __iomem * ioremap_nocache (unsigned long offset, unsigned long size); |
| 424 | extern void iounmap (volatile void __iomem *addr); | 424 | extern void iounmap (volatile void __iomem *addr); |
| 425 | 425 | ||
| 426 | /* Use normal IO mappings for DMI */ | ||
| 427 | #define dmi_ioremap ioremap | ||
| 428 | #define dmi_iounmap(x,l) iounmap(x) | ||
| 429 | #define dmi_alloc(l) kmalloc(l, GFP_ATOMIC) | ||
| 430 | |||
| 431 | /* | 426 | /* |
| 432 | * String version of IO memory access ops: | 427 | * String version of IO memory access ops: |
| 433 | */ | 428 | */ |
diff --git a/include/asm-ia64/machvec.h b/include/asm-ia64/machvec.h index c201a2020aa4..9f020eb825c5 100644 --- a/include/asm-ia64/machvec.h +++ b/include/asm-ia64/machvec.h | |||
| @@ -22,6 +22,7 @@ struct pci_bus; | |||
| 22 | struct task_struct; | 22 | struct task_struct; |
| 23 | struct pci_dev; | 23 | struct pci_dev; |
| 24 | struct msi_desc; | 24 | struct msi_desc; |
| 25 | struct dma_attrs; | ||
| 25 | 26 | ||
| 26 | typedef void ia64_mv_setup_t (char **); | 27 | typedef void ia64_mv_setup_t (char **); |
| 27 | typedef void ia64_mv_cpu_init_t (void); | 28 | typedef void ia64_mv_cpu_init_t (void); |
| @@ -56,6 +57,11 @@ typedef void ia64_mv_dma_sync_sg_for_device (struct device *, struct scatterlist | |||
| 56 | typedef int ia64_mv_dma_mapping_error (dma_addr_t dma_addr); | 57 | typedef int ia64_mv_dma_mapping_error (dma_addr_t dma_addr); |
| 57 | typedef int ia64_mv_dma_supported (struct device *, u64); | 58 | typedef int ia64_mv_dma_supported (struct device *, u64); |
| 58 | 59 | ||
| 60 | typedef dma_addr_t ia64_mv_dma_map_single_attrs (struct device *, void *, size_t, int, struct dma_attrs *); | ||
| 61 | typedef void ia64_mv_dma_unmap_single_attrs (struct device *, dma_addr_t, size_t, int, struct dma_attrs *); | ||
| 62 | typedef int ia64_mv_dma_map_sg_attrs (struct device *, struct scatterlist *, int, int, struct dma_attrs *); | ||
| 63 | typedef void ia64_mv_dma_unmap_sg_attrs (struct device *, struct scatterlist *, int, int, struct dma_attrs *); | ||
| 64 | |||
| 59 | /* | 65 | /* |
| 60 | * WARNING: The legacy I/O space is _architected_. Platforms are | 66 | * WARNING: The legacy I/O space is _architected_. Platforms are |
| 61 | * expected to follow this architected model (see Section 10.7 in the | 67 | * expected to follow this architected model (see Section 10.7 in the |
| @@ -136,10 +142,10 @@ extern void machvec_tlb_migrate_finish (struct mm_struct *); | |||
| 136 | # define platform_dma_init ia64_mv.dma_init | 142 | # define platform_dma_init ia64_mv.dma_init |
| 137 | # define platform_dma_alloc_coherent ia64_mv.dma_alloc_coherent | 143 | # define platform_dma_alloc_coherent ia64_mv.dma_alloc_coherent |
| 138 | # define platform_dma_free_coherent ia64_mv.dma_free_coherent | 144 | # define platform_dma_free_coherent ia64_mv.dma_free_coherent |
| 139 | # define platform_dma_map_single ia64_mv.dma_map_single | 145 | # define platform_dma_map_single_attrs ia64_mv.dma_map_single_attrs |
| 140 | # define platform_dma_unmap_single ia64_mv.dma_unmap_single | 146 | # define platform_dma_unmap_single_attrs ia64_mv.dma_unmap_single_attrs |
| 141 | # define platform_dma_map_sg ia64_mv.dma_map_sg | 147 | # define platform_dma_map_sg_attrs ia64_mv.dma_map_sg_attrs |
| 142 | # define platform_dma_unmap_sg ia64_mv.dma_unmap_sg | 148 | # define platform_dma_unmap_sg_attrs ia64_mv.dma_unmap_sg_attrs |
| 143 | # define platform_dma_sync_single_for_cpu ia64_mv.dma_sync_single_for_cpu | 149 | # define platform_dma_sync_single_for_cpu ia64_mv.dma_sync_single_for_cpu |
| 144 | # define platform_dma_sync_sg_for_cpu ia64_mv.dma_sync_sg_for_cpu | 150 | # define platform_dma_sync_sg_for_cpu ia64_mv.dma_sync_sg_for_cpu |
| 145 | # define platform_dma_sync_single_for_device ia64_mv.dma_sync_single_for_device | 151 | # define platform_dma_sync_single_for_device ia64_mv.dma_sync_single_for_device |
| @@ -190,10 +196,10 @@ struct ia64_machine_vector { | |||
| 190 | ia64_mv_dma_init *dma_init; | 196 | ia64_mv_dma_init *dma_init; |
| 191 | ia64_mv_dma_alloc_coherent *dma_alloc_coherent; | 197 | ia64_mv_dma_alloc_coherent *dma_alloc_coherent; |
| 192 | ia64_mv_dma_free_coherent *dma_free_coherent; | 198 | ia64_mv_dma_free_coherent *dma_free_coherent; |
| 193 | ia64_mv_dma_map_single *dma_map_single; | 199 | ia64_mv_dma_map_single_attrs *dma_map_single_attrs; |
| 194 | ia64_mv_dma_unmap_single *dma_unmap_single; | 200 | ia64_mv_dma_unmap_single_attrs *dma_unmap_single_attrs; |
| 195 | ia64_mv_dma_map_sg *dma_map_sg; | 201 | ia64_mv_dma_map_sg_attrs *dma_map_sg_attrs; |
| 196 | ia64_mv_dma_unmap_sg *dma_unmap_sg; | 202 | ia64_mv_dma_unmap_sg_attrs *dma_unmap_sg_attrs; |
| 197 | ia64_mv_dma_sync_single_for_cpu *dma_sync_single_for_cpu; | 203 | ia64_mv_dma_sync_single_for_cpu *dma_sync_single_for_cpu; |
| 198 | ia64_mv_dma_sync_sg_for_cpu *dma_sync_sg_for_cpu; | 204 | ia64_mv_dma_sync_sg_for_cpu *dma_sync_sg_for_cpu; |
| 199 | ia64_mv_dma_sync_single_for_device *dma_sync_single_for_device; | 205 | ia64_mv_dma_sync_single_for_device *dma_sync_single_for_device; |
| @@ -240,10 +246,10 @@ struct ia64_machine_vector { | |||
| 240 | platform_dma_init, \ | 246 | platform_dma_init, \ |
| 241 | platform_dma_alloc_coherent, \ | 247 | platform_dma_alloc_coherent, \ |
| 242 | platform_dma_free_coherent, \ | 248 | platform_dma_free_coherent, \ |
| 243 | platform_dma_map_single, \ | 249 | platform_dma_map_single_attrs, \ |
| 244 | platform_dma_unmap_single, \ | 250 | platform_dma_unmap_single_attrs, \ |
| 245 | platform_dma_map_sg, \ | 251 | platform_dma_map_sg_attrs, \ |
| 246 | platform_dma_unmap_sg, \ | 252 | platform_dma_unmap_sg_attrs, \ |
| 247 | platform_dma_sync_single_for_cpu, \ | 253 | platform_dma_sync_single_for_cpu, \ |
| 248 | platform_dma_sync_sg_for_cpu, \ | 254 | platform_dma_sync_sg_for_cpu, \ |
| 249 | platform_dma_sync_single_for_device, \ | 255 | platform_dma_sync_single_for_device, \ |
| @@ -292,9 +298,13 @@ extern ia64_mv_dma_init swiotlb_init; | |||
| 292 | extern ia64_mv_dma_alloc_coherent swiotlb_alloc_coherent; | 298 | extern ia64_mv_dma_alloc_coherent swiotlb_alloc_coherent; |
| 293 | extern ia64_mv_dma_free_coherent swiotlb_free_coherent; | 299 | extern ia64_mv_dma_free_coherent swiotlb_free_coherent; |
| 294 | extern ia64_mv_dma_map_single swiotlb_map_single; | 300 | extern ia64_mv_dma_map_single swiotlb_map_single; |
| 301 | extern ia64_mv_dma_map_single_attrs swiotlb_map_single_attrs; | ||
| 295 | extern ia64_mv_dma_unmap_single swiotlb_unmap_single; | 302 | extern ia64_mv_dma_unmap_single swiotlb_unmap_single; |
| 303 | extern ia64_mv_dma_unmap_single_attrs swiotlb_unmap_single_attrs; | ||
| 296 | extern ia64_mv_dma_map_sg swiotlb_map_sg; | 304 | extern ia64_mv_dma_map_sg swiotlb_map_sg; |
| 305 | extern ia64_mv_dma_map_sg_attrs swiotlb_map_sg_attrs; | ||
| 297 | extern ia64_mv_dma_unmap_sg swiotlb_unmap_sg; | 306 | extern ia64_mv_dma_unmap_sg swiotlb_unmap_sg; |
| 307 | extern ia64_mv_dma_unmap_sg_attrs swiotlb_unmap_sg_attrs; | ||
| 298 | extern ia64_mv_dma_sync_single_for_cpu swiotlb_sync_single_for_cpu; | 308 | extern ia64_mv_dma_sync_single_for_cpu swiotlb_sync_single_for_cpu; |
| 299 | extern ia64_mv_dma_sync_sg_for_cpu swiotlb_sync_sg_for_cpu; | 309 | extern ia64_mv_dma_sync_sg_for_cpu swiotlb_sync_sg_for_cpu; |
| 300 | extern ia64_mv_dma_sync_single_for_device swiotlb_sync_single_for_device; | 310 | extern ia64_mv_dma_sync_single_for_device swiotlb_sync_single_for_device; |
| @@ -340,17 +350,17 @@ extern ia64_mv_dma_supported swiotlb_dma_supported; | |||
| 340 | #ifndef platform_dma_free_coherent | 350 | #ifndef platform_dma_free_coherent |
| 341 | # define platform_dma_free_coherent swiotlb_free_coherent | 351 | # define platform_dma_free_coherent swiotlb_free_coherent |
| 342 | #endif | 352 | #endif |
| 343 | #ifndef platform_dma_map_single | 353 | #ifndef platform_dma_map_single_attrs |
| 344 | # define platform_dma_map_single swiotlb_map_single | 354 | # define platform_dma_map_single_attrs swiotlb_map_single_attrs |
| 345 | #endif | 355 | #endif |
| 346 | #ifndef platform_dma_unmap_single | 356 | #ifndef platform_dma_unmap_single_attrs |
| 347 | # define platform_dma_unmap_single swiotlb_unmap_single | 357 | # define platform_dma_unmap_single_attrs swiotlb_unmap_single_attrs |
| 348 | #endif | 358 | #endif |
| 349 | #ifndef platform_dma_map_sg | 359 | #ifndef platform_dma_map_sg_attrs |
| 350 | # define platform_dma_map_sg swiotlb_map_sg | 360 | # define platform_dma_map_sg_attrs swiotlb_map_sg_attrs |
| 351 | #endif | 361 | #endif |
| 352 | #ifndef platform_dma_unmap_sg | 362 | #ifndef platform_dma_unmap_sg_attrs |
| 353 | # define platform_dma_unmap_sg swiotlb_unmap_sg | 363 | # define platform_dma_unmap_sg_attrs swiotlb_unmap_sg_attrs |
| 354 | #endif | 364 | #endif |
| 355 | #ifndef platform_dma_sync_single_for_cpu | 365 | #ifndef platform_dma_sync_single_for_cpu |
| 356 | # define platform_dma_sync_single_for_cpu swiotlb_sync_single_for_cpu | 366 | # define platform_dma_sync_single_for_cpu swiotlb_sync_single_for_cpu |
diff --git a/include/asm-ia64/machvec_hpzx1.h b/include/asm-ia64/machvec_hpzx1.h index e90daf9ce340..2f57f5144b9f 100644 --- a/include/asm-ia64/machvec_hpzx1.h +++ b/include/asm-ia64/machvec_hpzx1.h | |||
| @@ -4,10 +4,10 @@ | |||
| 4 | extern ia64_mv_setup_t dig_setup; | 4 | extern ia64_mv_setup_t dig_setup; |
| 5 | extern ia64_mv_dma_alloc_coherent sba_alloc_coherent; | 5 | extern ia64_mv_dma_alloc_coherent sba_alloc_coherent; |
| 6 | extern ia64_mv_dma_free_coherent sba_free_coherent; | 6 | extern ia64_mv_dma_free_coherent sba_free_coherent; |
| 7 | extern ia64_mv_dma_map_single sba_map_single; | 7 | extern ia64_mv_dma_map_single_attrs sba_map_single_attrs; |
| 8 | extern ia64_mv_dma_unmap_single sba_unmap_single; | 8 | extern ia64_mv_dma_unmap_single_attrs sba_unmap_single_attrs; |
| 9 | extern ia64_mv_dma_map_sg sba_map_sg; | 9 | extern ia64_mv_dma_map_sg_attrs sba_map_sg_attrs; |
| 10 | extern ia64_mv_dma_unmap_sg sba_unmap_sg; | 10 | extern ia64_mv_dma_unmap_sg_attrs sba_unmap_sg_attrs; |
| 11 | extern ia64_mv_dma_supported sba_dma_supported; | 11 | extern ia64_mv_dma_supported sba_dma_supported; |
| 12 | extern ia64_mv_dma_mapping_error sba_dma_mapping_error; | 12 | extern ia64_mv_dma_mapping_error sba_dma_mapping_error; |
| 13 | 13 | ||
| @@ -23,10 +23,10 @@ extern ia64_mv_dma_mapping_error sba_dma_mapping_error; | |||
| 23 | #define platform_dma_init machvec_noop | 23 | #define platform_dma_init machvec_noop |
| 24 | #define platform_dma_alloc_coherent sba_alloc_coherent | 24 | #define platform_dma_alloc_coherent sba_alloc_coherent |
| 25 | #define platform_dma_free_coherent sba_free_coherent | 25 | #define platform_dma_free_coherent sba_free_coherent |
| 26 | #define platform_dma_map_single sba_map_single | 26 | #define platform_dma_map_single_attrs sba_map_single_attrs |
| 27 | #define platform_dma_unmap_single sba_unmap_single | 27 | #define platform_dma_unmap_single_attrs sba_unmap_single_attrs |
| 28 | #define platform_dma_map_sg sba_map_sg | 28 | #define platform_dma_map_sg_attrs sba_map_sg_attrs |
| 29 | #define platform_dma_unmap_sg sba_unmap_sg | 29 | #define platform_dma_unmap_sg_attrs sba_unmap_sg_attrs |
| 30 | #define platform_dma_sync_single_for_cpu machvec_dma_sync_single | 30 | #define platform_dma_sync_single_for_cpu machvec_dma_sync_single |
| 31 | #define platform_dma_sync_sg_for_cpu machvec_dma_sync_sg | 31 | #define platform_dma_sync_sg_for_cpu machvec_dma_sync_sg |
| 32 | #define platform_dma_sync_single_for_device machvec_dma_sync_single | 32 | #define platform_dma_sync_single_for_device machvec_dma_sync_single |
diff --git a/include/asm-ia64/machvec_hpzx1_swiotlb.h b/include/asm-ia64/machvec_hpzx1_swiotlb.h index f00a34a148ff..a842cdda827b 100644 --- a/include/asm-ia64/machvec_hpzx1_swiotlb.h +++ b/include/asm-ia64/machvec_hpzx1_swiotlb.h | |||
| @@ -4,10 +4,10 @@ | |||
| 4 | extern ia64_mv_setup_t dig_setup; | 4 | extern ia64_mv_setup_t dig_setup; |
| 5 | extern ia64_mv_dma_alloc_coherent hwsw_alloc_coherent; | 5 | extern ia64_mv_dma_alloc_coherent hwsw_alloc_coherent; |
| 6 | extern ia64_mv_dma_free_coherent hwsw_free_coherent; | 6 | extern ia64_mv_dma_free_coherent hwsw_free_coherent; |
| 7 | extern ia64_mv_dma_map_single hwsw_map_single; | 7 | extern ia64_mv_dma_map_single_attrs hwsw_map_single_attrs; |
| 8 | extern ia64_mv_dma_unmap_single hwsw_unmap_single; | 8 | extern ia64_mv_dma_unmap_single_attrs hwsw_unmap_single_attrs; |
| 9 | extern ia64_mv_dma_map_sg hwsw_map_sg; | 9 | extern ia64_mv_dma_map_sg_attrs hwsw_map_sg_attrs; |
| 10 | extern ia64_mv_dma_unmap_sg hwsw_unmap_sg; | 10 | extern ia64_mv_dma_unmap_sg_attrs hwsw_unmap_sg_attrs; |
| 11 | extern ia64_mv_dma_supported hwsw_dma_supported; | 11 | extern ia64_mv_dma_supported hwsw_dma_supported; |
| 12 | extern ia64_mv_dma_mapping_error hwsw_dma_mapping_error; | 12 | extern ia64_mv_dma_mapping_error hwsw_dma_mapping_error; |
| 13 | extern ia64_mv_dma_sync_single_for_cpu hwsw_sync_single_for_cpu; | 13 | extern ia64_mv_dma_sync_single_for_cpu hwsw_sync_single_for_cpu; |
| @@ -28,10 +28,10 @@ extern ia64_mv_dma_sync_sg_for_device hwsw_sync_sg_for_device; | |||
| 28 | #define platform_dma_init machvec_noop | 28 | #define platform_dma_init machvec_noop |
| 29 | #define platform_dma_alloc_coherent hwsw_alloc_coherent | 29 | #define platform_dma_alloc_coherent hwsw_alloc_coherent |
| 30 | #define platform_dma_free_coherent hwsw_free_coherent | 30 | #define platform_dma_free_coherent hwsw_free_coherent |
| 31 | #define platform_dma_map_single hwsw_map_single | 31 | #define platform_dma_map_single_attrs hwsw_map_single_attrs |
| 32 | #define platform_dma_unmap_single hwsw_unmap_single | 32 | #define platform_dma_unmap_single_attrs hwsw_unmap_single_attrs |
| 33 | #define platform_dma_map_sg hwsw_map_sg | 33 | #define platform_dma_map_sg_attrs hwsw_map_sg_attrs |
| 34 | #define platform_dma_unmap_sg hwsw_unmap_sg | 34 | #define platform_dma_unmap_sg_attrs hwsw_unmap_sg_attrs |
| 35 | #define platform_dma_supported hwsw_dma_supported | 35 | #define platform_dma_supported hwsw_dma_supported |
| 36 | #define platform_dma_mapping_error hwsw_dma_mapping_error | 36 | #define platform_dma_mapping_error hwsw_dma_mapping_error |
| 37 | #define platform_dma_sync_single_for_cpu hwsw_sync_single_for_cpu | 37 | #define platform_dma_sync_single_for_cpu hwsw_sync_single_for_cpu |
diff --git a/include/asm-ia64/machvec_sn2.h b/include/asm-ia64/machvec_sn2.h index 61439a7f5b08..781308ea7b88 100644 --- a/include/asm-ia64/machvec_sn2.h +++ b/include/asm-ia64/machvec_sn2.h | |||
| @@ -57,10 +57,10 @@ extern ia64_mv_readl_t __sn_readl_relaxed; | |||
| 57 | extern ia64_mv_readq_t __sn_readq_relaxed; | 57 | extern ia64_mv_readq_t __sn_readq_relaxed; |
| 58 | extern ia64_mv_dma_alloc_coherent sn_dma_alloc_coherent; | 58 | extern ia64_mv_dma_alloc_coherent sn_dma_alloc_coherent; |
| 59 | extern ia64_mv_dma_free_coherent sn_dma_free_coherent; | 59 | extern ia64_mv_dma_free_coherent sn_dma_free_coherent; |
| 60 | extern ia64_mv_dma_map_single sn_dma_map_single; | 60 | extern ia64_mv_dma_map_single_attrs sn_dma_map_single_attrs; |
| 61 | extern ia64_mv_dma_unmap_single sn_dma_unmap_single; | 61 | extern ia64_mv_dma_unmap_single_attrs sn_dma_unmap_single_attrs; |
| 62 | extern ia64_mv_dma_map_sg sn_dma_map_sg; | 62 | extern ia64_mv_dma_map_sg_attrs sn_dma_map_sg_attrs; |
| 63 | extern ia64_mv_dma_unmap_sg sn_dma_unmap_sg; | 63 | extern ia64_mv_dma_unmap_sg_attrs sn_dma_unmap_sg_attrs; |
| 64 | extern ia64_mv_dma_sync_single_for_cpu sn_dma_sync_single_for_cpu; | 64 | extern ia64_mv_dma_sync_single_for_cpu sn_dma_sync_single_for_cpu; |
| 65 | extern ia64_mv_dma_sync_sg_for_cpu sn_dma_sync_sg_for_cpu; | 65 | extern ia64_mv_dma_sync_sg_for_cpu sn_dma_sync_sg_for_cpu; |
| 66 | extern ia64_mv_dma_sync_single_for_device sn_dma_sync_single_for_device; | 66 | extern ia64_mv_dma_sync_single_for_device sn_dma_sync_single_for_device; |
| @@ -113,10 +113,10 @@ extern ia64_mv_pci_fixup_bus_t sn_pci_fixup_bus; | |||
| 113 | #define platform_dma_init machvec_noop | 113 | #define platform_dma_init machvec_noop |
| 114 | #define platform_dma_alloc_coherent sn_dma_alloc_coherent | 114 | #define platform_dma_alloc_coherent sn_dma_alloc_coherent |
| 115 | #define platform_dma_free_coherent sn_dma_free_coherent | 115 | #define platform_dma_free_coherent sn_dma_free_coherent |
| 116 | #define platform_dma_map_single sn_dma_map_single | 116 | #define platform_dma_map_single_attrs sn_dma_map_single_attrs |
| 117 | #define platform_dma_unmap_single sn_dma_unmap_single | 117 | #define platform_dma_unmap_single_attrs sn_dma_unmap_single_attrs |
| 118 | #define platform_dma_map_sg sn_dma_map_sg | 118 | #define platform_dma_map_sg_attrs sn_dma_map_sg_attrs |
| 119 | #define platform_dma_unmap_sg sn_dma_unmap_sg | 119 | #define platform_dma_unmap_sg_attrs sn_dma_unmap_sg_attrs |
| 120 | #define platform_dma_sync_single_for_cpu sn_dma_sync_single_for_cpu | 120 | #define platform_dma_sync_single_for_cpu sn_dma_sync_single_for_cpu |
| 121 | #define platform_dma_sync_sg_for_cpu sn_dma_sync_sg_for_cpu | 121 | #define platform_dma_sync_sg_for_cpu sn_dma_sync_sg_for_cpu |
| 122 | #define platform_dma_sync_single_for_device sn_dma_sync_single_for_device | 122 | #define platform_dma_sync_single_for_device sn_dma_sync_single_for_device |
diff --git a/include/asm-ia64/thread_info.h b/include/asm-ia64/thread_info.h index 6da8069a0f77..2422ac61658a 100644 --- a/include/asm-ia64/thread_info.h +++ b/include/asm-ia64/thread_info.h | |||
| @@ -101,7 +101,6 @@ extern void tsk_clear_notify_resume(struct task_struct *tsk); | |||
| 101 | #define TIF_SYSCALL_TRACE 2 /* syscall trace active */ | 101 | #define TIF_SYSCALL_TRACE 2 /* syscall trace active */ |
| 102 | #define TIF_SYSCALL_AUDIT 3 /* syscall auditing active */ | 102 | #define TIF_SYSCALL_AUDIT 3 /* syscall auditing active */ |
| 103 | #define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */ | 103 | #define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */ |
| 104 | #define TIF_RESTORE_SIGMASK 5 /* restore signal mask in do_signal() */ | ||
| 105 | #define TIF_NOTIFY_RESUME 6 /* resumption notification requested */ | 104 | #define TIF_NOTIFY_RESUME 6 /* resumption notification requested */ |
| 106 | #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ | 105 | #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ |
| 107 | #define TIF_MEMDIE 17 | 106 | #define TIF_MEMDIE 17 |
| @@ -114,7 +113,6 @@ extern void tsk_clear_notify_resume(struct task_struct *tsk); | |||
| 114 | #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) | 113 | #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) |
| 115 | #define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP) | 114 | #define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP) |
| 116 | #define _TIF_SYSCALL_TRACEAUDIT (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP) | 115 | #define _TIF_SYSCALL_TRACEAUDIT (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP) |
| 117 | #define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK) | ||
| 118 | #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) | 116 | #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) |
| 119 | #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) | 117 | #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) |
| 120 | #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) | 118 | #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) |
| @@ -126,13 +124,23 @@ extern void tsk_clear_notify_resume(struct task_struct *tsk); | |||
| 126 | 124 | ||
| 127 | /* "work to do on user-return" bits */ | 125 | /* "work to do on user-return" bits */ |
| 128 | #define TIF_ALLWORK_MASK (_TIF_SIGPENDING|_TIF_NOTIFY_RESUME|_TIF_SYSCALL_AUDIT|\ | 126 | #define TIF_ALLWORK_MASK (_TIF_SIGPENDING|_TIF_NOTIFY_RESUME|_TIF_SYSCALL_AUDIT|\ |
| 129 | _TIF_NEED_RESCHED| _TIF_SYSCALL_TRACE|\ | 127 | _TIF_NEED_RESCHED|_TIF_SYSCALL_TRACE) |
| 130 | _TIF_RESTORE_SIGMASK) | ||
| 131 | /* like TIF_ALLWORK_BITS but sans TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT */ | 128 | /* like TIF_ALLWORK_BITS but sans TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT */ |
| 132 | #define TIF_WORK_MASK (TIF_ALLWORK_MASK&~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT)) | 129 | #define TIF_WORK_MASK (TIF_ALLWORK_MASK&~(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT)) |
| 133 | 130 | ||
| 134 | #define TS_POLLING 1 /* true if in idle loop and not sleeping */ | 131 | #define TS_POLLING 1 /* true if in idle loop and not sleeping */ |
| 132 | #define TS_RESTORE_SIGMASK 2 /* restore signal mask in do_signal() */ | ||
| 135 | 133 | ||
| 136 | #define tsk_is_polling(t) (task_thread_info(t)->status & TS_POLLING) | 134 | #define tsk_is_polling(t) (task_thread_info(t)->status & TS_POLLING) |
| 137 | 135 | ||
| 136 | #ifndef __ASSEMBLY__ | ||
| 137 | #define HAVE_SET_RESTORE_SIGMASK 1 | ||
| 138 | static inline void set_restore_sigmask(void) | ||
| 139 | { | ||
| 140 | struct thread_info *ti = current_thread_info(); | ||
| 141 | ti->status |= TS_RESTORE_SIGMASK; | ||
| 142 | set_bit(TIF_SIGPENDING, &ti->flags); | ||
| 143 | } | ||
| 144 | #endif /* !__ASSEMBLY__ */ | ||
| 145 | |||
| 138 | #endif /* _ASM_IA64_THREAD_INFO_H */ | 146 | #endif /* _ASM_IA64_THREAD_INFO_H */ |
diff --git a/include/asm-ia64/topology.h b/include/asm-ia64/topology.h index f2f72ef2a897..32863b3bb1d3 100644 --- a/include/asm-ia64/topology.h +++ b/include/asm-ia64/topology.h | |||
| @@ -116,6 +116,8 @@ void build_cpu_to_node_map(void); | |||
| 116 | #define smt_capable() (smp_num_siblings > 1) | 116 | #define smt_capable() (smp_num_siblings > 1) |
| 117 | #endif | 117 | #endif |
| 118 | 118 | ||
| 119 | extern void arch_fix_phys_package_id(int num, u32 slot); | ||
| 120 | |||
| 119 | #define pcibus_to_cpumask(bus) (pcibus_to_node(bus) == -1 ? \ | 121 | #define pcibus_to_cpumask(bus) (pcibus_to_node(bus) == -1 ? \ |
| 120 | CPU_MASK_ALL : \ | 122 | CPU_MASK_ALL : \ |
| 121 | node_to_cpumask(pcibus_to_node(bus)) \ | 123 | node_to_cpumask(pcibus_to_node(bus)) \ |
diff --git a/include/asm-ia64/types.h b/include/asm-ia64/types.h index 902850d12424..e36b3716e718 100644 --- a/include/asm-ia64/types.h +++ b/include/asm-ia64/types.h | |||
| @@ -13,6 +13,8 @@ | |||
| 13 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co | 13 | * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co |
| 14 | */ | 14 | */ |
| 15 | 15 | ||
| 16 | #include <asm-generic/int-l64.h> | ||
| 17 | |||
| 16 | #ifdef __ASSEMBLY__ | 18 | #ifdef __ASSEMBLY__ |
| 17 | # define __IA64_UL(x) (x) | 19 | # define __IA64_UL(x) (x) |
| 18 | # define __IA64_UL_CONST(x) x | 20 | # define __IA64_UL_CONST(x) x |
| @@ -28,39 +30,10 @@ | |||
| 28 | typedef unsigned int umode_t; | 30 | typedef unsigned int umode_t; |
| 29 | 31 | ||
| 30 | /* | 32 | /* |
| 31 | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | ||
| 32 | * header files exported to user space | ||
| 33 | */ | ||
| 34 | |||
| 35 | typedef __signed__ char __s8; | ||
| 36 | typedef unsigned char __u8; | ||
| 37 | |||
| 38 | typedef __signed__ short __s16; | ||
| 39 | typedef unsigned short __u16; | ||
| 40 | |||
| 41 | typedef __signed__ int __s32; | ||
| 42 | typedef unsigned int __u32; | ||
| 43 | |||
| 44 | typedef __signed__ long __s64; | ||
| 45 | typedef unsigned long __u64; | ||
| 46 | |||
| 47 | /* | ||
| 48 | * These aren't exported outside the kernel to avoid name space clashes | 33 | * These aren't exported outside the kernel to avoid name space clashes |
| 49 | */ | 34 | */ |
| 50 | # ifdef __KERNEL__ | 35 | # ifdef __KERNEL__ |
| 51 | 36 | ||
| 52 | typedef __s8 s8; | ||
| 53 | typedef __u8 u8; | ||
| 54 | |||
| 55 | typedef __s16 s16; | ||
| 56 | typedef __u16 u16; | ||
| 57 | |||
| 58 | typedef __s32 s32; | ||
| 59 | typedef __u32 u32; | ||
| 60 | |||
| 61 | typedef __s64 s64; | ||
| 62 | typedef __u64 u64; | ||
| 63 | |||
| 64 | #define BITS_PER_LONG 64 | 37 | #define BITS_PER_LONG 64 |
| 65 | 38 | ||
| 66 | /* DMA addresses are 64-bits wide, in general. */ | 39 | /* DMA addresses are 64-bits wide, in general. */ |
diff --git a/include/asm-ia64/unaligned.h b/include/asm-ia64/unaligned.h index bb8559888103..7bddc7f58584 100644 --- a/include/asm-ia64/unaligned.h +++ b/include/asm-ia64/unaligned.h | |||
| @@ -1,6 +1,11 @@ | |||
| 1 | #ifndef _ASM_IA64_UNALIGNED_H | 1 | #ifndef _ASM_IA64_UNALIGNED_H |
| 2 | #define _ASM_IA64_UNALIGNED_H | 2 | #define _ASM_IA64_UNALIGNED_H |
| 3 | 3 | ||
| 4 | #include <asm-generic/unaligned.h> | 4 | #include <linux/unaligned/le_struct.h> |
| 5 | #include <linux/unaligned/be_byteshift.h> | ||
| 6 | #include <linux/unaligned/generic.h> | ||
| 7 | |||
| 8 | #define get_unaligned __get_unaligned_le | ||
| 9 | #define put_unaligned __put_unaligned_le | ||
| 5 | 10 | ||
| 6 | #endif /* _ASM_IA64_UNALIGNED_H */ | 11 | #endif /* _ASM_IA64_UNALIGNED_H */ |
diff --git a/include/asm-ia64/uncached.h b/include/asm-ia64/uncached.h index b82d923b73c1..13d7e65ca3cc 100644 --- a/include/asm-ia64/uncached.h +++ b/include/asm-ia64/uncached.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2001-2005 Silicon Graphics, Inc. All rights reserved. | 2 | * Copyright (C) 2001-2008 Silicon Graphics, Inc. All rights reserved. |
| 3 | * | 3 | * |
| 4 | * This program is free software; you can redistribute it and/or modify it | 4 | * This program is free software; you can redistribute it and/or modify it |
| 5 | * under the terms of version 2 of the GNU General Public License | 5 | * under the terms of version 2 of the GNU General Public License |
| @@ -8,5 +8,5 @@ | |||
| 8 | * Prototypes for the uncached page allocator | 8 | * Prototypes for the uncached page allocator |
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | extern unsigned long uncached_alloc_page(int nid); | 11 | extern unsigned long uncached_alloc_page(int starting_nid, int n_pages); |
| 12 | extern void uncached_free_page(unsigned long); | 12 | extern void uncached_free_page(unsigned long uc_addr, int n_pages); |
