blob: fc7816126a401074e8983341b3d58e9fd95726dc [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Contains routines needed to support swiotlb for ppc.
4 *
5 * Copyright (C) 2009-2010 Freescale Semiconductor, Inc.
6 * Author: Becky Bruce
7 */
8#include <linux/memblock.h>
9#include <asm/machdep.h>
10#include <asm/swiotlb.h>
11
12unsigned int ppc_swiotlb_enable;
13
14void __init swiotlb_detect_4g(void)
15{
16 if ((memblock_end_of_DRAM() - 1) > 0xffffffff)
17 ppc_swiotlb_enable = 1;
18}
19
20static int __init check_swiotlb_enabled(void)
21{
22 if (ppc_swiotlb_enable)
23 swiotlb_print_info();
24 else
25 swiotlb_exit();
26
27 return 0;
28}
29subsys_initcall(check_swiotlb_enabled);