The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/dev/rtw89/chan.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
    2  * Copyright(c) 2020-2022  Realtek Corporation
    3  */
    4 
    5 #ifndef __RTW89_CHAN_H__
    6 #define __RTW89_CHAN_H__
    7 
    8 #include "core.h"
    9 
   10 static inline bool rtw89_get_entity_state(struct rtw89_dev *rtwdev)
   11 {
   12         struct rtw89_hal *hal = &rtwdev->hal;
   13 
   14         return READ_ONCE(hal->entity_active);
   15 }
   16 
   17 static inline void rtw89_set_entity_state(struct rtw89_dev *rtwdev, bool active)
   18 {
   19         struct rtw89_hal *hal = &rtwdev->hal;
   20 
   21         WRITE_ONCE(hal->entity_active, active);
   22 }
   23 
   24 static inline
   25 enum rtw89_entity_mode rtw89_get_entity_mode(struct rtw89_dev *rtwdev)
   26 {
   27         struct rtw89_hal *hal = &rtwdev->hal;
   28 
   29         return READ_ONCE(hal->entity_mode);
   30 }
   31 
   32 static inline void rtw89_set_entity_mode(struct rtw89_dev *rtwdev,
   33                                          enum rtw89_entity_mode mode)
   34 {
   35         struct rtw89_hal *hal = &rtwdev->hal;
   36 
   37         WRITE_ONCE(hal->entity_mode, mode);
   38 }
   39 
   40 void rtw89_chan_create(struct rtw89_chan *chan, u8 center_chan, u8 primary_chan,
   41                        enum rtw89_band band, enum rtw89_bandwidth bandwidth);
   42 bool rtw89_assign_entity_chan(struct rtw89_dev *rtwdev,
   43                               enum rtw89_sub_entity_idx idx,
   44                               const struct rtw89_chan *new);
   45 void rtw89_config_entity_chandef(struct rtw89_dev *rtwdev,
   46                                  enum rtw89_sub_entity_idx idx,
   47                                  const struct cfg80211_chan_def *chandef);
   48 void rtw89_entity_init(struct rtw89_dev *rtwdev);
   49 enum rtw89_entity_mode rtw89_entity_recalc(struct rtw89_dev *rtwdev);
   50 int rtw89_chanctx_ops_add(struct rtw89_dev *rtwdev,
   51                           struct ieee80211_chanctx_conf *ctx);
   52 void rtw89_chanctx_ops_remove(struct rtw89_dev *rtwdev,
   53                               struct ieee80211_chanctx_conf *ctx);
   54 void rtw89_chanctx_ops_change(struct rtw89_dev *rtwdev,
   55                               struct ieee80211_chanctx_conf *ctx,
   56                               u32 changed);
   57 int rtw89_chanctx_ops_assign_vif(struct rtw89_dev *rtwdev,
   58                                  struct rtw89_vif *rtwvif,
   59                                  struct ieee80211_chanctx_conf *ctx);
   60 void rtw89_chanctx_ops_unassign_vif(struct rtw89_dev *rtwdev,
   61                                     struct rtw89_vif *rtwvif,
   62                                     struct ieee80211_chanctx_conf *ctx);
   63 
   64 #endif

Cache object: 47fa53fda7d6978d79524463b5cc8428


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.