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

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

?? e1000_ich8lan.c

?? DELL755 Intel 網卡驅動
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*******************************************************************************  Intel PRO/1000 Linux driver  Copyright(c) 1999 - 2008 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_ich8lan * e1000_ich9lan */#include "e1000_hw.h"static s32  e1000_init_phy_params_ich8lan(struct e1000_hw *hw);static s32  e1000_init_nvm_params_ich8lan(struct e1000_hw *hw);static s32  e1000_init_mac_params_ich8lan(struct e1000_hw *hw);static s32  e1000_acquire_swflag_ich8lan(struct e1000_hw *hw);static void e1000_release_swflag_ich8lan(struct e1000_hw *hw);static bool e1000_check_mng_mode_ich8lan(struct e1000_hw *hw);static s32  e1000_check_polarity_ife_ich8lan(struct e1000_hw *hw);static s32  e1000_check_reset_block_ich8lan(struct e1000_hw *hw);static s32  e1000_phy_force_speed_duplex_ich8lan(struct e1000_hw *hw);static s32  e1000_phy_hw_reset_ich8lan(struct e1000_hw *hw);static s32  e1000_get_phy_info_ich8lan(struct e1000_hw *hw);static s32  e1000_set_d0_lplu_state_ich8lan(struct e1000_hw *hw,                                            bool active);static s32  e1000_set_d3_lplu_state_ich8lan(struct e1000_hw *hw,                                            bool active);static s32  e1000_read_nvm_ich8lan(struct e1000_hw *hw, u16 offset,                                   u16 words, u16 *data);static s32  e1000_write_nvm_ich8lan(struct e1000_hw *hw, u16 offset,                                    u16 words, u16 *data);static s32  e1000_validate_nvm_checksum_ich8lan(struct e1000_hw *hw);static s32  e1000_update_nvm_checksum_ich8lan(struct e1000_hw *hw);static s32  e1000_valid_led_default_ich8lan(struct e1000_hw *hw,                                            u16 *data);static s32  e1000_get_bus_info_ich8lan(struct e1000_hw *hw);static s32  e1000_reset_hw_ich8lan(struct e1000_hw *hw);static s32  e1000_init_hw_ich8lan(struct e1000_hw *hw);static s32  e1000_setup_link_ich8lan(struct e1000_hw *hw);static s32  e1000_setup_copper_link_ich8lan(struct e1000_hw *hw);static s32  e1000_get_link_up_info_ich8lan(struct e1000_hw *hw,                                           u16 *speed, u16 *duplex);static s32  e1000_cleanup_led_ich8lan(struct e1000_hw *hw);static s32  e1000_led_on_ich8lan(struct e1000_hw *hw);static s32  e1000_led_off_ich8lan(struct e1000_hw *hw);static void e1000_clear_hw_cntrs_ich8lan(struct e1000_hw *hw);static s32  e1000_erase_flash_bank_ich8lan(struct e1000_hw *hw, u32 bank);static s32  e1000_flash_cycle_ich8lan(struct e1000_hw *hw, u32 timeout);static s32  e1000_flash_cycle_init_ich8lan(struct e1000_hw *hw);static s32  e1000_get_phy_info_ife_ich8lan(struct e1000_hw *hw);static void e1000_initialize_hw_bits_ich8lan(struct e1000_hw *hw);static s32  e1000_kmrn_lock_loss_workaround_ich8lan(struct e1000_hw *hw);static s32  e1000_read_flash_byte_ich8lan(struct e1000_hw *hw,                                          u32 offset, u8* data);static s32  e1000_read_flash_data_ich8lan(struct e1000_hw *hw, u32 offset,                                          u8 size, u16* data);static s32  e1000_read_flash_word_ich8lan(struct e1000_hw *hw,                                          u32 offset, u16 *data);static s32  e1000_retry_write_flash_byte_ich8lan(struct e1000_hw *hw,                                                 u32 offset, u8 byte);static s32  e1000_write_flash_byte_ich8lan(struct e1000_hw *hw,                                           u32 offset, u8 data);static s32  e1000_write_flash_data_ich8lan(struct e1000_hw *hw, u32 offset,                                           u8 size, u16 data);static s32 e1000_get_cfg_done_ich8lan(struct e1000_hw *hw);static void e1000_power_down_phy_copper_ich8lan(struct e1000_hw *hw);/* ICH GbE Flash Hardware Sequencing Flash Status Register bit breakdown *//* Offset 04h HSFSTS */union ich8_hws_flash_status {	struct ich8_hsfsts {		u16 flcdone    :1; /* bit 0 Flash Cycle Done */		u16 flcerr     :1; /* bit 1 Flash Cycle Error */		u16 dael       :1; /* bit 2 Direct Access error Log */		u16 berasesz   :2; /* bit 4:3 Sector Erase Size */		u16 flcinprog  :1; /* bit 5 flash cycle in Progress */		u16 reserved1  :2; /* bit 13:6 Reserved */		u16 reserved2  :6; /* bit 13:6 Reserved */		u16 fldesvalid :1; /* bit 14 Flash Descriptor Valid */		u16 flockdn    :1; /* bit 15 Flash Config Lock-Down */	} hsf_status;	u16 regval;};/* ICH GbE Flash Hardware Sequencing Flash control Register bit breakdown *//* Offset 06h FLCTL */union ich8_hws_flash_ctrl {	struct ich8_hsflctl {		u16 flcgo      :1;   /* 0 Flash Cycle Go */		u16 flcycle    :2;   /* 2:1 Flash Cycle */		u16 reserved   :5;   /* 7:3 Reserved  */		u16 fldbcount  :2;   /* 9:8 Flash Data Byte Count */		u16 flockdn    :6;   /* 15:10 Reserved */	} hsf_ctrl;	u16 regval;};/* ICH Flash Region Access Permissions */union ich8_hws_flash_regacc {	struct ich8_flracc {		u32 grra      :8; /* 0:7 GbE region Read Access */		u32 grwa      :8; /* 8:15 GbE region Write Access */		u32 gmrag     :8; /* 23:16 GbE Master Read Access Grant */		u32 gmwag     :8; /* 31:24 GbE Master Write Access Grant */	} hsf_flregacc;	u16 regval;};struct e1000_shadow_ram {	u16  value;	bool modified;};struct e1000_dev_spec_ich8lan {	bool kmrn_lock_loss_workaround_enabled;	struct e1000_shadow_ram shadow_ram[E1000_SHADOW_RAM_WORDS];};/** *  e1000_init_phy_params_ich8lan - Initialize PHY function pointers *  @hw: pointer to the HW structure * *  Initialize family-specific PHY parameters and function pointers. **/static s32 e1000_init_phy_params_ich8lan(struct e1000_hw *hw){	struct e1000_phy_info *phy = &hw->phy;	s32 ret_val = E1000_SUCCESS;	u16 i = 0;	DEBUGFUNC("e1000_init_phy_params_ich8lan");	phy->addr                     = 1;	phy->reset_delay_us           = 100;	phy->ops.acquire              = e1000_acquire_swflag_ich8lan;	phy->ops.check_polarity       = e1000_check_polarity_ife_ich8lan;	phy->ops.check_reset_block    = e1000_check_reset_block_ich8lan;	phy->ops.force_speed_duplex   = e1000_phy_force_speed_duplex_ich8lan;	phy->ops.get_cable_length     = e1000_get_cable_length_igp_2;	phy->ops.get_cfg_done         = e1000_get_cfg_done_ich8lan;	phy->ops.get_info             = e1000_get_phy_info_ich8lan;	phy->ops.read_reg             = e1000_read_phy_reg_igp;	phy->ops.release              = e1000_release_swflag_ich8lan;	phy->ops.reset                = e1000_phy_hw_reset_ich8lan;	phy->ops.set_d0_lplu_state    = e1000_set_d0_lplu_state_ich8lan;	phy->ops.set_d3_lplu_state    = e1000_set_d3_lplu_state_ich8lan;	phy->ops.write_reg            = e1000_write_phy_reg_igp;	phy->ops.power_up             = e1000_power_up_phy_copper;	phy->ops.power_down           = e1000_power_down_phy_copper_ich8lan;	/*	 * We may need to do this twice - once for IGP and if that fails,	 * we'll set BM func pointers and try again	 */	ret_val = e1000_determine_phy_address(hw);	if (ret_val) {		phy->ops.write_reg = e1000_write_phy_reg_bm;		phy->ops.read_reg  = e1000_read_phy_reg_bm;		ret_val = e1000_determine_phy_address(hw);		if (ret_val) {			DEBUGOUT("Cannot determine PHY address. Erroring out\n");			goto out;		}	}	phy->id = 0;	while ((e1000_phy_unknown == e1000_get_phy_type_from_id(phy->id)) &&	       (i++ < 100)) {		msec_delay(1);		ret_val = e1000_get_phy_id(hw);		if (ret_val)			goto out;	}	/* Verify phy id */	switch (phy->id) {	case IGP03E1000_E_PHY_ID:		phy->type = e1000_phy_igp_3;		phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;		break;	case IFE_E_PHY_ID:	case IFE_PLUS_E_PHY_ID:	case IFE_C_E_PHY_ID:		phy->type = e1000_phy_ife;		phy->autoneg_mask = E1000_ALL_NOT_GIG;		break;	case BME1000_E_PHY_ID:		phy->type = e1000_phy_bm;		phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;		phy->ops.read_reg = e1000_read_phy_reg_bm;		phy->ops.write_reg = e1000_write_phy_reg_bm;		phy->ops.commit = e1000_phy_sw_reset_generic;		break;	default:		ret_val = -E1000_ERR_PHY;		goto out;	}out:	return ret_val;}/** *  e1000_init_nvm_params_ich8lan - Initialize NVM function pointers *  @hw: pointer to the HW structure * *  Initialize family-specific NVM parameters and function *  pointers. **/static s32 e1000_init_nvm_params_ich8lan(struct e1000_hw *hw){	struct e1000_nvm_info *nvm = &hw->nvm;	struct e1000_dev_spec_ich8lan *dev_spec;	u32 gfpreg, sector_base_addr, sector_end_addr;	s32 ret_val = E1000_SUCCESS;	u16 i;	DEBUGFUNC("e1000_init_nvm_params_ich8lan");	/* Can't read flash registers if the register set isn't mapped. */	if (!hw->flash_address) {		DEBUGOUT("ERROR: Flash registers not mapped\n");		ret_val = -E1000_ERR_CONFIG;		goto out;	}	nvm->type               = e1000_nvm_flash_sw;	gfpreg = E1000_READ_FLASH_REG(hw, ICH_FLASH_GFPREG);	/*	 * sector_X_addr is a "sector"-aligned address (4096 bytes)	 * Add 1 to sector_end_addr since this sector is included in	 * the overall size.	 */	sector_base_addr = gfpreg & FLASH_GFPREG_BASE_MASK;	sector_end_addr = ((gfpreg >> 16) & FLASH_GFPREG_BASE_MASK) + 1;	/* flash_base_addr is byte-aligned */	nvm->flash_base_addr    = sector_base_addr << FLASH_SECTOR_ADDR_SHIFT;	/*	 * find total size of the NVM, then cut in half since the total	 * size represents two separate NVM banks.	 */	nvm->flash_bank_size    = (sector_end_addr - sector_base_addr)	                          << FLASH_SECTOR_ADDR_SHIFT;	nvm->flash_bank_size    /= 2;	/* Adjust to word count */	nvm->flash_bank_size    /= sizeof(u16);	nvm->word_size          = E1000_SHADOW_RAM_WORDS;	dev_spec = (struct e1000_dev_spec_ich8lan *)hw->dev_spec;	if (!dev_spec) {		DEBUGOUT("dev_spec pointer is set to NULL.\n");		ret_val = -E1000_ERR_CONFIG;		goto out;	}	/* Clear shadow ram */	for (i = 0; i < nvm->word_size; i++) {		dev_spec->shadow_ram[i].modified = false;		dev_spec->shadow_ram[i].value    = 0xFFFF;	}	/* Function Pointers */	nvm->ops.acquire       = e1000_acquire_swflag_ich8lan;	nvm->ops.read          = e1000_read_nvm_ich8lan;	nvm->ops.release       = e1000_release_swflag_ich8lan;	nvm->ops.update        = e1000_update_nvm_checksum_ich8lan;	nvm->ops.valid_led_default = e1000_valid_led_default_ich8lan;	nvm->ops.validate      = e1000_validate_nvm_checksum_ich8lan;	nvm->ops.write         = e1000_write_nvm_ich8lan;out:	return ret_val;}/** *  e1000_init_mac_params_ich8lan - Initialize MAC function pointers *  @hw: pointer to the HW structure * *  Initialize family-specific MAC parameters and function *  pointers. **/static s32 e1000_init_mac_params_ich8lan(struct e1000_hw *hw){	struct e1000_mac_info *mac = &hw->mac;	s32 ret_val = E1000_SUCCESS;	DEBUGFUNC("e1000_init_mac_params_ich8lan");	/* Set media type function pointer */	hw->phy.media_type = e1000_media_type_copper;	/* Set mta register count */	mac->mta_reg_count = 32;	/* Set rar entry count */	mac->rar_entry_count = E1000_ICH_RAR_ENTRIES;	if (mac->type == e1000_ich8lan)		mac->rar_entry_count--;	/* Set if part includes ASF firmware */	mac->asf_firmware_present = true;	/* Set if manageability features are enabled. */	mac->arc_subsystem_valid = true;	/* Function pointers */	/* bus type/speed/width */	mac->ops.get_bus_info = e1000_get_bus_info_ich8lan;	/* reset */	mac->ops.reset_hw = e1000_reset_hw_ich8lan;	/* hw initialization */	mac->ops.init_hw = e1000_init_hw_ich8lan;	/* link setup */	mac->ops.setup_link = e1000_setup_link_ich8lan;	/* physical interface setup */	mac->ops.setup_physical_interface = e1000_setup_copper_link_ich8lan;	/* check for link */	mac->ops.check_for_link = e1000_check_for_copper_link_generic;	/* check management mode */	mac->ops.check_mng_mode = e1000_check_mng_mode_ich8lan;	/* link info */	mac->ops.get_link_up_info = e1000_get_link_up_info_ich8lan;	/* multicast address update */	mac->ops.update_mc_addr_list = e1000_update_mc_addr_list_generic;	/* setting MTA */	mac->ops.mta_set = e1000_mta_set_generic;	/* blink LED */	mac->ops.blink_led = e1000_blink_led_generic;	/* setup LED */	mac->ops.setup_led = e1000_setup_led_generic;	/* cleanup LED */	mac->ops.cleanup_led = e1000_cleanup_led_ich8lan;	/* turn on/off LED */	mac->ops.led_on = e1000_led_on_ich8lan;	mac->ops.led_off = e1000_led_off_ich8lan;	/* remove device */	mac->ops.remove_device = e1000_remove_device_generic;	/* clear hardware counters */	mac->ops.clear_hw_cntrs = e1000_clear_hw_cntrs_ich8lan;	hw->dev_spec_size = sizeof(struct e1000_dev_spec_ich8lan);	/* Device-specific structure allocation */	ret_val = e1000_alloc_zeroed_dev_spec_struct(hw, hw->dev_spec_size);	if (ret_val)		goto out;	/* Enable PCS Lock-loss workaround for ICH8 */	if (mac->type == e1000_ich8lan)		e1000_set_kmrn_lock_loss_workaround_ich8lan(hw, true);out:	return ret_val;}/** *  e1000_init_function_pointers_ich8lan - Initialize ICH8 function pointers *  @hw: pointer to the HW structure * *  Initialize family-specific function pointers for PHY, MAC, and NVM. **/void e1000_init_function_pointers_ich8lan(struct e1000_hw *hw){	DEBUGFUNC("e1000_init_function_pointers_ich8lan");	e1000_init_mac_ops_generic(hw);	e1000_init_nvm_ops_generic(hw);	hw->mac.ops.init_params = e1000_init_mac_params_ich8lan;	hw->nvm.ops.init_params = e1000_init_nvm_params_ich8lan;	hw->phy.ops.init_params = e1000_init_phy_params_ich8lan;}/** *  e1000_acquire_swflag_ich8lan - Acquire software control flag *  @hw: pointer to the HW structure * *  Acquires the software control flag for performing NVM and PHY *  operations.  This is a function pointer entry point only called by *  read/write routines for the PHY and NVM parts. **/static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw){	u32 extcnf_ctrl, timeout = PHY_CFG_TIMEOUT;	s32 ret_val = E1000_SUCCESS;	DEBUGFUNC("e1000_acquire_swflag_ich8lan");	while (timeout) {		extcnf_ctrl = E1000_READ_REG(hw, E1000_EXTCNF_CTRL);		extcnf_ctrl |= E1000_EXTCNF_CTRL_SWFLAG;		E1000_WRITE_REG(hw, E1000_EXTCNF_CTRL, extcnf_ctrl);		extcnf_ctrl = E1000_READ_REG(hw, E1000_EXTCNF_CTRL);		if (extcnf_ctrl & E1000_EXTCNF_CTRL_SWFLAG)			break;		msec_delay_irq(1);		timeout--;	}	if (!timeout) {		DEBUGOUT("FW or HW has locked the resource for too long.\n");		extcnf_ctrl &= ~E1000_EXTCNF_CTRL_SWFLAG;		E1000_WRITE_REG(hw, E1000_EXTCNF_CTRL, extcnf_ctrl);		ret_val = -E1000_ERR_CONFIG;		goto out;	}out:	return ret_val;}/** *  e1000_release_swflag_ich8lan - Release software control flag *  @hw: pointer to the HW structure * *  Releases the software control flag for performing NVM and PHY operations. *  This is a function pointer entry point only called by read/write

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
人人精品人人爱| 91色在线porny| 午夜伦欧美伦电影理论片| 蜜桃av一区二区在线观看| 精品亚洲国内自在自线福利| 在线观看91视频| 久久久久99精品国产片| 亚洲欧美日韩久久| 精品夜夜嗨av一区二区三区| 欧美在线观看一区二区| 国产午夜精品一区二区三区嫩草| 欧美卡1卡2卡| 视频一区二区三区入口| www.色综合.com| 久久综合九色综合久久久精品综合| 亚洲成av人片在www色猫咪| 欧美日韩国产大片| 三级精品在线观看| 最新国产精品久久精品| aa级大片欧美| 久久久亚洲午夜电影| 免费久久99精品国产| 激情亚洲综合在线| 欧美绝品在线观看成人午夜影视| 国产精品香蕉一区二区三区| 日本一区二区三区四区| 自拍偷拍国产精品| 99久久精品国产毛片| 国内一区二区视频| 日本成人在线一区| 日本不卡一二三区黄网| 午夜不卡av免费| 亚洲成人资源网| 亚洲国产精品久久艾草纯爱| 亚洲欧美日韩国产手机在线 | 免费高清不卡av| 亚洲福利国产精品| 洋洋av久久久久久久一区| 亚洲欧美视频在线观看视频| 成人欧美一区二区三区小说| 国产精品伦一区| 中文字幕中文字幕一区二区| 久久久久久久久久久电影| www欧美成人18+| 久久精品亚洲国产奇米99| 久久久久久久久久久久久久久99| 久久综合九色综合久久久精品综合 | 日韩免费看的电影| 欧美一级欧美三级在线观看| 精品日韩av一区二区| 精品国产91久久久久久久妲己 | 久久精品人人爽人人爽| 日韩精品自拍偷拍| 久久亚洲一区二区三区四区| 久久精品欧美一区二区三区不卡 | 911精品国产一区二区在线| 欧美伦理视频网站| 日韩丝袜美女视频| 久久精品一区蜜桃臀影院| 国产嫩草影院久久久久| 亚洲视频在线一区| 五月婷婷久久综合| 经典三级视频一区| 91色视频在线| 91精品国产高清一区二区三区| 精品国产一区二区国模嫣然| 国产精品美女久久久久久久久久久| 亚洲欧洲日本在线| 午夜视频在线观看一区| 国产精品久久久久久久浪潮网站| 精品国产三级a在线观看| 国产嫩草影院久久久久| 亚洲免费av观看| 男女激情视频一区| 国产九九视频一区二区三区| 色综合久久中文综合久久牛| 日韩欧美自拍偷拍| 欧美激情一区在线| 亚洲午夜久久久久久久久久久 | 国产在线播放一区| 国产亚洲自拍一区| 亚洲精品高清在线观看| 毛片基地黄久久久久久天堂| 99精品1区2区| 日韩亚洲电影在线| 最新国产精品久久精品| 麻豆久久久久久| 99精品欧美一区| 精品国产伦一区二区三区观看方式| 一区精品在线播放| 免费观看日韩av| 一本大道av伊人久久综合| 日韩欧美你懂的| 亚洲一区二区综合| 床上的激情91.| 亚洲va韩国va欧美va精品| 欧美一区二区精品| 国产精品剧情在线亚洲| 日本美女一区二区三区视频| 99久久精品免费观看| 精品噜噜噜噜久久久久久久久试看| 自拍偷拍亚洲激情| 激情小说欧美图片| 欧美乱妇20p| 亚洲免费观看在线观看| 国产成人a级片| 欧美成人高清电影在线| 亚洲综合色成人| 暴力调教一区二区三区| 精品88久久久久88久久久| 日韩精品午夜视频| 欧美亚洲另类激情小说| 亚洲欧洲av在线| 国产精品影音先锋| 日韩女优av电影| 青草国产精品久久久久久| 欧美色图在线观看| 亚洲另类在线制服丝袜| 成人高清在线视频| 欧美国产一区在线| 国产一区美女在线| 日韩欧美在线影院| 蜜臀av性久久久久蜜臀aⅴ四虎| 成人精品国产一区二区4080| 欧美成人a视频| 亚洲综合在线视频| 色综合久久久久| 国产精品伦理在线| 成人黄色a**站在线观看| 日本一区二区三区免费乱视频| 精品国产不卡一区二区三区| 美女脱光内衣内裤视频久久影院| 欧美国产亚洲另类动漫| 欧美在线|欧美| 亚洲成人免费观看| 欧美精品一区二区高清在线观看| 精品影院一区二区久久久| 日韩一区二区影院| aaa欧美日韩| 日韩主播视频在线| 国产午夜亚洲精品不卡| 成人午夜在线播放| 亚洲美女区一区| 99re热这里只有精品免费视频| 日本一区二区三区视频视频| 成人免费毛片app| 韩国精品久久久| 日韩久久久久久| 国产福利一区在线| 国产精品久久久久四虎| 色综合久久六月婷婷中文字幕| 日韩一区在线播放| 欧美亚洲禁片免费| 蜜臀91精品一区二区三区| 26uuu国产日韩综合| 成人免费福利片| 亚洲精品久久久蜜桃| 欧美日本精品一区二区三区| 久久99热这里只有精品| 国产亚洲福利社区一区| 91亚洲精品久久久蜜桃| 亚洲大片精品永久免费| 精品国产伦一区二区三区观看体验 | 亚洲综合视频在线| 欧美一级夜夜爽| 国产成人免费视频网站 | 麻豆专区一区二区三区四区五区| 精品成人免费观看| 91麻豆精品在线观看| 日韩电影在线免费看| 日本一区二区视频在线| 欧美影院一区二区三区| 久久不见久久见免费视频7| 国产精品久99| 欧美一级视频精品观看| 成人视屏免费看| 日本视频中文字幕一区二区三区| 国产亚洲精品福利| 欧美性大战久久久久久久蜜臀| 国产专区欧美精品| 亚洲综合激情小说| 久久久久久夜精品精品免费| 在线观看亚洲精品| 国产福利一区二区三区在线视频| 亚洲制服丝袜av| 91国产成人在线| 久久精品一区二区三区四区| 中文一区一区三区高中清不卡| 亚洲国产一区二区三区青草影视| 99精品欧美一区二区三区综合在线| 成人av在线影院| 欧美裸体一区二区三区| 久久久夜色精品亚洲| 日韩一区在线看| 欧美aaa在线| 99久久免费视频.com| 欧美成人女星排行榜| 国产精品进线69影院| 性感美女极品91精品| www.亚洲人|