| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * PS3 address space management. |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) 2006 Sony Computer Entertainment Inc. |
|---|
| 5 | 6 | * Copyright 2006 Sony Corp. |
|---|
| 6 | | - * |
|---|
| 7 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 8 | | - * it under the terms of the GNU General Public License as published by |
|---|
| 9 | | - * the Free Software Foundation; version 2 of the License. |
|---|
| 10 | | - * |
|---|
| 11 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 12 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 13 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 14 | | - * GNU General Public License for more details. |
|---|
| 15 | | - * |
|---|
| 16 | | - * You should have received a copy of the GNU General Public License |
|---|
| 17 | | - * along with this program; if not, write to the Free Software |
|---|
| 18 | | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|---|
| 19 | 7 | */ |
|---|
| 20 | 8 | |
|---|
| 21 | 9 | #include <linux/dma-mapping.h> |
|---|
| .. | .. |
|---|
| 277 | 265 | int result; |
|---|
| 278 | 266 | u64 muid; |
|---|
| 279 | 267 | |
|---|
| 280 | | - r->size = _ALIGN_DOWN(size, 1 << PAGE_SHIFT_16M); |
|---|
| 268 | + r->size = ALIGN_DOWN(size, 1 << PAGE_SHIFT_16M); |
|---|
| 281 | 269 | |
|---|
| 282 | 270 | DBG("%s:%d requested %lxh\n", __func__, __LINE__, size); |
|---|
| 283 | 271 | DBG("%s:%d actual %llxh\n", __func__, __LINE__, r->size); |
|---|
| .. | .. |
|---|
| 409 | 397 | unsigned long bus_addr, unsigned long len) |
|---|
| 410 | 398 | { |
|---|
| 411 | 399 | struct dma_chunk *c; |
|---|
| 412 | | - unsigned long aligned_bus = _ALIGN_DOWN(bus_addr, 1 << r->page_size); |
|---|
| 413 | | - unsigned long aligned_len = _ALIGN_UP(len+bus_addr-aligned_bus, |
|---|
| 400 | + unsigned long aligned_bus = ALIGN_DOWN(bus_addr, 1 << r->page_size); |
|---|
| 401 | + unsigned long aligned_len = ALIGN(len+bus_addr-aligned_bus, |
|---|
| 414 | 402 | 1 << r->page_size); |
|---|
| 415 | 403 | |
|---|
| 416 | 404 | list_for_each_entry(c, &r->chunk_list.head, link) { |
|---|
| .. | .. |
|---|
| 438 | 426 | unsigned long lpar_addr, unsigned long len) |
|---|
| 439 | 427 | { |
|---|
| 440 | 428 | struct dma_chunk *c; |
|---|
| 441 | | - unsigned long aligned_lpar = _ALIGN_DOWN(lpar_addr, 1 << r->page_size); |
|---|
| 442 | | - unsigned long aligned_len = _ALIGN_UP(len + lpar_addr - aligned_lpar, |
|---|
| 429 | + unsigned long aligned_lpar = ALIGN_DOWN(lpar_addr, 1 << r->page_size); |
|---|
| 430 | + unsigned long aligned_len = ALIGN(len + lpar_addr - aligned_lpar, |
|---|
| 443 | 431 | 1 << r->page_size); |
|---|
| 444 | 432 | |
|---|
| 445 | 433 | list_for_each_entry(c, &r->chunk_list.head, link) { |
|---|
| .. | .. |
|---|
| 790 | 778 | struct dma_chunk *c; |
|---|
| 791 | 779 | unsigned long phys_addr = is_kernel_addr(virt_addr) ? __pa(virt_addr) |
|---|
| 792 | 780 | : virt_addr; |
|---|
| 793 | | - unsigned long aligned_phys = _ALIGN_DOWN(phys_addr, 1 << r->page_size); |
|---|
| 794 | | - unsigned long aligned_len = _ALIGN_UP(len + phys_addr - aligned_phys, |
|---|
| 781 | + unsigned long aligned_phys = ALIGN_DOWN(phys_addr, 1 << r->page_size); |
|---|
| 782 | + unsigned long aligned_len = ALIGN(len + phys_addr - aligned_phys, |
|---|
| 795 | 783 | 1 << r->page_size); |
|---|
| 796 | 784 | *bus_addr = dma_sb_lpar_to_bus(r, ps3_mm_phys_to_lpar(phys_addr)); |
|---|
| 797 | 785 | |
|---|
| .. | .. |
|---|
| 845 | 833 | struct dma_chunk *c; |
|---|
| 846 | 834 | unsigned long phys_addr = is_kernel_addr(virt_addr) ? __pa(virt_addr) |
|---|
| 847 | 835 | : virt_addr; |
|---|
| 848 | | - unsigned long aligned_phys = _ALIGN_DOWN(phys_addr, 1 << r->page_size); |
|---|
| 849 | | - unsigned long aligned_len = _ALIGN_UP(len + phys_addr - aligned_phys, |
|---|
| 836 | + unsigned long aligned_phys = ALIGN_DOWN(phys_addr, 1 << r->page_size); |
|---|
| 837 | + unsigned long aligned_len = ALIGN(len + phys_addr - aligned_phys, |
|---|
| 850 | 838 | 1 << r->page_size); |
|---|
| 851 | 839 | |
|---|
| 852 | 840 | DBG(KERN_ERR "%s: vaddr=%#lx, len=%#lx\n", __func__, |
|---|
| .. | .. |
|---|
| 904 | 892 | c = dma_find_chunk(r, bus_addr, len); |
|---|
| 905 | 893 | |
|---|
| 906 | 894 | if (!c) { |
|---|
| 907 | | - unsigned long aligned_bus = _ALIGN_DOWN(bus_addr, |
|---|
| 895 | + unsigned long aligned_bus = ALIGN_DOWN(bus_addr, |
|---|
| 908 | 896 | 1 << r->page_size); |
|---|
| 909 | | - unsigned long aligned_len = _ALIGN_UP(len + bus_addr |
|---|
| 897 | + unsigned long aligned_len = ALIGN(len + bus_addr |
|---|
| 910 | 898 | - aligned_bus, 1 << r->page_size); |
|---|
| 911 | 899 | DBG("%s:%d: not found: bus_addr %llxh\n", |
|---|
| 912 | 900 | __func__, __LINE__, bus_addr); |
|---|
| .. | .. |
|---|
| 941 | 929 | c = dma_find_chunk(r, bus_addr, len); |
|---|
| 942 | 930 | |
|---|
| 943 | 931 | if (!c) { |
|---|
| 944 | | - unsigned long aligned_bus = _ALIGN_DOWN(bus_addr, |
|---|
| 932 | + unsigned long aligned_bus = ALIGN_DOWN(bus_addr, |
|---|
| 945 | 933 | 1 << r->page_size); |
|---|
| 946 | | - unsigned long aligned_len = _ALIGN_UP(len + bus_addr |
|---|
| 934 | + unsigned long aligned_len = ALIGN(len + bus_addr |
|---|
| 947 | 935 | - aligned_bus, |
|---|
| 948 | 936 | 1 << r->page_size); |
|---|
| 949 | 937 | DBG("%s:%d: not found: bus_addr %llxh\n", |
|---|
| .. | .. |
|---|
| 989 | 977 | pr_info("%s:%d: forcing 16M pages for linear map\n", |
|---|
| 990 | 978 | __func__, __LINE__); |
|---|
| 991 | 979 | r->page_size = PS3_DMA_16M; |
|---|
| 992 | | - r->len = _ALIGN_UP(r->len, 1 << r->page_size); |
|---|
| 980 | + r->len = ALIGN(r->len, 1 << r->page_size); |
|---|
| 993 | 981 | } |
|---|
| 994 | 982 | } |
|---|
| 995 | 983 | |
|---|
| .. | .. |
|---|
| 1141 | 1129 | r->offset = lpar_addr; |
|---|
| 1142 | 1130 | if (r->offset >= map.rm.size) |
|---|
| 1143 | 1131 | r->offset -= map.r1.offset; |
|---|
| 1144 | | - r->len = len ? len : _ALIGN_UP(map.total, 1 << r->page_size); |
|---|
| 1132 | + r->len = len ? len : ALIGN(map.total, 1 << r->page_size); |
|---|
| 1145 | 1133 | |
|---|
| 1146 | 1134 | dev->core.dma_mask = &r->dma_mask; |
|---|
| 1147 | 1135 | |
|---|