]> git.baikalelectronics.ru Git - kernel.git/commitdiff
rtw88: 8822[bc]: Make tables const, reduce data object size
authorJoe Perches <joe@perches.com>
Thu, 6 Feb 2020 10:54:38 +0000 (02:54 -0800)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 12 Feb 2020 16:22:33 +0000 (18:22 +0200)
Reduce the data size 2kb or 3kb by making tables const.
Add const to pointer declarations to make compilation work too.

(x86-64 defconfig)
$ size drivers/net/wireless/realtek/rtw88/rtw8822?.o*
   text    data     bss     dec     hex filename
  25054     672       8   25734    6486 drivers/net/wireless/realtek/rtw88/rtw8822b.o.new
  23870    1872       8   25750    6496 drivers/net/wireless/realtek/rtw88/rtw8822b.o.old
  53646     828       0   54474    d4ca drivers/net/wireless/realtek/rtw88/rtw8822c.o.new
  52846    1652       0   54498    d4e2 drivers/net/wireless/realtek/rtw88/rtw8822c.o.old

(x86-64 allyesconfig)
$ size drivers/net/wireless/realtek/rtw88/rtw8822?.o*
   text    data     bss     dec     hex filename
  45811    6280     128   52219    cbfb drivers/net/wireless/realtek/rtw88/rtw8822b.o.new
  44211    7880     128   52219    cbfb drivers/net/wireless/realtek/rtw88/rtw8822b.o.old
 100195    8128       0  108323   1a723 drivers/net/wireless/realtek/rtw88/rtw8822c.o.new
  98947    9376       0  108323   1a723 drivers/net/wireless/realtek/rtw88/rtw8822c.o.old

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtw88/mac.c
drivers/net/wireless/realtek/rtw88/main.h
drivers/net/wireless/realtek/rtw88/pci.c
drivers/net/wireless/realtek/rtw88/rtw8822b.c
drivers/net/wireless/realtek/rtw88/rtw8822c.c

