32 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Thunderbolt DMA configuration based mailbox support4 *5 * Copyright (C) 2017, Intel Corporation6 * Authors: Michael Jamet <michael.jamet@intel.com>7 * Mika Westerberg <mika.westerberg@linux.intel.com>8 */9 10#ifndef DMA_PORT_H_11#define DMA_PORT_H_12 13#include "tb.h"14 15struct tb_switch;16struct tb_dma_port;17 18#define DMA_PORT_CSS_ADDRESS 0x3fffff19#define DMA_PORT_CSS_MAX_SIZE SZ_12820 21struct tb_dma_port *dma_port_alloc(struct tb_switch *sw);22void dma_port_free(struct tb_dma_port *dma);23int dma_port_flash_read(struct tb_dma_port *dma, unsigned int address,24 void *buf, size_t size);25int dma_port_flash_update_auth(struct tb_dma_port *dma);26int dma_port_flash_update_auth_status(struct tb_dma_port *dma, u32 *status);27int dma_port_flash_write(struct tb_dma_port *dma, unsigned int address,28 const void *buf, size_t size);29int dma_port_power_cycle(struct tb_dma_port *dma);30 31#endif32