亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? e1000_hw.c

?? 82546千兆網卡驅動程序,支持該系列所有芯片
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*******************************************************************************  Intel PRO/1000 Linux driver  Copyright(c) 1999 - 2006 Intel Corporation.    This program is free software; you can redistribute it and/or modify it  under the terms and conditions of the GNU General Public License,  version 2, as published by the Free Software Foundation.    This program is distributed in the hope it will be useful, but WITHOUT  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for  more details.    You should have received a copy of the GNU General Public License along with  this program; if not, write to the Free Software Foundation, Inc.,  51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.    The full GNU General Public License is included in this distribution in  the file called "COPYING".    Contact Information:  Linux NICS <linux.nics@intel.com>  e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>  Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497*******************************************************************************//* e1000_hw.c * Shared functions for accessing and configuring the MAC */#include "e1000_hw.h"static int32_t e1000_swfw_sync_acquire(struct e1000_hw *hw, uint16_t mask);static void e1000_swfw_sync_release(struct e1000_hw *hw, uint16_t mask);static int32_t e1000_read_kmrn_reg(struct e1000_hw *hw, uint32_t reg_addr, uint16_t *data);static int32_t e1000_write_kmrn_reg(struct e1000_hw *hw, uint32_t reg_addr, uint16_t data);static int32_t e1000_get_software_semaphore(struct e1000_hw *hw);static void e1000_release_software_semaphore(struct e1000_hw *hw);static uint8_t e1000_arc_subsystem_valid(struct e1000_hw *hw);static int32_t e1000_check_downshift(struct e1000_hw *hw);static int32_t e1000_check_polarity(struct e1000_hw *hw, e1000_rev_polarity *polarity);static void e1000_clear_hw_cntrs(struct e1000_hw *hw);static void e1000_clear_vfta(struct e1000_hw *hw);static int32_t e1000_commit_shadow_ram(struct e1000_hw *hw);static int32_t e1000_config_dsp_after_link_change(struct e1000_hw *hw, boolean_t link_up);static int32_t e1000_config_fc_after_link_up(struct e1000_hw *hw);static int32_t e1000_detect_gig_phy(struct e1000_hw *hw);static int32_t e1000_erase_ich8_4k_segment(struct e1000_hw *hw, uint32_t bank);static int32_t e1000_get_auto_rd_done(struct e1000_hw *hw);static int32_t e1000_get_cable_length(struct e1000_hw *hw, uint16_t *min_length, uint16_t *max_length);static int32_t e1000_get_hw_eeprom_semaphore(struct e1000_hw *hw);static int32_t e1000_get_phy_cfg_done(struct e1000_hw *hw);static int32_t e1000_get_software_flag(struct e1000_hw *hw);static int32_t e1000_ich8_cycle_init(struct e1000_hw *hw);static int32_t e1000_ich8_flash_cycle(struct e1000_hw *hw, uint32_t timeout);static int32_t e1000_id_led_init(struct e1000_hw *hw);static int32_t e1000_init_lcd_from_nvm_config_region(struct e1000_hw *hw, uint32_t cnf_base_addr, uint32_t cnf_size);static int32_t e1000_init_lcd_from_nvm(struct e1000_hw *hw);static void e1000_init_rx_addrs(struct e1000_hw *hw);static void e1000_initialize_hardware_bits(struct e1000_hw *hw);static boolean_t e1000_is_onboard_nvm_eeprom(struct e1000_hw *hw);static int32_t e1000_kumeran_lock_loss_workaround(struct e1000_hw *hw);static int32_t e1000_mng_enable_host_if(struct e1000_hw *hw);static int32_t e1000_mng_host_if_write(struct e1000_hw *hw, uint8_t *buffer, uint16_t length, uint16_t offset, uint8_t *sum);static int32_t e1000_mng_write_cmd_header(struct e1000_hw* hw, struct e1000_host_mng_command_header* hdr);static int32_t e1000_mng_write_commit(struct e1000_hw *hw);static int32_t e1000_phy_ife_get_info(struct e1000_hw *hw, struct e1000_phy_info *phy_info);static int32_t e1000_phy_igp_get_info(struct e1000_hw *hw, struct e1000_phy_info *phy_info);static int32_t e1000_read_eeprom_eerd(struct e1000_hw *hw, uint16_t offset, uint16_t words, uint16_t *data);static int32_t e1000_write_eeprom_eewr(struct e1000_hw *hw, uint16_t offset, uint16_t words, uint16_t *data);static int32_t e1000_poll_eerd_eewr_done(struct e1000_hw *hw, int eerd);static int32_t e1000_phy_m88_get_info(struct e1000_hw *hw, struct e1000_phy_info *phy_info);static void e1000_put_hw_eeprom_semaphore(struct e1000_hw *hw);static int32_t e1000_read_ich8_byte(struct e1000_hw *hw, uint32_t index, uint8_t *data);static int32_t e1000_verify_write_ich8_byte(struct e1000_hw *hw, uint32_t index, uint8_t byte);static int32_t e1000_write_ich8_byte(struct e1000_hw *hw, uint32_t index, uint8_t byte);static int32_t e1000_read_ich8_word(struct e1000_hw *hw, uint32_t index, uint16_t *data);static int32_t e1000_read_ich8_data(struct e1000_hw *hw, uint32_t index, uint32_t size, uint16_t *data);static int32_t e1000_write_ich8_data(struct e1000_hw *hw, uint32_t index, uint32_t size, uint16_t data);static int32_t e1000_read_eeprom_ich8(struct e1000_hw *hw, uint16_t offset, uint16_t words, uint16_t *data);static int32_t e1000_write_eeprom_ich8(struct e1000_hw *hw, uint16_t offset, uint16_t words, uint16_t *data);static void e1000_release_software_flag(struct e1000_hw *hw);static int32_t e1000_set_d3_lplu_state(struct e1000_hw *hw, boolean_t active);static int32_t e1000_set_d0_lplu_state(struct e1000_hw *hw, boolean_t active);static int32_t e1000_set_pci_ex_no_snoop(struct e1000_hw *hw, uint32_t no_snoop);static void e1000_set_pci_express_master_disable(struct e1000_hw *hw);static int32_t e1000_wait_autoneg(struct e1000_hw *hw);static void e1000_write_reg_io(struct e1000_hw *hw, uint32_t offset, uint32_t value);static int32_t e1000_set_phy_type(struct e1000_hw *hw);static void e1000_phy_init_script(struct e1000_hw *hw);static int32_t e1000_setup_copper_link(struct e1000_hw *hw);static int32_t e1000_setup_fiber_serdes_link(struct e1000_hw *hw);static int32_t e1000_adjust_serdes_amplitude(struct e1000_hw *hw);static int32_t e1000_phy_force_speed_duplex(struct e1000_hw *hw);static int32_t e1000_config_mac_to_phy(struct e1000_hw *hw);static void e1000_raise_mdi_clk(struct e1000_hw *hw, uint32_t *ctrl);static void e1000_lower_mdi_clk(struct e1000_hw *hw, uint32_t *ctrl);static void e1000_shift_out_mdi_bits(struct e1000_hw *hw, uint32_t data,                                     uint16_t count);static uint16_t e1000_shift_in_mdi_bits(struct e1000_hw *hw);static int32_t e1000_phy_reset_dsp(struct e1000_hw *hw);static int32_t e1000_write_eeprom_spi(struct e1000_hw *hw, uint16_t offset,                                      uint16_t words, uint16_t *data);static int32_t e1000_write_eeprom_microwire(struct e1000_hw *hw,                                            uint16_t offset, uint16_t words,                                            uint16_t *data);static int32_t e1000_spi_eeprom_ready(struct e1000_hw *hw);static void e1000_raise_ee_clk(struct e1000_hw *hw, uint32_t *eecd);static void e1000_lower_ee_clk(struct e1000_hw *hw, uint32_t *eecd);static void e1000_shift_out_ee_bits(struct e1000_hw *hw, uint16_t data,                                    uint16_t count);static int32_t e1000_write_phy_reg_ex(struct e1000_hw *hw, uint32_t reg_addr,                                      uint16_t phy_data);static int32_t e1000_read_phy_reg_ex(struct e1000_hw *hw,uint32_t reg_addr,                                     uint16_t *phy_data);static uint16_t e1000_shift_in_ee_bits(struct e1000_hw *hw, uint16_t count);static int32_t e1000_acquire_eeprom(struct e1000_hw *hw);static void e1000_release_eeprom(struct e1000_hw *hw);static void e1000_standby_eeprom(struct e1000_hw *hw);static int32_t e1000_set_vco_speed(struct e1000_hw *hw);static int32_t e1000_polarity_reversal_workaround(struct e1000_hw *hw);static int32_t e1000_set_phy_mode(struct e1000_hw *hw);static int32_t e1000_host_if_read_cookie(struct e1000_hw *hw, uint8_t *buffer);static uint8_t e1000_calculate_mng_checksum(char *buffer, uint32_t length);static int32_t e1000_configure_kmrn_for_10_100(struct e1000_hw *hw,                                               uint16_t duplex);static int32_t e1000_configure_kmrn_for_1000(struct e1000_hw *hw);/* IGP cable length table */static constuint16_t e1000_igp_cable_length_table[IGP01E1000_AGC_LENGTH_TABLE_SIZE] =    { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,      5, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 25, 25, 25,      25, 25, 25, 25, 30, 30, 30, 30, 40, 40, 40, 40, 40, 40, 40, 40,      40, 50, 50, 50, 50, 50, 50, 50, 60, 60, 60, 60, 60, 60, 60, 60,      60, 70, 70, 70, 70, 70, 70, 80, 80, 80, 80, 80, 80, 90, 90, 90,      90, 90, 90, 90, 90, 90, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,      100, 100, 100, 100, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,      110, 110, 110, 110, 110, 110, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120};static constuint16_t e1000_igp_2_cable_length_table[IGP02E1000_AGC_LENGTH_TABLE_SIZE] =    { 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 8, 11, 13, 16, 18, 21,      0, 0, 0, 3, 6, 10, 13, 16, 19, 23, 26, 29, 32, 35, 38, 41,      6, 10, 14, 18, 22, 26, 30, 33, 37, 41, 44, 48, 51, 54, 58, 61,      21, 26, 31, 35, 40, 44, 49, 53, 57, 61, 65, 68, 72, 75, 79, 82,      40, 45, 51, 56, 61, 66, 70, 75, 79, 83, 87, 91, 94, 98, 101, 104,      60, 66, 72, 77, 82, 87, 92, 96, 100, 104, 108, 111, 114, 117, 119, 121,      83, 89, 95, 100, 105, 109, 113, 116, 119, 122, 124,      104, 109, 114, 118, 121, 124};/****************************************************************************** * Set the phy type member in the hw struct. * * hw - Struct containing variables accessed by shared code *****************************************************************************/static int32_te1000_set_phy_type(struct e1000_hw *hw){    DEBUGFUNC("e1000_set_phy_type");    if (hw->mac_type == e1000_undefined)        return -E1000_ERR_PHY_TYPE;    switch (hw->phy_id) {    case M88E1000_E_PHY_ID:    case M88E1000_I_PHY_ID:    case M88E1011_I_PHY_ID:    case M88E1111_I_PHY_ID:        hw->phy_type = e1000_phy_m88;        break;    case IGP01E1000_I_PHY_ID:        if (hw->mac_type == e1000_82541 ||            hw->mac_type == e1000_82541_rev_2 ||            hw->mac_type == e1000_82547 ||            hw->mac_type == e1000_82547_rev_2) {            hw->phy_type = e1000_phy_igp;            break;        }    case IGP03E1000_E_PHY_ID:        hw->phy_type = e1000_phy_igp_3;        break;    case IFE_E_PHY_ID:    case IFE_PLUS_E_PHY_ID:    case IFE_C_E_PHY_ID:        hw->phy_type = e1000_phy_ife;        break;    case GG82563_E_PHY_ID:        if (hw->mac_type == e1000_80003es2lan) {            hw->phy_type = e1000_phy_gg82563;            break;        }        /* Fall Through */    default:        /* Should never have loaded on this device */        hw->phy_type = e1000_phy_undefined;        return -E1000_ERR_PHY_TYPE;    }    return E1000_SUCCESS;}/****************************************************************************** * IGP phy init script - initializes the GbE PHY * * hw - Struct containing variables accessed by shared code *****************************************************************************/static voide1000_phy_init_script(struct e1000_hw *hw){    uint32_t ret_val;    uint16_t phy_saved_data;    DEBUGFUNC("e1000_phy_init_script");    if (hw->phy_init_script) {        msec_delay(20);        /* Save off the current value of register 0x2F5B to be restored at         * the end of this routine. */        ret_val = e1000_read_phy_reg(hw, 0x2F5B, &phy_saved_data);        /* Disabled the PHY transmitter */        e1000_write_phy_reg(hw, 0x2F5B, 0x0003);        msec_delay(20);        e1000_write_phy_reg(hw,0x0000,0x0140);        msec_delay(5);        switch (hw->mac_type) {        case e1000_82541:        case e1000_82547:            e1000_write_phy_reg(hw, 0x1F95, 0x0001);            e1000_write_phy_reg(hw, 0x1F71, 0xBD21);            e1000_write_phy_reg(hw, 0x1F79, 0x0018);            e1000_write_phy_reg(hw, 0x1F30, 0x1600);            e1000_write_phy_reg(hw, 0x1F31, 0x0014);            e1000_write_phy_reg(hw, 0x1F32, 0x161C);            e1000_write_phy_reg(hw, 0x1F94, 0x0003);            e1000_write_phy_reg(hw, 0x1F96, 0x003F);            e1000_write_phy_reg(hw, 0x2010, 0x0008);            break;        case e1000_82541_rev_2:        case e1000_82547_rev_2:            e1000_write_phy_reg(hw, 0x1F73, 0x0099);            break;        default:            break;        }        e1000_write_phy_reg(hw, 0x0000, 0x3300);        msec_delay(20);        /* Now enable the transmitter */        e1000_write_phy_reg(hw, 0x2F5B, phy_saved_data);        if (hw->mac_type == e1000_82547) {            uint16_t fused, fine, coarse;            /* Move to analog registers page */            e1000_read_phy_reg(hw, IGP01E1000_ANALOG_SPARE_FUSE_STATUS, &fused);            if (!(fused & IGP01E1000_ANALOG_SPARE_FUSE_ENABLED)) {                e1000_read_phy_reg(hw, IGP01E1000_ANALOG_FUSE_STATUS, &fused);                fine = fused & IGP01E1000_ANALOG_FUSE_FINE_MASK;                coarse = fused & IGP01E1000_ANALOG_FUSE_COARSE_MASK;                if (coarse > IGP01E1000_ANALOG_FUSE_COARSE_THRESH) {                    coarse -= IGP01E1000_ANALOG_FUSE_COARSE_10;                    fine -= IGP01E1000_ANALOG_FUSE_FINE_1;                } else if (coarse == IGP01E1000_ANALOG_FUSE_COARSE_THRESH)                    fine -= IGP01E1000_ANALOG_FUSE_FINE_10;                fused = (fused & IGP01E1000_ANALOG_FUSE_POLY_MASK) |                        (fine & IGP01E1000_ANALOG_FUSE_FINE_MASK) |                        (coarse & IGP01E1000_ANALOG_FUSE_COARSE_MASK);                e1000_write_phy_reg(hw, IGP01E1000_ANALOG_FUSE_CONTROL, fused);                e1000_write_phy_reg(hw, IGP01E1000_ANALOG_FUSE_BYPASS,                                    IGP01E1000_ANALOG_FUSE_ENABLE_SW_CONTROL);            }        }    }}/****************************************************************************** * Set the mac type member in the hw struct. * * hw - Struct containing variables accessed by shared code *****************************************************************************/int32_te1000_set_mac_type(struct e1000_hw *hw){    DEBUGFUNC("e1000_set_mac_type");    switch (hw->device_id) {    case E1000_DEV_ID_82542:        switch (hw->revision_id) {        case E1000_82542_2_0_REV_ID:            hw->mac_type = e1000_82542_rev2_0;            break;        case E1000_82542_2_1_REV_ID:            hw->mac_type = e1000_82542_rev2_1;            break;        default:            /* Invalid 82542 revision ID */            return -E1000_ERR_MAC_TYPE;        }        break;    case E1000_DEV_ID_82543GC_FIBER:    case E1000_DEV_ID_82543GC_COPPER:        hw->mac_type = e1000_82543;        break;    case E1000_DEV_ID_82544EI_COPPER:    case E1000_DEV_ID_82544EI_FIBER:    case E1000_DEV_ID_82544GC_COPPER:    case E1000_DEV_ID_82544GC_LOM:        hw->mac_type = e1000_82544;        break;    case E1000_DEV_ID_82540EM:    case E1000_DEV_ID_82540EM_LOM:    case E1000_DEV_ID_82540EP:    case E1000_DEV_ID_82540EP_LOM:    case E1000_DEV_ID_82540EP_LP:        hw->mac_type = e1000_82540;        break;    case E1000_DEV_ID_82545EM_COPPER:    case E1000_DEV_ID_82545EM_FIBER:        hw->mac_type = e1000_82545;        break;    case E1000_DEV_ID_82545GM_COPPER:    case E1000_DEV_ID_82545GM_FIBER:    case E1000_DEV_ID_82545GM_SERDES:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久一区二区三区| 欧美日韩一级黄| 成人深夜福利app| 欧美日韩极品在线观看一区| 久久综合99re88久久爱| 有坂深雪av一区二区精品| 精品一区精品二区高清| 在线观看日韩电影| 中文字幕欧美三区| 精品亚洲成a人| 7777精品伊人久久久大香线蕉的| 综合精品久久久| 粉嫩绯色av一区二区在线观看| 欧美精品一级二级| 亚洲精品一二三区| 成人深夜视频在线观看| 久久亚洲精华国产精华液| 日韩电影在线免费看| 91久久免费观看| 日韩美女啊v在线免费观看| 国产精品正在播放| 日韩免费在线观看| 日本在线不卡视频| 欧美一区二区三区在线电影| 亚洲综合在线第一页| 91蝌蚪国产九色| 国产精品福利一区二区三区| 成人高清免费观看| 国产精品伦一区| 成人免费看的视频| 国产精品免费久久| 国产69精品久久久久毛片| 久久影院午夜片一区| 久久精品久久精品| 精品国产一区二区三区四区四| 日本不卡中文字幕| 日韩三级视频在线看| 久久99国产精品久久| 精品黑人一区二区三区久久| 久色婷婷小香蕉久久| 精品少妇一区二区| 国产精品99久久久| 国产精品久久久久久久久免费桃花 | 欧美激情中文不卡| 国产经典欧美精品| 中文字幕不卡三区| 91亚洲精品乱码久久久久久蜜桃| 亚洲男同1069视频| 欧美日韩国产系列| 免费观看一级特黄欧美大片| 精品国产免费视频| 成人视屏免费看| 一区二区不卡在线播放| 3751色影院一区二区三区| 久久精品国产77777蜜臀| 久久久久久电影| 99精品久久只有精品| 亚洲一区在线电影| 精品国产一区二区三区四区四| 粉嫩一区二区三区性色av| 亚洲天堂网中文字| 欧美一级电影网站| 成人激情综合网站| 一区二区在线免费| 精品三级在线观看| 色综合久久88色综合天天免费| 亚洲不卡av一区二区三区| 欧美xxxxxxxx| 色呦呦国产精品| 美女视频免费一区| 成人免费小视频| 欧美一区永久视频免费观看| 国产99久久久国产精品潘金 | 亚洲精品国产无天堂网2021| 欧美日韩激情一区二区| 国产成人av一区二区三区在线观看| 亚洲色大成网站www久久九九| 91精品国产综合久久香蕉麻豆| 国产成a人亚洲精| 亚洲成人福利片| 国产精品私人自拍| 日韩一级视频免费观看在线| 91在线播放网址| 国产乱码精品一区二区三区忘忧草 | 欧美这里有精品| 国产一区二区毛片| 日韩电影一区二区三区四区| 中文字幕中文乱码欧美一区二区| 日韩一区二区在线看| 在线免费不卡电影| www.色精品| 国产一区二区不卡| 日本免费新一区视频| 一区av在线播放| 国产精品国产a| 国产网站一区二区| 精品欧美一区二区久久| 欧美亚洲愉拍一区二区| 波多野结衣中文字幕一区二区三区| 日本成人在线不卡视频| 天天综合网 天天综合色| 国产精品蜜臀在线观看| 久久在线观看免费| 日韩免费高清视频| 91精品欧美综合在线观看最新| 色8久久精品久久久久久蜜| 波多野结衣中文字幕一区| 国产毛片精品国产一区二区三区| 看国产成人h片视频| 免费看黄色91| 久久精品国产**网站演员| 免费精品视频在线| 蜜臀av一区二区在线观看| 亚洲成av人在线观看| 亚洲一区二区在线免费看| 亚洲另类一区二区| 依依成人精品视频| 有坂深雪av一区二区精品| 亚洲综合精品自拍| 午夜精品视频一区| 男男视频亚洲欧美| 久久草av在线| 国产美女视频91| 国产a精品视频| 91色在线porny| 欧美性videosxxxxx| 欧美久久久久久久久| 5566中文字幕一区二区电影| 67194成人在线观看| 日韩精品一区二区三区四区| 久久尤物电影视频在线观看| 中文字幕av资源一区| 中文字幕一区二区三区在线不卡| 亚洲视频在线一区观看| 一二三区精品视频| 石原莉奈在线亚洲二区| 国精产品一区一区三区mba桃花| 国产福利一区二区三区视频在线| 高清成人免费视频| 日本韩国欧美一区| 欧美一区二区三区四区视频| 久久久不卡网国产精品一区| 国产资源在线一区| 美国三级日本三级久久99| 蜜臀精品久久久久久蜜臀| 国产资源在线一区| 成人动漫在线一区| 欧美三级视频在线播放| 欧美电影免费观看高清完整版在线| 2021中文字幕一区亚洲| 日韩美女久久久| 久久av资源站| 色中色一区二区| 精品美女在线观看| 亚洲免费高清视频在线| 理论电影国产精品| 99久久国产综合精品色伊| 欧美日韩免费高清一区色橹橹| 精品免费日韩av| 自拍偷拍国产亚洲| 六月婷婷色综合| 色成人在线视频| 欧美国产一区二区在线观看| 亚洲成av人**亚洲成av**| 高清不卡一区二区在线| 久久影院视频免费| 国产日韩精品久久久| 久久精品国产一区二区三区免费看| 91视频com| 国产亚洲视频系列| 午夜视频在线观看一区二区| 岛国一区二区在线观看| 正在播放亚洲一区| 一区二区三区资源| 高清久久久久久| 欧美sm美女调教| 亚洲国产日韩av| av一区二区三区四区| 精品国产伦一区二区三区免费| 亚洲午夜影视影院在线观看| 成人免费va视频| 精品国产青草久久久久福利| 偷窥国产亚洲免费视频| 91免费小视频| 欧美激情综合五月色丁香小说| 毛片av一区二区三区| 欧美一区二区三区视频在线| 亚洲一区二区三区四区在线| av色综合久久天堂av综合| 国产色综合久久| 国产精品白丝jk白祙喷水网站| 欧美成人三级在线| 美腿丝袜亚洲综合| 日韩亚洲欧美综合| 日本不卡高清视频| 69久久99精品久久久久婷婷 | 在线观看区一区二| 亚洲精品视频在线观看免费| 不卡av免费在线观看| 中文字幕第一页久久|