index ec2c1adcb90045fa3b11eb89252b7ce9f8e9b116..7b245779ff9055df064109440af9912d61e76a82 100644 (file)
@@ -101,7 +101,7 @@ static int rtw_mac_pre_system_cfg(struct rtw_dev *rtwdev)
 }
 
 static int rtw_pwr_cmd_polling(struct rtw_dev *rtwdev,
-                              struct rtw_pwr_seq_cmd *cmd)
+                              const struct rtw_pwr_seq_cmd *cmd)
 {
        u8 value;
        u8 flag = 0;
@@ -139,9 +139,10 @@ static int rtw_pwr_cmd_polling(struct rtw_dev *rtwdev,
 }
 
 static int rtw_sub_pwr_seq_parser(struct rtw_dev *rtwdev, u8 intf_mask,
-                                 u8 cut_mask, struct rtw_pwr_seq_cmd *cmd)
+                                 u8 cut_mask,
+                                 const struct rtw_pwr_seq_cmd *cmd)
 {
-       struct rtw_pwr_seq_cmd *cur_cmd;
+       const struct rtw_pwr_seq_cmd *cur_cmd;
        u32 offset;
        u8 value;
 
@@ -183,13 +184,13 @@ static int rtw_sub_pwr_seq_parser(struct rtw_dev *rtwdev, u8 intf_mask,
 }
 
 static int rtw_pwr_seq_parser(struct rtw_dev *rtwdev,
-                             struct rtw_pwr_seq_cmd **cmd_seq)
+                             const struct rtw_pwr_seq_cmd **cmd_seq)
 {
        u8 cut_mask;
        u8 intf_mask;
        u8 cut;
        u32 idx = 0;
-       struct rtw_pwr_seq_cmd *cmd;
+       const struct rtw_pwr_seq_cmd *cmd;
        int ret;
 
        cut = rtwdev->hal.cut_version;
@@ -223,7 +224,7 @@ static int rtw_pwr_seq_parser(struct rtw_dev *rtwdev,
 static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
 {
        struct rtw_chip_info *chip = rtwdev->chip;
-       struct rtw_pwr_seq_cmd **pwr_seq;
+       const struct rtw_pwr_seq_cmd **pwr_seq;
        u8 rpwm;
        bool cur_pwr;
 
@@ -705,7 +706,7 @@ dlfw_fail:
 
 static u32 get_priority_queues(struct rtw_dev *rtwdev, u32 queues)
 {
-       struct rtw_rqpn *rqpn = rtwdev->fifo.rqpn;
+       const struct rtw_rqpn *rqpn = rtwdev->fifo.rqpn;
        u32 prio_queues = 0;
 
        if (queues & BIT(IEEE80211_AC_VO))
@@ -793,7 +794,7 @@ void rtw_mac_flush_queues(struct rtw_dev *rtwdev, u32 queues, bool drop)
 static int txdma_queue_mapping(struct rtw_dev *rtwdev)
 {
        struct rtw_chip_info *chip = rtwdev->chip;
-       struct rtw_rqpn *rqpn = NULL;
+       const struct rtw_rqpn *rqpn = NULL;
        u16 txdma_pq_map = 0;
 
        switch (rtw_hci_type(rtwdev)) {
@@ -882,7 +883,7 @@ static int priority_queue_cfg(struct rtw_dev *rtwdev)
 {
        struct rtw_fifo_conf *fifo = &rtwdev->fifo;
        struct rtw_chip_info *chip = rtwdev->chip;
-       struct rtw_page_table *pg_tbl = NULL;
+       const struct rtw_page_table *pg_tbl = NULL;
        u16 pubq_num;
        int ret;
 
index d11f3a26b7bfe4bef8cd0a1bd0eefd93b405f60c..c074cef22120a222948cfab03ca0bd25baa80844 100644 (file)
@@ -958,10 +958,10 @@ struct rtw_wow_param {
 };
 
 struct rtw_intf_phy_para_table {
-       struct rtw_intf_phy_para *usb2_para;
-       struct rtw_intf_phy_para *usb3_para;
-       struct rtw_intf_phy_para *gen1_para;
-       struct rtw_intf_phy_para *gen2_para;
+       const struct rtw_intf_phy_para *usb2_para;
+       const struct rtw_intf_phy_para *usb3_para;
+       const struct rtw_intf_phy_para *gen1_para;
+       const struct rtw_intf_phy_para *gen2_para;
        u8 n_usb2_para;
        u8 n_usb3_para;
        u8 n_gen1_para;
@@ -1058,13 +1058,13 @@ struct rtw_chip_info {
 
        /* init values */
        u8 sys_func_en;
-       struct rtw_pwr_seq_cmd **pwr_on_seq;
-       struct rtw_pwr_seq_cmd **pwr_off_seq;
-       struct rtw_rqpn *rqpn_table;
-       struct rtw_page_table *page_table;
-       struct rtw_intf_phy_para_table *intf_table;
+       const struct rtw_pwr_seq_cmd **pwr_on_seq;
+       const struct rtw_pwr_seq_cmd **pwr_off_seq;
+       const struct rtw_rqpn *rqpn_table;
+       const struct rtw_page_table *page_table;
+       const struct rtw_intf_phy_para_table *intf_table;
 
-       struct rtw_hw_reg *dig;
+       const struct rtw_hw_reg *dig;
        u32 rf_base_addr[2];
        u32 rf_sipi_addr[2];
 
@@ -1510,7 +1510,7 @@ struct rtw_fifo_conf {
        u16 rsvd_cpu_instr_addr;
        u16 rsvd_fw_txbuf_addr;
        u16 rsvd_csibuf_addr;
-       struct rtw_rqpn *rqpn;
+       const struct rtw_rqpn *rqpn;
 };
 
 struct rtw_fw_state {
index 9ac77aef708d4b8d0963f02bad8dcd028eb3647a..7c525bb0337d089e1787b372b1a55f5c75d76e12 100644 (file)
@@ -1255,7 +1255,7 @@ static void rtw_pci_interface_cfg(struct rtw_dev *rtwdev)
 static void rtw_pci_phy_cfg(struct rtw_dev *rtwdev)
 {
        struct rtw_chip_info *chip = rtwdev->chip;
-       struct rtw_intf_phy_para *para;
+       const struct rtw_intf_phy_para *para;
        u16 cut;
        u16 value;
        u16 offset;
index 2eed777ee692893e8cc2fe6662f03b47b7826d6c..96aa332fb28d70def035236203fdab898de856ea 100644 (file)
@@ -1543,7 +1543,7 @@ static void rtw8822b_bf_config_bfee(struct rtw_dev *rtwdev, struct rtw_vif *vif,
                rtw_warn(rtwdev, "wrong bfee role\n");
 }
 
-static struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8822b[] = {
+static const struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8822b[] = {
        {0x0086,
         RTW_PWR_CUT_ALL_MSK,
         RTW_PWR_INTF_SDIO_MSK,
@@ -1581,7 +1581,7 @@ static struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8822b[] = {
         RTW_PWR_CMD_END, 0, 0},
 };
 
-static struct rtw_pwr_seq_cmd trans_cardemu_to_act_8822b[] = {
+static const struct rtw_pwr_seq_cmd trans_cardemu_to_act_8822b[] = {
        {0x0012,
         RTW_PWR_CUT_ALL_MSK,
         RTW_PWR_INTF_ALL_MSK,
@@ -1714,7 +1714,7 @@ static struct rtw_pwr_seq_cmd trans_cardemu_to_act_8822b[] = {
         RTW_PWR_CMD_END, 0, 0},
 };
 
-static struct rtw_pwr_seq_cmd trans_act_to_cardemu_8822b[] = {
+static const struct rtw_pwr_seq_cmd trans_act_to_cardemu_8822b[] = {
        {0x0003,
         RTW_PWR_CUT_ALL_MSK,
         RTW_PWR_INTF_SDIO_MSK,
@@ -1787,7 +1787,7 @@ static struct rtw_pwr_seq_cmd trans_act_to_cardemu_8822b[] = {
         RTW_PWR_CMD_END, 0, 0},
 };
 
-static struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8822b[] = {
+static const struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8822b[] = {
        {0x0005,
         RTW_PWR_CUT_ALL_MSK,
         RTW_PWR_INTF_SDIO_MSK,
@@ -1905,26 +1905,26 @@ static struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8822b[] = {
         RTW_PWR_CMD_END, 0, 0},
 };
 
-static struct rtw_pwr_seq_cmd *card_enable_flow_8822b[] = {
+static const struct rtw_pwr_seq_cmd *card_enable_flow_8822b[] = {
        trans_carddis_to_cardemu_8822b,
        trans_cardemu_to_act_8822b,
        NULL
 };
 
-static struct rtw_pwr_seq_cmd *card_disable_flow_8822b[] = {
+static const struct rtw_pwr_seq_cmd *card_disable_flow_8822b[] = {
        trans_act_to_cardemu_8822b,
        trans_cardemu_to_carddis_8822b,
        NULL
 };
 
-static struct rtw_intf_phy_para usb2_param_8822b[] = {
+static const struct rtw_intf_phy_para usb2_param_8822b[] = {
        {0xFFFF, 0x00,
         RTW_IP_SEL_PHY,
         RTW_INTF_PHY_CUT_ALL,
         RTW_INTF_PHY_PLATFORM_ALL},
 };
 
-static struct rtw_intf_phy_para usb3_param_8822b[] = {
+static const struct rtw_intf_phy_para usb3_param_8822b[] = {
        {0x0001, 0xA841,
         RTW_IP_SEL_PHY,
         RTW_INTF_PHY_CUT_D,
@@ -1935,7 +1935,7 @@ static struct rtw_intf_phy_para usb3_param_8822b[] = {
         RTW_INTF_PHY_PLATFORM_ALL},
 };
 
-static struct rtw_intf_phy_para pcie_gen1_param_8822b[] = {
+static const struct rtw_intf_phy_para pcie_gen1_param_8822b[] = {
        {0x0001, 0xA841,
         RTW_IP_SEL_PHY,
         RTW_INTF_PHY_CUT_C,
@@ -1982,7 +1982,7 @@ static struct rtw_intf_phy_para pcie_gen1_param_8822b[] = {
         RTW_INTF_PHY_PLATFORM_ALL},
 };
 
-static struct rtw_intf_phy_para pcie_gen2_param_8822b[] = {
+static const struct rtw_intf_phy_para pcie_gen2_param_8822b[] = {
        {0x0001, 0xA841,
         RTW_IP_SEL_PHY,
         RTW_INTF_PHY_CUT_C,
@@ -2029,7 +2029,7 @@ static struct rtw_intf_phy_para pcie_gen2_param_8822b[] = {
         RTW_INTF_PHY_PLATFORM_ALL},
 };
 
-static struct rtw_intf_phy_para_table phy_para_table_8822b = {
+static const struct rtw_intf_phy_para_table phy_para_table_8822b = {
        .usb2_para      = usb2_param_8822b,
        .usb3_para      = usb3_param_8822b,
        .gen1_para      = pcie_gen1_param_8822b,
@@ -2046,12 +2046,12 @@ static const struct rtw_rfe_def rtw8822b_rfe_defs[] = {
        [5] = RTW_DEF_RFE(8822b, 5, 5),
 };
 
-static struct rtw_hw_reg rtw8822b_dig[] = {
+static const struct rtw_hw_reg rtw8822b_dig[] = {
        [0] = { .addr = 0xc50, .mask = 0x7f },
        [1] = { .addr = 0xe50, .mask = 0x7f },
 };
 
-static struct rtw_page_table page_table_8822b[] = {
+static const struct rtw_page_table page_table_8822b[] = {
        {64, 64, 64, 64, 1},
        {64, 64, 64, 64, 1},
        {64, 64, 0, 0, 1},
@@ -2059,7 +2059,7 @@ static struct rtw_page_table page_table_8822b[] = {
        {64, 64, 64, 64, 1},
 };
 
-static struct rtw_rqpn rqpn_table_8822b[] = {
+static const struct rtw_rqpn rqpn_table_8822b[] = {
        {RTW_DMA_MAPPING_NORMAL, RTW_DMA_MAPPING_NORMAL,
         RTW_DMA_MAPPING_LOW, RTW_DMA_MAPPING_LOW,
         RTW_DMA_MAPPING_EXTRA, RTW_DMA_MAPPING_HIGH},
index a32d2271215e2e5b66ebfa1a4eb589da406b6a97..146f693c7592c5b75fff979782e2e39268b72141 100644 (file)
@@ -3414,7 +3414,7 @@ static void rtw8822c_pwr_track(struct rtw_dev *rtwdev)
        dm_info->pwr_trk_triggered = false;
 }
 
-static struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8822c[] = {
+static const struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8822c[] = {
        {0x0086,
         RTW_PWR_CUT_ALL_MSK,
         RTW_PWR_INTF_SDIO_MSK,
@@ -3457,7 +3457,7 @@ static struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8822c[] = {
         RTW_PWR_CMD_END, 0, 0},
 };
 
-static struct rtw_pwr_seq_cmd trans_cardemu_to_act_8822c[] = {
+static const struct rtw_pwr_seq_cmd trans_cardemu_to_act_8822c[] = {
        {0x0000,
         RTW_PWR_CUT_ALL_MSK,
         RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
@@ -3571,7 +3571,7 @@ static struct rtw_pwr_seq_cmd trans_cardemu_to_act_8822c[] = {
         RTW_PWR_CMD_END, 0, 0},
 };
 
-static struct rtw_pwr_seq_cmd trans_act_to_cardemu_8822c[] = {
+static const struct rtw_pwr_seq_cmd trans_act_to_cardemu_8822c[] = {
        {0x0093,
         RTW_PWR_CUT_ALL_MSK,
         RTW_PWR_INTF_ALL_MSK,
@@ -3634,7 +3634,7 @@ static struct rtw_pwr_seq_cmd trans_act_to_cardemu_8822c[] = {
         RTW_PWR_CMD_END, 0, 0},
 };
 
-static struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8822c[] = {
+static const struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8822c[] = {
        {0x0005,
         RTW_PWR_CUT_ALL_MSK,
         RTW_PWR_INTF_SDIO_MSK,
@@ -3697,47 +3697,47 @@ static struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8822c[] = {
         RTW_PWR_CMD_END, 0, 0},
 };
 
-static struct rtw_pwr_seq_cmd *card_enable_flow_8822c[] = {
+static const struct rtw_pwr_seq_cmd *card_enable_flow_8822c[] = {
        trans_carddis_to_cardemu_8822c,
        trans_cardemu_to_act_8822c,
        NULL
 };
 
-static struct rtw_pwr_seq_cmd *card_disable_flow_8822c[] = {
+static const struct rtw_pwr_seq_cmd *card_disable_flow_8822c[] = {
        trans_act_to_cardemu_8822c,
        trans_cardemu_to_carddis_8822c,
        NULL
 };
 
-static struct rtw_intf_phy_para usb2_param_8822c[] = {
+static const struct rtw_intf_phy_para usb2_param_8822c[] = {
        {0xFFFF, 0x00,
         RTW_IP_SEL_PHY,
         RTW_INTF_PHY_CUT_ALL,
         RTW_INTF_PHY_PLATFORM_ALL},
 };
 
-static struct rtw_intf_phy_para usb3_param_8822c[] = {
+static const struct rtw_intf_phy_para usb3_param_8822c[] = {
        {0xFFFF, 0x0000,
         RTW_IP_SEL_PHY,
         RTW_INTF_PHY_CUT_ALL,
         RTW_INTF_PHY_PLATFORM_ALL},
 };
 
-static struct rtw_intf_phy_para pcie_gen1_param_8822c[] = {
+static const struct rtw_intf_phy_para pcie_gen1_param_8822c[] = {
        {0xFFFF, 0x0000,
         RTW_IP_SEL_PHY,
         RTW_INTF_PHY_CUT_ALL,
         RTW_INTF_PHY_PLATFORM_ALL},
 };
 
-static struct rtw_intf_phy_para pcie_gen2_param_8822c[] = {
+static const struct rtw_intf_phy_para pcie_gen2_param_8822c[] = {
        {0xFFFF, 0x0000,
         RTW_IP_SEL_PHY,
         RTW_INTF_PHY_CUT_ALL,
         RTW_INTF_PHY_PLATFORM_ALL},
 };
 
-static struct rtw_intf_phy_para_table phy_para_table_8822c = {
+static const struct rtw_intf_phy_para_table phy_para_table_8822c = {
        .usb2_para      = usb2_param_8822c,
        .usb3_para      = usb3_param_8822c,
        .gen1_para      = pcie_gen1_param_8822c,
@@ -3754,12 +3754,12 @@ static const struct rtw_rfe_def rtw8822c_rfe_defs[] = {
        [2] = RTW_DEF_RFE(8822c, 0, 0),
 };
 
-static struct rtw_hw_reg rtw8822c_dig[] = {
+static const struct rtw_hw_reg rtw8822c_dig[] = {
        [0] = { .addr = 0x1d70, .mask = 0x7f },
        [1] = { .addr = 0x1d70, .mask = 0x7f00 },
 };
 
-static struct rtw_page_table page_table_8822c[] = {
+static const struct rtw_page_table page_table_8822c[] = {
        {64, 64, 64, 64, 1},
        {64, 64, 64, 64, 1},
        {64, 64, 0, 0, 1},
@@ -3767,7 +3767,7 @@ static struct rtw_page_table page_table_8822c[] = {
        {64, 64, 64, 64, 1},
 };
 
-static struct rtw_rqpn rqpn_table_8822c[] = {
+static const struct rtw_rqpn rqpn_table_8822c[] = {
        {RTW_DMA_MAPPING_NORMAL, RTW_DMA_MAPPING_NORMAL,
         RTW_DMA_MAPPING_LOW, RTW_DMA_MAPPING_LOW,
         RTW_DMA_MAPPING_EXTRA, RTW_DMA_MAPPING_HIGH},