cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

d71_dev.h (1307B)


      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_ */