[PATCH v6 15/25] iommu: exynos: document internal structures

Joerg Roedel joro at 8bytes.org
Tue May 5 08:00:43 PDT 2015


On Mon, May 04, 2015 at 10:16:10AM +0200, Marek Szyprowski wrote:
>  struct exynos_iommu_domain {
> -	struct list_head clients; /* list of sysmmu_drvdata.node */
> +	struct list_head clients; /* list of sysmmu_drvdata.domain_node */
>  	sysmmu_pte_t *pgtable; /* lv1 page table, 16KB */
>  	short *lv2entcnt; /* free lv2 entry counter for each section */
> -	spinlock_t lock; /* lock for this structure */
> +	spinlock_t lock; /* lock for modyfying list of clients */
>  	spinlock_t pgtablelock; /* lock for modifying page table @ pgtable */
>  	struct iommu_domain domain; /* generic domain data structure */
>  };
>  
> +/*
> + * This structure hold all data of a single SYSMMU controller, this includes
> + * hw resources like registers and clocks, pointers and list nodes to connect
> + * it to all other structures, internal state and parameters read from device
> + * tree. It is usually referenced by 'data' pointer.
> + */
>  struct sysmmu_drvdata {
> -	struct device *sysmmu;	/* System MMU's device descriptor */
> -	struct device *master;	/* Owner of system MMU */
> -	void __iomem *sfrbase;
> -	struct clk *clk;
> -	struct clk *clk_master;
> -	int activations;
> -	spinlock_t lock;
> -	struct exynos_iommu_domain *domain;
> -	struct list_head domain_node;
> -	struct list_head owner_node;
> -	phys_addr_t pgtable;
> -	int version;
> +	struct device *sysmmu; /* SYSMMU controller device */
> +	struct device *master; /* master device (owner of given SYSMMU) */
> +	void __iomem *sfrbase; /* our registers */
> +	struct clk *clk; /* SYSMMU's clock */
> +	struct clk *clk_master; /* master's device clock */
> +	int activations; /* number of calls to sysmmu_enable */
> +	spinlock_t lock; /* lock for modyfying enable/disable state */
> +	struct exynos_iommu_domain *domain; /* domain we belong to */
> +	struct list_head domain_node; /* node for domain clients list */
> +	struct list_head owner_node; /* node for owner clients list */
> +	phys_addr_t pgtable; /* assigned page table structure */
> +	int version; /* our version */
>  };

Please align the comments for the struct members to the same column for
better readability.




More information about the linux-arm-kernel mailing list