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

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

?? pciehp_hpc.c

?? 底層驅動開發(fā)
?? C
?? 第 1 頁 / 共 3 頁
字號:
			return IRQ_NONE;		}		dbg("%s: hp_register_read_word SLOT_STATUS with value %x\n", __FUNCTION__, slot_status); 				/* Clear command complete interrupt caused by this write */		temp_word = 0x1F;		rc = hp_register_write_word(php_ctlr->pci_dev, SLOT_STATUS(ctrl->cap_base), temp_word);		if (rc) {			err("%s : hp_register_write_word SLOT_STATUS failed\n", __FUNCTION__);			return IRQ_NONE;		}		dbg("%s: hp_register_write_word SLOT_STATUS with value %x\n", __FUNCTION__, temp_word); 	}		return IRQ_HANDLED;}static int hpc_get_max_lnk_speed (struct slot *slot, enum pci_bus_speed *value){	struct php_ctlr_state_s *php_ctlr = slot->ctrl->hpc_ctlr_handle;	enum pcie_link_speed lnk_speed;	u32	lnk_cap;	int retval = 0;	DBG_ENTER_ROUTINE 	if (!php_ctlr) {		err("%s: Invalid HPC controller handle!\n", __FUNCTION__);		return -1;	}	if (slot->hp_slot >= php_ctlr->num_slots) {		err("%s: Invalid HPC slot number!\n", __FUNCTION__);		return -1;	}	retval = hp_register_read_dword(php_ctlr->pci_dev, LNK_CAP(slot->ctrl->cap_base), lnk_cap);	if (retval) {		err("%s : hp_register_read_dword  LNK_CAP failed\n", __FUNCTION__);		return retval;	}	switch (lnk_cap & 0x000F) {	case 1:		lnk_speed = PCIE_2PT5GB;		break;	default:		lnk_speed = PCIE_LNK_SPEED_UNKNOWN;		break;	}	*value = lnk_speed;	dbg("Max link speed = %d\n", lnk_speed);	DBG_LEAVE_ROUTINE 	return retval;}static int hpc_get_max_lnk_width (struct slot *slot, enum pcie_link_width *value){	struct php_ctlr_state_s *php_ctlr = slot->ctrl->hpc_ctlr_handle;	enum pcie_link_width lnk_wdth;	u32	lnk_cap;	int retval = 0;	DBG_ENTER_ROUTINE 	if (!php_ctlr) {		err("%s: Invalid HPC controller handle!\n", __FUNCTION__);		return -1;	}	if (slot->hp_slot >= php_ctlr->num_slots) {		err("%s: Invalid HPC slot number!\n", __FUNCTION__);		return -1;	}	retval = hp_register_read_dword(php_ctlr->pci_dev, LNK_CAP(slot->ctrl->cap_base), lnk_cap);	if (retval) {		err("%s : hp_register_read_dword  LNK_CAP failed\n", __FUNCTION__);		return retval;	}	switch ((lnk_cap & 0x03F0) >> 4){	case 0:		lnk_wdth = PCIE_LNK_WIDTH_RESRV;		break;	case 1:		lnk_wdth = PCIE_LNK_X1;		break;	case 2:		lnk_wdth = PCIE_LNK_X2;		break;	case 4:		lnk_wdth = PCIE_LNK_X4;		break;	case 8:		lnk_wdth = PCIE_LNK_X8;		break;	case 12:		lnk_wdth = PCIE_LNK_X12;		break;	case 16:		lnk_wdth = PCIE_LNK_X16;		break;	case 32:		lnk_wdth = PCIE_LNK_X32;		break;	default:		lnk_wdth = PCIE_LNK_WIDTH_UNKNOWN;		break;	}	*value = lnk_wdth;	dbg("Max link width = %d\n", lnk_wdth);	DBG_LEAVE_ROUTINE 	return retval;}static int hpc_get_cur_lnk_speed (struct slot *slot, enum pci_bus_speed *value){	struct php_ctlr_state_s *php_ctlr = slot->ctrl->hpc_ctlr_handle;	enum pcie_link_speed lnk_speed = PCI_SPEED_UNKNOWN;	int retval = 0;	u16 lnk_status;	DBG_ENTER_ROUTINE 	if (!php_ctlr) {		err("%s: Invalid HPC controller handle!\n", __FUNCTION__);		return -1;	}	if (slot->hp_slot >= php_ctlr->num_slots) {		err("%s: Invalid HPC slot number!\n", __FUNCTION__);		return -1;	}	retval = hp_register_read_word(php_ctlr->pci_dev, LNK_STATUS(slot->ctrl->cap_base), lnk_status);	if (retval) {		err("%s : hp_register_read_word LNK_STATUS failed\n", __FUNCTION__);		return retval;	}	switch (lnk_status & 0x0F) {	case 1:		lnk_speed = PCIE_2PT5GB;		break;	default:		lnk_speed = PCIE_LNK_SPEED_UNKNOWN;		break;	}	*value = lnk_speed;	dbg("Current link speed = %d\n", lnk_speed);	DBG_LEAVE_ROUTINE 	return retval;}static int hpc_get_cur_lnk_width (struct slot *slot, enum pcie_link_width *value){	struct php_ctlr_state_s *php_ctlr = slot->ctrl->hpc_ctlr_handle;	enum pcie_link_width lnk_wdth = PCIE_LNK_WIDTH_UNKNOWN;	int retval = 0;	u16 lnk_status;	DBG_ENTER_ROUTINE 	if (!php_ctlr) {		err("%s: Invalid HPC controller handle!\n", __FUNCTION__);		return -1;	}	if (slot->hp_slot >= php_ctlr->num_slots) {		err("%s: Invalid HPC slot number!\n", __FUNCTION__);		return -1;	}	retval = hp_register_read_word(php_ctlr->pci_dev, LNK_STATUS(slot->ctrl->cap_base), lnk_status);	if (retval) {		err("%s : hp_register_read_word LNK_STATUS failed\n", __FUNCTION__);		return retval;	}		switch ((lnk_status & 0x03F0) >> 4){	case 0:		lnk_wdth = PCIE_LNK_WIDTH_RESRV;		break;	case 1:		lnk_wdth = PCIE_LNK_X1;		break;	case 2:		lnk_wdth = PCIE_LNK_X2;		break;	case 4:		lnk_wdth = PCIE_LNK_X4;		break;	case 8:		lnk_wdth = PCIE_LNK_X8;		break;	case 12:		lnk_wdth = PCIE_LNK_X12;		break;	case 16:		lnk_wdth = PCIE_LNK_X16;		break;	case 32:		lnk_wdth = PCIE_LNK_X32;		break;	default:		lnk_wdth = PCIE_LNK_WIDTH_UNKNOWN;		break;	}	*value = lnk_wdth;	dbg("Current link width = %d\n", lnk_wdth);	DBG_LEAVE_ROUTINE 	return retval;}static struct hpc_ops pciehp_hpc_ops = {	.power_on_slot			= hpc_power_on_slot,	.power_off_slot			= hpc_power_off_slot,	.set_attention_status		= hpc_set_attention_status,	.get_power_status		= hpc_get_power_status,	.get_attention_status		= hpc_get_attention_status,	.get_latch_status		= hpc_get_latch_status,	.get_adapter_status		= hpc_get_adapter_status,	.get_max_bus_speed		= hpc_get_max_lnk_speed,	.get_cur_bus_speed		= hpc_get_cur_lnk_speed,	.get_max_lnk_width		= hpc_get_max_lnk_width,	.get_cur_lnk_width		= hpc_get_cur_lnk_width,		.query_power_fault		= hpc_query_power_fault,	.green_led_on			= hpc_set_green_led_on,	.green_led_off			= hpc_set_green_led_off,	.green_led_blink		= hpc_set_green_led_blink,		.release_ctlr			= hpc_release_ctlr,	.check_lnk_status		= hpc_check_lnk_status,};int pcie_init(struct controller * ctrl,	struct pcie_device *dev,	php_intr_callback_t attention_button_callback,	php_intr_callback_t switch_change_callback,	php_intr_callback_t presence_change_callback,	php_intr_callback_t power_fault_callback){	struct php_ctlr_state_s *php_ctlr, *p;	void *instance_id = ctrl;	int rc;	static int first = 1;	u16 temp_word;	u16 cap_reg;	u16 intr_enable = 0;	u32 slot_cap;	int cap_base, saved_cap_base;	u16 slot_status, slot_ctrl;	struct pci_dev *pdev;	DBG_ENTER_ROUTINE		spin_lock_init(&list_lock);		php_ctlr = (struct php_ctlr_state_s *) kmalloc(sizeof(struct php_ctlr_state_s), GFP_KERNEL);	if (!php_ctlr) {	/* allocate controller state data */		err("%s: HPC controller memory allocation error!\n", __FUNCTION__);		goto abort;	}	memset(php_ctlr, 0, sizeof(struct php_ctlr_state_s));		pdev = dev->port;	php_ctlr->pci_dev = pdev;	/* save pci_dev in context */	dbg("%s: pdev->vendor %x pdev->device %x\n", __FUNCTION__,		pdev->vendor, pdev->device);	saved_cap_base = pcie_cap_base;	if ((cap_base = pci_find_capability(pdev, PCI_CAP_ID_EXP)) == 0) {		dbg("%s: Can't find PCI_CAP_ID_EXP (0x10)\n", __FUNCTION__);		goto abort_free_ctlr;	}	ctrl->cap_base = cap_base;	dbg("%s: pcie_cap_base %x\n", __FUNCTION__, pcie_cap_base);	rc = hp_register_read_word(pdev, CAP_REG(ctrl->cap_base), cap_reg);	if (rc) {		err("%s : hp_register_read_word CAP_REG failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: CAP_REG offset %x cap_reg %x\n", __FUNCTION__, CAP_REG(ctrl->cap_base), cap_reg);	if (((cap_reg & SLOT_IMPL) == 0) || (((cap_reg & DEV_PORT_TYPE) != 0x0040)		&& ((cap_reg & DEV_PORT_TYPE) != 0x0060))) {		dbg("%s : This is not a root port or the port is not connected to a slot\n", __FUNCTION__);		goto abort_free_ctlr;	}	rc = hp_register_read_dword(php_ctlr->pci_dev, SLOT_CAP(ctrl->cap_base), slot_cap);	if (rc) {		err("%s : hp_register_read_word CAP_REG failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: SLOT_CAP offset %x slot_cap %x\n", __FUNCTION__, SLOT_CAP(ctrl->cap_base), slot_cap);	if (!(slot_cap & HP_CAP)) {		dbg("%s : This slot is not hot-plug capable\n", __FUNCTION__);		goto abort_free_ctlr;	}	/* For debugging purpose */	rc = hp_register_read_word(php_ctlr->pci_dev, SLOT_STATUS(ctrl->cap_base), slot_status);	if (rc) {		err("%s : hp_register_read_word SLOT_STATUS failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: SLOT_STATUS offset %x slot_status %x\n", __FUNCTION__, SLOT_STATUS(ctrl->cap_base), slot_status);	rc = hp_register_read_word(php_ctlr->pci_dev, SLOT_CTRL(ctrl->cap_base), slot_ctrl);	if (rc) {		err("%s : hp_register_read_word SLOT_CTRL failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: SLOT_CTRL offset %x slot_ctrl %x\n", __FUNCTION__, SLOT_CTRL(ctrl->cap_base), slot_ctrl);	if (first) {		spin_lock_init(&hpc_event_lock);		first = 0;	}	dbg("pdev = %p: b:d:f:irq=0x%x:%x:%x:%x\n", pdev, pdev->bus->number, 		PCI_SLOT(pdev->devfn), PCI_FUNC(pdev->devfn), dev->irq);	for ( rc = 0; rc < DEVICE_COUNT_RESOURCE; rc++)		if (pci_resource_len(pdev, rc) > 0)			dbg("pci resource[%d] start=0x%lx(len=0x%lx)\n", rc,				pci_resource_start(pdev, rc), pci_resource_len(pdev, rc));	info("HPC vendor_id %x device_id %x ss_vid %x ss_did %x\n", pdev->vendor, pdev->device, 		pdev->subsystem_vendor, pdev->subsystem_device);	if (pci_enable_device(pdev))		goto abort_free_ctlr;		init_MUTEX(&ctrl->crit_sect);	/* setup wait queue */	init_waitqueue_head(&ctrl->queue);	/* find the IRQ */	php_ctlr->irq = dev->irq;	dbg("HPC interrupt = %d\n", php_ctlr->irq);	/* Save interrupt callback info */	php_ctlr->attention_button_callback = attention_button_callback;	php_ctlr->switch_change_callback = switch_change_callback;	php_ctlr->presence_change_callback = presence_change_callback;	php_ctlr->power_fault_callback = power_fault_callback;	php_ctlr->callback_instance_id = instance_id;	/* return PCI Controller Info */	php_ctlr->slot_device_offset = 0;	php_ctlr->num_slots = 1;	/* Mask Hot-plug Interrupt Enable */	rc = hp_register_read_word(pdev, SLOT_CTRL(ctrl->cap_base), temp_word);	if (rc) {		err("%s : hp_register_read_word SLOT_CTRL failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: SLOT_CTRL %x value read %x\n", __FUNCTION__, SLOT_CTRL(ctrl->cap_base), temp_word);	temp_word = (temp_word & ~HP_INTR_ENABLE & ~CMD_CMPL_INTR_ENABLE) | 0x00;	rc = hp_register_write_word(pdev, SLOT_CTRL(ctrl->cap_base), temp_word);	if (rc) {		err("%s : hp_register_write_word SLOT_CTRL failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s : Mask HPIE hp_register_write_word SLOT_CTRL %x\n", __FUNCTION__, temp_word);	rc = hp_register_read_word(php_ctlr->pci_dev, SLOT_STATUS(ctrl->cap_base), slot_status);	if (rc) {		err("%s : hp_register_read_word SLOT_STATUS failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: Mask HPIE SLOT_STATUS offset %x reads slot_status %x\n", __FUNCTION__, SLOT_STATUS(ctrl->cap_base)		, slot_status);	temp_word = 0x1F; /* Clear all events */	rc = hp_register_write_word(php_ctlr->pci_dev, SLOT_STATUS(ctrl->cap_base), temp_word);	if (rc) {		err("%s : hp_register_write_word SLOT_STATUS failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: SLOT_STATUS offset %x writes slot_status %x\n", __FUNCTION__, SLOT_STATUS(ctrl->cap_base), temp_word);	if (pciehp_poll_mode)  {/* Install interrupt polling code */		/* Install and start the interrupt polling timer */		init_timer(&php_ctlr->int_poll_timer);		start_int_poll_timer( php_ctlr, 10 );   /* start with 10 second delay */	} else {		/* Installs the interrupt handler */		rc = request_irq(php_ctlr->irq, pcie_isr, SA_SHIRQ, MY_NAME, (void *) ctrl);		dbg("%s: request_irq %d for hpc%d (returns %d)\n", __FUNCTION__, php_ctlr->irq, ctlr_seq_num, rc);		if (rc) {			err("Can't get irq %d for the hotplug controller\n", php_ctlr->irq);			goto abort_free_ctlr;		}	}	rc = hp_register_read_word(pdev, SLOT_CTRL(ctrl->cap_base), temp_word);	if (rc) {		err("%s : hp_register_read_word SLOT_CTRL failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: SLOT_CTRL %x value read %x\n", __FUNCTION__, SLOT_CTRL(ctrl->cap_base), temp_word);	dbg("%s: slot_cap %x\n", __FUNCTION__, slot_cap);	intr_enable = intr_enable | PRSN_DETECT_ENABLE;	if (ATTN_BUTTN(slot_cap))		intr_enable = intr_enable | ATTN_BUTTN_ENABLE;		if (POWER_CTRL(slot_cap))		intr_enable = intr_enable | PWR_FAULT_DETECT_ENABLE;		if (MRL_SENS(slot_cap))		intr_enable = intr_enable | MRL_DETECT_ENABLE;	temp_word = (temp_word & ~intr_enable) | intr_enable; 	if (pciehp_poll_mode) {		temp_word = (temp_word & ~HP_INTR_ENABLE) | 0x0;	} else {		temp_word = (temp_word & ~HP_INTR_ENABLE) | HP_INTR_ENABLE;	}	dbg("%s: temp_word %x\n", __FUNCTION__, temp_word);	/* Unmask Hot-plug Interrupt Enable for the interrupt notification mechanism case */	rc = hp_register_write_word(pdev, SLOT_CTRL(ctrl->cap_base), temp_word);	if (rc) {		err("%s : hp_register_write_word SLOT_CTRL failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s : Unmask HPIE hp_register_write_word SLOT_CTRL with %x\n", __FUNCTION__, temp_word);	rc = hp_register_read_word(php_ctlr->pci_dev, SLOT_STATUS(ctrl->cap_base), slot_status);	if (rc) {		err("%s : hp_register_read_word SLOT_STATUS failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: Unmask HPIE SLOT_STATUS offset %x reads slot_status %x\n", __FUNCTION__, 		SLOT_STATUS(ctrl->cap_base), slot_status);		temp_word =  0x1F; /* Clear all events */	rc = hp_register_write_word(php_ctlr->pci_dev, SLOT_STATUS(ctrl->cap_base), temp_word);	if (rc) {		err("%s : hp_register_write_word SLOT_STATUS failed\n", __FUNCTION__);		goto abort_free_ctlr;	}	dbg("%s: SLOT_STATUS offset %x writes slot_status %x\n", __FUNCTION__, SLOT_STATUS(ctrl->cap_base), temp_word);		/*  Add this HPC instance into the HPC list */	spin_lock(&list_lock);	if (php_ctlr_list_head == 0) {		php_ctlr_list_head = php_ctlr;		p = php_ctlr_list_head;		p->pnext = NULL;	} else {		p = php_ctlr_list_head;		while (p->pnext)			p = p->pnext;		p->pnext = php_ctlr;	}	spin_unlock(&list_lock);	ctlr_seq_num++;	ctrl->hpc_ctlr_handle = php_ctlr;	ctrl->hpc_ops = &pciehp_hpc_ops;	DBG_LEAVE_ROUTINE	return 0;	/* We end up here for the many possible ways to fail this API.  */abort_free_ctlr:	pcie_cap_base = saved_cap_base;	kfree(php_ctlr);abort:	DBG_LEAVE_ROUTINE	return -1;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本韩国精品一区二区在线观看| 青椒成人免费视频| 91丝袜国产在线播放| 国产精品每日更新| 91免费观看视频在线| 亚洲精品国产品国语在线app| 91免费观看视频在线| 亚洲午夜影视影院在线观看| 欧美精品成人一区二区三区四区| 天堂成人国产精品一区| 精品福利一区二区三区免费视频| 国产一区二区在线观看视频| 国产亚洲人成网站| 91捆绑美女网站| 香蕉久久一区二区不卡无毒影院| 日韩一级视频免费观看在线| 国产一区二区毛片| 亚洲精品福利视频网站| 日韩一二三区不卡| 懂色av一区二区三区蜜臀| 亚洲色图.com| 91精品国产色综合久久不卡电影| 精品一区二区三区视频| 国产精品精品国产色婷婷| 欧美在线观看视频在线| 国产一区二区三区四区五区入口| 国产精品美女久久久久久久| 8x8x8国产精品| 国产成人欧美日韩在线电影| 亚洲一区日韩精品中文字幕| 精品国产一区二区在线观看| 91老师国产黑色丝袜在线| 裸体健美xxxx欧美裸体表演| 国产精品网站在线| 日韩一区二区中文字幕| 91天堂素人约啪| 国内精品国产三级国产a久久| 亚洲精品精品亚洲| 久久精品欧美一区二区三区不卡| 在线看国产一区| 国产91在线|亚洲| 美女视频网站黄色亚洲| 亚洲欧美日本韩国| 麻豆视频一区二区| 亚洲女人****多毛耸耸8| 欧美在线播放高清精品| 色综合天天综合网天天狠天天 | 一本到高清视频免费精品| 天天亚洲美女在线视频| 五月婷婷综合在线| 欧美色图免费看| 蜜芽一区二区三区| 亚洲综合一二区| 国产精品久久久久久久蜜臀| 日韩欧美一级片| 欧美男生操女生| 色老汉一区二区三区| 成人三级在线视频| 国产麻豆成人精品| 久久国产精品无码网站| 天堂影院一区二区| 亚洲成人av一区| 亚洲精品第一国产综合野| 中文字幕一区二区不卡| 久久亚洲一级片| 欧美成人a∨高清免费观看| 欧美日韩一区二区三区不卡| 色综合久久久久综合| www.亚洲国产| 国产999精品久久久久久绿帽| 国产在线精品一区二区不卡了| 日韩av在线发布| 日韩高清欧美激情| 午夜av区久久| 亚洲成人av电影| 亚洲成人免费av| 日韩av电影免费观看高清完整版在线观看| 亚洲精品久久7777| 亚洲在线视频网站| 亚洲国产aⅴ成人精品无吗| 亚洲永久精品国产| 亚洲丰满少妇videoshd| 日韩av电影天堂| 奇米四色…亚洲| 久久99久久久欧美国产| 国产一区二区在线观看免费| 国产精品伊人色| 成人一区二区三区| 91丨九色丨黑人外教| 欧美性受xxxx黑人xyx性爽| 欧美浪妇xxxx高跟鞋交| 日韩免费看的电影| 久久久av毛片精品| 国产精品久久久久一区| 一区二区三区美女视频| 日韩精品欧美精品| 国产毛片精品国产一区二区三区| 国产电影一区二区三区| 91在线看国产| 欧美日韩激情一区| 欧美精品一区二区久久婷婷| 中文一区二区在线观看| 国产精品一区二区三区乱码| bt欧美亚洲午夜电影天堂| 色婷婷综合久久久中文一区二区| 欧美高清视频不卡网| 精品国一区二区三区| 国产精品婷婷午夜在线观看| 亚洲综合图片区| 337p粉嫩大胆噜噜噜噜噜91av| 岛国精品在线播放| 国产69精品久久777的优势| 欧美精品色一区二区三区| 色偷偷久久人人79超碰人人澡| 欧美性大战久久久久久久蜜臀 | 国产风韵犹存在线视精品| 99这里只有久久精品视频| 欧美日韩亚洲综合一区二区三区| 日韩欧美一级在线播放| 亚洲视频在线一区| 久久福利视频一区二区| 一本久久a久久精品亚洲| 欧美一区二区三区白人| 亚洲欧洲99久久| 美女视频黄免费的久久| 99久久国产综合精品女不卡| 欧美一级二级三级乱码| 亚洲色图制服丝袜| 激情综合网天天干| 在线观看日韩国产| 国产农村妇女毛片精品久久麻豆| 午夜一区二区三区视频| 精品一区二区三区日韩| 亚洲欧美偷拍卡通变态| 亚洲欧洲美洲综合色网| 美女久久久精品| 欧美视频一区二| 亚洲欧洲性图库| 韩国中文字幕2020精品| 欧美疯狂做受xxxx富婆| 亚洲婷婷在线视频| 粉嫩一区二区三区在线看| 91精品欧美综合在线观看最新 | 国产精品成人免费精品自在线观看| 偷拍自拍另类欧美| 色综合久久久久综合体桃花网| 久久精品一区四区| 精品一区二区三区在线观看国产| 欧美日韩精品一区二区| 亚洲激情男女视频| 成人看片黄a免费看在线| 久久综合久久99| 美女视频黄频大全不卡视频在线播放| 91福利在线播放| 亚洲日本丝袜连裤袜办公室| 丁香五精品蜜臀久久久久99网站| 日韩精品一区在线| 免费在线观看视频一区| 欧美日本视频在线| 亚洲一级二级在线| 欧美视频中文字幕| 亚洲国产日韩一区二区| 日本一区二区综合亚洲| 丝袜国产日韩另类美女| 欧美日韩一区二区三区视频| 中文字幕欧美日本乱码一线二线| 日韩精品中午字幕| 制服视频三区第一页精品| 国产日韩v精品一区二区| 韩国成人福利片在线播放| 精品日韩成人av| 国产精品一区二区在线播放 | 一区二区成人在线观看| 91官网在线免费观看| 一区二区三区四区亚洲| 欧美亚日韩国产aⅴ精品中极品| 亚洲综合清纯丝袜自拍| 欧美色手机在线观看| 国产精品资源网站| 99久久久国产精品免费蜜臀| 亚洲一区二区三区四区中文字幕| 久久99这里只有精品| 91精品国产乱码| 美女尤物国产一区| 久久亚洲精品国产精品紫薇| 国产成人综合亚洲网站| 亚洲视频一区二区在线| 欧美色区777第一页| 美女www一区二区| 欧美激情一区不卡| 91丝袜美腿高跟国产极品老师 | 日韩精品一区二区三区中文不卡| 蜜桃久久久久久久| 国产欧美日韩综合精品一区二区| 从欧美一区二区三区| 亚洲精品成人少妇| 91精品国产综合久久小美女| 国产精品综合视频| 亚洲婷婷国产精品电影人久久| 欧美人狂配大交3d怪物一区|