cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pwrseq.c (4530B)


      1// SPDX-License-Identifier: GPL-2.0
      2/* Copyright(c) 2009-2010  Realtek Corporation.*/
      3
      4#include "../pwrseqcmd.h"
      5#include "pwrseq.h"
      6
      7/* drivers should parse below arrays and do the corresponding actions */
      8/* 3 Power on  Array */
      9struct wlan_pwr_cfg rtl8812_power_on_flow[RTL8812_TRANS_CARDEMU_TO_ACT_STEPS +
     10					RTL8812_TRANS_END_STEPS] = {
     11	RTL8812_TRANS_CARDEMU_TO_ACT
     12	RTL8812_TRANS_END
     13};
     14
     15/* 3Radio off GPIO Array */
     16struct wlan_pwr_cfg rtl8812_radio_off_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +
     17						RTL8812_TRANS_END_STEPS] = {
     18	RTL8812_TRANS_ACT_TO_CARDEMU
     19	RTL8812_TRANS_END
     20};
     21
     22/* 3Card Disable Array */
     23struct wlan_pwr_cfg rtl8812_card_disable_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS
     24	+ RTL8812_TRANS_CARDEMU_TO_PDN_STEPS
     25	+ RTL8812_TRANS_END_STEPS] = {
     26	RTL8812_TRANS_ACT_TO_CARDEMU
     27	RTL8812_TRANS_CARDEMU_TO_CARDDIS
     28	RTL8812_TRANS_END
     29};
     30
     31/* 3 Card Enable Array */
     32struct wlan_pwr_cfg rtl8812_card_enable_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS
     33	+ RTL8812_TRANS_CARDEMU_TO_PDN_STEPS
     34	+ RTL8812_TRANS_END_STEPS] = {
     35	RTL8812_TRANS_CARDDIS_TO_CARDEMU
     36	RTL8812_TRANS_CARDEMU_TO_ACT
     37	RTL8812_TRANS_END
     38};
     39
     40/* 3Suspend Array */
     41struct wlan_pwr_cfg rtl8812_suspend_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +
     42					RTL8812_TRANS_CARDEMU_TO_SUS_STEPS +
     43					RTL8812_TRANS_END_STEPS] = {
     44	RTL8812_TRANS_ACT_TO_CARDEMU
     45	RTL8812_TRANS_CARDEMU_TO_SUS
     46	RTL8812_TRANS_END
     47};
     48
     49/* 3 Resume Array */
     50struct wlan_pwr_cfg rtl8812_resume_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +
     51					RTL8812_TRANS_CARDEMU_TO_SUS_STEPS +
     52					RTL8812_TRANS_END_STEPS] = {
     53	RTL8812_TRANS_SUS_TO_CARDEMU
     54	RTL8812_TRANS_CARDEMU_TO_ACT
     55	RTL8812_TRANS_END
     56};
     57
     58/* 3HWPDN Array */
     59struct wlan_pwr_cfg rtl8812_hwpdn_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +
     60					RTL8812_TRANS_CARDEMU_TO_PDN_STEPS +
     61					RTL8812_TRANS_END_STEPS] = {
     62	RTL8812_TRANS_ACT_TO_CARDEMU
     63	RTL8812_TRANS_CARDEMU_TO_PDN
     64	RTL8812_TRANS_END
     65};
     66
     67/* 3 Enter LPS */
     68struct wlan_pwr_cfg rtl8812_enter_lps_flow[RTL8812_TRANS_ACT_TO_LPS_STEPS +
     69						RTL8812_TRANS_END_STEPS] = {
     70	/* FW behavior */
     71	RTL8812_TRANS_ACT_TO_LPS
     72	RTL8812_TRANS_END
     73};
     74
     75/* 3 Leave LPS */
     76struct wlan_pwr_cfg rtl8812_leave_lps_flow[RTL8812_TRANS_LPS_TO_ACT_STEPS +
     77						RTL8812_TRANS_END_STEPS] = {
     78	/* FW behavior */
     79	RTL8812_TRANS_LPS_TO_ACT
     80	RTL8812_TRANS_END
     81};
     82
     83/* drivers should parse below arrays and do the corresponding actions */
     84/*3 Power on  Array*/
     85struct wlan_pwr_cfg rtl8821A_power_on_flow[RTL8821A_TRANS_CARDEMU_TO_ACT_STEPS
     86					+ RTL8821A_TRANS_END_STEPS] = {
     87	RTL8821A_TRANS_CARDEMU_TO_ACT
     88	RTL8821A_TRANS_END
     89};
     90
     91/*3Radio off GPIO Array */
     92struct wlan_pwr_cfg rtl8821A_radio_off_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
     93					+ RTL8821A_TRANS_END_STEPS] = {
     94	RTL8821A_TRANS_ACT_TO_CARDEMU
     95	RTL8821A_TRANS_END
     96};
     97
     98/*3Card Disable Array*/
     99struct wlan_pwr_cfg rtl8821A_card_disable_flow
    100					[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
    101					+ RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS
    102					+ RTL8821A_TRANS_END_STEPS] = {
    103	RTL8821A_TRANS_ACT_TO_CARDEMU
    104	RTL8821A_TRANS_CARDEMU_TO_CARDDIS
    105	RTL8821A_TRANS_END
    106};
    107
    108/*3 Card Enable Array*/
    109/*RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS*/
    110struct wlan_pwr_cfg rtl8821A_card_enable_flow
    111					[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
    112					+ RTL8821A_TRANS_CARDEMU_TO_ACT_STEPS
    113					+ RTL8821A_TRANS_END_STEPS] = {
    114	RTL8821A_TRANS_CARDDIS_TO_CARDEMU
    115	RTL8821A_TRANS_CARDEMU_TO_ACT
    116	RTL8821A_TRANS_END
    117};
    118
    119/*3Suspend Array*/
    120struct wlan_pwr_cfg rtl8821A_suspend_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
    121					+ RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS
    122					+ RTL8821A_TRANS_END_STEPS] = {
    123	RTL8821A_TRANS_ACT_TO_CARDEMU
    124	RTL8821A_TRANS_CARDEMU_TO_SUS
    125	RTL8821A_TRANS_END
    126};
    127
    128/*3 Resume Array*/
    129struct wlan_pwr_cfg rtl8821A_resume_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
    130					+ RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS
    131					+ RTL8821A_TRANS_END_STEPS] = {
    132	RTL8821A_TRANS_SUS_TO_CARDEMU
    133	RTL8821A_TRANS_CARDEMU_TO_ACT
    134	RTL8821A_TRANS_END
    135};
    136
    137/*3HWPDN Array*/
    138struct wlan_pwr_cfg rtl8821A_hwpdn_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
    139				+ RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS
    140				+ RTL8821A_TRANS_END_STEPS] = {
    141	RTL8821A_TRANS_ACT_TO_CARDEMU
    142	RTL8821A_TRANS_CARDEMU_TO_PDN
    143	RTL8821A_TRANS_END
    144};
    145
    146/*3 Enter LPS */
    147struct wlan_pwr_cfg rtl8821A_enter_lps_flow[RTL8821A_TRANS_ACT_TO_LPS_STEPS
    148					+ RTL8821A_TRANS_END_STEPS] = {
    149	/*FW behavior*/
    150	RTL8821A_TRANS_ACT_TO_LPS
    151	RTL8821A_TRANS_END
    152};
    153
    154/*3 Leave LPS */
    155struct wlan_pwr_cfg rtl8821A_leave_lps_flow[RTL8821A_TRANS_LPS_TO_ACT_STEPS
    156					+ RTL8821A_TRANS_END_STEPS] = {
    157	/*FW behavior*/
    158	RTL8821A_TRANS_LPS_TO_ACT
    159	RTL8821A_TRANS_END
    160};