kunpeng_hccs.h (23fe8112a23106e7dfc2b73fc52a60ea3eb64c20) | kunpeng_hccs.h (e3c289c0916e2a3d7859a0cf851ea242fa23ec1e) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* Copyright (c) 2023 Hisilicon Limited. */ 3 4#ifndef __KUNPENG_HCCS_H__ 5#define __KUNPENG_HCCS_H__ 6 7/* 8 * |--------------- Chip0 ---------------|---------------- ChipN -------------| --- 66 unchanged lines hidden (view full) --- 75 void (*fill_pcc_shared_mem)(struct hccs_dev *hdev, 76 u8 cmd, struct hccs_desc *desc, 77 void __iomem *comm_space, 78 u16 space_size); 79 u16 shared_mem_size; 80 bool has_txdone_irq; 81}; 82 | 1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* Copyright (c) 2023 Hisilicon Limited. */ 3 4#ifndef __KUNPENG_HCCS_H__ 5#define __KUNPENG_HCCS_H__ 6 7/* 8 * |--------------- Chip0 ---------------|---------------- ChipN -------------| --- 66 unchanged lines hidden (view full) --- 75 void (*fill_pcc_shared_mem)(struct hccs_dev *hdev, 76 u8 cmd, struct hccs_desc *desc, 77 void __iomem *comm_space, 78 u16 space_size); 79 u16 shared_mem_size; 80 bool has_txdone_irq; 81}; 82 |
83#define HCCS_CAPS_HCCS_V2_PM BIT_ULL(0) 84 |
|
83struct hccs_dev { 84 struct device *dev; 85 struct acpi_device *acpi_dev; 86 const struct hccs_verspecific_data *verspec_data; | 85struct hccs_dev { 86 struct device *dev; 87 struct acpi_device *acpi_dev; 88 const struct hccs_verspecific_data *verspec_data; |
89 /* device capabilities from firmware, like HCCS_CAPS_xxx. */ |
|
87 u64 caps; 88 u8 chip_num; 89 struct hccs_chip_info *chips; 90 u16 used_type_num; 91 struct hccs_type_name_map *type_name_maps; 92 u8 chan_id; 93 struct mutex lock; 94 struct hccs_mbox_client_info cl_info; --- 6 unchanged lines hidden (view full) --- 101 HCCS_GET_DIE_INFO, 102 HCCS_GET_DIE_PORT_INFO, 103 HCCS_GET_DEV_CAP, 104 HCCS_GET_PORT_LINK_STATUS, 105 HCCS_GET_PORT_CRC_ERR_CNT, 106 HCCS_GET_DIE_PORTS_LANE_STA, 107 HCCS_GET_DIE_PORTS_LINK_STA, 108 HCCS_GET_DIE_PORTS_CRC_ERR_CNT, | 90 u64 caps; 91 u8 chip_num; 92 struct hccs_chip_info *chips; 93 u16 used_type_num; 94 struct hccs_type_name_map *type_name_maps; 95 u8 chan_id; 96 struct mutex lock; 97 struct hccs_mbox_client_info cl_info; --- 6 unchanged lines hidden (view full) --- 104 HCCS_GET_DIE_INFO, 105 HCCS_GET_DIE_PORT_INFO, 106 HCCS_GET_DEV_CAP, 107 HCCS_GET_PORT_LINK_STATUS, 108 HCCS_GET_PORT_CRC_ERR_CNT, 109 HCCS_GET_DIE_PORTS_LANE_STA, 110 HCCS_GET_DIE_PORTS_LINK_STA, 111 HCCS_GET_DIE_PORTS_CRC_ERR_CNT, |
112 HCCS_GET_PORT_IDLE_STATUS, 113 HCCS_PM_DEC_LANE, 114 HCCS_PM_INC_LANE, |
|
109 HCCS_SUB_CMD_MAX = 255, 110}; 111 112struct hccs_die_num_req_param { 113 u8 chip_id; 114}; 115 116struct hccs_die_info_req_param { --- 27 unchanged lines hidden (view full) --- 144 145/* The common command request for getting the information of a specific port */ 146struct hccs_port_comm_req_param { 147 u8 chip_id; 148 u8 die_id; 149 u8 port_id; 150}; 151 | 115 HCCS_SUB_CMD_MAX = 255, 116}; 117 118struct hccs_die_num_req_param { 119 u8 chip_id; 120}; 121 122struct hccs_die_info_req_param { --- 27 unchanged lines hidden (view full) --- 150 151/* The common command request for getting the information of a specific port */ 152struct hccs_port_comm_req_param { 153 u8 chip_id; 154 u8 die_id; 155 u8 port_id; 156}; 157 |
158#define HCCS_PREPARE_INC_LANE 1 159#define HCCS_GET_ADAPT_RES 2 160#define HCCS_START_RETRAINING 3 161struct hccs_inc_lane_req_param { 162 u8 port_type; 163 u8 opt_type; 164}; 165 |
|
152#define HCCS_PORT_RESET 1 153#define HCCS_PORT_SETUP 2 154#define HCCS_PORT_CONFIG 3 155#define HCCS_PORT_READY 4 156struct hccs_link_status { 157 u8 lane_mask; /* indicate which lanes are used. */ 158 u8 link_fsm : 3; /* link fsm, 1: reset 2: setup 3: config 4: link-up */ 159 u8 lane_num : 5; /* current lane number */ --- 62 unchanged lines hidden --- | 166#define HCCS_PORT_RESET 1 167#define HCCS_PORT_SETUP 2 168#define HCCS_PORT_CONFIG 3 169#define HCCS_PORT_READY 4 170struct hccs_link_status { 171 u8 lane_mask; /* indicate which lanes are used. */ 172 u8 link_fsm : 3; /* link fsm, 1: reset 2: setup 3: config 4: link-up */ 173 u8 lane_num : 5; /* current lane number */ --- 62 unchanged lines hidden --- |