1d27a76faSLarry Finger /* SPDX-License-Identifier: GPL-2.0 */
2d27a76faSLarry Finger /* Copyright(c) 2009-2012  Realtek Corporation.*/
3f1d2b4d3SLarry Finger 
4f1d2b4d3SLarry Finger #ifndef __RTL_CAM_H_
5f1d2b4d3SLarry Finger #define __RTL_CAM_H_
6f1d2b4d3SLarry Finger 
7f1d2b4d3SLarry Finger #define CAM_CONTENT_COUNT				8
8f1d2b4d3SLarry Finger 
9f1d2b4d3SLarry Finger #define CFG_VALID					BIT(15)
10f1d2b4d3SLarry Finger 
11f1d2b4d3SLarry Finger #define PAIRWISE_KEYIDX					0
12f1d2b4d3SLarry Finger #define CAM_PAIRWISE_KEY_POSITION			4
13f1d2b4d3SLarry Finger 
14f1d2b4d3SLarry Finger #define	CAM_CONFIG_NO_USEDK				0
15f1d2b4d3SLarry Finger 
16f1d2b4d3SLarry Finger void rtl_cam_reset_all_entry(struct ieee80211_hw *hw);
17f1d2b4d3SLarry Finger u8 rtl_cam_add_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,
18f1d2b4d3SLarry Finger 				u32 ul_key_id, u32 ul_entry_idx, u32 ul_enc_alg,
19f1d2b4d3SLarry Finger 				u32 ul_default_key, u8 *key_content);
20f1d2b4d3SLarry Finger int rtl_cam_delete_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,
21f1d2b4d3SLarry Finger 			     u32 ul_key_id);
22f1d2b4d3SLarry Finger void rtl_cam_mark_invalid(struct ieee80211_hw *hw, u8 uc_index);
23f1d2b4d3SLarry Finger void rtl_cam_empty_entry(struct ieee80211_hw *hw, u8 uc_index);
24f1d2b4d3SLarry Finger void rtl_cam_reset_sec_info(struct ieee80211_hw *hw);
25f1d2b4d3SLarry Finger u8 rtl_cam_get_free_entry(struct ieee80211_hw *hw, u8 *sta_addr);
26f1d2b4d3SLarry Finger void rtl_cam_del_entry(struct ieee80211_hw *hw, u8 *sta_addr);
27f1d2b4d3SLarry Finger 
28f1d2b4d3SLarry Finger #endif
29