55 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * (C) COPYRIGHT 2018 ARM Limited. All rights reserved.4 * Author: James.Qian.Wang <james.qian.wang@arm.com>5 *6 */7#ifndef _D71_DEV_H_8#define _D71_DEV_H_9 10#include "komeda_dev.h"11#include "komeda_pipeline.h"12#include "d71_regs.h"13 14struct d71_pipeline {15 struct komeda_pipeline base;16 17 /* d71 private pipeline blocks */18 u32 __iomem *lpu_addr;19 u32 __iomem *cu_addr;20 u32 __iomem *dou_addr;21 u32 __iomem *dou_ft_coeff_addr; /* forward transform coeffs table */22};23 24struct d71_dev {25 struct komeda_dev *mdev;26 27 int num_blocks;28 int num_pipelines;29 int num_rich_layers;30 u32 max_line_size;31 u32 max_vsize;32 u32 supports_dual_link : 1;33 u32 integrates_tbu : 1;34 35 /* global register blocks */36 u32 __iomem *gcu_addr;37 /* scaling coeffs table */38 u32 __iomem *glb_scl_coeff_addr[D71_MAX_GLB_SCL_COEFF];39 u32 __iomem *periph_addr;40 41 struct d71_pipeline *pipes[D71_MAX_PIPELINE];42};43 44#define to_d71_pipeline(x) container_of(x, struct d71_pipeline, base)45 46extern const struct komeda_pipeline_funcs d71_pipeline_funcs;47 48int d71_probe_block(struct d71_dev *d71,49 struct block_header *blk, u32 __iomem *reg);50void d71_read_block_header(u32 __iomem *reg, struct block_header *blk);51 52void d71_dump(struct komeda_dev *mdev, struct seq_file *sf);53 54#endif /* !_D71_DEV_H_ */55