Re: [PATCH 4/4 v6] iommu/fsl: Freescale PAMU driver and IOMMU API implementation.
From: Tabi Timur-B04825 <hidden>
Date: 2012-12-01 22:58:53
Also in:
linux-iommu, lkml
Varun Sethi wrote:
Following is a brief description of the PAMU hardware: PAMU determines what action to take and whether to authorize the action o=
n
the basis of the memory address, a Logical IO Device Number (LIODN), and PAACT table (logically) indexed by LIODN and address. Hardware devices wh=
ich
need to access memory must provide an LIODN in addition to the memory add=
ress.
Peripheral Access Authorization and Control Tables (PAACTs) are the prima=
ry
data structures used by PAMU. A PAACT is a table of peripheral access authorization and control entries (PAACE).Each PAACE defines the range of I/O bus address space that is accessible by the LIOD and the associated a=
ccess
capabilities. There are two types of PAACTs: primary PAACT (PPAACT) and secondary PAACT (SPAACT).A given physical I/O device may be able to act as one or more independent logical I/O devices (LIODs). Each such logical I/O device is assigned an identifier called logical I/O device number (LIODN). A LIODN =
is
allocated a contiguous portion of the I/O bus address space called the DS=
A window
for performing DSA operations. The DSA window may optionally be divided i=
nto
multiple sub-windows, each of which may be used to map to a region in sys=
tem
storage space. The first sub-window is referred to as the primary sub-win=
dow
and the remaining are called secondary sub-windows. This patch provides the PAMU driver (fsl_pamu.c) and the corresponding IO=
MMU
API implementation (fsl_pamu_domain.c). The PAMU hardware driver (fsl_pam=
u.c)
has been derived from the work done by Ashish Kalra and Timur Tabi (timur@freescale.com). Signed-off-by: Timur Tabi<redacted> Signed-off-by: Varun Sethi<redacted> ---
Acked-by: Timur Tabi <redacted> --=20 Timur Tabi Linux kernel developer at Freescale=