~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to arch/arm/mach-s5pv310/include/mach/sysmmu.h

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno
  • Date: 2011-06-07 12:14:05 UTC
  • mfrom: (43.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110607121405-i3h1rd7nrnd2b73h
Tags: 2.6.39-2
[ Ben Hutchings ]
* [x86] Enable BACKLIGHT_APPLE, replacing BACKLIGHT_MBP_NVIDIA
  (Closes: #627492)
* cgroups: Disable memory resource controller by default. Allow it
  to be enabled using kernel parameter 'cgroup_enable=memory'.
* rt2800usb: Enable support for more USB devices including
  Linksys WUSB600N (Closes: #596626) (this change was accidentally
  omitted from 2.6.39-1)
* [x86] Remove Celeron from list of processors supporting PAE. Most
  'Celeron M' models do not.
* Update debconf template translations:
  - Swedish (Martin Bagge) (Closes: #628932)
  - French (David Prévot) (Closes: #628191)
* aufs: Update for 2.6.39 (Closes: #627837)
* Add stable 2.6.39.1, including:
  - ext4: dont set PageUptodate in ext4_end_bio()
  - pata_cmd64x: fix boot crash on parisc (Closes: #622997, #622745)
  - ext3: Fix fs corruption when make_indexed_dir() fails
  - netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
  - sctp: fix race between sctp_bind_addr_free() and
    sctp_bind_addr_conflict()
  - sctp: fix memory leak of the ASCONF queue when free asoc
  - md/bitmap: fix saving of events_cleared and other state
  - cdc_acm: Fix oops when Droids MuIn LCD is connected
  - cx88: Fix conversion from BKL to fine-grained locks (Closes: #619827)
  - keys: Set cred->user_ns in key_replace_session_keyring (CVE-2011-2184)
  - tmpfs: fix race between truncate and writepage
  - nfs41: Correct offset for LAYOUTCOMMIT
  - xen/mmu: fix a race window causing leave_mm BUG()
  - ext4: fix possible use-after-free in ext4_remove_li_request()
  For the complete list of changes, see:
   http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39.1
* Bump ABI to 2
* netfilter: Enable IP_SET, IP_SET_BITMAP_IP, IP_SET_BITMAP_IPMAC,
  IP_SET_BITMAP_PORT, IP_SET_HASH_IP, IP_SET_HASH_IPPORT,
  IP_SET_HASH_IPPORTIP, IP_SET_HASH_IPPORTNET, IP_SET_HASH_NET,
  IP_SET_HASH_NETPORT, IP_SET_LIST_SET, NETFILTER_XT_SET as modules
  (Closes: #629401)

[ Aurelien Jarno ]
* [mipsel/loongson-2f] Disable_SCSI_LPFC to workaround GCC ICE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* linux/arch/arm/mach-s5pv310/include/mach/sysmmu.h
2
 
 *
3
 
 * Copyright (c) 2010 Samsung Electronics Co., Ltd.
4
 
 *              http://www.samsung.com/
5
 
 *
6
 
 * Samsung sysmmu driver for S5PV310
7
 
 *
8
 
 * This program is free software; you can redistribute it and/or modify
9
 
 * it under the terms of the GNU General Public License version 2 as
10
 
 * published by the Free Software Foundation.
11
 
*/
12
 
 
13
 
#ifndef __ASM_ARM_ARCH_SYSMMU_H
14
 
#define __ASM_ARM_ARCH_SYSMMU_H __FILE__
15
 
 
16
 
#define S5PV310_SYSMMU_TOTAL_IPNUM      16
17
 
#define S5P_SYSMMU_TOTAL_IPNUM          S5PV310_SYSMMU_TOTAL_IPNUM
18
 
 
19
 
enum s5pv310_sysmmu_ips {
20
 
        SYSMMU_MDMA,
21
 
        SYSMMU_SSS,
22
 
        SYSMMU_FIMC0,
23
 
        SYSMMU_FIMC1,
24
 
        SYSMMU_FIMC2,
25
 
        SYSMMU_FIMC3,
26
 
        SYSMMU_JPEG,
27
 
        SYSMMU_FIMD0,
28
 
        SYSMMU_FIMD1,
29
 
        SYSMMU_PCIe,
30
 
        SYSMMU_G2D,
31
 
        SYSMMU_ROTATOR,
32
 
        SYSMMU_MDMA2,
33
 
        SYSMMU_TV,
34
 
        SYSMMU_MFC_L,
35
 
        SYSMMU_MFC_R,
36
 
};
37
 
 
38
 
static char *sysmmu_ips_name[S5PV310_SYSMMU_TOTAL_IPNUM] = {
39
 
        "SYSMMU_MDMA"   ,
40
 
        "SYSMMU_SSS"    ,
41
 
        "SYSMMU_FIMC0"  ,
42
 
        "SYSMMU_FIMC1"  ,
43
 
        "SYSMMU_FIMC2"  ,
44
 
        "SYSMMU_FIMC3"  ,
45
 
        "SYSMMU_JPEG"   ,
46
 
        "SYSMMU_FIMD0"  ,
47
 
        "SYSMMU_FIMD1"  ,
48
 
        "SYSMMU_PCIe"   ,
49
 
        "SYSMMU_G2D"    ,
50
 
        "SYSMMU_ROTATOR",
51
 
        "SYSMMU_MDMA2"  ,
52
 
        "SYSMMU_TV"     ,
53
 
        "SYSMMU_MFC_L"  ,
54
 
        "SYSMMU_MFC_R"  ,
55
 
};
56
 
 
57
 
typedef enum s5pv310_sysmmu_ips sysmmu_ips;
58
 
 
59
 
struct sysmmu_tt_info {
60
 
        unsigned long *pgd;
61
 
        unsigned long pgd_paddr;
62
 
        unsigned long *pte;
63
 
};
64
 
 
65
 
struct sysmmu_controller {
66
 
        const char              *name;
67
 
 
68
 
        /* channels registers */
69
 
        void __iomem            *regs;
70
 
 
71
 
        /* channel irq */
72
 
        unsigned int            irq;
73
 
 
74
 
        sysmmu_ips              ips;
75
 
 
76
 
        /* Translation Table Info. */
77
 
        struct sysmmu_tt_info   *tt_info;
78
 
 
79
 
        struct resource         *mem;
80
 
        struct device           *dev;
81
 
 
82
 
        /* SysMMU controller enable - true : enable */
83
 
        bool                    enable;
84
 
};
85
 
 
86
 
/**
87
 
 * s5p_sysmmu_enable() - enable system mmu of ip
88
 
 * @ips: The ip connected system mmu.
89
 
 *
90
 
 * This function enable system mmu to transfer address
91
 
 * from virtual address to physical address
92
 
 */
93
 
int s5p_sysmmu_enable(sysmmu_ips ips);
94
 
 
95
 
/**
96
 
 * s5p_sysmmu_disable() - disable sysmmu mmu of ip
97
 
 * @ips: The ip connected system mmu.
98
 
 *
99
 
 * This function disable system mmu to transfer address
100
 
 * from virtual address to physical address
101
 
 */
102
 
int s5p_sysmmu_disable(sysmmu_ips ips);
103
 
 
104
 
/**
105
 
 * s5p_sysmmu_set_tablebase_pgd() - set page table base address to refer page table
106
 
 * @ips: The ip connected system mmu.
107
 
 * @pgd: The page table base address.
108
 
 *
109
 
 * This function set page table base address
110
 
 * When system mmu transfer address from virtaul address to physical address,
111
 
 * system mmu refer address information from page table
112
 
 */
113
 
int s5p_sysmmu_set_tablebase_pgd(sysmmu_ips ips, unsigned long pgd);
114
 
 
115
 
/**
116
 
 * s5p_sysmmu_tlb_invalidate() - flush all TLB entry in system mmu
117
 
 * @ips: The ip connected system mmu.
118
 
 *
119
 
 * This function flush all TLB entry in system mmu
120
 
 */
121
 
int s5p_sysmmu_tlb_invalidate(sysmmu_ips ips);
122
 
#endif /* __ASM_ARM_ARCH_SYSMMU_H */