1/* 2 * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. 3 * Permission to use, copy, modify, and/or distribute this software for 4 * any purpose with or without fee is hereby granted, provided that the 5 * above copyright notice and this permission notice appear in all copies. 6 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 7 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 8 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 9 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 11 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 12 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 13 */ 14 15 16#ifndef _DESS_PORT_CTRL_H_ 17#define _DESS_PORT_CTRL_H_ 18 19#ifdef __cplusplus 20extern "C" 21{ 22#endif /* __cplusplus */ 23 24#include "fal/fal_port_ctrl.h" 25 26 sw_error_t dess_port_ctrl_init (a_uint32_t dev_id); 27 28#ifdef IN_PORTCONTROL 29#define DESS_PORT_CTRL_INIT(rv, dev_id) \ 30 { \ 31 rv = dess_port_ctrl_init(dev_id); \ 32 SW_RTN_ON_ERROR(rv); \ 33 } 34#else 35#define DESS_PORT_CTRL_INIT(rv, dev_id) 36#endif 37 38#ifdef HSL_STANDALONG 39 40 41 HSL_LOCAL sw_error_t 42 dess_port_duplex_set (a_uint32_t dev_id, fal_port_t port_id, 43 fal_port_duplex_t duplex); 44 45 46 HSL_LOCAL sw_error_t 47 dess_port_duplex_get (a_uint32_t dev_id, fal_port_t port_id, 48 fal_port_duplex_t * pduplex); 49 50 51 HSL_LOCAL sw_error_t 52 dess_port_speed_set (a_uint32_t dev_id, fal_port_t port_id, 53 fal_port_speed_t speed); 54 55 56 HSL_LOCAL sw_error_t 57 dess_port_speed_get (a_uint32_t dev_id, fal_port_t port_id, 58 fal_port_speed_t * pspeed); 59 60 61 HSL_LOCAL sw_error_t 62 dess_port_autoneg_status_get (a_uint32_t dev_id, fal_port_t port_id, 63 a_bool_t * status); 64 65 66 HSL_LOCAL sw_error_t 67 dess_port_autoneg_enable (a_uint32_t dev_id, fal_port_t port_id); 68 69 70 HSL_LOCAL sw_error_t 71 dess_port_autoneg_restart (a_uint32_t dev_id, fal_port_t port_id); 72 73 74 HSL_LOCAL sw_error_t 75 dess_port_autoneg_adv_set (a_uint32_t dev_id, fal_port_t port_id, 76 a_uint32_t autoadv); 77 78 79 HSL_LOCAL sw_error_t 80 dess_port_autoneg_adv_get (a_uint32_t dev_id, fal_port_t port_id, 81 a_uint32_t * autoadv); 82 83 84 HSL_LOCAL sw_error_t 85 dess_port_flowctrl_set (a_uint32_t dev_id, fal_port_t port_id, 86 a_bool_t enable); 87 88 89 HSL_LOCAL sw_error_t 90 dess_port_flowctrl_get (a_uint32_t dev_id, fal_port_t port_id, 91 a_bool_t * enable); 92 93 94 HSL_LOCAL sw_error_t 95 dess_port_flowctrl_forcemode_set (a_uint32_t dev_id, 96 fal_port_t port_id, a_bool_t enable); 97 98 99 HSL_LOCAL sw_error_t 100 dess_port_flowctrl_forcemode_get (a_uint32_t dev_id, 101 fal_port_t port_id, a_bool_t * enable); 102 103 104 HSL_LOCAL sw_error_t 105 dess_port_powersave_set (a_uint32_t dev_id, fal_port_t port_id, 106 a_bool_t enable); 107 108 109 HSL_LOCAL sw_error_t 110 dess_port_powersave_get (a_uint32_t dev_id, fal_port_t port_id, 111 a_bool_t * enable); 112 113 114 HSL_LOCAL sw_error_t 115 dess_port_hibernate_set (a_uint32_t dev_id, fal_port_t port_id, 116 a_bool_t enable); 117 118 119 HSL_LOCAL sw_error_t 120 dess_port_hibernate_get (a_uint32_t dev_id, fal_port_t port_id, 121 a_bool_t * enable); 122 123 124 HSL_LOCAL sw_error_t 125 dess_port_cdt (a_uint32_t dev_id, fal_port_t port_id, a_uint32_t mdi_pair, 126 fal_cable_status_t * cable_status, a_uint32_t * cable_len); 127 128 129 HSL_LOCAL sw_error_t 130 dess_port_rxhdr_mode_set (a_uint32_t dev_id, fal_port_t port_id, 131 fal_port_header_mode_t mode); 132 133 134 HSL_LOCAL sw_error_t 135 dess_port_rxhdr_mode_get (a_uint32_t dev_id, fal_port_t port_id, 136 fal_port_header_mode_t * mode); 137 138 139 HSL_LOCAL sw_error_t 140 dess_port_txhdr_mode_set (a_uint32_t dev_id, fal_port_t port_id, 141 fal_port_header_mode_t mode); 142 143 144 HSL_LOCAL sw_error_t 145 dess_port_txhdr_mode_get (a_uint32_t dev_id, fal_port_t port_id, 146 fal_port_header_mode_t * mode); 147 148 149 HSL_LOCAL sw_error_t 150 dess_header_type_set (a_uint32_t dev_id, a_bool_t enable, 151 a_uint32_t type); 152 153 154 HSL_LOCAL sw_error_t 155 dess_header_type_get (a_uint32_t dev_id, a_bool_t * enable, 156 a_uint32_t * type); 157 158 159 HSL_LOCAL sw_error_t 160 dess_port_txmac_status_set (a_uint32_t dev_id, fal_port_t port_id, 161 a_bool_t enable); 162 163 164 HSL_LOCAL sw_error_t 165 dess_port_txmac_status_get (a_uint32_t dev_id, fal_port_t port_id, 166 a_bool_t * enable); 167 168 169 HSL_LOCAL sw_error_t 170 dess_port_rxmac_status_set (a_uint32_t dev_id, fal_port_t port_id, 171 a_bool_t enable); 172 173 174 HSL_LOCAL sw_error_t 175 dess_port_rxmac_status_get (a_uint32_t dev_id, fal_port_t port_id, 176 a_bool_t * enable); 177 178 179 HSL_LOCAL sw_error_t 180 dess_port_txfc_status_set (a_uint32_t dev_id, fal_port_t port_id, 181 a_bool_t enable); 182 183 184 HSL_LOCAL sw_error_t 185 dess_port_txfc_status_get (a_uint32_t dev_id, fal_port_t port_id, 186 a_bool_t * enable); 187 188 189 HSL_LOCAL sw_error_t 190 dess_port_rxfc_status_set (a_uint32_t dev_id, fal_port_t port_id, 191 a_bool_t enable); 192 193 194 HSL_LOCAL sw_error_t 195 dess_port_rxfc_status_get (a_uint32_t dev_id, fal_port_t port_id, 196 a_bool_t * enable); 197 198 199 HSL_LOCAL sw_error_t 200 dess_port_bp_status_set (a_uint32_t dev_id, fal_port_t port_id, 201 a_bool_t enable); 202 203 204 HSL_LOCAL sw_error_t 205 dess_port_bp_status_get (a_uint32_t dev_id, fal_port_t port_id, 206 a_bool_t * enable); 207 208 209 HSL_LOCAL sw_error_t 210 dess_port_link_forcemode_set (a_uint32_t dev_id, fal_port_t port_id, 211 a_bool_t enable); 212 213 214 HSL_LOCAL sw_error_t 215 dess_port_link_forcemode_get (a_uint32_t dev_id, fal_port_t port_id, 216 a_bool_t * enable); 217 218 219 HSL_LOCAL sw_error_t 220 dess_port_link_status_get (a_uint32_t dev_id, fal_port_t port_id, 221 a_bool_t * status); 222 223 HSL_LOCAL sw_error_t 224 dess_port_mac_loopback_set (a_uint32_t dev_id, fal_port_t port_id, 225 a_bool_t enable); 226 227 228 HSL_LOCAL sw_error_t 229 dess_port_mac_loopback_get (a_uint32_t dev_id, fal_port_t port_id, 230 a_bool_t * enable); 231 232 HSL_LOCAL sw_error_t 233 dess_port_congestion_drop_set (a_uint32_t dev_id, fal_port_t port_id, 234 a_uint32_t queue_id, a_bool_t enable); 235 236 HSL_LOCAL sw_error_t 237 dess_port_congestion_drop_get (a_uint32_t dev_id, fal_port_t port_id, 238 a_uint32_t queue_id, a_bool_t * enable); 239 240 HSL_LOCAL sw_error_t 241 dess_ring_flow_ctrl_thres_set (a_uint32_t dev_id, a_uint32_t ring_id, 242 a_uint8_t on_thres, a_uint8_t off_thres); 243 244 HSL_LOCAL sw_error_t 245 dess_ring_flow_ctrl_thres_get (a_uint32_t dev_id, a_uint32_t ring_id, 246 a_uint8_t * on_thres, 247 a_uint8_t * off_thres); 248 249 HSL_LOCAL sw_error_t 250 dess_port_8023az_set (a_uint32_t dev_id, fal_port_t port_id, 251 a_bool_t enable); 252 253 HSL_LOCAL sw_error_t 254 dess_port_8023az_get (a_uint32_t dev_id, fal_port_t port_id, 255 a_bool_t * enable); 256 257 HSL_LOCAL sw_error_t 258 dess_port_mdix_set (a_uint32_t dev_id, a_uint32_t phy_id, 259 fal_port_mdix_mode_t mode); 260 261 HSL_LOCAL sw_error_t 262 dess_port_mdix_get (a_uint32_t dev_id, fal_port_t port_id, 263 fal_port_mdix_mode_t * mode); 264 265 HSL_LOCAL sw_error_t 266 dess_port_mdix_status_get (a_uint32_t dev_id, fal_port_t port_id, 267 fal_port_mdix_status_t * mode); 268 269 HSL_LOCAL sw_error_t 270 dess_port_combo_prefer_medium_set (a_uint32_t dev_id, a_uint32_t phy_id, 271 fal_port_medium_t phy_medium); 272 273 HSL_LOCAL sw_error_t 274 dess_port_combo_prefer_medium_get (a_uint32_t dev_id, a_uint32_t phy_id, 275 fal_port_medium_t * phy_medium); 276 277 HSL_LOCAL sw_error_t 278 dess_port_combo_medium_status_get (a_uint32_t dev_id, a_uint32_t phy_id, 279 fal_port_medium_t * phy_medium); 280 281 HSL_LOCAL sw_error_t 282 dess_port_combo_fiber_mode_set (a_uint32_t dev_id, a_uint32_t phy_id, 283 fal_port_fiber_mode_t fiber_mode); 284 285 HSL_LOCAL sw_error_t 286 dess_port_combo_fiber_mode_get (a_uint32_t dev_id, a_uint32_t phy_id, 287 fal_port_fiber_mode_t * fiber_mode); 288 289 HSL_LOCAL sw_error_t 290 dess_port_local_loopback_set (a_uint32_t dev_id, fal_port_t port_id, 291 a_bool_t enable); 292 293 HSL_LOCAL sw_error_t 294 dess_port_local_loopback_get (a_uint32_t dev_id, fal_port_t port_id, 295 a_bool_t * enable); 296 297 HSL_LOCAL sw_error_t 298 dess_port_remote_loopback_set (a_uint32_t dev_id, fal_port_t port_id, 299 a_bool_t enable); 300 301 HSL_LOCAL sw_error_t 302 dess_port_remote_loopback_get (a_uint32_t dev_id, fal_port_t port_id, 303 a_bool_t * enable); 304 305 HSL_LOCAL sw_error_t 306 dess_port_magic_frame_mac_set (a_uint32_t dev_id, fal_port_t port_id, 307 fal_mac_addr_t * mac); 308 309 HSL_LOCAL sw_error_t 310 dess_port_magic_frame_mac_get (a_uint32_t dev_id, fal_port_t port_id, 311 fal_mac_addr_t * mac); 312 313 HSL_LOCAL sw_error_t 314 dess_port_phy_id_get (a_uint32_t dev_id, fal_port_t port_id, 315 a_uint16_t * org_id, a_uint16_t * rev_id); 316 317 HSL_LOCAL sw_error_t 318 dess_port_wol_status_set (a_uint32_t dev_id, fal_port_t port_id, 319 a_bool_t enable); 320 321 HSL_LOCAL sw_error_t 322 dess_port_wol_status_get (a_uint32_t dev_id, fal_port_t port_id, 323 a_bool_t * enable); 324 325 HSL_LOCAL sw_error_t 326 dess_port_reset (a_uint32_t dev_id, fal_port_t port_id); 327 328 HSL_LOCAL sw_error_t 329 dess_port_power_off (a_uint32_t dev_id, fal_port_t port_id); 330 331 HSL_LOCAL sw_error_t 332 dess_port_power_on (a_uint32_t dev_id, fal_port_t port_id); 333 334 HSL_LOCAL sw_error_t 335 dess_port_interface_mode_set (a_uint32_t dev_id, fal_port_t port_id, 336 fal_port_interface_mode_t mode); 337 338 HSL_LOCAL sw_error_t 339 dess_port_interface_mode_get (a_uint32_t dev_id, fal_port_t port_id, 340 fal_port_interface_mode_t * mode); 341 342 HSL_LOCAL sw_error_t 343 dess_port_interface_mode_status_get (a_uint32_t dev_id, fal_port_t port_id, 344 fal_port_interface_mode_t * mode); 345 HSL_LOCAL sw_error_t 346 dess_port_counter_set (a_uint32_t dev_id, fal_port_t port_id, 347 a_bool_t enable); 348 349 HSL_LOCAL sw_error_t 350 dess_port_counter_get (a_uint32_t dev_id, fal_port_t port_id, 351 a_bool_t * enable); 352 HSL_LOCAL sw_error_t 353 dess_port_counter_show (a_uint32_t dev_id, fal_port_t port_id, 354 fal_port_counter_info_t * counter_info); 355#endif 356 357#ifdef __cplusplus 358} 359#endif /* __cplusplus */ 360#endif /* _DESS_PORT_CTRL_H_ */ 361